Shader "Hidden/Subpixel Morphological Anti-aliasing" {
	Properties {
		_MainTex ("Base (RGB)", 2D) = "white" {}
	}
	SubShader {
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 34754
			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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.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
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 88625
			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 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat2 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat2 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    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 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat3 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat3 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_PREDICATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat2 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat2 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_PREDICATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat3 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat3 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    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[2];
						vec4 _Params1;
						vec2 _Params2;
						vec4 unused_0_3[8];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec2 u_xlat9;
					bvec2 u_xlatb9;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = dot(u_xlat0.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat1.y = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat4.xy = u_xlat0.xx + (-u_xlat1.xy);
					    u_xlatb9.xy = greaterThanEqual(abs(u_xlat4.xyxy), _Params1.xxxx).xy;
					    u_xlat9.x = u_xlatb9.x ? float(1.0) : 0.0;
					    u_xlat9.y = u_xlatb9.y ? float(1.0) : 0.0;
					;
					    u_xlat12 = dot(u_xlat9.xy, vec2(1.0, 1.0));
					    u_xlatb12 = u_xlat12==0.0;
					    if(((int(u_xlatb12) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat0.xw = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlat0.xw = max(abs(u_xlat0.xw), abs(u_xlat4.xy));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1.xy = u_xlat1.xy + (-u_xlat2.xy);
					    u_xlat0.xw = max(u_xlat0.xw, abs(u_xlat1.xy));
					    u_xlat0.x = max(u_xlat0.w, u_xlat0.x);
					    u_xlat4.xy = abs(u_xlat4.xy) * _Params2.yy;
					    u_xlatb0.xy = greaterThanEqual(u_xlat4.xyxx, u_xlat0.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec2 _Params2;
						vec4 unused_0_3[8];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec2 u_xlat9;
					bvec2 u_xlatb9;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = dot(u_xlat0.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat1.y = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat4.xy = u_xlat0.xx + (-u_xlat1.xy);
					    u_xlatb9.xy = greaterThanEqual(abs(u_xlat4.xyxy), _Params1.xxxx).xy;
					    u_xlat9.x = u_xlatb9.x ? float(1.0) : 0.0;
					    u_xlat9.y = u_xlatb9.y ? float(1.0) : 0.0;
					;
					    u_xlat12 = dot(u_xlat9.xy, vec2(1.0, 1.0));
					    u_xlatb12 = u_xlat12==0.0;
					    if(((int(u_xlatb12) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat0.xw = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlat0.xw = max(abs(u_xlat0.xw), abs(u_xlat4.xy));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1.xy = u_xlat1.xy + (-u_xlat2.xy);
					    u_xlat0.xw = max(u_xlat0.xw, abs(u_xlat1.xy));
					    u_xlat0.x = max(u_xlat0.w, u_xlat0.x);
					    u_xlat4.xy = abs(u_xlat4.xy) * _Params2.yy;
					    u_xlatb0.xy = greaterThanEqual(u_xlat4.xyxx, u_xlat0.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_PREDICATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec2 _Params2;
						vec3 _Params3;
						vec4 unused_0_4[7];
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat8;
					bvec2 u_xlatb8;
					vec2 u_xlat9;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_CameraDepthTexture, vs_TEXCOORD1.xy);
					    u_xlat2 = texture(_CameraDepthTexture, vs_TEXCOORD1.zw).yxzw;
					    u_xlat2.x = u_xlat1.x;
					    u_xlat0.xy = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat0.xyxx), _Params3.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat8.x = _Params1.x * _Params3.y;
					    u_xlat0.xy = (-_Params3.zz) * u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat8.xx;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat8.x = dot(u_xlat1.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat1.y = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat9.xy = u_xlat8.xx + (-u_xlat1.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat9.xyxx), u_xlat0.xyxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat12 = dot(u_xlat0.xy, vec2(1.0, 1.0));
					    u_xlatb12 = u_xlat12==0.0;
					    if(((int(u_xlatb12) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat8.xy = u_xlat8.xx + (-u_xlat2.xy);
					    u_xlat8.xy = max(abs(u_xlat8.xy), abs(u_xlat9.xy));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1.xy = u_xlat1.xy + (-u_xlat2.xy);
					    u_xlat8.xy = max(u_xlat8.xy, abs(u_xlat1.xy));
					    u_xlat8.x = max(u_xlat8.y, u_xlat8.x);
					    u_xlat1.xy = abs(u_xlat9.xy) * _Params2.yy;
					    u_xlatb8.xy = greaterThanEqual(u_xlat1.xyxy, u_xlat8.xxxx).xy;
					    u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					    u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat8.xy * u_xlat0.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_PREDICATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec2 _Params2;
						vec3 _Params3;
						vec4 unused_0_4[7];
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat8;
					bvec2 u_xlatb8;
					vec2 u_xlat9;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_CameraDepthTexture, vs_TEXCOORD1.xy);
					    u_xlat2 = texture(_CameraDepthTexture, vs_TEXCOORD1.zw).yxzw;
					    u_xlat2.x = u_xlat1.x;
					    u_xlat0.xy = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat0.xyxx), _Params3.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat8.x = _Params1.x * _Params3.y;
					    u_xlat0.xy = (-_Params3.zz) * u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat8.xx;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat8.x = dot(u_xlat1.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat1.y = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat9.xy = u_xlat8.xx + (-u_xlat1.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat9.xyxx), u_xlat0.xyxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat12 = dot(u_xlat0.xy, vec2(1.0, 1.0));
					    u_xlatb12 = u_xlat12==0.0;
					    if(((int(u_xlatb12) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat8.xy = u_xlat8.xx + (-u_xlat2.xy);
					    u_xlat8.xy = max(abs(u_xlat8.xy), abs(u_xlat9.xy));
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat2.x = dot(u_xlat2.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat2.y = dot(u_xlat3.xyz, vec3(0.212599993, 0.715200007, 0.0722000003));
					    u_xlat1.xy = u_xlat1.xy + (-u_xlat2.xy);
					    u_xlat8.xy = max(u_xlat8.xy, abs(u_xlat1.xy));
					    u_xlat8.x = max(u_xlat8.y, u_xlat8.x);
					    u_xlat1.xy = abs(u_xlat9.xy) * _Params2.yy;
					    u_xlatb8.xy = greaterThanEqual(u_xlat1.xyxy, u_xlat8.xxxx).xy;
					    u_xlat8.x = u_xlatb8.x ? float(1.0) : 0.0;
					    u_xlat8.y = u_xlatb8.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat8.xy * u_xlat0.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 163945
			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 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat2 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat2 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    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 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat3 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat3 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_PREDICATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat2 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat2 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_PREDICATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat3 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat3 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    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[2];
						vec4 _Params1;
						vec2 _Params2;
						vec4 unused_0_3[8];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec2 u_xlat11;
					bvec2 u_xlatb11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xyz + (-u_xlat1.xyz);
					    u_xlat15 = max(abs(u_xlat1.y), abs(u_xlat1.x));
					    u_xlat1.x = max(abs(u_xlat1.z), u_xlat15);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat2.xyz = u_xlat0.xyz + (-u_xlat2.xyz);
					    u_xlat15 = max(abs(u_xlat2.y), abs(u_xlat2.x));
					    u_xlat1.y = max(abs(u_xlat2.z), u_xlat15);
					    u_xlatb11.xy = greaterThanEqual(u_xlat1.xyxy, _Params1.xxxx).xy;
					    u_xlat11.x = u_xlatb11.x ? float(1.0) : 0.0;
					    u_xlat11.y = u_xlatb11.y ? float(1.0) : 0.0;
					;
					    u_xlat15 = dot(u_xlat11.xy, vec2(1.0, 1.0));
					    u_xlatb15 = u_xlat15==0.0;
					    if(((int(u_xlatb15) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat2.xyz = u_xlat0.xyz + (-u_xlat2.xyz);
					    u_xlat15 = max(abs(u_xlat2.y), abs(u_xlat2.x));
					    u_xlat2.x = max(abs(u_xlat2.z), u_xlat15);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat3.xyz = u_xlat0.xyz + (-u_xlat3.xyz);
					    u_xlat15 = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat2.y = max(abs(u_xlat3.z), u_xlat15);
					    u_xlat2.xy = max(u_xlat1.xy, u_xlat2.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat3.xyz = u_xlat0.xyz + (-u_xlat3.xyz);
					    u_xlat15 = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat3.x = max(abs(u_xlat3.z), u_xlat15);
					    u_xlat4 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat0.xyz = u_xlat0.xyz + (-u_xlat4.xyz);
					    u_xlat0.x = max(abs(u_xlat0.y), abs(u_xlat0.x));
					    u_xlat3.y = max(abs(u_xlat0.z), u_xlat0.x);
					    u_xlat0.xy = max(u_xlat2.xy, u_xlat3.xy);
					    u_xlat0.x = max(u_xlat0.y, u_xlat0.x);
					    u_xlat5.xy = u_xlat1.xy * _Params2.yy;
					    u_xlatb0.xy = greaterThanEqual(u_xlat5.xyxx, u_xlat0.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat0.xy * u_xlat11.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec2 _Params2;
						vec4 unused_0_3[8];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec2 u_xlat11;
					bvec2 u_xlatb11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xyz + (-u_xlat1.xyz);
					    u_xlat15 = max(abs(u_xlat1.y), abs(u_xlat1.x));
					    u_xlat1.x = max(abs(u_xlat1.z), u_xlat15);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat2.xyz = u_xlat0.xyz + (-u_xlat2.xyz);
					    u_xlat15 = max(abs(u_xlat2.y), abs(u_xlat2.x));
					    u_xlat1.y = max(abs(u_xlat2.z), u_xlat15);
					    u_xlatb11.xy = greaterThanEqual(u_xlat1.xyxy, _Params1.xxxx).xy;
					    u_xlat11.x = u_xlatb11.x ? float(1.0) : 0.0;
					    u_xlat11.y = u_xlatb11.y ? float(1.0) : 0.0;
					;
					    u_xlat15 = dot(u_xlat11.xy, vec2(1.0, 1.0));
					    u_xlatb15 = u_xlat15==0.0;
					    if(((int(u_xlatb15) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat2.xyz = u_xlat0.xyz + (-u_xlat2.xyz);
					    u_xlat15 = max(abs(u_xlat2.y), abs(u_xlat2.x));
					    u_xlat2.x = max(abs(u_xlat2.z), u_xlat15);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat3.xyz = u_xlat0.xyz + (-u_xlat3.xyz);
					    u_xlat15 = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat2.y = max(abs(u_xlat3.z), u_xlat15);
					    u_xlat2.xy = max(u_xlat1.xy, u_xlat2.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat3.xyz = u_xlat0.xyz + (-u_xlat3.xyz);
					    u_xlat15 = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat3.x = max(abs(u_xlat3.z), u_xlat15);
					    u_xlat4 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat0.xyz = u_xlat0.xyz + (-u_xlat4.xyz);
					    u_xlat0.x = max(abs(u_xlat0.y), abs(u_xlat0.x));
					    u_xlat3.y = max(abs(u_xlat0.z), u_xlat0.x);
					    u_xlat0.xy = max(u_xlat2.xy, u_xlat3.xy);
					    u_xlat0.x = max(u_xlat0.y, u_xlat0.x);
					    u_xlat5.xy = u_xlat1.xy * _Params2.yy;
					    u_xlatb0.xy = greaterThanEqual(u_xlat5.xyxx, u_xlat0.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat0.xy * u_xlat11.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_PREDICATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec2 _Params2;
						vec3 _Params3;
						vec4 unused_0_4[7];
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat10;
					bvec2 u_xlatb10;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_CameraDepthTexture, vs_TEXCOORD1.xy);
					    u_xlat2 = texture(_CameraDepthTexture, vs_TEXCOORD1.zw).yxzw;
					    u_xlat2.x = u_xlat1.x;
					    u_xlat0.xy = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat0.xyxx), _Params3.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat10.x = _Params1.x * _Params3.y;
					    u_xlat0.xy = (-_Params3.zz) * u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xx;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat2.xyz = u_xlat1.xyz + (-u_xlat2.xyz);
					    u_xlat10.x = max(abs(u_xlat2.y), abs(u_xlat2.x));
					    u_xlat2.x = max(abs(u_xlat2.z), u_xlat10.x);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat10.x = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat2.y = max(abs(u_xlat3.z), u_xlat10.x);
					    u_xlatb0.xy = greaterThanEqual(u_xlat2.xyxx, u_xlat0.xyxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat10.x = dot(u_xlat0.xy, vec2(1.0, 1.0));
					    u_xlatb10.x = u_xlat10.x==0.0;
					    if(((int(u_xlatb10.x) * int(0xffffffffu)))!=0){discard;}
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat10.x = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat3.x = max(abs(u_xlat3.z), u_xlat10.x);
					    u_xlat4 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat4.xyz = u_xlat1.xyz + (-u_xlat4.xyz);
					    u_xlat10.x = max(abs(u_xlat4.y), abs(u_xlat4.x));
					    u_xlat3.y = max(abs(u_xlat4.z), u_xlat10.x);
					    u_xlat10.xy = max(u_xlat2.xy, u_xlat3.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat16 = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat3.x = max(abs(u_xlat3.z), u_xlat16);
					    u_xlat4 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat1.xyz = u_xlat1.xyz + (-u_xlat4.xyz);
					    u_xlat1.x = max(abs(u_xlat1.y), abs(u_xlat1.x));
					    u_xlat3.y = max(abs(u_xlat1.z), u_xlat1.x);
					    u_xlat10.xy = max(u_xlat10.xy, u_xlat3.xy);
					    u_xlat10.x = max(u_xlat10.y, u_xlat10.x);
					    u_xlat1.xy = u_xlat2.xy * _Params2.yy;
					    u_xlatb10.xy = greaterThanEqual(u_xlat1.xyxy, u_xlat10.xxxx).xy;
					    u_xlat10.x = u_xlatb10.x ? float(1.0) : 0.0;
					    u_xlat10.y = u_xlatb10.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat10.xy * u_xlat0.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_PREDICATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec2 _Params2;
						vec3 _Params3;
						vec4 unused_0_4[7];
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat10;
					bvec2 u_xlatb10;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_CameraDepthTexture, vs_TEXCOORD1.xy);
					    u_xlat2 = texture(_CameraDepthTexture, vs_TEXCOORD1.zw).yxzw;
					    u_xlat2.x = u_xlat1.x;
					    u_xlat0.xy = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat0.xyxx), _Params3.xxxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat10.x = _Params1.x * _Params3.y;
					    u_xlat0.xy = (-_Params3.zz) * u_xlat0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xx;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat2.xyz = u_xlat1.xyz + (-u_xlat2.xyz);
					    u_xlat10.x = max(abs(u_xlat2.y), abs(u_xlat2.x));
					    u_xlat2.x = max(abs(u_xlat2.z), u_xlat10.x);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.zw);
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat10.x = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat2.y = max(abs(u_xlat3.z), u_xlat10.x);
					    u_xlatb0.xy = greaterThanEqual(u_xlat2.xyxx, u_xlat0.xyxx).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat10.x = dot(u_xlat0.xy, vec2(1.0, 1.0));
					    u_xlatb10.x = u_xlat10.x==0.0;
					    if(((int(u_xlatb10.x) * int(0xffffffffu)))!=0){discard;}
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD2.xy);
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat10.x = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat3.x = max(abs(u_xlat3.z), u_xlat10.x);
					    u_xlat4 = texture(_MainTex, vs_TEXCOORD2.zw);
					    u_xlat4.xyz = u_xlat1.xyz + (-u_xlat4.xyz);
					    u_xlat10.x = max(abs(u_xlat4.y), abs(u_xlat4.x));
					    u_xlat3.y = max(abs(u_xlat4.z), u_xlat10.x);
					    u_xlat10.xy = max(u_xlat2.xy, u_xlat3.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD3.xy);
					    u_xlat3.xyz = u_xlat1.xyz + (-u_xlat3.xyz);
					    u_xlat16 = max(abs(u_xlat3.y), abs(u_xlat3.x));
					    u_xlat3.x = max(abs(u_xlat3.z), u_xlat16);
					    u_xlat4 = texture(_MainTex, vs_TEXCOORD3.zw);
					    u_xlat1.xyz = u_xlat1.xyz + (-u_xlat4.xyz);
					    u_xlat1.x = max(abs(u_xlat1.y), abs(u_xlat1.x));
					    u_xlat3.y = max(abs(u_xlat1.z), u_xlat1.x);
					    u_xlat10.xy = max(u_xlat10.xy, u_xlat3.xy);
					    u_xlat10.x = max(u_xlat10.y, u_xlat10.x);
					    u_xlat1.xy = u_xlat2.xy * _Params2.yy;
					    u_xlatb10.xy = greaterThanEqual(u_xlat1.xyxy, u_xlat10.xxxx).xy;
					    u_xlat10.x = u_xlatb10.x ? float(1.0) : 0.0;
					    u_xlat10.y = u_xlatb10.y ? float(1.0) : 0.0;
					;
					    u_xlat0.xy = u_xlat10.xy * u_xlat0.xy;
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 257364
			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 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat2 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat2 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    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 _MainTex_TexelSize;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlatb0 = _MainTex_TexelSize.y<0.0;
					    u_xlat3 = (-in_TEXCOORD0.y) + 1.0;
					    u_xlat0.y = (u_xlatb0) ? u_xlat3 : in_TEXCOORD0.y;
					    u_xlat0.x = in_TEXCOORD0.x;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD2 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + u_xlat0.xyxy;
					    vs_TEXCOORD3 = _Metrics.xyxy * vec4(-2.0, 0.0, 0.0, -2.0) + u_xlat0.xyxy;
					    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[2];
						vec4 _Params1;
						vec4 unused_0_2[9];
					};
					uniform  sampler2D _CameraDepthTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					bool u_xlatb6;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_CameraDepthTexture, vs_TEXCOORD1.xy);
					    u_xlat2 = texture(_CameraDepthTexture, vs_TEXCOORD1.zw).yxzw;
					    u_xlat2.x = u_xlat1.x;
					    u_xlat0.xy = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat0.xyxx), _Params1.yyyy).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat6 = dot(u_xlat0.xy, vec2(1.0, 1.0));
					    u_xlatb6 = u_xlat6==0.0;
					    if(((int(u_xlatb6) * int(0xffffffffu)))!=0){discard;}
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _Params1;
						vec4 unused_0_2[9];
					};
					uniform  sampler2D _CameraDepthTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					bool u_xlatb6;
					void main()
					{
					    u_xlat0 = texture(_CameraDepthTexture, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_CameraDepthTexture, vs_TEXCOORD1.xy);
					    u_xlat2 = texture(_CameraDepthTexture, vs_TEXCOORD1.zw).yxzw;
					    u_xlat2.x = u_xlat1.x;
					    u_xlat0.xy = u_xlat0.xx + (-u_xlat2.xy);
					    u_xlatb0.xy = greaterThanEqual(abs(u_xlat0.xyxx), _Params1.yyyy).xy;
					    u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					    u_xlat0.y = u_xlatb0.y ? float(1.0) : 0.0;
					;
					    u_xlat6 = dot(u_xlat0.xy, vec2(1.0, 1.0));
					    u_xlatb6 = u_xlat6==0.0;
					    if(((int(u_xlatb6) * int(0xffffffffu)))!=0){discard;}
					    SV_Target0.xy = u_xlat0.xy;
					    SV_Target0.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 312909
			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;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    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;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_CORNER_DETECTION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_CORNER_DETECTION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_DIAG_SEARCH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_DIAG_SEARCH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_CORNER_DETECTION" "USE_DIAG_SEARCH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_CORNER_DETECTION" "USE_DIAG_SEARCH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[9];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _Metrics.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    u_xlat0 = _Metrics.xxyy * vec4(-0.25, 1.25, -0.125, -0.125) + in_TEXCOORD0.xxyy;
					    vs_TEXCOORD2 = u_xlat0.xzyw;
					    u_xlat1 = _Metrics.xyxy * vec4(-0.125, -0.25, -0.125, 1.25) + in_TEXCOORD0.xyxy;
					    vs_TEXCOORD3 = u_xlat1;
					    u_xlat0.zw = u_xlat1.yw;
					    u_xlat1 = _Metrics.xxyy * _Params1.zzzz;
					    vs_TEXCOORD4 = u_xlat1 * vec4(-2.0, 2.0, -2.0, 2.0) + u_xlat0;
					    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;
						vec4 _Metrics;
						vec4 unused_0_2[7];
						vec4 _SubsampleIndices;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _SearchTex;
					uniform  sampler2D _AreaTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb0.xy = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat0.yxyy).xy;
					    if(u_xlatb0.x){
					        u_xlat1.xy = vs_TEXCOORD2.xy;
					        u_xlat1.z = 1.0;
					        u_xlat2.x = 0.0;
					        while(true){
					            u_xlatb0.x = vs_TEXCOORD4.x<u_xlat1.x;
					            u_xlatb10 = 0.828100026<u_xlat1.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat2.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					            u_xlat1.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat1.xy;
					            u_xlat1.z = u_xlat2.y;
					        }
					        u_xlat2.yz = u_xlat1.xz;
					        u_xlat0.xz = u_xlat2.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat1 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat1.w * -2.00787401 + 3.25;
					        u_xlat1.x = _Metrics.x * u_xlat0.x + u_xlat2.y;
					        u_xlat1.y = vs_TEXCOORD3.y;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat3.xy = vs_TEXCOORD2.zw;
					        u_xlat3.z = 1.0;
					        u_xlat4.x = 0.0;
					        while(true){
					            u_xlatb0.x = u_xlat3.x<vs_TEXCOORD4.y;
					            u_xlatb10 = 0.828100026<u_xlat3.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat4.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					            u_xlat3.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat3.xy;
					            u_xlat3.z = u_xlat4.y;
					        }
					        u_xlat4.yz = u_xlat3.xz;
					        u_xlat0.xz = u_xlat4.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat3 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat3.w * -2.00787401 + 3.25;
					        u_xlat1.z = (-_Metrics.x) * u_xlat0.x + u_xlat4.y;
					        u_xlat0.xz = _Metrics.zz * u_xlat1.xz + (-vs_TEXCOORD1.xx);
					        u_xlat0.xz = roundEven(u_xlat0.xz);
					        u_xlat0.xz = sqrt(abs(u_xlat0.xz));
					        u_xlat1.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat1.zy;
					        u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0).yxzw;
					        u_xlat1.x = u_xlat2.x;
					        u_xlat1.xy = u_xlat1.xy * vec2(4.0, 4.0);
					        u_xlat1.xy = roundEven(u_xlat1.xy);
					        u_xlat0.xz = u_xlat1.xy * vec2(16.0, 16.0) + u_xlat0.xz;
					        u_xlat1.xy = u_xlat0.xz * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat1.z = _SubsampleIndices.y * 0.142857149 + u_xlat1.y;
					        u_xlat1 = textureLod(_AreaTex, u_xlat1.xz, 0.0);
					        SV_Target0.xy = u_xlat1.xy;
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    if(u_xlatb0.y){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb15 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            if(!u_xlatb15){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb15 = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb1 = 0.828100026<u_xlat2.z;
					            u_xlatb15 = u_xlatb15 && u_xlatb1;
					            u_xlatb1 = u_xlat3.x==0.0;
					            u_xlatb15 = u_xlatb15 && u_xlatb1;
					            if(!u_xlatb15){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat15 = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat15 + u_xlat3.y;
					        u_xlat0.xw = _Metrics.ww * u_xlat0.xz + (-vs_TEXCOORD1.yy);
					        u_xlat0.xw = roundEven(u_xlat0.xw);
					        u_xlat0.xw = sqrt(abs(u_xlat0.xw));
					        u_xlat5.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat2 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					        u_xlat2.x = u_xlat1.y;
					        u_xlat5.xy = u_xlat2.xy * vec2(4.0, 4.0);
					        u_xlat5.xy = roundEven(u_xlat5.xy);
					        u_xlat0.xy = u_xlat5.xy * vec2(16.0, 16.0) + u_xlat0.xw;
					        u_xlat0.xy = u_xlat0.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat0.z = _SubsampleIndices.x * 0.142857149 + u_xlat0.y;
					        u_xlat0 = textureLod(_AreaTex, u_xlat0.xz, 0.0);
					        SV_Target0.zw = u_xlat0.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[7];
						vec4 _SubsampleIndices;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _SearchTex;
					uniform  sampler2D _AreaTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec2 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb0.xy = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat0.yxyy).xy;
					    if(u_xlatb0.x){
					        u_xlat1.xy = vs_TEXCOORD2.xy;
					        u_xlat1.z = 1.0;
					        u_xlat2.x = 0.0;
					        while(true){
					            u_xlatb0.x = vs_TEXCOORD4.x<u_xlat1.x;
					            u_xlatb10 = 0.828100026<u_xlat1.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat2.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					            u_xlat1.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat1.xy;
					            u_xlat1.z = u_xlat2.y;
					        }
					        u_xlat2.yz = u_xlat1.xz;
					        u_xlat0.xz = u_xlat2.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat1 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat1.w * -2.00787401 + 3.25;
					        u_xlat1.x = _Metrics.x * u_xlat0.x + u_xlat2.y;
					        u_xlat1.y = vs_TEXCOORD3.y;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat3.xy = vs_TEXCOORD2.zw;
					        u_xlat3.z = 1.0;
					        u_xlat4.x = 0.0;
					        while(true){
					            u_xlatb0.x = u_xlat3.x<vs_TEXCOORD4.y;
					            u_xlatb10 = 0.828100026<u_xlat3.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat4.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					            u_xlat3.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat3.xy;
					            u_xlat3.z = u_xlat4.y;
					        }
					        u_xlat4.yz = u_xlat3.xz;
					        u_xlat0.xz = u_xlat4.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat3 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat3.w * -2.00787401 + 3.25;
					        u_xlat1.z = (-_Metrics.x) * u_xlat0.x + u_xlat4.y;
					        u_xlat0.xz = _Metrics.zz * u_xlat1.xz + (-vs_TEXCOORD1.xx);
					        u_xlat0.xz = roundEven(u_xlat0.xz);
					        u_xlat0.xz = sqrt(abs(u_xlat0.xz));
					        u_xlat1.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat1.zy;
					        u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0).yxzw;
					        u_xlat1.x = u_xlat2.x;
					        u_xlat1.xy = u_xlat1.xy * vec2(4.0, 4.0);
					        u_xlat1.xy = roundEven(u_xlat1.xy);
					        u_xlat0.xz = u_xlat1.xy * vec2(16.0, 16.0) + u_xlat0.xz;
					        u_xlat1.xy = u_xlat0.xz * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat1.z = _SubsampleIndices.y * 0.142857149 + u_xlat1.y;
					        u_xlat1 = textureLod(_AreaTex, u_xlat1.xz, 0.0);
					        SV_Target0.xy = u_xlat1.xy;
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    if(u_xlatb0.y){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb15 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            if(!u_xlatb15){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb15 = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb1 = 0.828100026<u_xlat2.z;
					            u_xlatb15 = u_xlatb15 && u_xlatb1;
					            u_xlatb1 = u_xlat3.x==0.0;
					            u_xlatb15 = u_xlatb15 && u_xlatb1;
					            if(!u_xlatb15){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat15 = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat15 + u_xlat3.y;
					        u_xlat0.xw = _Metrics.ww * u_xlat0.xz + (-vs_TEXCOORD1.yy);
					        u_xlat0.xw = roundEven(u_xlat0.xw);
					        u_xlat0.xw = sqrt(abs(u_xlat0.xw));
					        u_xlat5.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat2 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					        u_xlat2.x = u_xlat1.y;
					        u_xlat5.xy = u_xlat2.xy * vec2(4.0, 4.0);
					        u_xlat5.xy = roundEven(u_xlat5.xy);
					        u_xlat0.xy = u_xlat5.xy * vec2(16.0, 16.0) + u_xlat0.xw;
					        u_xlat0.xy = u_xlat0.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat0.z = _SubsampleIndices.x * 0.142857149 + u_xlat0.y;
					        u_xlat0 = textureLod(_AreaTex, u_xlat0.xz, 0.0);
					        SV_Target0.zw = u_xlat0.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_CORNER_DETECTION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2;
						vec2 _Params2;
						vec4 unused_0_4[5];
						vec4 _SubsampleIndices;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _SearchTex;
					uniform  sampler2D _AreaTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat12;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb0.xy = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat0.yxyy).xy;
					    if(u_xlatb0.x){
					        u_xlat1.xy = vs_TEXCOORD2.xy;
					        u_xlat1.z = 1.0;
					        u_xlat2.x = 0.0;
					        while(true){
					            u_xlatb0.x = vs_TEXCOORD4.x<u_xlat1.x;
					            u_xlatb10 = 0.828100026<u_xlat1.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat2.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					            u_xlat1.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat1.xy;
					            u_xlat1.z = u_xlat2.y;
					        }
					        u_xlat2.yz = u_xlat1.xz;
					        u_xlat0.xz = u_xlat2.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat1 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat1.w * -2.00787401 + 3.25;
					        u_xlat1.x = _Metrics.x * u_xlat0.x + u_xlat2.y;
					        u_xlat1.y = vs_TEXCOORD3.y;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat3.xy = vs_TEXCOORD2.zw;
					        u_xlat3.z = 1.0;
					        u_xlat4.x = 0.0;
					        while(true){
					            u_xlatb0.x = u_xlat3.x<vs_TEXCOORD4.y;
					            u_xlatb10 = 0.828100026<u_xlat3.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat4.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					            u_xlat3.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat3.xy;
					            u_xlat3.z = u_xlat4.y;
					        }
					        u_xlat4.yz = u_xlat3.xz;
					        u_xlat0.xz = u_xlat4.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat3 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat3.w * -2.00787401 + 3.25;
					        u_xlat1.z = (-_Metrics.x) * u_xlat0.x + u_xlat4.y;
					        u_xlat0.xz = _Metrics.zz * u_xlat1.zx + (-vs_TEXCOORD1.xx);
					        u_xlat0.xz = roundEven(u_xlat0.xz);
					        u_xlat7.xy = sqrt(abs(u_xlat0.zx));
					        u_xlat3.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat1.zy;
					        u_xlat3 = textureLod(_MainTex, u_xlat3.xy, 0.0).yxzw;
					        u_xlat3.x = u_xlat2.x;
					        u_xlat2.xw = u_xlat3.xy * vec2(4.0, 4.0);
					        u_xlat2.xw = roundEven(u_xlat2.xw);
					        u_xlat2.xy = u_xlat2.xw * vec2(16.0, 16.0) + u_xlat7.xy;
					        u_xlat2.xy = u_xlat2.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat2.z = _SubsampleIndices.y * 0.142857149 + u_xlat2.y;
					        u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					        u_xlatb0.xz = greaterThanEqual(abs(u_xlat0.xxzx), abs(u_xlat0.zzxz)).xz;
					        u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					        u_xlat0.z = u_xlatb0.z ? float(1.0) : 0.0;
					;
					        u_xlat15 = (-_Params2.x) * 0.00999999978 + 1.0;
					        u_xlat12.xy = u_xlat0.xz * vec2(u_xlat15);
					        u_xlat0.x = u_xlat0.z + u_xlat0.x;
					        u_xlat0.xz = u_xlat12.xy / u_xlat0.xx;
					        u_xlat1.w = vs_TEXCOORD0.y;
					        u_xlat12.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat1.xw;
					        u_xlat3 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					        u_xlat15 = (-u_xlat0.x) * u_xlat3.x + 1.0;
					        u_xlat12.xy = u_xlat1.zw + _Metrics.xy;
					        u_xlat3 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					        u_xlat3.x = (-u_xlat0.z) * u_xlat3.x + u_xlat15;
					        u_xlat3.x = clamp(u_xlat3.x, 0.0, 1.0);
					        u_xlat1 = _Metrics.xyxy * vec4(0.0, -2.0, 1.0, -2.0) + u_xlat1.xwzw;
					        u_xlat4 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat0.x = (-u_xlat0.x) * u_xlat4.x + 1.0;
					        u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					        u_xlat3.y = (-u_xlat0.z) * u_xlat1.x + u_xlat0.x;
					        u_xlat3.y = clamp(u_xlat3.y, 0.0, 1.0);
					        SV_Target0.xy = u_xlat2.xy * u_xlat3.xy;
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    if(u_xlatb0.y){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb15 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            if(!u_xlatb15){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb1.x = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb11 = 0.828100026<u_xlat2.z;
					            u_xlatb1.x = u_xlatb11 && u_xlatb1.x;
					            u_xlatb11 = u_xlat3.x==0.0;
					            u_xlatb1.x = u_xlatb11 && u_xlatb1.x;
					            if(!u_xlatb1.x){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat1.x = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat1.x + u_xlat3.y;
					        u_xlat1.xz = _Metrics.ww * u_xlat0.zx + (-vs_TEXCOORD1.yy);
					        u_xlat1.xz = roundEven(u_xlat1.xz);
					        u_xlat2.xy = sqrt(abs(u_xlat1.zx));
					        u_xlat12.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat3 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					        u_xlat3.x = u_xlat1.y;
					        u_xlat6.xz = u_xlat3.xy * vec2(4.0, 4.0);
					        u_xlat6.xz = roundEven(u_xlat6.xz);
					        u_xlat6.xz = u_xlat6.xz * vec2(16.0, 16.0) + u_xlat2.xy;
					        u_xlat2.xy = u_xlat6.xz * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat2.z = _SubsampleIndices.x * 0.142857149 + u_xlat2.y;
					        u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					        u_xlatb1.xy = greaterThanEqual(abs(u_xlat1.xzxx), abs(u_xlat1.zxzz)).xy;
					        u_xlat1.x = u_xlatb1.x ? float(1.0) : 0.0;
					        u_xlat1.y = u_xlatb1.y ? float(1.0) : 0.0;
					;
					        u_xlat5 = (-_Params2.x) * 0.00999999978 + 1.0;
					        u_xlat11.xy = u_xlat1.xy * vec2(u_xlat5);
					        u_xlat5 = u_xlat1.y + u_xlat1.x;
					        u_xlat1.xy = u_xlat11.xy / vec2(u_xlat5);
					        u_xlat0.w = vs_TEXCOORD0.x;
					        u_xlat11.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat0.wx;
					        u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					        u_xlat5 = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat11.xy = u_xlat0.wz + _Metrics.xy;
					        u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					        u_xlat11.x = (-u_xlat1.y) * u_xlat3.y + u_xlat5;
					        u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					        u_xlat0 = _Metrics.xyxy * vec4(-2.0, 0.0, -2.0, 1.0) + u_xlat0.wxwz;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					        u_xlat11.y = (-u_xlat1.y) * u_xlat3.y + u_xlat0.x;
					        u_xlat11.y = clamp(u_xlat11.y, 0.0, 1.0);
					        SV_Target0.zw = u_xlat11.xy * u_xlat2.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_CORNER_DETECTION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2;
						vec2 _Params2;
						vec4 unused_0_4[5];
						vec4 _SubsampleIndices;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _SearchTex;
					uniform  sampler2D _AreaTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat12;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb0.xy = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat0.yxyy).xy;
					    if(u_xlatb0.x){
					        u_xlat1.xy = vs_TEXCOORD2.xy;
					        u_xlat1.z = 1.0;
					        u_xlat2.x = 0.0;
					        while(true){
					            u_xlatb0.x = vs_TEXCOORD4.x<u_xlat1.x;
					            u_xlatb10 = 0.828100026<u_xlat1.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat2.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					            u_xlat1.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat1.xy;
					            u_xlat1.z = u_xlat2.y;
					        }
					        u_xlat2.yz = u_xlat1.xz;
					        u_xlat0.xz = u_xlat2.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat1 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat1.w * -2.00787401 + 3.25;
					        u_xlat1.x = _Metrics.x * u_xlat0.x + u_xlat2.y;
					        u_xlat1.y = vs_TEXCOORD3.y;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat3.xy = vs_TEXCOORD2.zw;
					        u_xlat3.z = 1.0;
					        u_xlat4.x = 0.0;
					        while(true){
					            u_xlatb0.x = u_xlat3.x<vs_TEXCOORD4.y;
					            u_xlatb10 = 0.828100026<u_xlat3.z;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            u_xlatb10 = u_xlat4.x==0.0;
					            u_xlatb0.x = u_xlatb10 && u_xlatb0.x;
					            if(!u_xlatb0.x){break;}
					            u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					            u_xlat3.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat3.xy;
					            u_xlat3.z = u_xlat4.y;
					        }
					        u_xlat4.yz = u_xlat3.xz;
					        u_xlat0.xz = u_xlat4.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat3 = textureLod(_SearchTex, u_xlat0.xz, 0.0);
					        u_xlat0.x = u_xlat3.w * -2.00787401 + 3.25;
					        u_xlat1.z = (-_Metrics.x) * u_xlat0.x + u_xlat4.y;
					        u_xlat0.xz = _Metrics.zz * u_xlat1.zx + (-vs_TEXCOORD1.xx);
					        u_xlat0.xz = roundEven(u_xlat0.xz);
					        u_xlat7.xy = sqrt(abs(u_xlat0.zx));
					        u_xlat3.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat1.zy;
					        u_xlat3 = textureLod(_MainTex, u_xlat3.xy, 0.0).yxzw;
					        u_xlat3.x = u_xlat2.x;
					        u_xlat2.xw = u_xlat3.xy * vec2(4.0, 4.0);
					        u_xlat2.xw = roundEven(u_xlat2.xw);
					        u_xlat2.xy = u_xlat2.xw * vec2(16.0, 16.0) + u_xlat7.xy;
					        u_xlat2.xy = u_xlat2.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat2.z = _SubsampleIndices.y * 0.142857149 + u_xlat2.y;
					        u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					        u_xlatb0.xz = greaterThanEqual(abs(u_xlat0.xxzx), abs(u_xlat0.zzxz)).xz;
					        u_xlat0.x = u_xlatb0.x ? float(1.0) : 0.0;
					        u_xlat0.z = u_xlatb0.z ? float(1.0) : 0.0;
					;
					        u_xlat15 = (-_Params2.x) * 0.00999999978 + 1.0;
					        u_xlat12.xy = u_xlat0.xz * vec2(u_xlat15);
					        u_xlat0.x = u_xlat0.z + u_xlat0.x;
					        u_xlat0.xz = u_xlat12.xy / u_xlat0.xx;
					        u_xlat1.w = vs_TEXCOORD0.y;
					        u_xlat12.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat1.xw;
					        u_xlat3 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					        u_xlat15 = (-u_xlat0.x) * u_xlat3.x + 1.0;
					        u_xlat12.xy = u_xlat1.zw + _Metrics.xy;
					        u_xlat3 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					        u_xlat3.x = (-u_xlat0.z) * u_xlat3.x + u_xlat15;
					        u_xlat3.x = clamp(u_xlat3.x, 0.0, 1.0);
					        u_xlat1 = _Metrics.xyxy * vec4(0.0, -2.0, 1.0, -2.0) + u_xlat1.xwzw;
					        u_xlat4 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat0.x = (-u_xlat0.x) * u_xlat4.x + 1.0;
					        u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					        u_xlat3.y = (-u_xlat0.z) * u_xlat1.x + u_xlat0.x;
					        u_xlat3.y = clamp(u_xlat3.y, 0.0, 1.0);
					        SV_Target0.xy = u_xlat2.xy * u_xlat3.xy;
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    if(u_xlatb0.y){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb15 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb15 = u_xlatb15 && u_xlatb2;
					            if(!u_xlatb15){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb1.x = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb11 = 0.828100026<u_xlat2.z;
					            u_xlatb1.x = u_xlatb11 && u_xlatb1.x;
					            u_xlatb11 = u_xlat3.x==0.0;
					            u_xlatb1.x = u_xlatb11 && u_xlatb1.x;
					            if(!u_xlatb1.x){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat1.x = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat1.x + u_xlat3.y;
					        u_xlat1.xz = _Metrics.ww * u_xlat0.zx + (-vs_TEXCOORD1.yy);
					        u_xlat1.xz = roundEven(u_xlat1.xz);
					        u_xlat2.xy = sqrt(abs(u_xlat1.zx));
					        u_xlat12.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat3 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					        u_xlat3.x = u_xlat1.y;
					        u_xlat6.xz = u_xlat3.xy * vec2(4.0, 4.0);
					        u_xlat6.xz = roundEven(u_xlat6.xz);
					        u_xlat6.xz = u_xlat6.xz * vec2(16.0, 16.0) + u_xlat2.xy;
					        u_xlat2.xy = u_xlat6.xz * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat2.z = _SubsampleIndices.x * 0.142857149 + u_xlat2.y;
					        u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					        u_xlatb1.xy = greaterThanEqual(abs(u_xlat1.xzxx), abs(u_xlat1.zxzz)).xy;
					        u_xlat1.x = u_xlatb1.x ? float(1.0) : 0.0;
					        u_xlat1.y = u_xlatb1.y ? float(1.0) : 0.0;
					;
					        u_xlat5 = (-_Params2.x) * 0.00999999978 + 1.0;
					        u_xlat11.xy = u_xlat1.xy * vec2(u_xlat5);
					        u_xlat5 = u_xlat1.y + u_xlat1.x;
					        u_xlat1.xy = u_xlat11.xy / vec2(u_xlat5);
					        u_xlat0.w = vs_TEXCOORD0.x;
					        u_xlat11.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat0.wx;
					        u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					        u_xlat5 = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat11.xy = u_xlat0.wz + _Metrics.xy;
					        u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					        u_xlat11.x = (-u_xlat1.y) * u_xlat3.y + u_xlat5;
					        u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					        u_xlat0 = _Metrics.xyxy * vec4(-2.0, 0.0, -2.0, 1.0) + u_xlat0.wxwz;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					        u_xlat11.y = (-u_xlat1.y) * u_xlat3.y + u_xlat0.x;
					        u_xlat11.y = clamp(u_xlat11.y, 0.0, 1.0);
					        SV_Target0.zw = u_xlat11.xy * u_xlat2.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_DIAG_SEARCH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[6];
						vec4 _SubsampleIndices;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AreaTex;
					uniform  sampler2D _SearchTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					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;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					bool u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec2 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat15;
					bvec2 u_xlatb15;
					float u_xlat21;
					bool u_xlatb21;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb7 = 0.0<u_xlat0.y;
					    if(u_xlatb7){
					        u_xlatb7 = 0.0<u_xlat0.x;
					        if(u_xlatb7){
					            u_xlat7.x = _Params1.w + -1.0;
					            u_xlat1.xy = _Metrics.xy * vec2(-1.0, 1.0);
					            u_xlat1.z = 1.0;
					            u_xlat2.xy = vs_TEXCOORD0.xy;
					            u_xlat3.x = 0.0;
					            u_xlat2.z = -1.0;
					            u_xlat4.x = 1.0;
					            while(true){
					                u_xlatb14 = u_xlat2.z<u_xlat7.x;
					                u_xlatb21 = 0.899999976<u_xlat4.x;
					                u_xlatb14 = u_xlatb21 && u_xlatb14;
					                if(!u_xlatb14){break;}
					                u_xlat2.xyz = u_xlat1.xyz + u_xlat2.xyz;
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					                u_xlat4.x = dot(u_xlat3.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7 = 0.899999976<u_xlat3.x;
					            u_xlat7.x = u_xlatb7 ? 1.0 : float(0.0);
					            u_xlat1.x = u_xlat7.x + u_xlat2.z;
					        } else {
					            u_xlat1.x = 0.0;
					            u_xlat4.x = 0.0;
					        }
					        u_xlat7.x = _Params1.w + -1.0;
					        u_xlat9.xy = _Metrics.xy * vec2(1.0, -1.0);
					        u_xlat9.z = 1.0;
					        u_xlat3.yz = vs_TEXCOORD0.xy;
					        u_xlat3.x = float(-1.0);
					        u_xlat24 = float(1.0);
					        while(true){
					            u_xlatb14 = u_xlat3.x<u_xlat7.x;
					            u_xlatb21 = 0.899999976<u_xlat24;
					            u_xlatb14 = u_xlatb21 && u_xlatb14;
					            if(!u_xlatb14){break;}
					            u_xlat3.xyz = u_xlat9.zxy + u_xlat3.xyz;
					            u_xlat5 = textureLod(_MainTex, u_xlat3.yz, 0.0);
					            u_xlat24 = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat4.y = u_xlat24;
					        u_xlat14.x = u_xlat1.x + u_xlat3.x;
					        u_xlatb14 = 2.0<u_xlat14.x;
					        if(u_xlatb14){
					            u_xlat1.y = (-u_xlat1.x) + 0.25;
					            u_xlat1.zw = u_xlat3.xx * vec2(1.0, -1.0) + vec2(0.0, -0.25);
					            u_xlat2 = u_xlat1.yxzw * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat2 = _Metrics.xyxy * vec4(-1.0, 0.0, 1.0, 0.0) + u_xlat2;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					            u_xlat3.z = u_xlat2.x;
					            u_xlat14.xy = u_xlat3.zx * vec2(5.0, 5.0) + vec2(-3.75, -3.75);
					            u_xlat14.xy = abs(u_xlat14.xy) * u_xlat3.zx;
					            u_xlat14.xy = roundEven(u_xlat14.xy);
					            u_xlat8.x = roundEven(u_xlat3.y);
					            u_xlat8.z = roundEven(u_xlat2.y);
					            u_xlat14.xy = u_xlat8.zx * vec2(2.0, 2.0) + u_xlat14.xy;
					            u_xlatb8.xz = greaterThanEqual(u_xlat4.yyxx, vec4(0.899999976, 0.0, 0.899999976, 0.899999976)).xz;
					            {
					                vec2 hlslcc_movcTemp = u_xlat14;
					                hlslcc_movcTemp.x = (u_xlatb8.x) ? float(0.0) : u_xlat14.x;
					                hlslcc_movcTemp.y = (u_xlatb8.z) ? float(0.0) : u_xlat14.y;
					                u_xlat14 = hlslcc_movcTemp;
					            }
					            u_xlat14.xy = u_xlat14.xy * vec2(20.0, 20.0) + u_xlat1.zx;
					            u_xlat1.xy = u_xlat14.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat1.z = _SubsampleIndices.z * 0.142857149 + u_xlat1.x;
					            u_xlat1 = textureLod(_AreaTex, u_xlat1.yz, 0.0);
					        } else {
					            u_xlat1.x = float(0.0);
					            u_xlat1.y = float(0.0);
					        }
					        u_xlat14.x = _Metrics.x * 0.25 + vs_TEXCOORD0.x;
					        u_xlat2.xy = (-_Metrics.xy);
					        u_xlat2.z = 1.0;
					        u_xlat10.x = u_xlat14.x;
					        u_xlat10.y = vs_TEXCOORD0.y;
					        u_xlat3.x = float(1.0);
					        u_xlat10.z = float(-1.0);
					        while(true){
					            u_xlatb21 = u_xlat10.z<u_xlat7.x;
					            u_xlatb15.x = 0.899999976<u_xlat3.x;
					            u_xlatb21 = u_xlatb21 && u_xlatb15.x;
					            if(!u_xlatb21){break;}
					            u_xlat10.xyz = u_xlat2.xyz + u_xlat10.xyz;
					            u_xlat4 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					            u_xlat21 = u_xlat4.x * 5.0 + -3.75;
					            u_xlat21 = abs(u_xlat21) * u_xlat4.x;
					            u_xlat5.x = roundEven(u_xlat21);
					            u_xlat5.y = roundEven(u_xlat4.y);
					            u_xlat3.x = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat2.x = u_xlat10.z;
					        u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + vs_TEXCOORD0.xy;
					        u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlatb21 = 0.0<u_xlat4.x;
					        if(u_xlatb21){
					            u_xlat4.xy = _Metrics.xy;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = u_xlat14.x;
					            u_xlat5.y = vs_TEXCOORD0.y;
					            u_xlat15.x = 0.0;
					            u_xlat5.z = -1.0;
					            u_xlat3.y = 1.0;
					            while(true){
					                u_xlatb21 = u_xlat5.z<u_xlat7.x;
					                u_xlatb23 = 0.899999976<u_xlat3.y;
					                u_xlatb21 = u_xlatb21 && u_xlatb23;
					                if(!u_xlatb21){break;}
					                u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					                u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					                u_xlat21 = u_xlat6.x * 5.0 + -3.75;
					                u_xlat21 = abs(u_xlat21) * u_xlat6.x;
					                u_xlat15.y = roundEven(u_xlat21);
					                u_xlat15.x = roundEven(u_xlat6.y);
					                u_xlat3.y = dot(u_xlat15.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7 = 0.899999976<u_xlat15.x;
					            u_xlat7.x = u_xlatb7 ? 1.0 : float(0.0);
					            u_xlat2.z = u_xlat7.x + u_xlat5.z;
					        } else {
					            u_xlat2.z = 0.0;
					            u_xlat3.y = 0.0;
					        }
					        u_xlat7.x = u_xlat2.z + u_xlat2.x;
					        u_xlatb7 = 2.0<u_xlat7.x;
					        if(u_xlatb7){
					            u_xlat2.y = (-u_xlat2.x);
					            u_xlat4 = u_xlat2.yyzz * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat5 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat4.xyxy;
					            u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					            u_xlat5 = textureLod(_MainTex, u_xlat5.zw, 0.0).yzwx;
					            u_xlat7.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat4.zw;
					            u_xlat4 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					            u_xlat5.y = u_xlat6.y;
					            u_xlat5.xz = u_xlat4.yx;
					            u_xlat7.xy = u_xlat5.xy * vec2(2.0, 2.0) + u_xlat5.zw;
					            u_xlatb15.xy = greaterThanEqual(u_xlat3.yxyx, vec4(0.899999976, 0.899999976, 0.899999976, 0.899999976)).xy;
					            {
					                vec2 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb15.x) ? float(0.0) : u_xlat7.x;
					                hlslcc_movcTemp.y = (u_xlatb15.y) ? float(0.0) : u_xlat7.y;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat7.xy = u_xlat7.xy * vec2(20.0, 20.0) + u_xlat2.zx;
					            u_xlat2.xy = u_xlat7.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat2.z = _SubsampleIndices.w * 0.142857149 + u_xlat2.x;
					            u_xlat2 = textureLod(_AreaTex, u_xlat2.yz, 0.0);
					            u_xlat1.xy = u_xlat1.xy + u_xlat2.yx;
					        }
					        u_xlatb7 = (-u_xlat1.y)==u_xlat1.x;
					        if(u_xlatb7){
					            u_xlat2.xy = vs_TEXCOORD2.xy;
					            u_xlat2.z = 1.0;
					            u_xlat3.x = 0.0;
					            while(true){
					                u_xlatb7 = vs_TEXCOORD4.x<u_xlat2.x;
					                u_xlatb14 = 0.828100026<u_xlat2.z;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                u_xlatb14 = u_xlat3.x==0.0;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                if(!u_xlatb7){break;}
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					                u_xlat2.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat2.xy;
					                u_xlat2.z = u_xlat3.y;
					            }
					            u_xlat3.yz = u_xlat2.xz;
					            u_xlat7.xy = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					            u_xlat2 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat2.w * -2.00787401 + 3.25;
					            u_xlat2.x = _Metrics.x * u_xlat7.x + u_xlat3.y;
					            u_xlat2.y = vs_TEXCOORD3.y;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat4.xy = vs_TEXCOORD2.zw;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = 0.0;
					            while(true){
					                u_xlatb7 = u_xlat4.x<vs_TEXCOORD4.y;
					                u_xlatb14 = 0.828100026<u_xlat4.z;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                u_xlatb14 = u_xlat5.x==0.0;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                if(!u_xlatb7){break;}
					                u_xlat5 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					                u_xlat4.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat4.xy;
					                u_xlat4.z = u_xlat5.y;
					            }
					            u_xlat5.yz = u_xlat4.xz;
					            u_xlat7.xy = u_xlat5.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					            u_xlat4 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat4.w * -2.00787401 + 3.25;
					            u_xlat2.z = (-_Metrics.x) * u_xlat7.x + u_xlat5.y;
					            u_xlat7.xy = _Metrics.zz * u_xlat2.xz + (-vs_TEXCOORD1.xx);
					            u_xlat7.xy = roundEven(u_xlat7.xy);
					            u_xlat7.xy = sqrt(abs(u_xlat7.xy));
					            u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat2.zy;
					            u_xlat2 = textureLod(_MainTex, u_xlat15.xy, 0.0).yxzw;
					            u_xlat2.x = u_xlat3.x;
					            u_xlat15.xy = u_xlat2.xy * vec2(4.0, 4.0);
					            u_xlat15.xy = roundEven(u_xlat15.xy);
					            u_xlat7.xy = u_xlat15.xy * vec2(16.0, 16.0) + u_xlat7.xy;
					            u_xlat2.xy = u_xlat7.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					            u_xlat2.z = _SubsampleIndices.y * 0.142857149 + u_xlat2.y;
					            u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					            SV_Target0.xy = u_xlat2.xy;
					        } else {
					            SV_Target0.xy = u_xlat1.xy;
					            u_xlat0.x = 0.0;
					        }
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    u_xlatb0 = 0.0<u_xlat0.x;
					    if(u_xlatb0){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb21 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            if(!u_xlatb21){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb21 = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb1 = 0.828100026<u_xlat2.z;
					            u_xlatb21 = u_xlatb21 && u_xlatb1;
					            u_xlatb1 = u_xlat3.x==0.0;
					            u_xlatb21 = u_xlatb21 && u_xlatb1;
					            if(!u_xlatb21){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat21 = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat21 + u_xlat3.y;
					        u_xlat0.xw = _Metrics.ww * u_xlat0.xz + (-vs_TEXCOORD1.yy);
					        u_xlat0.xw = roundEven(u_xlat0.xw);
					        u_xlat0.xw = sqrt(abs(u_xlat0.xw));
					        u_xlat7.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat2 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat2.x = u_xlat1.y;
					        u_xlat7.xy = u_xlat2.xy * vec2(4.0, 4.0);
					        u_xlat7.xy = roundEven(u_xlat7.xy);
					        u_xlat0.xy = u_xlat7.xy * vec2(16.0, 16.0) + u_xlat0.xw;
					        u_xlat0.xy = u_xlat0.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat0.z = _SubsampleIndices.x * 0.142857149 + u_xlat0.y;
					        u_xlat0 = textureLod(_AreaTex, u_xlat0.xz, 0.0);
					        SV_Target0.zw = u_xlat0.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_DIAG_SEARCH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec4 unused_0_3[6];
						vec4 _SubsampleIndices;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AreaTex;
					uniform  sampler2D _SearchTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					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;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					bool u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec2 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat15;
					bvec2 u_xlatb15;
					float u_xlat21;
					bool u_xlatb21;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb7 = 0.0<u_xlat0.y;
					    if(u_xlatb7){
					        u_xlatb7 = 0.0<u_xlat0.x;
					        if(u_xlatb7){
					            u_xlat7.x = _Params1.w + -1.0;
					            u_xlat1.xy = _Metrics.xy * vec2(-1.0, 1.0);
					            u_xlat1.z = 1.0;
					            u_xlat2.xy = vs_TEXCOORD0.xy;
					            u_xlat3.x = 0.0;
					            u_xlat2.z = -1.0;
					            u_xlat4.x = 1.0;
					            while(true){
					                u_xlatb14 = u_xlat2.z<u_xlat7.x;
					                u_xlatb21 = 0.899999976<u_xlat4.x;
					                u_xlatb14 = u_xlatb21 && u_xlatb14;
					                if(!u_xlatb14){break;}
					                u_xlat2.xyz = u_xlat1.xyz + u_xlat2.xyz;
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					                u_xlat4.x = dot(u_xlat3.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7 = 0.899999976<u_xlat3.x;
					            u_xlat7.x = u_xlatb7 ? 1.0 : float(0.0);
					            u_xlat1.x = u_xlat7.x + u_xlat2.z;
					        } else {
					            u_xlat1.x = 0.0;
					            u_xlat4.x = 0.0;
					        }
					        u_xlat7.x = _Params1.w + -1.0;
					        u_xlat9.xy = _Metrics.xy * vec2(1.0, -1.0);
					        u_xlat9.z = 1.0;
					        u_xlat3.yz = vs_TEXCOORD0.xy;
					        u_xlat3.x = float(-1.0);
					        u_xlat24 = float(1.0);
					        while(true){
					            u_xlatb14 = u_xlat3.x<u_xlat7.x;
					            u_xlatb21 = 0.899999976<u_xlat24;
					            u_xlatb14 = u_xlatb21 && u_xlatb14;
					            if(!u_xlatb14){break;}
					            u_xlat3.xyz = u_xlat9.zxy + u_xlat3.xyz;
					            u_xlat5 = textureLod(_MainTex, u_xlat3.yz, 0.0);
					            u_xlat24 = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat4.y = u_xlat24;
					        u_xlat14.x = u_xlat1.x + u_xlat3.x;
					        u_xlatb14 = 2.0<u_xlat14.x;
					        if(u_xlatb14){
					            u_xlat1.y = (-u_xlat1.x) + 0.25;
					            u_xlat1.zw = u_xlat3.xx * vec2(1.0, -1.0) + vec2(0.0, -0.25);
					            u_xlat2 = u_xlat1.yxzw * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat2 = _Metrics.xyxy * vec4(-1.0, 0.0, 1.0, 0.0) + u_xlat2;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					            u_xlat3.z = u_xlat2.x;
					            u_xlat14.xy = u_xlat3.zx * vec2(5.0, 5.0) + vec2(-3.75, -3.75);
					            u_xlat14.xy = abs(u_xlat14.xy) * u_xlat3.zx;
					            u_xlat14.xy = roundEven(u_xlat14.xy);
					            u_xlat8.x = roundEven(u_xlat3.y);
					            u_xlat8.z = roundEven(u_xlat2.y);
					            u_xlat14.xy = u_xlat8.zx * vec2(2.0, 2.0) + u_xlat14.xy;
					            u_xlatb8.xz = greaterThanEqual(u_xlat4.yyxx, vec4(0.899999976, 0.0, 0.899999976, 0.899999976)).xz;
					            {
					                vec2 hlslcc_movcTemp = u_xlat14;
					                hlslcc_movcTemp.x = (u_xlatb8.x) ? float(0.0) : u_xlat14.x;
					                hlslcc_movcTemp.y = (u_xlatb8.z) ? float(0.0) : u_xlat14.y;
					                u_xlat14 = hlslcc_movcTemp;
					            }
					            u_xlat14.xy = u_xlat14.xy * vec2(20.0, 20.0) + u_xlat1.zx;
					            u_xlat1.xy = u_xlat14.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat1.z = _SubsampleIndices.z * 0.142857149 + u_xlat1.x;
					            u_xlat1 = textureLod(_AreaTex, u_xlat1.yz, 0.0);
					        } else {
					            u_xlat1.x = float(0.0);
					            u_xlat1.y = float(0.0);
					        }
					        u_xlat14.x = _Metrics.x * 0.25 + vs_TEXCOORD0.x;
					        u_xlat2.xy = (-_Metrics.xy);
					        u_xlat2.z = 1.0;
					        u_xlat10.x = u_xlat14.x;
					        u_xlat10.y = vs_TEXCOORD0.y;
					        u_xlat3.x = float(1.0);
					        u_xlat10.z = float(-1.0);
					        while(true){
					            u_xlatb21 = u_xlat10.z<u_xlat7.x;
					            u_xlatb15.x = 0.899999976<u_xlat3.x;
					            u_xlatb21 = u_xlatb21 && u_xlatb15.x;
					            if(!u_xlatb21){break;}
					            u_xlat10.xyz = u_xlat2.xyz + u_xlat10.xyz;
					            u_xlat4 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					            u_xlat21 = u_xlat4.x * 5.0 + -3.75;
					            u_xlat21 = abs(u_xlat21) * u_xlat4.x;
					            u_xlat5.x = roundEven(u_xlat21);
					            u_xlat5.y = roundEven(u_xlat4.y);
					            u_xlat3.x = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat2.x = u_xlat10.z;
					        u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + vs_TEXCOORD0.xy;
					        u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlatb21 = 0.0<u_xlat4.x;
					        if(u_xlatb21){
					            u_xlat4.xy = _Metrics.xy;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = u_xlat14.x;
					            u_xlat5.y = vs_TEXCOORD0.y;
					            u_xlat15.x = 0.0;
					            u_xlat5.z = -1.0;
					            u_xlat3.y = 1.0;
					            while(true){
					                u_xlatb21 = u_xlat5.z<u_xlat7.x;
					                u_xlatb23 = 0.899999976<u_xlat3.y;
					                u_xlatb21 = u_xlatb21 && u_xlatb23;
					                if(!u_xlatb21){break;}
					                u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					                u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					                u_xlat21 = u_xlat6.x * 5.0 + -3.75;
					                u_xlat21 = abs(u_xlat21) * u_xlat6.x;
					                u_xlat15.y = roundEven(u_xlat21);
					                u_xlat15.x = roundEven(u_xlat6.y);
					                u_xlat3.y = dot(u_xlat15.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7 = 0.899999976<u_xlat15.x;
					            u_xlat7.x = u_xlatb7 ? 1.0 : float(0.0);
					            u_xlat2.z = u_xlat7.x + u_xlat5.z;
					        } else {
					            u_xlat2.z = 0.0;
					            u_xlat3.y = 0.0;
					        }
					        u_xlat7.x = u_xlat2.z + u_xlat2.x;
					        u_xlatb7 = 2.0<u_xlat7.x;
					        if(u_xlatb7){
					            u_xlat2.y = (-u_xlat2.x);
					            u_xlat4 = u_xlat2.yyzz * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat5 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat4.xyxy;
					            u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					            u_xlat5 = textureLod(_MainTex, u_xlat5.zw, 0.0).yzwx;
					            u_xlat7.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat4.zw;
					            u_xlat4 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					            u_xlat5.y = u_xlat6.y;
					            u_xlat5.xz = u_xlat4.yx;
					            u_xlat7.xy = u_xlat5.xy * vec2(2.0, 2.0) + u_xlat5.zw;
					            u_xlatb15.xy = greaterThanEqual(u_xlat3.yxyx, vec4(0.899999976, 0.899999976, 0.899999976, 0.899999976)).xy;
					            {
					                vec2 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb15.x) ? float(0.0) : u_xlat7.x;
					                hlslcc_movcTemp.y = (u_xlatb15.y) ? float(0.0) : u_xlat7.y;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat7.xy = u_xlat7.xy * vec2(20.0, 20.0) + u_xlat2.zx;
					            u_xlat2.xy = u_xlat7.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat2.z = _SubsampleIndices.w * 0.142857149 + u_xlat2.x;
					            u_xlat2 = textureLod(_AreaTex, u_xlat2.yz, 0.0);
					            u_xlat1.xy = u_xlat1.xy + u_xlat2.yx;
					        }
					        u_xlatb7 = (-u_xlat1.y)==u_xlat1.x;
					        if(u_xlatb7){
					            u_xlat2.xy = vs_TEXCOORD2.xy;
					            u_xlat2.z = 1.0;
					            u_xlat3.x = 0.0;
					            while(true){
					                u_xlatb7 = vs_TEXCOORD4.x<u_xlat2.x;
					                u_xlatb14 = 0.828100026<u_xlat2.z;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                u_xlatb14 = u_xlat3.x==0.0;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                if(!u_xlatb7){break;}
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					                u_xlat2.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat2.xy;
					                u_xlat2.z = u_xlat3.y;
					            }
					            u_xlat3.yz = u_xlat2.xz;
					            u_xlat7.xy = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					            u_xlat2 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat2.w * -2.00787401 + 3.25;
					            u_xlat2.x = _Metrics.x * u_xlat7.x + u_xlat3.y;
					            u_xlat2.y = vs_TEXCOORD3.y;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat4.xy = vs_TEXCOORD2.zw;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = 0.0;
					            while(true){
					                u_xlatb7 = u_xlat4.x<vs_TEXCOORD4.y;
					                u_xlatb14 = 0.828100026<u_xlat4.z;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                u_xlatb14 = u_xlat5.x==0.0;
					                u_xlatb7 = u_xlatb14 && u_xlatb7;
					                if(!u_xlatb7){break;}
					                u_xlat5 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					                u_xlat4.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat4.xy;
					                u_xlat4.z = u_xlat5.y;
					            }
					            u_xlat5.yz = u_xlat4.xz;
					            u_xlat7.xy = u_xlat5.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					            u_xlat4 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat4.w * -2.00787401 + 3.25;
					            u_xlat2.z = (-_Metrics.x) * u_xlat7.x + u_xlat5.y;
					            u_xlat7.xy = _Metrics.zz * u_xlat2.xz + (-vs_TEXCOORD1.xx);
					            u_xlat7.xy = roundEven(u_xlat7.xy);
					            u_xlat7.xy = sqrt(abs(u_xlat7.xy));
					            u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat2.zy;
					            u_xlat2 = textureLod(_MainTex, u_xlat15.xy, 0.0).yxzw;
					            u_xlat2.x = u_xlat3.x;
					            u_xlat15.xy = u_xlat2.xy * vec2(4.0, 4.0);
					            u_xlat15.xy = roundEven(u_xlat15.xy);
					            u_xlat7.xy = u_xlat15.xy * vec2(16.0, 16.0) + u_xlat7.xy;
					            u_xlat2.xy = u_xlat7.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					            u_xlat2.z = _SubsampleIndices.y * 0.142857149 + u_xlat2.y;
					            u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					            SV_Target0.xy = u_xlat2.xy;
					        } else {
					            SV_Target0.xy = u_xlat1.xy;
					            u_xlat0.x = 0.0;
					        }
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    u_xlatb0 = 0.0<u_xlat0.x;
					    if(u_xlatb0){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb21 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            if(!u_xlatb21){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb21 = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb1 = 0.828100026<u_xlat2.z;
					            u_xlatb21 = u_xlatb21 && u_xlatb1;
					            u_xlatb1 = u_xlat3.x==0.0;
					            u_xlatb21 = u_xlatb21 && u_xlatb1;
					            if(!u_xlatb21){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat21 = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat21 + u_xlat3.y;
					        u_xlat0.xw = _Metrics.ww * u_xlat0.xz + (-vs_TEXCOORD1.yy);
					        u_xlat0.xw = roundEven(u_xlat0.xw);
					        u_xlat0.xw = sqrt(abs(u_xlat0.xw));
					        u_xlat7.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat2 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat2.x = u_xlat1.y;
					        u_xlat7.xy = u_xlat2.xy * vec2(4.0, 4.0);
					        u_xlat7.xy = roundEven(u_xlat7.xy);
					        u_xlat0.xy = u_xlat7.xy * vec2(16.0, 16.0) + u_xlat0.xw;
					        u_xlat0.xy = u_xlat0.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat0.z = _SubsampleIndices.x * 0.142857149 + u_xlat0.y;
					        u_xlat0 = textureLod(_AreaTex, u_xlat0.xz, 0.0);
					        SV_Target0.zw = u_xlat0.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_CORNER_DETECTION" "USE_DIAG_SEARCH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec2 _Params2;
						vec4 unused_0_4[5];
						vec4 _SubsampleIndices;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AreaTex;
					uniform  sampler2D _SearchTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					bvec2 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec2 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat15;
					bvec2 u_xlatb15;
					vec2 u_xlat16;
					float u_xlat21;
					bool u_xlatb21;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb7.x = 0.0<u_xlat0.y;
					    if(u_xlatb7.x){
					        u_xlatb7.x = 0.0<u_xlat0.x;
					        if(u_xlatb7.x){
					            u_xlat7.x = _Params1.w + -1.0;
					            u_xlat1.xy = _Metrics.xy * vec2(-1.0, 1.0);
					            u_xlat1.z = 1.0;
					            u_xlat2.xy = vs_TEXCOORD0.xy;
					            u_xlat3.x = 0.0;
					            u_xlat2.z = -1.0;
					            u_xlat4.x = 1.0;
					            while(true){
					                u_xlatb14 = u_xlat2.z<u_xlat7.x;
					                u_xlatb21 = 0.899999976<u_xlat4.x;
					                u_xlatb14 = u_xlatb21 && u_xlatb14;
					                if(!u_xlatb14){break;}
					                u_xlat2.xyz = u_xlat1.xyz + u_xlat2.xyz;
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					                u_xlat4.x = dot(u_xlat3.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7.x = 0.899999976<u_xlat3.x;
					            u_xlat7.x = u_xlatb7.x ? 1.0 : float(0.0);
					            u_xlat1.x = u_xlat7.x + u_xlat2.z;
					        } else {
					            u_xlat1.x = 0.0;
					            u_xlat4.x = 0.0;
					        }
					        u_xlat7.x = _Params1.w + -1.0;
					        u_xlat9.xy = _Metrics.xy * vec2(1.0, -1.0);
					        u_xlat9.z = 1.0;
					        u_xlat3.yz = vs_TEXCOORD0.xy;
					        u_xlat3.x = float(-1.0);
					        u_xlat24 = float(1.0);
					        while(true){
					            u_xlatb14 = u_xlat3.x<u_xlat7.x;
					            u_xlatb21 = 0.899999976<u_xlat24;
					            u_xlatb14 = u_xlatb21 && u_xlatb14;
					            if(!u_xlatb14){break;}
					            u_xlat3.xyz = u_xlat9.zxy + u_xlat3.xyz;
					            u_xlat5 = textureLod(_MainTex, u_xlat3.yz, 0.0);
					            u_xlat24 = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat4.y = u_xlat24;
					        u_xlat14.x = u_xlat1.x + u_xlat3.x;
					        u_xlatb14 = 2.0<u_xlat14.x;
					        if(u_xlatb14){
					            u_xlat1.y = (-u_xlat1.x) + 0.25;
					            u_xlat1.zw = u_xlat3.xx * vec2(1.0, -1.0) + vec2(0.0, -0.25);
					            u_xlat2 = u_xlat1.yxzw * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat2 = _Metrics.xyxy * vec4(-1.0, 0.0, 1.0, 0.0) + u_xlat2;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					            u_xlat3.z = u_xlat2.x;
					            u_xlat14.xy = u_xlat3.zx * vec2(5.0, 5.0) + vec2(-3.75, -3.75);
					            u_xlat14.xy = abs(u_xlat14.xy) * u_xlat3.zx;
					            u_xlat14.xy = roundEven(u_xlat14.xy);
					            u_xlat8.x = roundEven(u_xlat3.y);
					            u_xlat8.z = roundEven(u_xlat2.y);
					            u_xlat14.xy = u_xlat8.zx * vec2(2.0, 2.0) + u_xlat14.xy;
					            u_xlatb8.xz = greaterThanEqual(u_xlat4.yyxx, vec4(0.899999976, 0.0, 0.899999976, 0.899999976)).xz;
					            {
					                vec2 hlslcc_movcTemp = u_xlat14;
					                hlslcc_movcTemp.x = (u_xlatb8.x) ? float(0.0) : u_xlat14.x;
					                hlslcc_movcTemp.y = (u_xlatb8.z) ? float(0.0) : u_xlat14.y;
					                u_xlat14 = hlslcc_movcTemp;
					            }
					            u_xlat14.xy = u_xlat14.xy * vec2(20.0, 20.0) + u_xlat1.zx;
					            u_xlat1.xy = u_xlat14.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat1.z = _SubsampleIndices.z * 0.142857149 + u_xlat1.x;
					            u_xlat1 = textureLod(_AreaTex, u_xlat1.yz, 0.0);
					        } else {
					            u_xlat1.x = float(0.0);
					            u_xlat1.y = float(0.0);
					        }
					        u_xlat14.x = _Metrics.x * 0.25 + vs_TEXCOORD0.x;
					        u_xlat2.xy = (-_Metrics.xy);
					        u_xlat2.z = 1.0;
					        u_xlat10.x = u_xlat14.x;
					        u_xlat10.y = vs_TEXCOORD0.y;
					        u_xlat3.x = float(1.0);
					        u_xlat10.z = float(-1.0);
					        while(true){
					            u_xlatb21 = u_xlat10.z<u_xlat7.x;
					            u_xlatb15.x = 0.899999976<u_xlat3.x;
					            u_xlatb21 = u_xlatb21 && u_xlatb15.x;
					            if(!u_xlatb21){break;}
					            u_xlat10.xyz = u_xlat2.xyz + u_xlat10.xyz;
					            u_xlat4 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					            u_xlat21 = u_xlat4.x * 5.0 + -3.75;
					            u_xlat21 = abs(u_xlat21) * u_xlat4.x;
					            u_xlat5.x = roundEven(u_xlat21);
					            u_xlat5.y = roundEven(u_xlat4.y);
					            u_xlat3.x = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat2.x = u_xlat10.z;
					        u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + vs_TEXCOORD0.xy;
					        u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlatb21 = 0.0<u_xlat4.x;
					        if(u_xlatb21){
					            u_xlat4.xy = _Metrics.xy;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = u_xlat14.x;
					            u_xlat5.y = vs_TEXCOORD0.y;
					            u_xlat15.x = 0.0;
					            u_xlat5.z = -1.0;
					            u_xlat3.y = 1.0;
					            while(true){
					                u_xlatb21 = u_xlat5.z<u_xlat7.x;
					                u_xlatb23 = 0.899999976<u_xlat3.y;
					                u_xlatb21 = u_xlatb21 && u_xlatb23;
					                if(!u_xlatb21){break;}
					                u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					                u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					                u_xlat21 = u_xlat6.x * 5.0 + -3.75;
					                u_xlat21 = abs(u_xlat21) * u_xlat6.x;
					                u_xlat15.y = roundEven(u_xlat21);
					                u_xlat15.x = roundEven(u_xlat6.y);
					                u_xlat3.y = dot(u_xlat15.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7.x = 0.899999976<u_xlat15.x;
					            u_xlat7.x = u_xlatb7.x ? 1.0 : float(0.0);
					            u_xlat2.z = u_xlat7.x + u_xlat5.z;
					        } else {
					            u_xlat2.z = 0.0;
					            u_xlat3.y = 0.0;
					        }
					        u_xlat7.x = u_xlat2.z + u_xlat2.x;
					        u_xlatb7.x = 2.0<u_xlat7.x;
					        if(u_xlatb7.x){
					            u_xlat2.y = (-u_xlat2.x);
					            u_xlat4 = u_xlat2.yyzz * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat5 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat4.xyxy;
					            u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					            u_xlat5 = textureLod(_MainTex, u_xlat5.zw, 0.0).yzwx;
					            u_xlat7.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat4.zw;
					            u_xlat4 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					            u_xlat5.y = u_xlat6.y;
					            u_xlat5.xz = u_xlat4.yx;
					            u_xlat7.xy = u_xlat5.xy * vec2(2.0, 2.0) + u_xlat5.zw;
					            u_xlatb15.xy = greaterThanEqual(u_xlat3.yxyx, vec4(0.899999976, 0.899999976, 0.899999976, 0.899999976)).xy;
					            {
					                vec2 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb15.x) ? float(0.0) : u_xlat7.x;
					                hlslcc_movcTemp.y = (u_xlatb15.y) ? float(0.0) : u_xlat7.y;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat7.xy = u_xlat7.xy * vec2(20.0, 20.0) + u_xlat2.zx;
					            u_xlat2.xy = u_xlat7.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat2.z = _SubsampleIndices.w * 0.142857149 + u_xlat2.x;
					            u_xlat2 = textureLod(_AreaTex, u_xlat2.yz, 0.0);
					            u_xlat1.xy = u_xlat1.xy + u_xlat2.yx;
					        }
					        u_xlatb7.x = (-u_xlat1.y)==u_xlat1.x;
					        if(u_xlatb7.x){
					            u_xlat2.xy = vs_TEXCOORD2.xy;
					            u_xlat2.z = 1.0;
					            u_xlat3.x = 0.0;
					            while(true){
					                u_xlatb7.x = vs_TEXCOORD4.x<u_xlat2.x;
					                u_xlatb14 = 0.828100026<u_xlat2.z;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                u_xlatb14 = u_xlat3.x==0.0;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                if(!u_xlatb7.x){break;}
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					                u_xlat2.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat2.xy;
					                u_xlat2.z = u_xlat3.y;
					            }
					            u_xlat3.yz = u_xlat2.xz;
					            u_xlat7.xy = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					            u_xlat2 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat2.w * -2.00787401 + 3.25;
					            u_xlat2.x = _Metrics.x * u_xlat7.x + u_xlat3.y;
					            u_xlat2.y = vs_TEXCOORD3.y;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat4.xy = vs_TEXCOORD2.zw;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = 0.0;
					            while(true){
					                u_xlatb7.x = u_xlat4.x<vs_TEXCOORD4.y;
					                u_xlatb14 = 0.828100026<u_xlat4.z;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                u_xlatb14 = u_xlat5.x==0.0;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                if(!u_xlatb7.x){break;}
					                u_xlat5 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					                u_xlat4.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat4.xy;
					                u_xlat4.z = u_xlat5.y;
					            }
					            u_xlat5.yz = u_xlat4.xz;
					            u_xlat7.xy = u_xlat5.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					            u_xlat4 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat4.w * -2.00787401 + 3.25;
					            u_xlat2.z = (-_Metrics.x) * u_xlat7.x + u_xlat5.y;
					            u_xlat7.xy = _Metrics.zz * u_xlat2.zx + (-vs_TEXCOORD1.xx);
					            u_xlat7.xy = roundEven(u_xlat7.xy);
					            u_xlat15.xy = sqrt(abs(u_xlat7.yx));
					            u_xlat10.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat2.zy;
					            u_xlat4 = textureLod(_MainTex, u_xlat10.xy, 0.0).yxzw;
					            u_xlat4.x = u_xlat3.x;
					            u_xlat3.xy = u_xlat4.xy * vec2(4.0, 4.0);
					            u_xlat3.xy = roundEven(u_xlat3.xy);
					            u_xlat15.xy = u_xlat3.xy * vec2(16.0, 16.0) + u_xlat15.xy;
					            u_xlat3.xy = u_xlat15.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					            u_xlat3.z = _SubsampleIndices.y * 0.142857149 + u_xlat3.y;
					            u_xlat3 = textureLod(_AreaTex, u_xlat3.xz, 0.0);
					            u_xlatb7.xy = greaterThanEqual(abs(u_xlat7.xyxx), abs(u_xlat7.yxyy)).xy;
					            u_xlat7.x = u_xlatb7.x ? float(1.0) : 0.0;
					            u_xlat7.y = u_xlatb7.y ? float(1.0) : 0.0;
					;
					            u_xlat21 = (-_Params2.x) * 0.00999999978 + 1.0;
					            u_xlat15.xy = u_xlat7.xy * vec2(u_xlat21);
					            u_xlat7.x = u_xlat7.y + u_xlat7.x;
					            u_xlat7.xy = u_xlat15.xy / u_xlat7.xx;
					            u_xlat2.w = vs_TEXCOORD0.y;
					            u_xlat15.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat2.xw;
					            u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					            u_xlat21 = (-u_xlat7.x) * u_xlat4.x + 1.0;
					            u_xlat15.xy = u_xlat2.zw + _Metrics.xy;
					            u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					            u_xlat4.x = (-u_xlat7.y) * u_xlat4.x + u_xlat21;
					            u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					            u_xlat2 = _Metrics.xyxy * vec4(0.0, -2.0, 1.0, -2.0) + u_xlat2.xwzw;
					            u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat7.x = (-u_xlat7.x) * u_xlat5.x + 1.0;
					            u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					            u_xlat4.y = (-u_xlat7.y) * u_xlat2.x + u_xlat7.x;
					            u_xlat4.y = clamp(u_xlat4.y, 0.0, 1.0);
					            SV_Target0.xy = u_xlat3.xy * u_xlat4.xy;
					        } else {
					            SV_Target0.xy = u_xlat1.xy;
					            u_xlat0.x = 0.0;
					        }
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    u_xlatb0 = 0.0<u_xlat0.x;
					    if(u_xlatb0){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb21 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            if(!u_xlatb21){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb1.x = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb15.x = 0.828100026<u_xlat2.z;
					            u_xlatb1.x = u_xlatb15.x && u_xlatb1.x;
					            u_xlatb15.x = u_xlat3.x==0.0;
					            u_xlatb1.x = u_xlatb15.x && u_xlatb1.x;
					            if(!u_xlatb1.x){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat1.x = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat1.x + u_xlat3.y;
					        u_xlat1.xz = _Metrics.ww * u_xlat0.zx + (-vs_TEXCOORD1.yy);
					        u_xlat1.xz = roundEven(u_xlat1.xz);
					        u_xlat2.xy = sqrt(abs(u_xlat1.zx));
					        u_xlat16.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat3 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat3.x = u_xlat1.y;
					        u_xlat8.xz = u_xlat3.xy * vec2(4.0, 4.0);
					        u_xlat8.xz = roundEven(u_xlat8.xz);
					        u_xlat8.xz = u_xlat8.xz * vec2(16.0, 16.0) + u_xlat2.xy;
					        u_xlat2.xy = u_xlat8.xz * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat2.z = _SubsampleIndices.x * 0.142857149 + u_xlat2.y;
					        u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					        u_xlatb1.xy = greaterThanEqual(abs(u_xlat1.xzxx), abs(u_xlat1.zxzz)).xy;
					        u_xlat1.x = u_xlatb1.x ? float(1.0) : 0.0;
					        u_xlat1.y = u_xlatb1.y ? float(1.0) : 0.0;
					;
					        u_xlat7.x = (-_Params2.x) * 0.00999999978 + 1.0;
					        u_xlat15.xy = u_xlat1.xy * u_xlat7.xx;
					        u_xlat7.x = u_xlat1.y + u_xlat1.x;
					        u_xlat1.xy = u_xlat15.xy / u_xlat7.xx;
					        u_xlat0.w = vs_TEXCOORD0.x;
					        u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat0.wx;
					        u_xlat3 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat7.x = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat15.xy = u_xlat0.wz + _Metrics.xy;
					        u_xlat3 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat15.x = (-u_xlat1.y) * u_xlat3.y + u_xlat7.x;
					        u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					        u_xlat0 = _Metrics.xyxy * vec4(-2.0, 0.0, -2.0, 1.0) + u_xlat0.wxwz;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					        u_xlat15.y = (-u_xlat1.y) * u_xlat3.y + u_xlat0.x;
					        u_xlat15.y = clamp(u_xlat15.y, 0.0, 1.0);
					        SV_Target0.zw = u_xlat15.xy * u_xlat2.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_CORNER_DETECTION" "USE_DIAG_SEARCH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 _Params1;
						vec2 _Params2;
						vec4 unused_0_4[5];
						vec4 _SubsampleIndices;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AreaTex;
					uniform  sampler2D _SearchTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					bvec2 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec2 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat15;
					bvec2 u_xlatb15;
					vec2 u_xlat16;
					float u_xlat21;
					bool u_xlatb21;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlatb7.x = 0.0<u_xlat0.y;
					    if(u_xlatb7.x){
					        u_xlatb7.x = 0.0<u_xlat0.x;
					        if(u_xlatb7.x){
					            u_xlat7.x = _Params1.w + -1.0;
					            u_xlat1.xy = _Metrics.xy * vec2(-1.0, 1.0);
					            u_xlat1.z = 1.0;
					            u_xlat2.xy = vs_TEXCOORD0.xy;
					            u_xlat3.x = 0.0;
					            u_xlat2.z = -1.0;
					            u_xlat4.x = 1.0;
					            while(true){
					                u_xlatb14 = u_xlat2.z<u_xlat7.x;
					                u_xlatb21 = 0.899999976<u_xlat4.x;
					                u_xlatb14 = u_xlatb21 && u_xlatb14;
					                if(!u_xlatb14){break;}
					                u_xlat2.xyz = u_xlat1.xyz + u_xlat2.xyz;
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					                u_xlat4.x = dot(u_xlat3.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7.x = 0.899999976<u_xlat3.x;
					            u_xlat7.x = u_xlatb7.x ? 1.0 : float(0.0);
					            u_xlat1.x = u_xlat7.x + u_xlat2.z;
					        } else {
					            u_xlat1.x = 0.0;
					            u_xlat4.x = 0.0;
					        }
					        u_xlat7.x = _Params1.w + -1.0;
					        u_xlat9.xy = _Metrics.xy * vec2(1.0, -1.0);
					        u_xlat9.z = 1.0;
					        u_xlat3.yz = vs_TEXCOORD0.xy;
					        u_xlat3.x = float(-1.0);
					        u_xlat24 = float(1.0);
					        while(true){
					            u_xlatb14 = u_xlat3.x<u_xlat7.x;
					            u_xlatb21 = 0.899999976<u_xlat24;
					            u_xlatb14 = u_xlatb21 && u_xlatb14;
					            if(!u_xlatb14){break;}
					            u_xlat3.xyz = u_xlat9.zxy + u_xlat3.xyz;
					            u_xlat5 = textureLod(_MainTex, u_xlat3.yz, 0.0);
					            u_xlat24 = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat4.y = u_xlat24;
					        u_xlat14.x = u_xlat1.x + u_xlat3.x;
					        u_xlatb14 = 2.0<u_xlat14.x;
					        if(u_xlatb14){
					            u_xlat1.y = (-u_xlat1.x) + 0.25;
					            u_xlat1.zw = u_xlat3.xx * vec2(1.0, -1.0) + vec2(0.0, -0.25);
					            u_xlat2 = u_xlat1.yxzw * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat2 = _Metrics.xyxy * vec4(-1.0, 0.0, 1.0, 0.0) + u_xlat2;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					            u_xlat3.z = u_xlat2.x;
					            u_xlat14.xy = u_xlat3.zx * vec2(5.0, 5.0) + vec2(-3.75, -3.75);
					            u_xlat14.xy = abs(u_xlat14.xy) * u_xlat3.zx;
					            u_xlat14.xy = roundEven(u_xlat14.xy);
					            u_xlat8.x = roundEven(u_xlat3.y);
					            u_xlat8.z = roundEven(u_xlat2.y);
					            u_xlat14.xy = u_xlat8.zx * vec2(2.0, 2.0) + u_xlat14.xy;
					            u_xlatb8.xz = greaterThanEqual(u_xlat4.yyxx, vec4(0.899999976, 0.0, 0.899999976, 0.899999976)).xz;
					            {
					                vec2 hlslcc_movcTemp = u_xlat14;
					                hlslcc_movcTemp.x = (u_xlatb8.x) ? float(0.0) : u_xlat14.x;
					                hlslcc_movcTemp.y = (u_xlatb8.z) ? float(0.0) : u_xlat14.y;
					                u_xlat14 = hlslcc_movcTemp;
					            }
					            u_xlat14.xy = u_xlat14.xy * vec2(20.0, 20.0) + u_xlat1.zx;
					            u_xlat1.xy = u_xlat14.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat1.z = _SubsampleIndices.z * 0.142857149 + u_xlat1.x;
					            u_xlat1 = textureLod(_AreaTex, u_xlat1.yz, 0.0);
					        } else {
					            u_xlat1.x = float(0.0);
					            u_xlat1.y = float(0.0);
					        }
					        u_xlat14.x = _Metrics.x * 0.25 + vs_TEXCOORD0.x;
					        u_xlat2.xy = (-_Metrics.xy);
					        u_xlat2.z = 1.0;
					        u_xlat10.x = u_xlat14.x;
					        u_xlat10.y = vs_TEXCOORD0.y;
					        u_xlat3.x = float(1.0);
					        u_xlat10.z = float(-1.0);
					        while(true){
					            u_xlatb21 = u_xlat10.z<u_xlat7.x;
					            u_xlatb15.x = 0.899999976<u_xlat3.x;
					            u_xlatb21 = u_xlatb21 && u_xlatb15.x;
					            if(!u_xlatb21){break;}
					            u_xlat10.xyz = u_xlat2.xyz + u_xlat10.xyz;
					            u_xlat4 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					            u_xlat21 = u_xlat4.x * 5.0 + -3.75;
					            u_xlat21 = abs(u_xlat21) * u_xlat4.x;
					            u_xlat5.x = roundEven(u_xlat21);
					            u_xlat5.y = roundEven(u_xlat4.y);
					            u_xlat3.x = dot(u_xlat5.xy, vec2(0.5, 0.5));
					        }
					        u_xlat2.x = u_xlat10.z;
					        u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + vs_TEXCOORD0.xy;
					        u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlatb21 = 0.0<u_xlat4.x;
					        if(u_xlatb21){
					            u_xlat4.xy = _Metrics.xy;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = u_xlat14.x;
					            u_xlat5.y = vs_TEXCOORD0.y;
					            u_xlat15.x = 0.0;
					            u_xlat5.z = -1.0;
					            u_xlat3.y = 1.0;
					            while(true){
					                u_xlatb21 = u_xlat5.z<u_xlat7.x;
					                u_xlatb23 = 0.899999976<u_xlat3.y;
					                u_xlatb21 = u_xlatb21 && u_xlatb23;
					                if(!u_xlatb21){break;}
					                u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					                u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					                u_xlat21 = u_xlat6.x * 5.0 + -3.75;
					                u_xlat21 = abs(u_xlat21) * u_xlat6.x;
					                u_xlat15.y = roundEven(u_xlat21);
					                u_xlat15.x = roundEven(u_xlat6.y);
					                u_xlat3.y = dot(u_xlat15.yx, vec2(0.5, 0.5));
					            }
					            u_xlatb7.x = 0.899999976<u_xlat15.x;
					            u_xlat7.x = u_xlatb7.x ? 1.0 : float(0.0);
					            u_xlat2.z = u_xlat7.x + u_xlat5.z;
					        } else {
					            u_xlat2.z = 0.0;
					            u_xlat3.y = 0.0;
					        }
					        u_xlat7.x = u_xlat2.z + u_xlat2.x;
					        u_xlatb7.x = 2.0<u_xlat7.x;
					        if(u_xlatb7.x){
					            u_xlat2.y = (-u_xlat2.x);
					            u_xlat4 = u_xlat2.yyzz * _Metrics.xyxy + vs_TEXCOORD0.xyxy;
					            u_xlat5 = _Metrics.xyxy * vec4(-1.0, 0.0, 0.0, -1.0) + u_xlat4.xyxy;
					            u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					            u_xlat5 = textureLod(_MainTex, u_xlat5.zw, 0.0).yzwx;
					            u_xlat7.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat4.zw;
					            u_xlat4 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					            u_xlat5.y = u_xlat6.y;
					            u_xlat5.xz = u_xlat4.yx;
					            u_xlat7.xy = u_xlat5.xy * vec2(2.0, 2.0) + u_xlat5.zw;
					            u_xlatb15.xy = greaterThanEqual(u_xlat3.yxyx, vec4(0.899999976, 0.899999976, 0.899999976, 0.899999976)).xy;
					            {
					                vec2 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb15.x) ? float(0.0) : u_xlat7.x;
					                hlslcc_movcTemp.y = (u_xlatb15.y) ? float(0.0) : u_xlat7.y;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat7.xy = u_xlat7.xy * vec2(20.0, 20.0) + u_xlat2.zx;
					            u_xlat2.xy = u_xlat7.xy * vec2(0.0017857143, 0.00625000009) + vec2(0.000892857148, 0.503125012);
					            u_xlat2.z = _SubsampleIndices.w * 0.142857149 + u_xlat2.x;
					            u_xlat2 = textureLod(_AreaTex, u_xlat2.yz, 0.0);
					            u_xlat1.xy = u_xlat1.xy + u_xlat2.yx;
					        }
					        u_xlatb7.x = (-u_xlat1.y)==u_xlat1.x;
					        if(u_xlatb7.x){
					            u_xlat2.xy = vs_TEXCOORD2.xy;
					            u_xlat2.z = 1.0;
					            u_xlat3.x = 0.0;
					            while(true){
					                u_xlatb7.x = vs_TEXCOORD4.x<u_xlat2.x;
					                u_xlatb14 = 0.828100026<u_xlat2.z;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                u_xlatb14 = u_xlat3.x==0.0;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                if(!u_xlatb7.x){break;}
					                u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					                u_xlat2.xy = _Metrics.xy * vec2(-2.0, -0.0) + u_xlat2.xy;
					                u_xlat2.z = u_xlat3.y;
					            }
					            u_xlat3.yz = u_xlat2.xz;
					            u_xlat7.xy = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					            u_xlat2 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat2.w * -2.00787401 + 3.25;
					            u_xlat2.x = _Metrics.x * u_xlat7.x + u_xlat3.y;
					            u_xlat2.y = vs_TEXCOORD3.y;
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat4.xy = vs_TEXCOORD2.zw;
					            u_xlat4.z = 1.0;
					            u_xlat5.x = 0.0;
					            while(true){
					                u_xlatb7.x = u_xlat4.x<vs_TEXCOORD4.y;
					                u_xlatb14 = 0.828100026<u_xlat4.z;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                u_xlatb14 = u_xlat5.x==0.0;
					                u_xlatb7.x = u_xlatb14 && u_xlatb7.x;
					                if(!u_xlatb7.x){break;}
					                u_xlat5 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					                u_xlat4.xy = _Metrics.xy * vec2(2.0, 0.0) + u_xlat4.xy;
					                u_xlat4.z = u_xlat5.y;
					            }
					            u_xlat5.yz = u_xlat4.xz;
					            u_xlat7.xy = u_xlat5.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					            u_xlat4 = textureLod(_SearchTex, u_xlat7.xy, 0.0);
					            u_xlat7.x = u_xlat4.w * -2.00787401 + 3.25;
					            u_xlat2.z = (-_Metrics.x) * u_xlat7.x + u_xlat5.y;
					            u_xlat7.xy = _Metrics.zz * u_xlat2.zx + (-vs_TEXCOORD1.xx);
					            u_xlat7.xy = roundEven(u_xlat7.xy);
					            u_xlat15.xy = sqrt(abs(u_xlat7.yx));
					            u_xlat10.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat2.zy;
					            u_xlat4 = textureLod(_MainTex, u_xlat10.xy, 0.0).yxzw;
					            u_xlat4.x = u_xlat3.x;
					            u_xlat3.xy = u_xlat4.xy * vec2(4.0, 4.0);
					            u_xlat3.xy = roundEven(u_xlat3.xy);
					            u_xlat15.xy = u_xlat3.xy * vec2(16.0, 16.0) + u_xlat15.xy;
					            u_xlat3.xy = u_xlat15.xy * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					            u_xlat3.z = _SubsampleIndices.y * 0.142857149 + u_xlat3.y;
					            u_xlat3 = textureLod(_AreaTex, u_xlat3.xz, 0.0);
					            u_xlatb7.xy = greaterThanEqual(abs(u_xlat7.xyxx), abs(u_xlat7.yxyy)).xy;
					            u_xlat7.x = u_xlatb7.x ? float(1.0) : 0.0;
					            u_xlat7.y = u_xlatb7.y ? float(1.0) : 0.0;
					;
					            u_xlat21 = (-_Params2.x) * 0.00999999978 + 1.0;
					            u_xlat15.xy = u_xlat7.xy * vec2(u_xlat21);
					            u_xlat7.x = u_xlat7.y + u_xlat7.x;
					            u_xlat7.xy = u_xlat15.xy / u_xlat7.xx;
					            u_xlat2.w = vs_TEXCOORD0.y;
					            u_xlat15.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat2.xw;
					            u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					            u_xlat21 = (-u_xlat7.x) * u_xlat4.x + 1.0;
					            u_xlat15.xy = u_xlat2.zw + _Metrics.xy;
					            u_xlat4 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					            u_xlat4.x = (-u_xlat7.y) * u_xlat4.x + u_xlat21;
					            u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					            u_xlat2 = _Metrics.xyxy * vec4(0.0, -2.0, 1.0, -2.0) + u_xlat2.xwzw;
					            u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					            u_xlat7.x = (-u_xlat7.x) * u_xlat5.x + 1.0;
					            u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					            u_xlat4.y = (-u_xlat7.y) * u_xlat2.x + u_xlat7.x;
					            u_xlat4.y = clamp(u_xlat4.y, 0.0, 1.0);
					            SV_Target0.xy = u_xlat3.xy * u_xlat4.xy;
					        } else {
					            SV_Target0.xy = u_xlat1.xy;
					            u_xlat0.x = 0.0;
					        }
					    } else {
					        SV_Target0.xy = vec2(0.0, 0.0);
					    }
					    u_xlatb0 = 0.0<u_xlat0.x;
					    if(u_xlatb0){
					        u_xlat0.xy = vs_TEXCOORD3.xy;
					        u_xlat0.z = 1.0;
					        u_xlat1.x = 0.0;
					        while(true){
					            u_xlatb21 = vs_TEXCOORD4.z<u_xlat0.y;
					            u_xlatb2 = 0.828100026<u_xlat0.z;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            u_xlatb2 = u_xlat1.x==0.0;
					            u_xlatb21 = u_xlatb21 && u_xlatb2;
					            if(!u_xlatb21){break;}
					            u_xlat1 = textureLod(_MainTex, u_xlat0.xy, 0.0).yxzw;
					            u_xlat0.xy = _Metrics.xy * vec2(-0.0, -2.0) + u_xlat0.xy;
					            u_xlat0.z = u_xlat1.y;
					        }
					        u_xlat1.yz = u_xlat0.yz;
					        u_xlat0.xy = u_xlat1.xz * vec2(0.5, -2.0) + vec2(0.0078125, 2.03125);
					        u_xlat0 = textureLod(_SearchTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = u_xlat0.w * -2.00787401 + 3.25;
					        u_xlat0.x = _Metrics.y * u_xlat0.x + u_xlat1.y;
					        u_xlat0.y = vs_TEXCOORD2.x;
					        u_xlat1 = textureLod(_MainTex, u_xlat0.yx, 0.0);
					        u_xlat2.xy = vs_TEXCOORD3.zw;
					        u_xlat2.z = 1.0;
					        u_xlat3.x = 0.0;
					        while(true){
					            u_xlatb1.x = u_xlat2.y<vs_TEXCOORD4.w;
					            u_xlatb15.x = 0.828100026<u_xlat2.z;
					            u_xlatb1.x = u_xlatb15.x && u_xlatb1.x;
					            u_xlatb15.x = u_xlat3.x==0.0;
					            u_xlatb1.x = u_xlatb15.x && u_xlatb1.x;
					            if(!u_xlatb1.x){break;}
					            u_xlat3 = textureLod(_MainTex, u_xlat2.xy, 0.0).yxzw;
					            u_xlat2.xy = _Metrics.xy * vec2(0.0, 2.0) + u_xlat2.xy;
					            u_xlat2.z = u_xlat3.y;
					        }
					        u_xlat3.yz = u_xlat2.yz;
					        u_xlat1.xz = u_xlat3.xz * vec2(0.5, -2.0) + vec2(0.5234375, 2.03125);
					        u_xlat2 = textureLod(_SearchTex, u_xlat1.xz, 0.0);
					        u_xlat1.x = u_xlat2.w * -2.00787401 + 3.25;
					        u_xlat0.z = (-_Metrics.y) * u_xlat1.x + u_xlat3.y;
					        u_xlat1.xz = _Metrics.ww * u_xlat0.zx + (-vs_TEXCOORD1.yy);
					        u_xlat1.xz = roundEven(u_xlat1.xz);
					        u_xlat2.xy = sqrt(abs(u_xlat1.zx));
					        u_xlat16.xy = _Metrics.xy * vec2(0.0, 1.0) + u_xlat0.yz;
					        u_xlat3 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat3.x = u_xlat1.y;
					        u_xlat8.xz = u_xlat3.xy * vec2(4.0, 4.0);
					        u_xlat8.xz = roundEven(u_xlat8.xz);
					        u_xlat8.xz = u_xlat8.xz * vec2(16.0, 16.0) + u_xlat2.xy;
					        u_xlat2.xy = u_xlat8.xz * vec2(0.00625000009, 0.0017857143) + vec2(0.00312500005, 0.000892857148);
					        u_xlat2.z = _SubsampleIndices.x * 0.142857149 + u_xlat2.y;
					        u_xlat2 = textureLod(_AreaTex, u_xlat2.xz, 0.0);
					        u_xlatb1.xy = greaterThanEqual(abs(u_xlat1.xzxx), abs(u_xlat1.zxzz)).xy;
					        u_xlat1.x = u_xlatb1.x ? float(1.0) : 0.0;
					        u_xlat1.y = u_xlatb1.y ? float(1.0) : 0.0;
					;
					        u_xlat7.x = (-_Params2.x) * 0.00999999978 + 1.0;
					        u_xlat15.xy = u_xlat1.xy * u_xlat7.xx;
					        u_xlat7.x = u_xlat1.y + u_xlat1.x;
					        u_xlat1.xy = u_xlat15.xy / u_xlat7.xx;
					        u_xlat0.w = vs_TEXCOORD0.x;
					        u_xlat15.xy = _Metrics.xy * vec2(1.0, 0.0) + u_xlat0.wx;
					        u_xlat3 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat7.x = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat15.xy = u_xlat0.wz + _Metrics.xy;
					        u_xlat3 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat15.x = (-u_xlat1.y) * u_xlat3.y + u_xlat7.x;
					        u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					        u_xlat0 = _Metrics.xyxy * vec4(-2.0, 0.0, -2.0, 1.0) + u_xlat0.wxwz;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					        u_xlat0.x = (-u_xlat1.x) * u_xlat3.y + 1.0;
					        u_xlat3 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					        u_xlat15.y = (-u_xlat1.y) * u_xlat3.y + u_xlat0.x;
					        u_xlat15.y = clamp(u_xlat15.y, 0.0, 1.0);
					        SV_Target0.zw = u_xlat15.xy * u_xlat2.xy;
					    } else {
					        SV_Target0.zw = vec2(0.0, 0.0);
					    }
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 347839
			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;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + in_TEXCOORD0.xyxy;
					    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;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + in_TEXCOORD0.xyxy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_UV_BASED_REPROJECTION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + in_TEXCOORD0.xyxy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_UV_BASED_REPROJECTION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1 = _Metrics.xyxy * vec4(1.0, 0.0, 0.0, 1.0) + in_TEXCOORD0.xyxy;
					    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;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					uniform  sampler2D _BlendTex;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_BlendTex, vs_TEXCOORD1.xy);
					    u_xlat1 = texture(_BlendTex, vs_TEXCOORD1.zw);
					    u_xlat2 = texture(_BlendTex, vs_TEXCOORD0.xy).ywzx;
					    u_xlat2.x = u_xlat0.w;
					    u_xlat2.y = u_xlat1.y;
					    u_xlat0.x = dot(u_xlat2, vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlatb0 = u_xlat0.x<9.99999975e-06;
					    if(u_xlatb0){
					        SV_Target0 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					    } else {
					        u_xlat0.x = max(u_xlat0.w, u_xlat2.z);
					        u_xlat3 = max(u_xlat2.w, u_xlat2.y);
					        u_xlatb0 = u_xlat3<u_xlat0.x;
					        u_xlat1.x = u_xlatb0 ? u_xlat0.w : float(0.0);
					        u_xlat1.z = u_xlatb0 ? u_xlat2.z : float(0.0);
					        u_xlat1.yw = (bool(u_xlatb0)) ? vec2(0.0, 0.0) : u_xlat2.yw;
					        u_xlat2.x = (u_xlatb0) ? u_xlat0.w : u_xlat2.y;
					        u_xlat2.y = (u_xlatb0) ? u_xlat2.z : u_xlat2.w;
					        u_xlat0.x = dot(u_xlat2.xy, vec2(1.0, 1.0));
					        u_xlat0.xy = u_xlat2.xy / u_xlat0.xx;
					        u_xlat2 = _Metrics.xyxy * vec4(1.0, 1.0, -1.0, -1.0);
					        u_xlat1 = u_xlat1 * u_xlat2 + vs_TEXCOORD0.xyxy;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					        u_xlat1 = u_xlat0.yyyy * u_xlat1;
					        SV_Target0 = u_xlat0.xxxx * u_xlat2 + 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;
						vec4 _Metrics;
						vec4 unused_0_2[10];
					};
					uniform  sampler2D _BlendTex;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_BlendTex, vs_TEXCOORD1.xy);
					    u_xlat1 = texture(_BlendTex, vs_TEXCOORD1.zw);
					    u_xlat2 = texture(_BlendTex, vs_TEXCOORD0.xy).ywzx;
					    u_xlat2.x = u_xlat0.w;
					    u_xlat2.y = u_xlat1.y;
					    u_xlat0.x = dot(u_xlat2, vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlatb0 = u_xlat0.x<9.99999975e-06;
					    if(u_xlatb0){
					        SV_Target0 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					    } else {
					        u_xlat0.x = max(u_xlat0.w, u_xlat2.z);
					        u_xlat3 = max(u_xlat2.w, u_xlat2.y);
					        u_xlatb0 = u_xlat3<u_xlat0.x;
					        u_xlat1.x = u_xlatb0 ? u_xlat0.w : float(0.0);
					        u_xlat1.z = u_xlatb0 ? u_xlat2.z : float(0.0);
					        u_xlat1.yw = (bool(u_xlatb0)) ? vec2(0.0, 0.0) : u_xlat2.yw;
					        u_xlat2.x = (u_xlatb0) ? u_xlat0.w : u_xlat2.y;
					        u_xlat2.y = (u_xlatb0) ? u_xlat2.z : u_xlat2.w;
					        u_xlat0.x = dot(u_xlat2.xy, vec2(1.0, 1.0));
					        u_xlat0.xy = u_xlat2.xy / u_xlat0.xx;
					        u_xlat2 = _Metrics.xyxy * vec4(1.0, 1.0, -1.0, -1.0);
					        u_xlat1 = u_xlat1 * u_xlat2 + vs_TEXCOORD0.xyxy;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					        u_xlat1 = u_xlat0.yyyy * u_xlat1;
					        SV_Target0 = u_xlat0.xxxx * u_xlat2 + u_xlat1;
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_UV_BASED_REPROJECTION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[3];
						mat4x4 _ReprojectionMatrix;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _BlendTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _CameraDepthTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0 = texture(_BlendTex, vs_TEXCOORD1.xy);
					    u_xlat1 = texture(_BlendTex, vs_TEXCOORD1.zw);
					    u_xlat2 = texture(_BlendTex, vs_TEXCOORD0.xy).ywzx;
					    u_xlat2.x = u_xlat0.w;
					    u_xlat2.y = u_xlat1.y;
					    u_xlat0.x = dot(u_xlat2, vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlatb0 = u_xlat0.x<9.99999975e-06;
					    if(u_xlatb0){
					        u_xlat1 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        u_xlat3 = textureLod(_CameraDepthTexture, vs_TEXCOORD0.xy, 0.0);
					        u_xlat0.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					        u_xlat7.xyz = u_xlat0.yyy * _ReprojectionMatrix[1].xyw;
					        u_xlat0.xyz = _ReprojectionMatrix[0].xyw * u_xlat0.xxx + u_xlat7.xyz;
					        u_xlat0.xyz = _ReprojectionMatrix[2].xyw * u_xlat3.xxx + u_xlat0.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + _ReprojectionMatrix[3].xyw;
					        u_xlat0.xy = u_xlat0.xy / u_xlat0.zz;
					        u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat0.xy = (-u_xlat0.xy) + vs_TEXCOORD0.xy;
					        u_xlat0.x = dot(u_xlat0.xy, u_xlat0.xy);
					        u_xlat0.x = sqrt(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * 5.0;
					        SV_Target0.w = sqrt(u_xlat0.x);
					        SV_Target0.xyz = u_xlat1.xyz;
					    } else {
					        u_xlat0.x = max(u_xlat0.w, u_xlat2.z);
					        u_xlat4 = max(u_xlat2.w, u_xlat2.y);
					        u_xlatb0 = u_xlat4<u_xlat0.x;
					        u_xlat1.x = u_xlatb0 ? u_xlat0.w : float(0.0);
					        u_xlat1.z = u_xlatb0 ? u_xlat2.z : float(0.0);
					        u_xlat1.yw = (bool(u_xlatb0)) ? vec2(0.0, 0.0) : u_xlat2.yw;
					        u_xlat2.x = (u_xlatb0) ? u_xlat0.w : u_xlat2.y;
					        u_xlat2.y = (u_xlatb0) ? u_xlat2.z : u_xlat2.w;
					        u_xlat0.x = dot(u_xlat2.xy, vec2(1.0, 1.0));
					        u_xlat0.xy = u_xlat2.xy / u_xlat0.xx;
					        u_xlat2 = _Metrics.xyxy * vec4(1.0, 1.0, -1.0, -1.0);
					        u_xlat1 = u_xlat1 * u_xlat2 + vs_TEXCOORD0.xyxy;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat3 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					        u_xlat3.xyz = u_xlat0.yyy * u_xlat3.xyz;
					        SV_Target0.xyz = u_xlat0.xxx * u_xlat2.xyz + u_xlat3.xyz;
					        u_xlat2 = textureLod(_CameraDepthTexture, u_xlat1.xy, 0.0);
					        u_xlat3 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					        u_xlat6.xyz = u_xlat3.yyy * _ReprojectionMatrix[1].xyw;
					        u_xlat6.xyz = _ReprojectionMatrix[0].xyw * u_xlat3.xxx + u_xlat6.xyz;
					        u_xlat2.xyz = _ReprojectionMatrix[2].xyw * u_xlat2.xxx + u_xlat6.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + _ReprojectionMatrix[3].xyw;
					        u_xlat8.xy = u_xlat2.xy / u_xlat2.zz;
					        u_xlat8.xy = u_xlat8.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat8.xy = (-u_xlat8.xy) + u_xlat1.xy;
					        u_xlat2 = textureLod(_CameraDepthTexture, u_xlat1.zw, 0.0);
					        u_xlat6.xyz = u_xlat3.www * _ReprojectionMatrix[1].xyw;
					        u_xlat6.xyz = _ReprojectionMatrix[0].xyw * u_xlat3.zzz + u_xlat6.xyz;
					        u_xlat2.xyz = _ReprojectionMatrix[2].xyw * u_xlat2.xxx + u_xlat6.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + _ReprojectionMatrix[3].xyw;
					        u_xlat1.xy = u_xlat2.xy / u_xlat2.zz;
					        u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat1.xy = (-u_xlat1.xy) + u_xlat1.zw;
					        u_xlat1.xy = u_xlat0.yy * u_xlat1.xy;
					        u_xlat0.xy = u_xlat0.xx * u_xlat8.xy + u_xlat1.xy;
					        u_xlat0.x = dot(u_xlat0.xy, u_xlat0.xy);
					        u_xlat0.x = sqrt(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * 5.0;
					        SV_Target0.w = sqrt(u_xlat0.x);
					    }
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_UV_BASED_REPROJECTION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[3];
						mat4x4 _ReprojectionMatrix;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _BlendTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _CameraDepthTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0 = texture(_BlendTex, vs_TEXCOORD1.xy);
					    u_xlat1 = texture(_BlendTex, vs_TEXCOORD1.zw);
					    u_xlat2 = texture(_BlendTex, vs_TEXCOORD0.xy).ywzx;
					    u_xlat2.x = u_xlat0.w;
					    u_xlat2.y = u_xlat1.y;
					    u_xlat0.x = dot(u_xlat2, vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlatb0 = u_xlat0.x<9.99999975e-06;
					    if(u_xlatb0){
					        u_xlat1 = textureLod(_MainTex, vs_TEXCOORD0.xy, 0.0);
					        u_xlat3 = textureLod(_CameraDepthTexture, vs_TEXCOORD0.xy, 0.0);
					        u_xlat0.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					        u_xlat7.xyz = u_xlat0.yyy * _ReprojectionMatrix[1].xyw;
					        u_xlat0.xyz = _ReprojectionMatrix[0].xyw * u_xlat0.xxx + u_xlat7.xyz;
					        u_xlat0.xyz = _ReprojectionMatrix[2].xyw * u_xlat3.xxx + u_xlat0.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + _ReprojectionMatrix[3].xyw;
					        u_xlat0.xy = u_xlat0.xy / u_xlat0.zz;
					        u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat0.xy = (-u_xlat0.xy) + vs_TEXCOORD0.xy;
					        u_xlat0.x = dot(u_xlat0.xy, u_xlat0.xy);
					        u_xlat0.x = sqrt(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * 5.0;
					        SV_Target0.w = sqrt(u_xlat0.x);
					        SV_Target0.xyz = u_xlat1.xyz;
					    } else {
					        u_xlat0.x = max(u_xlat0.w, u_xlat2.z);
					        u_xlat4 = max(u_xlat2.w, u_xlat2.y);
					        u_xlatb0 = u_xlat4<u_xlat0.x;
					        u_xlat1.x = u_xlatb0 ? u_xlat0.w : float(0.0);
					        u_xlat1.z = u_xlatb0 ? u_xlat2.z : float(0.0);
					        u_xlat1.yw = (bool(u_xlatb0)) ? vec2(0.0, 0.0) : u_xlat2.yw;
					        u_xlat2.x = (u_xlatb0) ? u_xlat0.w : u_xlat2.y;
					        u_xlat2.y = (u_xlatb0) ? u_xlat2.z : u_xlat2.w;
					        u_xlat0.x = dot(u_xlat2.xy, vec2(1.0, 1.0));
					        u_xlat0.xy = u_xlat2.xy / u_xlat0.xx;
					        u_xlat2 = _Metrics.xyxy * vec4(1.0, 1.0, -1.0, -1.0);
					        u_xlat1 = u_xlat1 * u_xlat2 + vs_TEXCOORD0.xyxy;
					        u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					        u_xlat3 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					        u_xlat3.xyz = u_xlat0.yyy * u_xlat3.xyz;
					        SV_Target0.xyz = u_xlat0.xxx * u_xlat2.xyz + u_xlat3.xyz;
					        u_xlat2 = textureLod(_CameraDepthTexture, u_xlat1.xy, 0.0);
					        u_xlat3 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					        u_xlat6.xyz = u_xlat3.yyy * _ReprojectionMatrix[1].xyw;
					        u_xlat6.xyz = _ReprojectionMatrix[0].xyw * u_xlat3.xxx + u_xlat6.xyz;
					        u_xlat2.xyz = _ReprojectionMatrix[2].xyw * u_xlat2.xxx + u_xlat6.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + _ReprojectionMatrix[3].xyw;
					        u_xlat8.xy = u_xlat2.xy / u_xlat2.zz;
					        u_xlat8.xy = u_xlat8.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat8.xy = (-u_xlat8.xy) + u_xlat1.xy;
					        u_xlat2 = textureLod(_CameraDepthTexture, u_xlat1.zw, 0.0);
					        u_xlat6.xyz = u_xlat3.www * _ReprojectionMatrix[1].xyw;
					        u_xlat6.xyz = _ReprojectionMatrix[0].xyw * u_xlat3.zzz + u_xlat6.xyz;
					        u_xlat2.xyz = _ReprojectionMatrix[2].xyw * u_xlat2.xxx + u_xlat6.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + _ReprojectionMatrix[3].xyw;
					        u_xlat1.xy = u_xlat2.xy / u_xlat2.zz;
					        u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat1.xy = (-u_xlat1.xy) + u_xlat1.zw;
					        u_xlat1.xy = u_xlat0.yy * u_xlat1.xy;
					        u_xlat0.xy = u_xlat0.xx * u_xlat8.xy + u_xlat1.xy;
					        u_xlat0.x = dot(u_xlat0.xy, u_xlat0.xy);
					        u_xlat0.x = sqrt(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * 5.0;
					        SV_Target0.w = sqrt(u_xlat0.x);
					    }
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 395494
			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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_UV_BASED_REPROJECTION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_UV_BASED_REPROJECTION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.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 UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AccumulationTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AccumulationTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0 = u_xlat0 + (-u_xlat1);
					    SV_Target0 = u_xlat0 * vec4(0.5, 0.5, 0.5, 0.5) + 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 UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AccumulationTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AccumulationTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0 = u_xlat0 + (-u_xlat1);
					    SV_Target0 = u_xlat0 * vec4(0.5, 0.5, 0.5, 0.5) + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "USE_UV_BASED_REPROJECTION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[3];
						mat4x4 _ReprojectionMatrix;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AccumulationTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xyz = u_xlat0.yyy * _ReprojectionMatrix[1].xyw;
					    u_xlat0.xyz = _ReprojectionMatrix[0].xyw * u_xlat0.xxx + u_xlat5.xyz;
					    u_xlat1 = textureLod(_CameraDepthTexture, vs_TEXCOORD0.xy, 0.0);
					    u_xlat0.xyz = _ReprojectionMatrix[2].xyw * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + _ReprojectionMatrix[3].xyw;
					    u_xlat0.xy = u_xlat0.xy / u_xlat0.zz;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					    u_xlat0 = texture(_AccumulationTex, u_xlat0.xy);
					    u_xlat1.xy = vs_TEXCOORD0.xy + _Metrics.xy;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat2 = _Metrics.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = texture(_MainTex, u_xlat2.zw);
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat4 = min(u_xlat1, u_xlat3);
					    u_xlat1 = max(u_xlat1, u_xlat3);
					    u_xlat1 = max(u_xlat1, u_xlat2);
					    u_xlat2 = min(u_xlat2, u_xlat4);
					    u_xlat3.xy = vs_TEXCOORD0.xy + (-_Metrics.xy);
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat2 = min(u_xlat2, u_xlat3);
					    u_xlat1 = max(u_xlat1, u_xlat3);
					    u_xlat2 = max(u_xlat0, u_xlat2);
					    u_xlat0.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1 = min(u_xlat1, u_xlat2);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3 = u_xlat1 + (-u_xlat2);
					    u_xlat0.x = u_xlat2.w * u_xlat2.w + (-u_xlat0.x);
					    u_xlat0.x = abs(u_xlat0.x) * 0.200000003;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) * 30.0 + 1.0;
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xy = u_xlat0.xx * vec2(0.5, 0.25);
					    u_xlat2 = u_xlat0.yyyy * u_xlat3 + u_xlat2;
					    u_xlat1 = u_xlat1 + (-u_xlat2);
					    SV_Target0 = u_xlat0.xxxx * u_xlat1 + u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "USE_UV_BASED_REPROJECTION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 _Metrics;
						vec4 unused_0_2[3];
						mat4x4 _ReprojectionMatrix;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _CameraDepthTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AccumulationTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat5.xyz = u_xlat0.yyy * _ReprojectionMatrix[1].xyw;
					    u_xlat0.xyz = _ReprojectionMatrix[0].xyw * u_xlat0.xxx + u_xlat5.xyz;
					    u_xlat1 = textureLod(_CameraDepthTexture, vs_TEXCOORD0.xy, 0.0);
					    u_xlat0.xyz = _ReprojectionMatrix[2].xyw * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + _ReprojectionMatrix[3].xyw;
					    u_xlat0.xy = u_xlat0.xy / u_xlat0.zz;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					    u_xlat0 = texture(_AccumulationTex, u_xlat0.xy);
					    u_xlat1.xy = vs_TEXCOORD0.xy + _Metrics.xy;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat2 = _Metrics.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = texture(_MainTex, u_xlat2.zw);
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat4 = min(u_xlat1, u_xlat3);
					    u_xlat1 = max(u_xlat1, u_xlat3);
					    u_xlat1 = max(u_xlat1, u_xlat2);
					    u_xlat2 = min(u_xlat2, u_xlat4);
					    u_xlat3.xy = vs_TEXCOORD0.xy + (-_Metrics.xy);
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat2 = min(u_xlat2, u_xlat3);
					    u_xlat1 = max(u_xlat1, u_xlat3);
					    u_xlat2 = max(u_xlat0, u_xlat2);
					    u_xlat0.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1 = min(u_xlat1, u_xlat2);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3 = u_xlat1 + (-u_xlat2);
					    u_xlat0.x = u_xlat2.w * u_xlat2.w + (-u_xlat0.x);
					    u_xlat0.x = abs(u_xlat0.x) * 0.200000003;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) * 30.0 + 1.0;
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xy = u_xlat0.xx * vec2(0.5, 0.25);
					    u_xlat2 = u_xlat0.yyyy * u_xlat3 + u_xlat2;
					    u_xlat1 = u_xlat1 + (-u_xlat2);
					    SV_Target0 = u_xlat0.xxxx * u_xlat1 + u_xlat2;
					    return;
					}"
				}
			}
		}
	}
}