diff options
-rw-r--r-- | drivers/gles3/shaders/effect_blur.glsl | 57 | ||||
-rw-r--r-- | drivers/gles3/shaders/resolve.glsl.h | 166 | ||||
-rw-r--r-- | drivers/gles3/shaders/screen_space.glsl.h | 183 | ||||
-rw-r--r-- | drivers/gles3/shadow_atlas_gles3.cpp | 2 | ||||
-rw-r--r-- | drivers/gles3/shadow_atlas_gles3.h | 8 |
5 files changed, 57 insertions, 359 deletions
diff --git a/drivers/gles3/shaders/effect_blur.glsl b/drivers/gles3/shaders/effect_blur.glsl new file mode 100644 index 0000000000..fc6de7f654 --- /dev/null +++ b/drivers/gles3/shaders/effect_blur.glsl @@ -0,0 +1,57 @@ +[vertex] + + +layout(location=0) in highp vec4 vertex_attrib; +layout(location=4) in vec2 uv_in; + +out vec2 uv_interp; + + +void main() { + + uv_interp = uv_in; + gl_Position = vertex_attrib; +} + +[fragment] + + +in vec2 uv_interp; +uniform sampler2D source_color; //texunit:0 + +uniform float lod; +uniform vec2 pixel_size; + + +layout(location = 0) out vec4 frag_color; + +void main() { + + + +#ifdef GAUSSIAN_HORIZONTAL + vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pixel_size,lod )*0.38774; + color+=textureLod( source_color, uv_interp+vec2( 1.0, 0.0)*pixel_size,lod )*0.24477; + color+=textureLod( source_color, uv_interp+vec2( 2.0, 0.0)*pixel_size,lod )*0.06136; + color+=textureLod( source_color, uv_interp+vec2(-1.0, 0.0)*pixel_size,lod )*0.24477; + color+=textureLod( source_color, uv_interp+vec2(-2.0, 0.0)*pixel_size,lod )*0.06136; + frag_color = color; +#endif + +#ifdef GAUSSIAN_VERTICAL + vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pixel_size,lod )*0.38774; + color+=textureLod( source_color, uv_interp+vec2( 0.0, 1.0)*pixel_size,lod )*0.24477; + color+=textureLod( source_color, uv_interp+vec2( 0.0, 2.0)*pixel_size,lod )*0.06136; + color+=textureLod( source_color, uv_interp+vec2( 0.0,-1.0)*pixel_size,lod )*0.24477; + color+=textureLod( source_color, uv_interp+vec2( 0.0,-2.0)*pixel_size,lod )*0.06136; + frag_color = color; +#endif + +#ifdef SIMPLE_COPY + vec4 color =textureLod( source_color, uv_interp,0.0); + frag_color = color; +#endif + + +} + diff --git a/drivers/gles3/shaders/resolve.glsl.h b/drivers/gles3/shaders/resolve.glsl.h deleted file mode 100644 index 72baf50716..0000000000 --- a/drivers/gles3/shaders/resolve.glsl.h +++ /dev/null @@ -1,166 +0,0 @@ -/* WARNING, THIS FILE WAS GENERATED, DO NOT EDIT */ -#ifndef RESOLVE_GLSL_HGLES3_120 -#define RESOLVE_GLSL_HGLES3_120 - - -#include "drivers/gles3/shader_gles3.h" - - -class ResolveShaderGLES3 : public ShaderGLES3 { - - virtual String get_shader_name() const { return "ResolveShaderGLES3"; } -public: - - enum Conditionals { - USE_SSR, - }; - - enum Uniforms { - STUFF, - }; - - _FORCE_INLINE_ int get_uniform(Uniforms p_uniform) const { return _get_uniform(p_uniform); } - - _FORCE_INLINE_ void set_conditional(Conditionals p_conditional,bool p_enable) { _set_conditional(p_conditional,p_enable); } - - #define _FU if (get_uniform(p_uniform)<0) return; ERR_FAIL_COND( get_active()!=this ); - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_value) { _FU glUniform1f(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, double p_value) { _FU glUniform1f(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, uint8_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, int8_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, uint16_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, int16_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, uint32_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, int32_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Color& p_color) { _FU GLfloat col[4]={p_color.r,p_color.g,p_color.b,p_color.a}; glUniform4fv(get_uniform(p_uniform),1,col); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Vector2& p_vec2) { _FU GLfloat vec2[2]={p_vec2.x,p_vec2.y}; glUniform2fv(get_uniform(p_uniform),1,vec2); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Vector3& p_vec3) { _FU GLfloat vec3[3]={p_vec3.x,p_vec3.y,p_vec3.z}; glUniform3fv(get_uniform(p_uniform),1,vec3); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_a, float p_b) { _FU glUniform2f(get_uniform(p_uniform),p_a,p_b); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_a, float p_b, float p_c) { _FU glUniform3f(get_uniform(p_uniform),p_a,p_b,p_c); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_a, float p_b, float p_c, float p_d) { _FU glUniform4f(get_uniform(p_uniform),p_a,p_b,p_c,p_d); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Transform& p_transform) { _FU - - const Transform &tr = p_transform; - - GLfloat matrix[16]={ /* build a 16x16 matrix */ - tr.basis.elements[0][0], - tr.basis.elements[1][0], - tr.basis.elements[2][0], - 0, - tr.basis.elements[0][1], - tr.basis.elements[1][1], - tr.basis.elements[2][1], - 0, - tr.basis.elements[0][2], - tr.basis.elements[1][2], - tr.basis.elements[2][2], - 0, - tr.origin.x, - tr.origin.y, - tr.origin.z, - 1 - }; - - - glUniformMatrix4fv(get_uniform(p_uniform),1,false,matrix); - - - } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Matrix32& p_transform) { _FU - - const Matrix32 &tr = p_transform; - - GLfloat matrix[16]={ /* build a 16x16 matrix */ - tr.elements[0][0], - tr.elements[0][1], - 0, - 0, - tr.elements[1][0], - tr.elements[1][1], - 0, - 0, - 0, - 0, - 1, - 0, - tr.elements[2][0], - tr.elements[2][1], - 0, - 1 - }; - - - glUniformMatrix4fv(get_uniform(p_uniform),1,false,matrix); - - - } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const CameraMatrix& p_matrix) { _FU - - GLfloat matrix[16]; - - for (int i=0;i<4;i++) { - for (int j=0;j<4;j++) { - - matrix[i*4+j]=p_matrix.matrix[i][j]; - } - } - - glUniformMatrix4fv(get_uniform(p_uniform),1,false,matrix); - }; - -#undef _FU - - - virtual void init() { - - static const Enum *_enums=NULL; - static const EnumValue *_enum_values=NULL; - static const char* _conditional_strings[]={ - "#define USE_SSR\n", - }; - - static const char* _uniform_strings[]={ - "stuff", - }; - - static AttributePair *_attribute_pairs=NULL; - static const Feedback* _feedbacks=NULL; - static TexUnitPair _texunit_pairs[]={ - {"source_diffuse",0}, - {"source_specular",1}, - {"source_ssr_ssao",2}, - }; - - static UBOPair *_ubo_pairs=NULL; - static const char _vertex_code[]={ -10,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,61,48,41,32,105,110,32,104,105,103,104,112,32,118,101,99,52,32,118,101,114,116,101,120,95,97,116,116,114,105,98,59,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,61,52,41,32,105,110,32,118,101,99,50,32,117,118,95,105,110,59,10,10,111,117,116,32,118,101,99,50,32,117,118,95,105,110,116,101,114,112,59,10,10,10,118,111,105,100,32,109,97,105,110,40,41,32,123,10,10,9,117,118,95,105,110,116,101,114,112,32,61,32,117,118,95,105,110,59,10,9,103,108,95,80,111,115,105,116,105,111,110,32,61,32,118,101,114,116,101,120,95,97,116,116,114,105,98,59,10,125,10,10, 0}; - - static const int _vertex_code_start=1; - static const char _fragment_code[]={ -10,10,105,110,32,118,101,99,50,32,117,118,95,105,110,116,101,114,112,59,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,100,105,102,102,117,115,101,59,32,47,47,116,101,120,117,110,105,116,58,48,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,115,112,101,99,117,108,97,114,59,32,47,47,116,101,120,117,110,105,116,58,49,10,10,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,115,115,114,95,115,115,97,111,59,32,47,47,116,101,120,117,110,105,116,58,50,10,10,117,110,105,102,111,114,109,32,102,108,111,97,116,32,115,116,117,102,102,59,10,10,105,110,32,118,101,99,50,32,117,118,50,95,105,110,116,101,114,112,59,10,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,48,41,32,111,117,116,32,118,101,99,52,32,102,114,97,103,95,99,111,108,111,114,59,10,10,118,111,105,100,32,109,97,105,110,40,41,32,123,10,10,9,118,101,99,52,32,100,105,102,102,117,115,101,32,61,32,116,101,120,116,117,114,101,40,32,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,32,32,117,118,95,105,110,116,101,114,112,32,41,59,10,9,118,101,99,52,32,115,112,101,99,117,108,97,114,32,61,32,116,101,120,116,117,114,101,40,32,115,111,117,114,99,101,95,115,112,101,99,117,108,97,114,44,32,32,117,118,95,105,110,116,101,114,112,32,41,59,10,10,35,105,102,100,101,102,32,85,83,69,95,83,83,82,10,10,9,118,101,99,52,32,115,115,114,32,61,32,116,101,120,116,117,114,101,76,111,100,40,115,111,117,114,99,101,95,115,115,114,95,115,115,97,111,44,117,118,95,105,110,116,101,114,112,44,48,46,48,41,59,10,9,115,112,101,99,117,108,97,114,46,114,103,98,32,61,32,109,105,120,40,115,112,101,99,117,108,97,114,46,114,103,98,44,115,115,114,46,114,103,98,42,115,112,101,99,117,108,97,114,46,97,44,115,115,114,46,97,41,59,10,35,101,110,100,105,102,10,10,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,100,105,102,102,117,115,101,46,114,103,98,44,49,46,48,41,43,118,101,99,52,40,115,112,101,99,117,108,97,114,46,114,103,98,44,49,46,48,41,59,10,125,10,10, 0}; - - static const int _fragment_code_start=16; - setup(_conditional_strings,1,_uniform_strings,1,_attribute_pairs,0, _texunit_pairs,3,_ubo_pairs,0,_feedbacks,0,_vertex_code,_fragment_code,_vertex_code_start,_fragment_code_start); - }; - -}; - -#endif - diff --git a/drivers/gles3/shaders/screen_space.glsl.h b/drivers/gles3/shaders/screen_space.glsl.h deleted file mode 100644 index f39d04429d..0000000000 --- a/drivers/gles3/shaders/screen_space.glsl.h +++ /dev/null @@ -1,183 +0,0 @@ -/* WARNING, THIS FILE WAS GENERATED, DO NOT EDIT */ -#ifndef SCREEN_SPACE_GLSL_HGLES3_120 -#define SCREEN_SPACE_GLSL_HGLES3_120 - - -#include "drivers/gles3/shader_gles3.h" - - -class ScreenSpaceShaderGLES3 : public ShaderGLES3 { - - virtual String get_shader_name() const { return "ScreenSpaceShaderGLES3"; } -public: - - enum Conditionals { - BLEND_ACCEL, - REFLECT_ROUGHNESS, - }; - - enum Uniforms { - CAMERA_Z_NEAR, - CAMERA_Z_FAR, - VIEWPORT_SIZE, - PIXEL_SIZE, - FILTER_MIPMAP_LEVELS, - INVERSE_PROJECTION, - PROJECTION, - FRAME_INDEX, - }; - - _FORCE_INLINE_ int get_uniform(Uniforms p_uniform) const { return _get_uniform(p_uniform); } - - _FORCE_INLINE_ void set_conditional(Conditionals p_conditional,bool p_enable) { _set_conditional(p_conditional,p_enable); } - - #define _FU if (get_uniform(p_uniform)<0) return; ERR_FAIL_COND( get_active()!=this ); - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_value) { _FU glUniform1f(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, double p_value) { _FU glUniform1f(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, uint8_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, int8_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, uint16_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, int16_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, uint32_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, int32_t p_value) { _FU glUniform1i(get_uniform(p_uniform),p_value); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Color& p_color) { _FU GLfloat col[4]={p_color.r,p_color.g,p_color.b,p_color.a}; glUniform4fv(get_uniform(p_uniform),1,col); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Vector2& p_vec2) { _FU GLfloat vec2[2]={p_vec2.x,p_vec2.y}; glUniform2fv(get_uniform(p_uniform),1,vec2); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Vector3& p_vec3) { _FU GLfloat vec3[3]={p_vec3.x,p_vec3.y,p_vec3.z}; glUniform3fv(get_uniform(p_uniform),1,vec3); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_a, float p_b) { _FU glUniform2f(get_uniform(p_uniform),p_a,p_b); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_a, float p_b, float p_c) { _FU glUniform3f(get_uniform(p_uniform),p_a,p_b,p_c); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, float p_a, float p_b, float p_c, float p_d) { _FU glUniform4f(get_uniform(p_uniform),p_a,p_b,p_c,p_d); } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Transform& p_transform) { _FU - - const Transform &tr = p_transform; - - GLfloat matrix[16]={ /* build a 16x16 matrix */ - tr.basis.elements[0][0], - tr.basis.elements[1][0], - tr.basis.elements[2][0], - 0, - tr.basis.elements[0][1], - tr.basis.elements[1][1], - tr.basis.elements[2][1], - 0, - tr.basis.elements[0][2], - tr.basis.elements[1][2], - tr.basis.elements[2][2], - 0, - tr.origin.x, - tr.origin.y, - tr.origin.z, - 1 - }; - - - glUniformMatrix4fv(get_uniform(p_uniform),1,false,matrix); - - - } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const Matrix32& p_transform) { _FU - - const Matrix32 &tr = p_transform; - - GLfloat matrix[16]={ /* build a 16x16 matrix */ - tr.elements[0][0], - tr.elements[0][1], - 0, - 0, - tr.elements[1][0], - tr.elements[1][1], - 0, - 0, - 0, - 0, - 1, - 0, - tr.elements[2][0], - tr.elements[2][1], - 0, - 1 - }; - - - glUniformMatrix4fv(get_uniform(p_uniform),1,false,matrix); - - - } - - _FORCE_INLINE_ void set_uniform(Uniforms p_uniform, const CameraMatrix& p_matrix) { _FU - - GLfloat matrix[16]; - - for (int i=0;i<4;i++) { - for (int j=0;j<4;j++) { - - matrix[i*4+j]=p_matrix.matrix[i][j]; - } - } - - glUniformMatrix4fv(get_uniform(p_uniform),1,false,matrix); - }; - -#undef _FU - - - virtual void init() { - - static const Enum *_enums=NULL; - static const EnumValue *_enum_values=NULL; - static const char* _conditional_strings[]={ - "#define BLEND_ACCEL\n", - "#define REFLECT_ROUGHNESS\n", - }; - - static const char* _uniform_strings[]={ - "camera_z_near", - "camera_z_far", - "viewport_size", - "pixel_size", - "filter_mipmap_levels", - "inverse_projection", - "projection", - "frame_index", - }; - - static AttributePair *_attribute_pairs=NULL; - static const Feedback* _feedbacks=NULL; - static TexUnitPair _texunit_pairs[]={ - {"source_diffuse",0}, - {"source_normal_roughness",1}, - {"source_depth",2}, - {"source_diffuse_mipmaps",3}, - }; - - static UBOPair *_ubo_pairs=NULL; - static const char _vertex_code[]={ -10,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,61,48,41,32,105,110,32,104,105,103,104,112,32,118,101,99,52,32,118,101,114,116,101,120,95,97,116,116,114,105,98,59,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,61,52,41,32,105,110,32,118,101,99,50,32,117,118,95,105,110,59,10,10,111,117,116,32,118,101,99,50,32,117,118,95,105,110,116,101,114,112,59,10,111,117,116,32,118,101,99,50,32,112,111,115,95,105,110,116,101,114,112,59,10,10,118,111,105,100,32,109,97,105,110,40,41,32,123,10,10,9,117,118,95,105,110,116,101,114,112,32,61,32,117,118,95,105,110,59,10,9,103,108,95,80,111,115,105,116,105,111,110,32,61,32,118,101,114,116,101,120,95,97,116,116,114,105,98,59,10,9,112,111,115,95,105,110,116,101,114,112,46,120,121,61,103,108,95,80,111,115,105,116,105,111,110,46,120,121,59,10,125,10,10, 0}; - - static const int _vertex_code_start=1; - static const char _fragment_code[]={ -10,10,105,110,32,118,101,99,50,32,117,118,95,105,110,116,101,114,112,59,10,105,110,32,118,101,99,50,32,112,111,115,95,105,110,116,101,114,112,59,10,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,100,105,102,102,117,115,101,59,32,47,47,116,101,120,117,110,105,116,58,48,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,110,111,114,109,97,108,95,114,111,117,103,104,110,101,115,115,59,32,47,47,116,101,120,117,110,105,116,58,49,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,100,101,112,116,104,59,32,47,47,116,101,120,117,110,105,116,58,50,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,115,111,117,114,99,101,95,100,105,102,102,117,115,101,95,109,105,112,109,97,112,115,59,32,47,47,116,101,120,117,110,105,116,58,51,10,10,117,110,105,102,111,114,109,32,102,108,111,97,116,32,99,97,109,101,114,97,95,122,95,110,101,97,114,59,10,117,110,105,102,111,114,109,32,102,108,111,97,116,32,99,97,109,101,114,97,95,122,95,102,97,114,59,10,10,117,110,105,102,111,114,109,32,118,101,99,50,32,118,105,101,119,112,111,114,116,95,115,105,122,101,59,10,117,110,105,102,111,114,109,32,118,101,99,50,32,112,105,120,101,108,95,115,105,122,101,59,10,10,117,110,105,102,111,114,109,32,102,108,111,97,116,32,102,105,108,116,101,114,95,109,105,112,109,97,112,95,108,101,118,101,108,115,59,10,10,117,110,105,102,111,114,109,32,109,97,116,52,32,105,110,118,101,114,115,101,95,112,114,111,106,101,99,116,105,111,110,59,10,117,110,105,102,111,114,109,32,109,97,116,52,32,112,114,111,106,101,99,116,105,111,110,59,10,10,117,110,105,102,111,114,109,32,105,110,116,32,102,114,97,109,101,95,105,110,100,101,120,59,10,10,118,101,99,50,32,118,105,101,119,95,116,111,95,115,99,114,101,101,110,40,118,101,99,51,32,118,105,101,119,95,112,111,115,44,111,117,116,32,102,108,111,97,116,32,119,41,32,123,10,32,32,32,32,118,101,99,52,32,112,114,111,106,101,99,116,101,100,32,61,32,112,114,111,106,101,99,116,105,111,110,32,42,32,118,101,99,52,40,118,105,101,119,95,112,111,115,44,32,49,46,48,41,59,10,32,32,32,32,112,114,111,106,101,99,116,101,100,46,120,121,122,32,47,61,32,112,114,111,106,101,99,116,101,100,46,119,59,10,32,32,32,32,112,114,111,106,101,99,116,101,100,46,120,121,32,61,32,112,114,111,106,101,99,116,101,100,46,120,121,32,42,32,48,46,53,32,43,32,48,46,53,59,10,32,32,32,32,119,61,112,114,111,106,101,99,116,101,100,46,119,59,10,32,32,32,32,114,101,116,117,114,110,32,112,114,111,106,101,99,116,101,100,46,120,121,59,10,125,10,10,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,48,41,32,111,117,116,32,118,101,99,52,32,102,114,97,103,95,99,111,108,111,114,59,10,10,35,100,101,102,105,110,101,32,78,85,77,95,82,65,89,68,73,82,95,82,69,84,82,73,69,83,32,51,10,10,47,47,102,114,111,109,32,104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,116,111,98,115,112,114,44,32,105,102,32,105,116,32,119,111,114,107,115,32,102,111,114,32,121,111,117,44,32,100,117,100,101,46,46,10,118,101,99,51,32,114,97,110,100,95,114,103,98,40,118,101,99,50,32,99,111,41,32,123,10,32,32,32,32,114,101,116,117,114,110,32,97,98,115,40,102,114,97,99,116,40,115,105,110,40,100,111,116,40,99,111,46,120,121,44,32,118,101,99,50,40,51,52,46,52,56,51,53,44,32,56,57,46,54,51,55,50,41,41,41,32,42,10,9,118,101,99,51,40,50,57,49,53,54,46,52,55,54,53,44,32,51,56,50,55,51,46,53,54,51,57,51,44,32,52,55,56,52,51,46,55,53,52,54,56,41,41,41,32,42,32,50,32,45,32,49,59,10,125,10,10,35,100,101,102,105,110,101,32,77,95,80,73,32,51,46,49,52,49,53,57,50,54,53,51,53,57,10,10,118,101,99,51,32,105,109,112,111,114,116,97,110,99,101,95,115,97,109,112,108,101,95,103,103,120,40,118,101,99,50,32,120,105,44,32,102,108,111,97,116,32,114,111,117,103,104,110,101,115,115,41,10,123,10,32,32,32,32,102,108,111,97,116,32,114,95,115,113,117,97,114,101,32,61,32,114,111,117,103,104,110,101,115,115,32,42,32,114,111,117,103,104,110,101,115,115,59,10,32,32,32,32,102,108,111,97,116,32,112,104,105,32,61,32,50,32,42,32,77,95,80,73,32,42,32,120,105,46,120,59,10,32,32,32,32,102,108,111,97,116,32,99,111,115,95,116,104,101,116,97,32,61,32,115,113,114,116,40,40,49,32,45,32,120,105,46,121,41,32,47,32,40,49,32,43,32,40,114,95,115,113,117,97,114,101,32,42,32,114,95,115,113,117,97,114,101,32,45,32,49,41,32,42,32,120,105,46,121,41,41,59,10,32,32,32,32,102,108,111,97,116,32,115,105,110,95,116,104,101,116,97,32,61,32,115,113,114,116,40,49,32,45,32,99,111,115,95,116,104,101,116,97,32,42,32,99,111,115,95,116,104,101,116,97,41,59,10,10,32,32,32,32,114,101,116,117,114,110,32,118,101,99,51,40,115,105,110,95,116,104,101,116,97,32,42,32,99,111,115,40,112,104,105,41,44,32,115,105,110,95,116,104,101,116,97,32,42,32,115,105,110,40,112,104,105,41,44,32,99,111,115,95,116,104,101,116,97,41,59,10,125,10,10,118,111,105,100,32,102,105,110,100,95,97,114,98,105,116,114,97,114,121,95,116,97,110,103,101,110,116,40,118,101,99,51,32,110,111,114,109,97,108,44,32,111,117,116,32,118,101,99,51,32,116,97,110,103,101,110,116,44,32,111,117,116,32,118,101,99,51,32,98,105,116,97,110,103,101,110,116,41,32,123,10,32,32,32,32,118,101,99,51,32,118,48,32,61,32,97,98,115,40,110,111,114,109,97,108,46,122,41,32,60,32,48,46,57,57,57,32,63,32,118,101,99,51,40,48,46,48,44,32,48,46,48,44,32,49,46,48,41,32,58,32,118,101,99,51,40,48,46,48,44,32,49,46,48,44,32,48,46,48,41,59,10,32,32,32,32,116,97,110,103,101,110,116,32,61,32,110,111,114,109,97,108,105,122,101,40,99,114,111,115,115,40,118,48,44,32,110,111,114,109,97,108,41,41,59,10,32,32,32,32,98,105,116,97,110,103,101,110,116,32,61,32,110,111,114,109,97,108,105,122,101,40,99,114,111,115,115,40,116,97,110,103,101,110,116,44,32,110,111,114,109,97,108,41,41,59,10,125,10,10,98,111,111,108,32,112,111,105,110,116,95,98,101,116,119,101,101,110,95,112,108,97,110,101,115,40,102,108,111,97,116,32,122,44,32,102,108,111,97,116,32,122,95,97,44,32,102,108,111,97,116,32,122,95,98,44,32,102,108,111,97,116,32,116,114,97,99,101,95,108,101,110,103,116,104,44,32,111,117,116,32,98,111,111,108,32,104,105,116,95,102,97,99,116,111,114,41,32,123,10,10,32,32,32,32,47,47,32,84,104,105,115,32,116,114,97,99,101,115,32,99,111,114,114,101,99,116,44,32,98,117,116,32,108,111,111,107,115,32,119,101,105,114,100,32,98,101,99,97,117,115,101,32,103,97,112,115,32,97,114,101,32,110,111,116,32,102,105,108,108,101,100,10,32,32,32,32,47,47,32,114,101,116,117,114,110,32,122,32,43,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,119,115,32,62,61,32,109,105,110,40,122,95,97,44,32,122,95,98,41,32,45,32,48,46,48,48,48,49,53,32,38,38,32,122,32,45,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,119,115,32,60,61,32,109,97,120,40,122,95,97,44,32,122,95,98,41,59,10,10,32,32,32,32,104,105,116,95,102,97,99,116,111,114,32,61,32,102,97,108,115,101,59,10,10,32,32,32,32,47,47,32,84,104,105,115,32,116,114,97,99,101,115,32,34,105,110,99,111,114,114,101,99,116,34,44,32,98,117,116,32,108,111,111,107,115,32,98,101,116,116,101,114,32,98,101,99,97,117,115,101,32,103,97,112,115,32,97,114,101,32,103,101,116,116,105,110,103,32,102,105,108,108,101,100,32,116,104,101,110,10,32,32,32,32,102,108,111,97,116,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,119,115,61,48,46,48,48,48,49,59,10,32,32,32,32,99,111,110,115,116,32,102,108,111,97,116,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,98,97,99,107,102,97,99,101,32,61,32,48,46,48,48,48,48,48,49,59,10,32,32,32,32,105,102,32,40,122,32,45,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,119,115,32,42,32,116,114,97,99,101,95,108,101,110,103,116,104,32,60,61,32,109,97,120,40,122,95,97,44,32,122,95,98,41,41,32,123,10,10,32,32,32,32,32,105,102,32,40,116,114,117,101,41,32,123,10,9,32,32,32,32,104,105,116,95,102,97,99,116,111,114,32,61,32,40,122,32,43,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,119,115,32,42,32,116,114,97,99,101,95,108,101,110,103,116,104,41,32,62,61,10,9,9,9,32,32,32,32,109,105,110,40,122,95,97,44,32,122,95,98,41,32,45,32,104,105,116,95,116,111,108,101,114,97,110,99,101,95,98,97,99,107,102,97,99,101,59,10,32,32,32,32,32,125,32,101,108,115,101,32,123,10,9,32,32,32,32,104,105,116,95,102,97,99,116,111,114,32,61,32,116,114,117,101,59,10,32,32,32,32,32,32,125,10,10,9,114,101,116,117,114,110,32,116,114,117,101,59,10,32,32,32,32,125,10,10,32,32,32,32,114,101,116,117,114,110,32,102,97,108,115,101,59,10,125,10,10,98,111,111,108,32,111,117,116,95,111,102,95,115,99,114,101,101,110,40,118,101,99,50,32,116,99,111,111,114,100,41,32,123,10,32,32,32,32,114,101,116,117,114,110,32,116,99,111,111,114,100,46,120,32,60,32,48,46,48,32,124,124,32,116,99,111,111,114,100,46,121,32,60,32,48,46,48,32,124,124,32,116,99,111,111,114,100,46,120,32,62,32,49,46,48,32,124,124,32,116,99,111,111,114,100,46,121,32,62,32,49,46,48,59,10,125,10,10,102,108,111,97,116,32,100,105,115,116,97,110,99,101,83,113,117,97,114,101,100,40,118,101,99,50,32,97,44,32,118,101,99,50,32,98,41,32,123,32,97,32,45,61,32,98,59,32,114,101,116,117,114,110,32,100,111,116,40,97,44,32,97,41,59,32,125,10,10,118,101,99,51,32,99,111,109,112,117,116,101,67,108,105,112,73,110,102,111,40,102,108,111,97,116,32,122,110,44,32,102,108,111,97,116,32,122,102,41,32,123,10,32,114,101,116,117,114,110,32,118,101,99,51,40,122,110,32,32,42,32,122,102,44,32,122,110,32,45,32,122,102,44,32,122,102,41,59,10,10,125,10,10,10,102,108,111,97,116,32,114,101,99,111,110,115,116,114,117,99,116,67,83,90,40,102,108,111,97,116,32,100,101,112,116,104,66,117,102,102,101,114,86,97,108,117,101,44,32,118,101,99,51,32,99,41,32,123,10,32,32,32,32,32,32,114,101,116,117,114,110,32,99,91,48,93,32,47,32,40,100,101,112,116,104,66,117,102,102,101,114,86,97,108,117,101,32,42,32,99,91,49,93,32,43,32,99,91,50,93,41,59,10,125,10,10,10,98,111,111,108,32,116,114,97,99,101,83,99,114,101,101,110,83,112,97,99,101,82,97,121,49,10,32,32,32,40,118,101,99,51,32,32,32,32,32,32,32,32,32,32,99,115,79,114,105,103,105,110,44,10,32,32,32,32,118,101,99,51,32,32,32,32,32,32,32,32,32,99,115,68,105,114,101,99,116,105,111,110,44,10,32,32,32,32,109,97,116,52,120,52,32,32,32,32,32,32,32,32,32,32,112,114,111,106,101,99,116,84,111,80,105,120,101,108,77,97,116,114,105,120,44,10,32,32,32,32,115,97,109,112,108,101,114,50,68,32,32,32,32,32,32,32,99,115,90,66,117,102,102,101,114,44,10,32,32,32,32,118,101,99,50,32,32,32,32,32,32,32,32,32,32,99,115,90,66,117,102,102,101,114,83,105,122,101,44,10,32,32,32,32,102,108,111,97,116,32,32,32,32,32,32,32,32,32,32,32,99,115,90,84,104,105,99,107,110,101,115,115,44,10,32,32,32,32,99,111,110,115,116,32,105,110,32,98,111,111,108,32,32,32,99,115,90,66,117,102,102,101,114,73,115,72,121,112,101,114,98,111,108,105,99,44,10,32,32,32,32,118,101,99,51,32,32,32,32,32,32,32,32,32,32,99,108,105,112,73,110,102,111,44,10,32,32,32,32,102,108,111,97,116,32,32,32,32,32,32,32,32,32,32,32,110,101,97,114,80,108,97,110,101,90,44,10,32,32,32,32,102,108,111,97,116,9,9,9,115,116,114,105,100,101,44,10,32,32,32,32,102,108,111,97,116,32,32,32,32,32,32,32,32,32,32,32,106,105,116,116,101,114,70,114,97,99,116,105,111,110,44,10,32,32,32,32,102,108,111,97,116,32,32,32,32,32,32,32,32,32,32,32,109,97,120,83,116,101,112,115,44,10,32,32,32,32,105,110,32,102,108,111,97,116,32,32,32,32,32,32,32,32,109,97,120,82,97,121,84,114,97,99,101,68,105,115,116,97,110,99,101,44,10,32,32,32,32,111,117,116,32,118,101,99,50,32,32,32,32,32,32,104,105,116,80,105,120,101,108,44,10,32,32,32,32,111,117,116,32,105,110,116,32,32,32,32,32,32,32,32,32,119,104,105,99,104,44,10,9,111,117,116,32,118,101,99,51,9,9,99,115,72,105,116,80,111,105,110,116,41,32,123,10,10,9,47,47,32,67,108,105,112,32,114,97,121,32,116,111,32,97,32,110,101,97,114,32,112,108,97,110,101,32,105,110,32,51,68,32,40,100,111,101,115,110,39,116,32,104,97,118,101,32,116,111,32,98,101,32,42,116,104,101,42,32,110,101,97,114,32,112,108,97,110,101,44,32,97,108,116,104,111,117,103,104,32,116,104,97,116,32,119,111,117,108,100,32,98,101,32,97,32,103,111,111,100,32,105,100,101,97,41,10,9,102,108,111,97,116,32,114,97,121,76,101,110,103,116,104,32,61,32,40,40,99,115,79,114,105,103,105,110,46,122,32,43,32,99,115,68,105,114,101,99,116,105,111,110,46,122,32,42,32,109,97,120,82,97,121,84,114,97,99,101,68,105,115,116,97,110,99,101,41,32,62,32,110,101,97,114,80,108,97,110,101,90,41,32,63,10,9,9,9,9,40,110,101,97,114,80,108,97,110,101,90,32,45,32,99,115,79,114,105,103,105,110,46,122,41,32,47,32,99,115,68,105,114,101,99,116,105,111,110,46,122,32,58,10,9,9,9,9,109,97,120,82,97,121,84,114,97,99,101,68,105,115,116,97,110,99,101,59,10,9,118,101,99,51,32,99,115,69,110,100,80,111,105,110,116,32,61,32,99,115,68,105,114,101,99,116,105,111,110,32,42,32,114,97,121,76,101,110,103,116,104,32,43,32,99,115,79,114,105,103,105,110,59,10,10,9,47,47,32,80,114,111,106,101,99,116,32,105,110,116,111,32,115,99,114,101,101,110,32,115,112,97,99,101,10,9,118,101,99,52,32,72,48,32,61,32,112,114,111,106,101,99,116,84,111,80,105,120,101,108,77,97,116,114,105,120,32,42,32,118,101,99,52,40,99,115,79,114,105,103,105,110,44,32,49,46,48,41,59,10,9,118,101,99,52,32,72,49,32,61,32,112,114,111,106,101,99,116,84,111,80,105,120,101,108,77,97,116,114,105,120,32,42,32,118,101,99,52,40,99,115,69,110,100,80,111,105,110,116,44,32,49,46,48,41,59,10,10,9,47,47,32,84,104,101,114,101,32,97,114,101,32,97,32,108,111,116,32,111,102,32,100,105,118,105,115,105,111,110,115,32,98,121,32,119,32,116,104,97,116,32,99,97,110,32,98,101,32,116,117,114,110,101,100,32,105,110,116,111,32,109,117,108,116,105,112,108,105,99,97,116,105,111,110,115,10,9,47,47,32,97,116,32,115,111,109,101,32,109,105,110,111,114,32,112,114,101,99,105,115,105,111,110,32,108,111,115,115,46,46,46,97,110,100,32,119,101,32,110,101,101,100,32,116,111,32,105,110,116,101,114,112,111,108,97,116,101,32,116,104,101,115,101,32,49,47,119,32,118,97,108,117,101,115,10,9,47,47,32,97,110,121,119,97,121,46,10,9,47,47,10,9,47,47,32,66,101,99,97,117,115,101,32,116,104,101,32,99,97,108,108,101,114,32,119,97,115,32,114,101,113,117,105,114,101,100,32,116,111,32,99,108,105,112,32,116,111,32,116,104,101,32,110,101,97,114,32,112,108,97,110,101,44,10,9,47,47,32,116,104,105,115,32,104,111,109,111,103,101,110,101,111,117,115,32,100,105,118,105,115,105,111,110,32,40,112,114,111,106,101,99,116,105,110,103,32,102,114,111,109,32,52,68,32,116,111,32,50,68,41,32,105,115,32,103,117,97,114,97,110,116,101,101,100,10,9,47,47,32,116,111,32,115,117,99,99,101,101,100,46,10,9,102,108,111,97,116,32,107,48,32,61,32,49,46,48,32,47,32,72,48,46,119,59,10,9,102,108,111,97,116,32,107,49,32,61,32,49,46,48,32,47,32,72,49,46,119,59,10,10,9,47,47,32,83,119,105,116,99,104,32,116,104,101,32,111,114,105,103,105,110,97,108,32,112,111,105,110,116,115,32,116,111,32,118,97,108,117,101,115,32,116,104,97,116,32,105,110,116,101,114,112,111,108,97,116,101,32,108,105,110,101,97,114,108,121,32,105,110,32,50,68,10,9,118,101,99,51,32,81,48,32,61,32,99,115,79,114,105,103,105,110,32,42,32,107,48,59,10,9,118,101,99,51,32,81,49,32,61,32,99,115,69,110,100,80,111,105,110,116,32,42,32,107,49,59,10,10,9,47,47,32,83,99,114,101,101,110,45,115,112,97,99,101,32,101,110,100,112,111,105,110,116,115,10,9,118,101,99,50,32,80,48,32,61,32,72,48,46,120,121,32,42,32,107,48,59,10,9,118,101,99,50,32,80,49,32,61,32,72,49,46,120,121,32,42,32,107,49,59,10,10,9,47,47,32,91,79,112,116,105,111,110,97,108,32,99,108,105,112,112,105,110,103,32,116,111,32,102,114,117,115,116,117,109,32,115,105,100,101,115,32,104,101,114,101,93,10,10,9,47,47,32,73,110,105,116,105,97,108,105,122,101,32,116,111,32,111,102,102,32,115,99,114,101,101,110,10,9,104,105,116,80,105,120,101,108,32,61,32,118,101,99,50,40,45,49,46,48,44,32,45,49,46,48,41,59,10,9,119,104,105,99,104,32,61,32,48,59,32,47,47,32,79,110,108,121,32,111,110,101,32,108,97,121,101,114,10,10,9,47,47,32,73,102,32,116,104,101,32,108,105,110,101,32,105,115,32,100,101,103,101,110,101,114,97,116,101,44,32,109,97,107,101,32,105,116,32,99,111,118,101,114,32,97,116,32,108,101,97,115,116,32,111,110,101,32,112,105,120,101,108,10,9,47,47,32,116,111,32,97,118,111,105,100,32,104,97,110,100,108,105,110,103,32,122,101,114,111,45,112,105,120,101,108,32,101,120,116,101,110,116,32,97,115,32,97,32,115,112,101,99,105,97,108,32,99,97,115,101,32,108,97,116,101,114,10,9,80,49,32,43,61,32,118,101,99,50,40,40,100,105,115,116,97,110,99,101,83,113,117,97,114,101,100,40,80,48,44,32,80,49,41,32,60,32,48,46,48,48,48,49,41,32,63,32,48,46,48,49,32,58,32,48,46,48,41,59,10,10,9,118,101,99,50,32,100,101,108,116,97,32,61,32,80,49,32,45,32,80,48,59,10,10,9,47,47,32,80,101,114,109,117,116,101,32,115,111,32,116,104,97,116,32,116,104,101,32,112,114,105,109,97,114,121,32,105,116,101,114,97,116,105,111,110,32,105,115,32,105,110,32,120,32,116,111,32,114,101,100,117,99,101,10,9,47,47,32,108,97,114,103,101,32,98,114,97,110,99,104,101,115,32,108,97,116,101,114,10,9,98,111,111,108,32,112,101,114,109,117,116,101,32,61,32,102,97,108,115,101,59,10,9,105,102,32,40,97,98,115,40,100,101,108,116,97,46,120,41,32,60,32,97,98,115,40,100,101,108,116,97,46,121,41,41,32,123,10,9,9,47,47,32,77,111,114,101,45,118,101,114,116,105,99,97,108,32,108,105,110,101,46,32,67,114,101,97,116,101,32,97,32,112,101,114,109,117,116,97,116,105,111,110,32,116,104,97,116,32,115,119,97,112,115,32,120,32,97,110,100,32,121,32,105,110,32,116,104,101,32,111,117,116,112,117,116,10,9,9,112,101,114,109,117,116,101,32,61,32,116,114,117,101,59,10,10,9,9,47,47,32,68,105,114,101,99,116,108,121,32,115,119,105,122,122,108,101,32,116,104,101,32,105,110,112,117,116,115,10,9,9,100,101,108,116,97,32,61,32,100,101,108,116,97,46,121,120,59,10,9,9,80,49,32,61,32,80,49,46,121,120,59,10,9,9,80,48,32,61,32,80,48,46,121,120,59,10,9,125,10,10,9,47,47,32,70,114,111,109,32,110,111,119,32,111,110,44,32,34,120,34,32,105,115,32,116,104,101,32,112,114,105,109,97,114,121,32,105,116,101,114,97,116,105,111,110,32,100,105,114,101,99,116,105,111,110,32,97,110,100,32,34,121,34,32,105,115,32,116,104,101,32,115,101,99,111,110,100,97,114,121,32,111,110,101,10,10,9,102,108,111,97,116,32,115,116,101,112,68,105,114,101,99,116,105,111,110,32,61,32,115,105,103,110,40,100,101,108,116,97,46,120,41,59,10,9,102,108,111,97,116,32,105,110,118,100,120,32,61,32,115,116,101,112,68,105,114,101,99,116,105,111,110,32,47,32,100,101,108,116,97,46,120,59,10,9,118,101,99,50,32,100,80,32,61,32,118,101,99,50,40,115,116,101,112,68,105,114,101,99,116,105,111,110,44,32,105,110,118,100,120,32,42,32,100,101,108,116,97,46,121,41,59,10,10,9,47,47,32,84,114,97,99,107,32,116,104,101,32,100,101,114,105,118,97,116,105,118,101,115,32,111,102,32,81,32,97,110,100,32,107,10,9,118,101,99,51,32,100,81,32,61,32,40,81,49,32,45,32,81,48,41,32,42,32,105,110,118,100,120,59,10,9,102,108,111,97,116,32,32,32,100,107,32,61,32,40,107,49,32,45,32,107,48,41,32,42,32,105,110,118,100,120,59,10,10,9,47,47,32,83,99,97,108,101,32,100,101,114,105,118,97,116,105,118,101,115,32,98,121,32,116,104,101,32,100,101,115,105,114,101,100,32,112,105,120,101,108,32,115,116,114,105,100,101,10,9,100,80,32,42,61,32,115,116,114,105,100,101,59,32,100,81,32,42,61,32,115,116,114,105,100,101,59,32,100,107,32,42,61,32,115,116,114,105,100,101,59,10,10,9,47,47,32,79,102,102,115,101,116,32,116,104,101,32,115,116,97,114,116,105,110,103,32,118,97,108,117,101,115,32,98,121,32,116,104,101,32,106,105,116,116,101,114,32,102,114,97,99,116,105,111,110,10,9,80,48,32,43,61,32,100,80,32,42,32,106,105,116,116,101,114,70,114,97,99,116,105,111,110,59,32,81,48,32,43,61,32,100,81,32,42,32,106,105,116,116,101,114,70,114,97,99,116,105,111,110,59,32,107,48,32,43,61,32,100,107,32,42,32,106,105,116,116,101,114,70,114,97,99,116,105,111,110,59,10,10,9,47,47,32,83,108,105,100,101,32,80,32,102,114,111,109,32,80,48,32,116,111,32,80,49,44,32,40,110,111,119,45,104,111,109,111,103,101,110,101,111,117,115,41,32,81,32,102,114,111,109,32,81,48,32,116,111,32,81,49,44,32,97,110,100,32,107,32,102,114,111,109,32,107,48,32,116,111,32,107,49,10,9,118,101,99,51,32,81,32,61,32,81,48,59,10,9,102,108,111,97,116,32,32,107,32,61,32,107,48,59,10,10,9,47,47,32,87,101,32,116,114,97,99,107,32,116,104,101,32,114,97,121,32,100,101,112,116,104,32,97,116,32,43,47,45,32,49,47,50,32,112,105,120,101,108,32,116,111,32,116,114,101,97,116,32,112,105,120,101,108,115,32,97,115,32,99,108,105,112,45,115,112,97,99,101,32,115,111,108,105,100,10,9,47,47,32,118,111,120,101,108,115,46,32,66,101,99,97,117,115,101,32,116,104,101,32,100,101,112,116,104,32,97,116,32,45,49,47,50,32,102,111,114,32,97,32,103,105,118,101,110,32,112,105,120,101,108,32,119,105,108,108,32,98,101,32,116,104,101,32,115,97,109,101,32,97,115,32,97,116,10,9,47,47,32,43,49,47,50,32,102,111,114,32,116,104,101,32,112,114,101,118,105,111,117,115,32,105,116,101,114,97,116,105,111,110,44,32,119,101,32,97,99,116,117,97,108,108,121,32,111,110,108,121,32,104,97,118,101,32,116,111,32,99,111,109,112,117,116,101,32,111,110,101,32,118,97,108,117,101,10,9,47,47,32,112,101,114,32,105,116,101,114,97,116,105,111,110,46,10,9,102,108,111,97,116,32,112,114,101,118,90,77,97,120,69,115,116,105,109,97,116,101,32,61,32,99,115,79,114,105,103,105,110,46,122,59,10,9,102,108,111,97,116,32,115,116,101,112,67,111,117,110,116,32,61,32,48,46,48,59,10,9,102,108,111,97,116,32,114,97,121,90,77,97,120,32,61,32,112,114,101,118,90,77,97,120,69,115,116,105,109,97,116,101,44,32,114,97,121,90,77,105,110,32,61,32,112,114,101,118,90,77,97,120,69,115,116,105,109,97,116,101,59,10,9,102,108,111,97,116,32,115,99,101,110,101,90,77,97,120,32,61,32,114,97,121,90,77,97,120,32,43,32,49,101,52,59,10,10,9,47,47,32,80,49,46,120,32,105,115,32,110,101,118,101,114,32,109,111,100,105,102,105,101,100,32,97,102,116,101,114,32,116,104,105,115,32,112,111,105,110,116,44,32,115,111,32,112,114,101,45,115,99,97,108,101,32,105,116,32,98,121,10,9,47,47,32,116,104,101,32,115,116,101,112,32,100,105,114,101,99,116,105,111,110,32,102,111,114,32,97,32,115,105,103,110,101,100,32,99,111,109,112,97,114,105,115,111,110,10,9,102,108,111,97,116,32,101,110,100,32,61,32,80,49,46,120,32,42,32,115,116,101,112,68,105,114,101,99,116,105,111,110,59,10,10,9,47,47,32,87,101,32,111,110,108,121,32,97,100,118,97,110,99,101,32,116,104,101,32,122,32,102,105,101,108,100,32,111,102,32,81,32,105,110,32,116,104,101,32,105,110,110,101,114,32,108,111,111,112,44,32,115,105,110,99,101,10,9,47,47,32,81,46,120,121,32,105,115,32,110,101,118,101,114,32,117,115,101,100,32,117,110,116,105,108,32,97,102,116,101,114,32,116,104,101,32,108,111,111,112,32,116,101,114,109,105,110,97,116,101,115,46,10,10,10,9,102,111,114,32,40,118,101,99,50,32,80,32,61,32,80,48,59,10,9,32,32,32,32,32,40,40,80,46,120,32,42,32,115,116,101,112,68,105,114,101,99,116,105,111,110,41,32,60,61,32,101,110,100,41,32,38,38,10,9,32,32,32,32,32,40,115,116,101,112,67,111,117,110,116,32,60,32,109,97,120,83,116,101,112,115,41,32,38,38,10,9,32,32,32,32,32,40,40,114,97,121,90,77,97,120,32,60,32,115,99,101,110,101,90,77,97,120,32,45,32,99,115,90,84,104,105,99,107,110,101,115,115,41,32,124,124,10,9,32,32,32,32,32,32,40,114,97,121,90,77,105,110,32,62,32,115,99,101,110,101,90,77,97,120,41,41,32,38,38,10,9,32,32,32,32,32,40,115,99,101,110,101,90,77,97,120,32,33,61,32,48,46,48,41,59,10,9,32,32,32,32,32,80,32,43,61,32,100,80,44,32,81,46,122,32,43,61,32,100,81,46,122,44,32,107,32,43,61,32,100,107,44,32,115,116,101,112,67,111,117,110,116,32,43,61,32,49,46,48,41,32,123,10,10,9,9,104,105,116,80,105,120,101,108,32,61,32,112,101,114,109,117,116,101,32,63,32,80,46,121,120,32,58,32,80,59,10,10,9,9,47,47,32,84,104,101,32,100,101,112,116,104,32,114,97,110,103,101,32,116,104,97,116,32,116,104,101,32,114,97,121,32,99,111,118,101,114,115,32,119,105,116,104,105,110,32,116,104,105,115,32,108,111,111,112,10,9,9,47,47,32,105,116,101,114,97,116,105,111,110,46,32,32,65,115,115,117,109,101,32,116,104,97,116,32,116,104,101,32,114,97,121,32,105,115,32,109,111,118,105,110,103,32,105,110,32,105,110,99,114,101,97,115,105,110,103,32,122,10,9,9,47,47,32,97,110,100,32,115,119,97,112,32,105,102,32,98,97,99,107,119,97,114,100,115,46,32,32,66,101,99,97,117,115,101,32,111,110,101,32,101,110,100,32,111,102,32,116,104,101,32,105,110,116,101,114,118,97,108,32,105,115,10,9,9,47,47,32,115,104,97,114,101,100,32,98,101,116,119,101,101,110,32,97,100,106,97,99,101,110,116,32,105,116,101,114,97,116,105,111,110,115,44,32,119,101,32,116,114,97,99,107,32,116,104,101,32,112,114,101,118,105,111,117,115,10,9,9,47,47,32,118,97,108,117,101,32,97,110,100,32,116,104,101,110,32,115,119,97,112,32,97,115,32,110,101,101,100,101,100,32,116,111,32,101,110,115,117,114,101,32,99,111,114,114,101,99,116,32,111,114,100,101,114,105,110,103,10,9,9,114,97,121,90,77,105,110,32,61,32,112,114,101,118,90,77,97,120,69,115,116,105,109,97,116,101,59,10,10,9,9,47,47,32,67,111,109,112,117,116,101,32,116,104,101,32,118,97,108,117,101,32,97,116,32,49,47,50,32,112,105,120,101,108,32,105,110,116,111,32,116,104,101,32,102,117,116,117,114,101,10,9,9,114,97,121,90,77,97,120,32,61,32,40,100,81,46,122,32,42,32,48,46,53,32,43,32,81,46,122,41,32,47,32,40,100,107,32,42,32,48,46,53,32,43,32,107,41,59,10,9,9,112,114,101,118,90,77,97,120,69,115,116,105,109,97,116,101,32,61,32,114,97,121,90,77,97,120,59,10,9,9,105,102,32,40,114,97,121,90,77,105,110,32,62,32,114,97,121,90,77,97,120,41,32,123,10,9,9,9,102,108,111,97,116,32,97,117,120,32,61,32,114,97,121,90,77,105,110,59,10,9,9,9,114,97,121,90,77,105,110,61,114,97,121,90,77,97,120,59,10,9,9,9,114,97,121,90,77,97,120,61,97,117,120,59,10,10,9,9,125,10,10,10,9,9,47,47,32,67,97,109,101,114,97,45,115,112,97,99,101,32,122,32,111,102,32,116,104,101,32,98,97,99,107,103,114,111,117,110,100,10,9,9,115,99,101,110,101,90,77,97,120,32,61,32,116,101,120,101,108,70,101,116,99,104,40,99,115,90,66,117,102,102,101,114,44,32,105,118,101,99,50,40,104,105,116,80,105,120,101,108,41,44,32,48,41,46,114,32,42,32,50,46,48,32,45,32,49,46,48,59,10,10,9,9,47,47,32,84,104,105,115,32,99,111,109,112,105,108,101,115,32,97,119,97,121,32,119,104,101,110,32,99,115,90,66,117,102,102,101,114,73,115,72,121,112,101,114,98,111,108,105,99,32,61,32,102,97,108,115,101,10,9,9,47,42,105,102,32,40,99,115,90,66,117,102,102,101,114,73,115,72,121,112,101,114,98,111,108,105,99,41,32,123,10,9,9,9,115,99,101,110,101,90,77,97,120,32,61,32,114,101,99,111,110,115,116,114,117,99,116,67,83,90,40,115,99,101,110,101,90,77,97,120,44,32,99,108,105,112,73,110,102,111,41,59,10,9,9,125,42,47,10,9,9,115,99,101,110,101,90,77,97,120,32,61,32,50,46,48,32,42,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,42,32,99,97,109,101,114,97,95,122,95,102,97,114,32,47,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,43,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,45,32,115,99,101,110,101,90,77,97,120,32,42,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,45,32,99,97,109,101,114,97,95,122,95,110,101,97,114,41,41,59,10,9,9,115,99,101,110,101,90,77,97,120,32,61,32,45,115,99,101,110,101,90,77,97,120,59,10,10,10,10,9,125,32,47,47,32,112,105,120,101,108,32,111,110,32,114,97,121,10,10,10,10,9,81,46,120,121,32,43,61,32,100,81,46,120,121,32,42,32,115,116,101,112,67,111,117,110,116,59,10,9,99,115,72,105,116,80,111,105,110,116,32,61,32,81,32,42,32,40,49,46,48,32,47,32,107,41,59,10,10,9,47,47,32,77,97,116,99,104,101,115,32,116,104,101,32,110,101,119,32,108,111,111,112,32,99,111,110,100,105,116,105,111,110,58,10,9,114,101,116,117,114,110,32,40,114,97,121,90,77,97,120,32,62,61,32,115,99,101,110,101,90,77,97,120,32,45,32,99,115,90,84,104,105,99,107,110,101,115,115,41,32,38,38,32,40,114,97,121,90,77,105,110,32,60,61,32,115,99,101,110,101,90,77,97,120,41,59,10,125,10,10,118,111,105,100,32,115,119,97,112,102,40,105,110,111,117,116,32,102,108,111,97,116,32,97,44,105,110,111,117,116,32,102,108,111,97,116,32,98,41,32,123,10,9,102,108,111,97,116,32,97,117,120,61,97,59,10,9,97,61,98,59,10,9,98,61,97,117,120,59,10,125,10,102,108,111,97,116,32,114,97,110,100,40,118,101,99,50,32,99,111,41,123,10,32,32,32,32,114,101,116,117,114,110,32,102,114,97,99,116,40,115,105,110,40,100,111,116,40,99,111,46,120,121,32,44,118,101,99,50,40,49,50,46,57,56,57,56,44,55,56,46,50,51,51,41,41,41,32,42,32,52,51,55,53,56,46,53,52,53,51,41,59,10,125,10,10,102,108,111,97,116,32,115,112,101,99,117,108,97,114,80,111,119,101,114,84,111,67,111,110,101,65,110,103,108,101,40,102,108,111,97,116,32,115,112,101,99,117,108,97,114,80,111,119,101,114,41,32,123,10,9,102,108,111,97,116,32,101,120,112,111,110,101,110,116,32,61,32,49,46,48,102,32,47,32,40,115,112,101,99,117,108,97,114,80,111,119,101,114,32,43,32,49,46,48,102,41,59,10,9,114,101,116,117,114,110,32,97,99,111,115,40,112,111,119,40,48,46,50,52,52,102,44,32,101,120,112,111,110,101,110,116,41,41,59,10,125,10,10,102,108,111,97,116,32,105,115,111,115,99,101,108,101,115,84,114,105,97,110,103,108,101,79,112,112,111,115,105,116,101,40,102,108,111,97,116,32,97,100,106,97,99,101,110,116,76,101,110,103,116,104,44,32,102,108,111,97,116,32,99,111,110,101,84,104,101,116,97,41,10,123,10,9,47,47,32,115,105,109,112,108,101,32,116,114,105,103,32,97,110,100,32,97,108,103,101,98,114,97,32,45,32,115,111,104,44,32,99,97,104,44,32,116,111,97,32,45,32,116,97,110,40,116,104,101,116,97,41,32,61,32,111,112,112,47,97,100,106,44,32,111,112,112,32,61,32,116,97,110,40,116,104,101,116,97,41,32,42,32,97,100,106,44,32,116,104,101,110,32,109,117,108,116,105,112,108,121,32,42,32,50,46,48,102,32,102,111,114,32,105,115,111,115,99,101,108,101,115,32,116,114,105,97,110,103,108,101,32,98,97,115,101,10,9,114,101,116,117,114,110,32,50,46,48,102,32,42,32,116,97,110,40,99,111,110,101,84,104,101,116,97,41,32,42,32,97,100,106,97,99,101,110,116,76,101,110,103,116,104,59,10,125,10,10,102,108,111,97,116,32,105,115,111,115,99,101,108,101,115,84,114,105,97,110,103,108,101,73,110,82,97,100,105,117,115,40,102,108,111,97,116,32,97,44,32,102,108,111,97,116,32,104,41,10,123,10,9,102,108,111,97,116,32,97,50,32,61,32,97,32,42,32,97,59,10,9,102,108,111,97,116,32,102,104,50,32,61,32,52,46,48,102,32,42,32,104,32,42,32,104,59,10,9,114,101,116,117,114,110,32,40,97,32,42,32,40,115,113,114,116,40,97,50,32,43,32,102,104,50,41,32,45,32,97,41,41,32,47,32,40,52,46,48,102,32,42,32,104,41,59,10,125,10,10,102,108,111,97,116,32,105,115,111,115,99,101,108,101,115,84,114,105,97,110,103,108,101,78,101,120,116,65,100,106,97,99,101,110,116,40,102,108,111,97,116,32,97,100,106,97,99,101,110,116,76,101,110,103,116,104,44,32,102,108,111,97,116,32,105,110,99,105,114,99,108,101,82,97,100,105,117,115,41,10,123,10,9,47,47,32,115,117,98,116,114,97,99,116,32,116,104,101,32,100,105,97,109,101,116,101,114,32,111,102,32,116,104,101,32,105,110,99,105,114,99,108,101,32,116,111,32,103,101,116,32,116,104,101,32,97,100,106,97,99,101,110,116,32,115,105,100,101,32,111,102,32,116,104,101,32,110,101,120,116,32,108,101,118,101,108,32,111,110,32,116,104,101,32,99,111,110,101,10,9,114,101,116,117,114,110,32,97,100,106,97,99,101,110,116,76,101,110,103,116,104,32,45,32,40,105,110,99,105,114,99,108,101,82,97,100,105,117,115,32,42,32,50,46,48,102,41,59,10,125,10,10,118,111,105,100,32,109,97,105,110,40,41,32,123,10,10,10,9,102,108,111,97,116,32,110,117,109,95,115,116,101,112,115,61,54,52,59,10,9,102,108,111,97,116,32,105,110,105,116,105,97,108,95,98,105,97,115,61,48,46,49,59,10,9,102,108,111,97,116,32,104,105,116,95,116,111,108,101,114,97,110,99,101,61,48,46,49,59,10,10,9,47,47,47,47,10,10,9,118,101,99,52,32,100,105,102,102,117,115,101,32,61,32,116,101,120,116,117,114,101,40,32,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,32,32,117,118,95,105,110,116,101,114,112,32,41,59,10,9,118,101,99,52,32,110,111,114,109,97,108,95,114,111,117,103,104,110,101,115,115,32,61,32,116,101,120,116,117,114,101,40,32,115,111,117,114,99,101,95,110,111,114,109,97,108,95,114,111,117,103,104,110,101,115,115,44,32,117,118,95,105,110,116,101,114,112,41,59,10,10,9,118,101,99,51,32,110,111,114,109,97,108,59,10,10,9,110,111,114,109,97,108,32,61,32,110,111,114,109,97,108,95,114,111,117,103,104,110,101,115,115,46,120,121,122,42,50,46,48,45,49,46,48,59,10,10,9,105,102,32,40,102,97,108,115,101,41,32,123,10,9,32,32,32,32,102,108,111,97,116,32,115,99,97,108,101,32,61,32,49,46,55,55,55,55,59,10,9,32,32,32,32,118,101,99,51,32,110,110,32,61,10,9,9,110,111,114,109,97,108,95,114,111,117,103,104,110,101,115,115,46,120,121,122,42,118,101,99,51,40,50,46,48,42,115,99,97,108,101,44,50,46,48,42,115,99,97,108,101,44,48,46,48,41,32,43,10,9,9,118,101,99,51,40,45,115,99,97,108,101,44,45,115,99,97,108,101,44,49,46,48,41,59,10,9,32,32,32,32,102,108,111,97,116,32,103,32,61,32,50,46,48,32,47,32,100,111,116,40,110,110,46,120,121,122,44,110,110,46,120,121,122,41,59,10,9,32,32,32,32,118,101,99,51,32,110,59,10,9,32,32,32,32,110,46,120,121,32,61,32,103,42,110,110,46,120,121,59,10,9,32,32,32,32,110,46,122,32,61,32,103,45,49,46,48,59,10,9,32,32,32,110,111,114,109,97,108,61,110,59,10,9,125,10,10,9,118,101,99,51,32,116,97,110,103,101,110,116,59,10,9,118,101,99,51,32,98,105,110,111,114,109,97,108,59,10,9,102,105,110,100,95,97,114,98,105,116,114,97,114,121,95,116,97,110,103,101,110,116,40,110,111,114,109,97,108,44,32,116,97,110,103,101,110,116,44,32,98,105,110,111,114,109,97,108,41,59,10,10,9,102,108,111,97,116,32,114,111,117,103,104,110,101,115,115,32,61,32,110,111,114,109,97,108,95,114,111,117,103,104,110,101,115,115,46,119,59,10,10,9,102,108,111,97,116,32,100,101,112,116,104,95,116,101,120,32,61,32,116,101,120,116,117,114,101,40,115,111,117,114,99,101,95,100,101,112,116,104,44,117,118,95,105,110,116,101,114,112,41,46,114,59,10,10,9,118,101,99,52,32,119,111,114,108,100,95,112,111,115,32,61,32,105,110,118,101,114,115,101,95,112,114,111,106,101,99,116,105,111,110,32,42,32,118,101,99,52,40,32,117,118,95,105,110,116,101,114,112,42,50,46,48,45,49,46,48,44,32,100,101,112,116,104,95,116,101,120,42,50,46,48,45,49,46,48,44,32,49,46,48,32,41,59,10,9,118,101,99,51,32,118,101,114,116,101,120,32,61,32,119,111,114,108,100,95,112,111,115,46,120,121,122,47,119,111,114,108,100,95,112,111,115,46,119,59,10,10,9,118,101,99,51,32,118,105,101,119,95,100,105,114,32,61,32,110,111,114,109,97,108,105,122,101,40,118,101,114,116,101,120,41,59,10,9,118,101,99,51,32,114,97,121,95,100,105,114,32,61,32,110,111,114,109,97,108,105,122,101,40,114,101,102,108,101,99,116,40,118,105,101,119,95,100,105,114,44,32,110,111,114,109,97,108,41,41,59,10,10,9,47,47,114,97,121,95,100,105,114,32,61,32,110,111,114,109,97,108,105,122,101,40,118,105,101,119,95,100,105,114,32,45,32,110,111,114,109,97,108,32,42,32,100,111,116,40,110,111,114,109,97,108,44,118,105,101,119,95,100,105,114,41,32,42,32,50,46,48,41,59,10,10,9,47,47,114,97,121,95,100,105,114,32,61,32,110,111,114,109,97,108,105,122,101,40,118,101,99,51,40,49,44,49,44,45,49,41,41,59,10,10,10,9,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,10,10,10,9,47,47,109,97,107,101,32,114,97,121,32,108,101,110,103,116,104,32,97,110,100,32,99,108,105,112,32,105,116,32,97,103,97,105,110,115,116,32,116,104,101,32,110,101,97,114,32,112,108,97,110,101,32,40,100,111,110,39,116,32,119,97,110,116,32,116,111,32,116,114,97,99,101,32,98,101,121,111,110,100,32,118,105,115,105,98,108,101,41,10,9,102,108,111,97,116,32,114,97,121,95,108,101,110,32,61,32,40,118,101,114,116,101,120,46,122,32,43,32,114,97,121,95,100,105,114,46,122,32,42,32,99,97,109,101,114,97,95,122,95,102,97,114,41,32,62,32,45,99,97,109,101,114,97,95,122,95,110,101,97,114,32,63,32,40,45,99,97,109,101,114,97,95,122,95,110,101,97,114,32,45,32,118,101,114,116,101,120,46,122,41,32,47,32,114,97,121,95,100,105,114,46,122,32,58,32,99,97,109,101,114,97,95,122,95,102,97,114,59,10,9,118,101,99,51,32,114,97,121,95,101,110,100,32,61,32,118,101,114,116,101,120,32,43,32,114,97,121,95,100,105,114,42,114,97,121,95,108,101,110,59,10,10,9,102,108,111,97,116,32,119,95,98,101,103,105,110,59,10,9,118,101,99,50,32,118,112,95,108,105,110,101,95,98,101,103,105,110,32,61,32,118,105,101,119,95,116,111,95,115,99,114,101,101,110,40,118,101,114,116,101,120,44,119,95,98,101,103,105,110,41,59,10,9,102,108,111,97,116,32,119,95,101,110,100,59,10,9,118,101,99,50,32,118,112,95,108,105,110,101,95,101,110,100,32,61,32,118,105,101,119,95,116,111,95,115,99,114,101,101,110,40,32,114,97,121,95,101,110,100,44,32,119,95,101,110,100,41,59,10,9,118,101,99,50,32,118,112,95,108,105,110,101,95,100,105,114,32,61,32,118,112,95,108,105,110,101,95,101,110,100,45,118,112,95,108,105,110,101,95,98,101,103,105,110,59,10,10,10,9,119,95,98,101,103,105,110,32,61,32,49,46,48,47,119,95,98,101,103,105,110,59,10,9,119,95,101,110,100,32,61,32,49,46,48,47,119,95,101,110,100,59,10,10,10,9,102,108,111,97,116,32,122,95,98,101,103,105,110,32,61,32,118,101,114,116,101,120,46,122,42,119,95,98,101,103,105,110,59,10,9,102,108,111,97,116,32,122,95,101,110,100,32,61,32,114,97,121,95,101,110,100,46,122,42,119,95,101,110,100,59,10,10,9,118,101,99,50,32,108,105,110,101,95,98,101,103,105,110,32,61,32,118,112,95,108,105,110,101,95,98,101,103,105,110,47,112,105,120,101,108,95,115,105,122,101,59,10,9,118,101,99,50,32,108,105,110,101,95,100,105,114,32,61,32,118,112,95,108,105,110,101,95,100,105,114,47,112,105,120,101,108,95,115,105,122,101,59,10,9,102,108,111,97,116,32,122,95,100,105,114,32,61,32,122,95,101,110,100,32,45,32,122,95,98,101,103,105,110,59,10,9,102,108,111,97,116,32,119,95,100,105,114,32,61,32,119,95,101,110,100,32,45,32,119,95,98,101,103,105,110,59,10,10,10,9,47,47,32,99,108,105,112,32,116,104,101,32,108,105,110,101,32,116,111,32,116,104,101,32,118,105,101,119,112,111,114,116,32,101,100,103,101,115,10,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,97,120,95,120,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,40,49,46,48,32,45,32,118,112,95,108,105,110,101,95,98,101,103,105,110,46,120,41,32,47,32,109,97,120,40,49,101,45,53,44,32,118,112,95,108,105,110,101,95,100,105,114,46,120,41,41,59,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,97,120,95,121,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,40,49,46,48,32,45,32,118,112,95,108,105,110,101,95,98,101,103,105,110,46,121,41,32,47,32,109,97,120,40,49,101,45,53,44,32,118,112,95,108,105,110,101,95,100,105,114,46,121,41,41,59,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,105,110,95,120,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,118,112,95,108,105,110,101,95,98,101,103,105,110,46,120,32,47,32,109,97,120,40,49,101,45,53,44,32,45,118,112,95,108,105,110,101,95,100,105,114,46,120,41,41,59,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,105,110,95,121,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,118,112,95,108,105,110,101,95,98,101,103,105,110,46,121,32,47,32,109,97,120,40,49,101,45,53,44,32,45,118,112,95,108,105,110,101,95,100,105,114,46,121,41,41,59,10,9,102,108,111,97,116,32,108,105,110,101,95,99,108,105,112,32,61,32,109,105,110,40,115,99,97,108,101,95,109,97,120,95,120,44,32,115,99,97,108,101,95,109,97,120,95,121,41,32,42,32,109,105,110,40,115,99,97,108,101,95,109,105,110,95,120,44,32,115,99,97,108,101,95,109,105,110,95,121,41,59,10,9,108,105,110,101,95,100,105,114,32,42,61,32,108,105,110,101,95,99,108,105,112,59,10,9,122,95,100,105,114,32,42,61,32,108,105,110,101,95,99,108,105,112,59,10,9,119,95,100,105,114,32,42,61,108,105,110,101,95,99,108,105,112,59,10,10,10,9,118,101,99,50,32,108,105,110,101,95,97,100,118,97,110,99,101,32,61,32,110,111,114,109,97,108,105,122,101,40,108,105,110,101,95,100,105,114,41,59,32,47,47,100,111,119,110,32,116,111,32,112,105,120,101,108,10,9,102,108,111,97,116,32,115,116,101,112,95,115,105,122,101,32,61,32,108,101,110,103,116,104,40,108,105,110,101,95,97,100,118,97,110,99,101,41,47,108,101,110,103,116,104,40,108,105,110,101,95,100,105,114,41,59,10,9,102,108,111,97,116,32,122,95,97,100,118,97,110,99,101,32,61,32,122,95,100,105,114,42,115,116,101,112,95,115,105,122,101,59,32,47,47,32,97,100,97,112,116,32,122,32,97,100,118,97,110,99,101,32,116,111,32,108,105,110,101,32,97,100,118,97,110,99,101,10,9,102,108,111,97,116,32,119,95,97,100,118,97,110,99,101,32,61,32,119,95,100,105,114,42,115,116,101,112,95,115,105,122,101,59,32,47,47,32,97,100,97,112,116,32,119,32,97,100,118,97,110,99,101,32,116,111,32,108,105,110,101,32,97,100,118,97,110,99,101,10,10,9,102,108,111,97,116,32,97,100,118,97,110,99,101,95,97,110,103,108,101,95,97,100,106,32,61,32,49,46,48,47,109,97,120,40,97,98,115,40,108,105,110,101,95,97,100,118,97,110,99,101,46,120,41,44,97,98,115,40,108,105,110,101,95,97,100,118,97,110,99,101,46,121,41,41,59,32,47,47,109,97,107,101,32,105,116,32,103,111,32,102,97,115,116,101,114,32,116,104,101,32,99,108,111,115,101,114,32,116,111,32,52,53,100,10,9,108,105,110,101,95,97,100,118,97,110,99,101,42,61,97,100,118,97,110,99,101,95,97,110,103,108,101,95,97,100,106,59,32,47,47,32,97,100,97,112,116,32,122,32,97,100,118,97,110,99,101,32,116,111,32,108,105,110,101,32,97,100,118,97,110,99,101,10,9,122,95,97,100,118,97,110,99,101,42,61,97,100,118,97,110,99,101,95,97,110,103,108,101,95,97,100,106,59,10,9,119,95,97,100,118,97,110,99,101,42,61,97,100,118,97,110,99,101,95,97,110,103,108,101,95,97,100,106,59,10,10,9,118,101,99,50,32,112,111,115,32,61,32,108,105,110,101,95,98,101,103,105,110,59,10,9,102,108,111,97,116,32,122,32,61,32,122,95,98,101,103,105,110,59,10,9,102,108,111,97,116,32,119,32,61,32,119,95,98,101,103,105,110,59,10,9,102,108,111,97,116,32,122,95,102,114,111,109,61,122,47,119,59,10,9,102,108,111,97,116,32,122,95,116,111,61,122,95,102,114,111,109,59,10,9,102,108,111,97,116,32,100,101,112,116,104,59,10,9,118,101,99,50,32,112,114,101,118,95,112,111,115,61,112,111,115,59,10,10,9,98,111,111,108,32,102,111,117,110,100,61,102,97,108,115,101,59,10,10,9,102,108,111,97,116,32,97,99,99,101,108,61,49,46,48,52,59,47,47,43,114,97,110,100,40,103,108,95,70,114,97,103,67,111,111,114,100,46,120,121,41,42,48,46,48,48,48,49,59,10,9,102,108,111,97,116,32,115,116,101,112,115,95,116,97,107,101,110,61,48,59,10,10,9,102,111,114,40,102,108,111,97,116,32,105,61,48,59,105,60,110,117,109,95,115,116,101,112,115,59,105,43,43,41,32,123,10,10,9,9,112,111,115,43,61,108,105,110,101,95,97,100,118,97,110,99,101,59,10,9,9,122,43,61,122,95,97,100,118,97,110,99,101,59,10,9,9,119,43,61,119,95,97,100,118,97,110,99,101,59,10,10,9,9,100,101,112,116,104,32,61,32,116,101,120,116,117,114,101,40,115,111,117,114,99,101,95,100,101,112,116,104,44,32,112,111,115,42,112,105,120,101,108,95,115,105,122,101,41,46,114,32,42,32,50,46,48,32,45,32,49,46,48,59,10,9,9,100,101,112,116,104,32,61,32,50,46,48,32,42,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,42,32,99,97,109,101,114,97,95,122,95,102,97,114,32,47,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,43,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,45,32,100,101,112,116,104,32,42,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,45,32,99,97,109,101,114,97,95,122,95,110,101,97,114,41,41,59,10,9,9,100,101,112,116,104,61,45,100,101,112,116,104,59,10,10,9,9,122,95,102,114,111,109,32,61,32,122,95,116,111,59,10,9,9,122,95,116,111,32,61,32,122,47,119,59,10,10,9,9,105,102,32,40,100,101,112,116,104,62,122,95,116,111,41,32,123,10,10,9,9,9,105,102,32,40,100,101,112,116,104,60,61,109,97,120,40,122,95,116,111,44,122,95,102,114,111,109,41,43,48,46,56,41,32,123,10,9,9,9,9,102,111,117,110,100,61,116,114,117,101,59,10,9,9,9,125,10,9,9,9,98,114,101,97,107,59,10,9,9,125,10,10,9,9,115,116,101,112,115,95,116,97,107,101,110,43,61,49,46,48,59,10,9,9,112,114,101,118,95,112,111,115,61,112,111,115,59,10,9,9,122,95,97,100,118,97,110,99,101,42,61,97,99,99,101,108,59,10,9,9,119,95,97,100,118,97,110,99,101,42,61,97,99,99,101,108,59,10,9,9,108,105,110,101,95,97,100,118,97,110,99,101,42,61,97,99,99,101,108,59,10,9,125,10,10,9,105,102,32,40,102,111,117,110,100,41,32,123,10,10,10,9,9,118,101,99,50,32,102,105,110,97,108,95,112,111,115,59,10,9,9,102,108,111,97,116,32,103,114,97,100,59,10,35,100,101,102,105,110,101,32,66,76,69,78,68,95,65,67,67,69,76,10,35,105,102,100,101,102,32,66,76,69,78,68,95,65,67,67,69,76,10,10,9,9,118,101,99,50,32,98,108,101,110,100,95,100,105,114,32,61,32,112,111,115,32,45,32,112,114,101,118,95,112,111,115,59,10,9,9,102,108,111,97,116,32,115,116,101,112,115,32,61,32,109,105,110,40,56,46,48,44,108,101,110,103,116,104,40,98,108,101,110,100,95,100,105,114,41,41,59,10,9,9,105,102,32,40,115,116,101,112,115,62,50,46,48,41,32,123,10,9,9,9,118,101,99,50,32,98,108,101,110,100,95,115,116,101,112,32,61,32,98,108,101,110,100,95,100,105,114,47,115,116,101,112,115,59,10,9,9,9,102,108,111,97,116,32,98,108,101,110,100,95,122,32,61,32,40,122,95,116,111,45,122,95,102,114,111,109,41,47,115,116,101,112,115,59,10,9,9,9,118,101,99,50,32,110,101,119,95,112,111,115,59,10,9,9,9,102,108,111,97,116,32,115,117,98,103,114,97,100,61,48,46,48,59,10,9,9,9,102,111,114,40,102,108,111,97,116,32,105,61,48,46,48,59,105,60,115,116,101,112,115,59,105,43,43,41,32,123,10,10,9,9,9,9,110,101,119,95,112,111,115,32,61,32,40,112,114,101,118,95,112,111,115,43,98,108,101,110,100,95,115,116,101,112,42,105,41,59,10,9,9,9,9,102,108,111,97,116,32,122,32,61,32,122,95,102,114,111,109,43,98,108,101,110,100,95,122,42,105,59,10,10,9,9,9,9,100,101,112,116,104,32,61,32,116,101,120,116,117,114,101,40,115,111,117,114,99,101,95,100,101,112,116,104,44,32,110,101,119,95,112,111,115,42,112,105,120,101,108,95,115,105,122,101,41,46,114,32,42,32,50,46,48,32,45,32,49,46,48,59,10,9,9,9,9,100,101,112,116,104,32,61,32,50,46,48,32,42,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,42,32,99,97,109,101,114,97,95,122,95,102,97,114,32,47,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,43,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,45,32,100,101,112,116,104,32,42,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,45,32,99,97,109,101,114,97,95,122,95,110,101,97,114,41,41,59,10,9,9,9,9,100,101,112,116,104,61,45,100,101,112,116,104,59,10,10,9,9,9,9,115,117,98,103,114,97,100,61,105,47,115,116,101,112,115,59,10,9,9,9,9,105,102,32,40,100,101,112,116,104,62,122,41,10,9,9,9,9,9,98,114,101,97,107,59,10,9,9,9,125,10,10,9,9,9,102,105,110,97,108,95,112,111,115,32,61,32,110,101,119,95,112,111,115,59,10,9,9,9,103,114,97,100,61,40,115,116,101,112,115,95,116,97,107,101,110,43,115,117,98,103,114,97,100,41,47,110,117,109,95,115,116,101,112,115,59,10,9,9,9,47,47,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,118,101,99,51,40,103,114,97,100,41,44,49,46,48,41,59,10,9,9,125,32,101,108,115,101,32,123,10,35,101,110,100,105,102,10,9,9,9,103,114,97,100,61,115,116,101,112,115,95,116,97,107,101,110,47,110,117,109,95,115,116,101,112,115,59,10,9,9,9,102,105,110,97,108,95,112,111,115,61,112,111,115,59,10,35,105,102,100,101,102,32,66,76,69,78,68,95,65,67,67,69,76,10,9,9,125,10,10,35,101,110,100,105,102,10,10,35,100,101,102,105,110,101,32,82,69,70,76,69,67,84,95,82,79,85,71,72,78,69,83,83,10,35,105,102,100,101,102,32,82,69,70,76,69,67,84,95,82,79,85,71,72,78,69,83,83,10,10,10,9,9,118,101,99,52,32,102,105,110,97,108,95,99,111,108,111,114,59,10,10,9,9,105,102,32,40,114,111,117,103,104,110,101,115,115,32,62,32,48,46,48,48,49,41,32,123,10,9,9,9,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,10,9,9,9,47,47,117,115,101,32,97,32,98,108,117,114,114,101,100,32,118,101,114,115,105,111,110,32,40,105,110,32,99,111,110,115,101,99,117,116,105,118,101,32,109,105,112,109,97,112,115,41,32,111,102,32,116,104,101,32,115,99,114,101,101,110,32,116,111,32,115,105,109,117,108,97,116,101,32,114,111,117,103,104,110,101,115,115,10,10,9,9,9,102,108,111,97,116,32,103,108,111,115,115,32,61,32,49,46,48,45,114,111,117,103,104,110,101,115,115,59,10,9,9,9,102,108,111,97,116,32,99,111,110,101,95,97,110,103,108,101,32,61,32,114,111,117,103,104,110,101,115,115,32,42,32,77,95,80,73,32,42,32,48,46,53,59,10,9,9,9,118,101,99,50,32,99,111,110,101,95,100,105,114,32,61,32,102,105,110,97,108,95,112,111,115,32,45,32,108,105,110,101,95,98,101,103,105,110,59,10,9,9,9,102,108,111,97,116,32,99,111,110,101,95,108,101,110,32,61,32,108,101,110,103,116,104,40,99,111,110,101,95,100,105,114,41,59,10,9,9,9,99,111,110,101,95,100,105,114,32,61,32,110,111,114,109,97,108,105,122,101,40,99,111,110,101,95,100,105,114,41,59,32,47,47,119,105,108,108,32,98,101,32,117,115,101,100,32,110,111,114,109,97,108,105,122,101,100,32,102,114,111,109,32,110,111,119,32,111,110,10,9,9,9,102,108,111,97,116,32,109,97,120,95,109,105,112,109,97,112,32,61,32,102,105,108,116,101,114,95,109,105,112,109,97,112,95,108,101,118,101,108,115,32,45,49,59,10,9,9,9,102,108,111,97,116,32,103,108,111,115,115,95,109,117,108,116,61,103,108,111,115,115,59,10,10,9,9,9,102,108,111,97,116,32,114,101,109,95,97,108,112,104,97,61,49,46,48,59,10,9,9,9,102,105,110,97,108,95,99,111,108,111,114,32,61,32,118,101,99,52,40,48,46,48,41,59,10,10,9,9,9,102,111,114,40,105,110,116,32,105,61,48,59,105,60,55,59,105,43,43,41,32,123,10,10,9,9,9,9,102,108,111,97,116,32,111,112,95,108,101,110,32,61,32,50,46,48,32,42,32,116,97,110,40,99,111,110,101,95,97,110,103,108,101,41,32,42,32,99,111,110,101,95,108,101,110,59,32,47,47,111,112,111,115,105,116,101,32,115,105,100,101,32,111,102,32,105,115,111,32,116,114,105,97,110,103,108,101,10,9,9,9,9,102,108,111,97,116,32,114,97,100,105,117,115,59,10,9,9,9,9,123,10,9,9,9,9,9,47,47,102,105,116,32,116,111,32,115,112,104,101,114,101,32,105,110,115,105,100,101,32,99,111,110,101,32,40,115,112,104,101,114,101,32,101,110,100,115,32,97,116,32,101,110,100,32,111,102,32,99,111,110,101,41,44,32,115,111,109,101,116,104,105,110,103,32,108,105,107,101,32,116,104,105,115,58,10,9,9,9,9,9,47,47,32,95,95,95,10,9,9,9,9,9,47,47,32,92,79,47,10,9,9,9,9,9,47,47,32,32,86,10,9,9,9,9,9,47,47,10,9,9,9,9,9,47,47,32,97,115,32,105,116,32,97,118,111,105,100,115,32,98,108,101,101,100,105,110,103,32,102,114,111,109,32,98,101,121,111,110,100,32,116,104,101,32,114,101,102,108,101,99,116,105,111,110,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,46,32,65,115,32,97,32,112,108,117,115,10,9,9,9,9,9,47,47,32,105,116,32,97,108,115,111,32,109,97,107,101,115,32,116,104,101,32,114,111,117,103,104,32,114,101,102,108,101,99,116,105,111,110,32,109,111,114,101,32,101,108,111,110,103,97,116,101,100,46,10,9,9,9,9,9,102,108,111,97,116,32,97,32,61,32,111,112,95,108,101,110,59,10,9,9,9,9,9,102,108,111,97,116,32,104,32,61,32,99,111,110,101,95,108,101,110,59,10,9,9,9,9,9,102,108,111,97,116,32,97,50,32,61,32,97,32,42,32,97,59,10,9,9,9,9,9,102,108,111,97,116,32,102,104,50,32,61,32,52,46,48,102,32,42,32,104,32,42,32,104,59,10,9,9,9,9,9,114,97,100,105,117,115,32,61,32,40,97,32,42,32,40,115,113,114,116,40,97,50,32,43,32,102,104,50,41,32,45,32,97,41,41,32,47,32,40,52,46,48,102,32,42,32,104,41,59,10,9,9,9,9,125,10,10,9,9,9,9,47,47,102,105,110,100,32,116,104,101,32,112,108,97,99,101,32,119,104,101,114,101,32,115,99,114,101,101,110,32,109,117,115,116,32,98,101,32,115,97,109,112,108,101,100,10,9,9,9,9,118,101,99,50,32,115,97,109,112,108,101,95,112,111,115,32,61,32,40,32,108,105,110,101,95,98,101,103,105,110,32,43,32,99,111,110,101,95,100,105,114,32,42,32,40,99,111,110,101,95,108,101,110,32,45,32,114,97,100,105,117,115,41,32,41,32,42,32,112,105,120,101,108,95,115,105,122,101,59,10,9,9,9,9,47,47,114,97,100,105,117,115,32,105,115,32,105,110,32,112,105,120,101,108,115,44,32,115,111,32,105,116,39,115,32,110,97,116,117,114,97,108,32,116,104,97,116,32,108,111,103,50,40,114,97,100,105,117,115,41,32,109,97,112,115,32,116,111,32,116,104,101,32,114,105,103,104,116,32,109,105,112,109,97,112,32,102,111,114,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,112,105,120,101,108,115,10,9,9,9,9,102,108,111,97,116,32,109,105,112,109,97,112,32,61,32,99,108,97,109,112,40,32,108,111,103,50,40,32,114,97,100,105,117,115,32,41,44,32,48,46,48,44,32,109,97,120,95,109,105,112,109,97,112,32,41,59,10,10,9,9,9,9,47,47,109,105,112,109,97,112,32,61,32,109,97,120,40,109,105,112,109,97,112,45,49,46,48,44,48,46,48,41,59,10,9,9,9,9,47,47,100,111,32,115,97,109,112,108,105,110,103,10,10,9,9,9,9,118,101,99,52,32,115,97,109,112,108,101,95,99,111,108,111,114,59,10,9,9,9,9,123,10,9,9,9,9,9,115,97,109,112,108,101,95,99,111,108,111,114,32,61,32,116,101,120,116,117,114,101,76,111,100,40,115,111,117,114,99,101,95,100,105,102,102,117,115,101,95,109,105,112,109,97,112,115,44,115,97,109,112,108,101,95,112,111,115,44,109,97,120,40,49,46,48,44,109,105,112,109,97,112,41,41,59,10,9,9,9,9,9,105,102,32,40,109,105,112,109,97,112,60,49,46,48,41,32,123,32,47,47,119,101,32,117,115,101,32,97,110,111,116,104,101,114,32,105,109,97,103,101,32,97,115,32,98,97,115,101,32,116,111,32,97,118,111,105,100,32,99,111,112,121,105,110,103,32,97,108,108,32,116,104,101,32,115,99,114,101,101,110,32,117,110,110,101,99,101,115,97,114,105,108,121,10,9,9,9,9,9,9,118,101,99,52,32,98,97,115,101,95,115,97,109,112,108,101,95,99,111,108,111,114,32,61,32,116,101,120,116,117,114,101,76,111,100,40,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,115,97,109,112,108,101,95,112,111,115,44,48,46,48,41,59,10,9,9,9,9,9,9,115,97,109,112,108,101,95,99,111,108,111,114,32,61,32,109,105,120,40,98,97,115,101,95,115,97,109,112,108,101,95,99,111,108,111,114,44,115,97,109,112,108,101,95,99,111,108,111,114,44,109,105,112,109,97,112,41,59,10,9,9,9,9,9,125,10,9,9,9,9,125,10,10,9,9,9,9,47,47,109,117,108,116,105,112,108,121,32,98,121,32,103,108,111,115,115,10,9,9,9,9,115,97,109,112,108,101,95,99,111,108,111,114,46,114,103,98,42,61,103,108,111,115,115,95,109,117,108,116,59,10,9,9,9,9,115,97,109,112,108,101,95,99,111,108,111,114,46,97,61,103,108,111,115,115,95,109,117,108,116,59,10,10,9,9,9,9,114,101,109,95,97,108,112,104,97,32,45,61,32,115,97,109,112,108,101,95,99,111,108,111,114,46,97,59,10,9,9,9,9,105,102,40,114,101,109,95,97,108,112,104,97,32,60,32,48,46,48,41,32,123,10,9,9,9,9,9,115,97,109,112,108,101,95,99,111,108,111,114,46,114,103,98,32,42,61,32,40,49,46,48,32,45,32,97,98,115,40,114,101,109,95,97,108,112,104,97,41,41,59,10,9,9,9,9,125,10,10,9,9,9,9,102,105,110,97,108,95,99,111,108,111,114,43,61,115,97,109,112,108,101,95,99,111,108,111,114,59,10,10,9,9,9,9,105,102,32,40,102,105,110,97,108,95,99,111,108,111,114,46,97,62,61,48,46,57,53,41,32,123,10,9,9,9,9,9,47,47,32,84,104,105,115,32,99,111,100,101,32,111,102,32,97,99,99,117,109,117,108,97,116,105,110,103,32,103,108,111,115,115,32,97,110,100,32,97,98,111,114,116,105,110,103,32,111,110,32,110,101,97,114,32,111,110,101,10,9,9,9,9,9,47,47,32,109,97,107,101,115,32,115,101,110,115,101,32,119,104,101,110,32,121,111,117,32,116,104,105,110,107,32,111,102,32,99,111,110,101,32,116,114,97,99,105,110,103,46,10,9,9,9,9,9,47,47,32,84,104,105,110,107,32,111,102,32,105,116,32,97,115,32,105,102,32,114,111,117,103,104,110,101,115,115,32,119,97,115,32,48,44,32,116,104,101,110,32,119,101,32,99,111,117,108,100,32,97,98,111,114,116,32,111,110,32,116,104,101,32,102,105,114,115,116,10,9,9,9,9,9,47,47,32,105,116,101,114,97,116,105,111,110,46,32,70,111,114,32,108,101,115,115,101,114,32,114,111,117,103,104,110,101,115,115,32,118,97,108,117,101,115,44,32,119,101,32,110,101,101,100,32,109,111,114,101,32,105,116,101,114,97,116,105,111,110,115,44,32,98,117,116,10,9,9,9,9,9,47,47,32,101,97,99,104,32,110,101,101,100,115,32,116,111,32,104,97,118,101,32,108,101,115,115,32,105,110,102,108,117,101,110,99,101,32,103,105,118,101,110,32,116,104,101,32,115,112,104,101,114,101,32,105,115,32,115,109,97,108,108,101,114,10,9,9,9,9,9,98,114,101,97,107,59,10,9,9,9,9,125,10,10,9,9,9,9,99,111,110,101,95,108,101,110,45,61,114,97,100,105,117,115,42,50,46,48,59,32,47,47,103,111,32,116,111,32,110,101,120,116,32,40,115,109,97,108,108,101,114,41,32,99,105,114,99,108,101,46,10,10,9,9,9,9,103,108,111,115,115,95,109,117,108,116,42,61,103,108,111,115,115,59,10,10,10,9,9,9,125,10,9,9,125,32,101,108,115,101,32,123,10,9,9,9,102,105,110,97,108,95,99,111,108,111,114,32,61,32,116,101,120,116,117,114,101,76,111,100,40,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,102,105,110,97,108,95,112,111,115,42,112,105,120,101,108,95,115,105,122,101,44,99,108,97,109,112,40,49,46,48,45,103,114,97,100,44,48,46,48,44,49,46,48,41,41,59,10,9,9,125,10,10,9,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,102,105,110,97,108,95,99,111,108,111,114,46,114,103,98,44,109,97,120,40,48,46,48,44,49,46,48,45,103,114,97,100,41,41,59,10,10,35,101,108,115,101,10,9,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,116,101,120,116,117,114,101,76,111,100,40,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,102,105,110,97,108,95,112,111,115,42,112,105,120,101,108,95,115,105,122,101,44,48,46,48,41,46,114,103,98,44,99,108,97,109,112,40,49,46,48,45,103,114,97,100,44,48,46,48,44,49,46,48,41,41,59,10,35,101,110,100,105,102,10,10,10,10,9,125,32,101,108,115,101,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,49,46,48,44,48,46,48,44,48,46,48,44,48,46,48,41,59,10,9,125,10,10,9,47,47,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,110,111,114,109,97,108,105,122,101,40,108,105,110,101,95,100,105,114,41,32,42,32,48,46,53,32,43,32,48,46,53,44,48,46,48,44,49,46,48,41,59,10,10,47,42,10,9,118,101,99,50,32,104,105,116,95,112,105,120,101,108,59,10,9,118,101,99,51,32,104,105,116,95,112,111,105,110,116,59,10,9,105,110,116,32,119,104,105,99,104,59,10,9,109,97,116,52,32,98,105,97,115,95,109,97,116,32,61,32,109,97,116,52,40,118,101,99,52,40,48,46,53,44,48,46,48,44,48,46,48,44,48,46,48,41,44,118,101,99,52,40,48,46,48,44,48,46,53,44,48,46,48,44,48,46,48,41,44,118,101,99,52,40,48,46,48,44,48,46,48,44,49,46,48,44,48,46,48,41,44,118,101,99,52,40,48,46,53,44,48,46,53,44,48,46,48,44,49,46,48,41,41,59,10,9,109,97,116,52,32,112,105,120,101,108,95,109,97,116,32,61,32,109,97,116,52,40,118,101,99,52,40,118,105,101,119,112,111,114,116,95,115,105,122,101,46,120,44,48,46,48,44,48,46,48,44,48,46,48,41,44,118,101,99,52,40,48,46,48,44,118,105,101,119,112,111,114,116,95,115,105,122,101,46,121,44,48,46,48,44,48,46,48,41,44,118,101,99,52,40,48,46,48,44,48,46,48,44,49,46,48,44,48,46,48,41,44,118,101,99,52,40,48,46,48,44,48,46,48,44,48,46,48,44,49,46,48,41,41,59,10,10,10,10,10,9,109,97,116,52,32,100,116,32,61,32,112,105,120,101,108,95,109,97,116,32,42,40,32,98,105,97,115,95,109,97,116,32,42,32,112,114,111,106,101,99,116,105,111,110,41,59,10,9,118,101,99,52,32,118,112,32,61,32,100,116,32,42,32,118,101,99,52,40,118,101,114,116,101,120,44,49,46,48,41,59,10,9,118,112,46,120,121,122,47,61,118,112,46,119,59,10,10,9,102,114,97,103,95,99,111,108,111,114,32,61,32,116,101,120,101,108,70,101,116,99,104,40,32,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,32,32,105,118,101,99,50,40,118,112,46,120,121,41,44,48,32,41,59,10,9,114,101,116,117,114,110,59,10,42,47,10,47,42,9,98,111,111,108,32,104,105,116,32,61,32,116,114,97,99,101,83,99,114,101,101,110,83,112,97,99,101,82,97,121,49,40,118,101,114,116,101,120,44,114,97,121,95,100,105,114,44,32,112,105,120,101,108,95,109,97,116,32,42,40,32,98,105,97,115,95,109,97,116,32,42,32,112,114,111,106,101,99,116,105,111,110,41,44,115,111,117,114,99,101,95,100,101,112,116,104,44,118,105,101,119,112,111,114,116,95,115,105,122,101,44,48,46,48,49,44,116,114,117,101,44,99,111,109,112,117,116,101,67,108,105,112,73,110,102,111,40,45,99,97,109,101,114,97,95,122,95,110,101,97,114,44,45,99,97,109,101,114,97,95,122,95,102,97,114,41,44,45,99,97,109,101,114,97,95,122,95,110,101,97,114,44,49,46,50,44,48,46,48,44,54,52,46,48,44,99,97,109,101,114,97,95,122,95,102,97,114,44,104,105,116,95,112,105,120,101,108,44,119,104,105,99,104,44,104,105,116,95,112,111,105,110,116,41,59,10,10,10,10,9,105,102,32,40,104,105,116,41,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,116,101,120,101,108,70,101,116,99,104,40,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,105,118,101,99,50,40,104,105,116,95,112,105,120,101,108,41,44,48,41,46,114,103,98,44,49,46,48,41,59,10,9,125,32,101,108,115,101,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,48,46,49,44,48,46,48,44,48,46,48,44,48,46,48,41,59,10,9,125,10,42,47,10,10,10,9,47,42,10,9,102,108,111,97,116,32,112,105,120,101,108,100,105,115,116,32,61,32,108,101,110,103,116,104,40,118,101,114,116,101,120,41,59,10,10,10,9,47,47,32,83,107,105,112,32,115,107,121,98,111,120,32,97,110,100,32,100,105,115,116,97,110,116,32,112,105,120,101,108,115,10,9,105,102,32,40,112,105,120,101,108,100,105,115,116,32,62,32,99,97,109,101,114,97,95,122,95,102,97,114,41,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,61,118,101,99,52,40,48,46,48,44,48,46,48,44,49,46,48,44,49,46,48,41,59,10,9,9,114,101,116,117,114,110,59,10,9,125,10,10,9,118,101,114,116,101,120,43,61,110,111,114,109,97,108,42,48,46,49,59,10,10,9,47,47,32,82,97,121,32,110,111,116,32,105,110,32,118,105,101,119,10,9,105,102,32,40,100,111,116,40,114,97,121,95,100,105,114,44,32,118,105,101,119,95,100,105,114,41,32,60,32,49,101,45,53,41,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,48,46,48,44,49,46,48,44,48,46,48,44,49,46,48,41,59,10,9,9,114,101,116,117,114,110,59,10,9,125,10,10,10,9,102,108,111,97,116,32,109,97,120,95,114,97,121,95,108,101,110,32,61,32,49,46,48,32,42,32,112,105,120,101,108,100,105,115,116,59,10,10,10,9,102,108,111,97,116,32,114,97,121,95,108,101,110,32,61,32,40,10,40,118,101,114,116,101,120,46,122,32,43,32,114,97,121,95,100,105,114,46,122,32,42,32,109,97,120,95,114,97,121,95,108,101,110,41,32,62,32,99,97,109,101,114,97,95,122,95,110,101,97,114,41,32,63,32,40,99,97,109,101,114,97,95,122,95,110,101,97,114,32,45,32,118,101,114,116,101,120,46,122,41,32,47,32,114,97,121,95,100,105,114,46,122,32,58,32,109,97,120,95,114,97,121,95,108,101,110,59,10,10,10,9,47,47,32,67,111,110,118,101,114,116,32,115,116,97,114,116,32,97,110,100,32,101,110,100,32,112,111,115,32,102,114,111,109,32,118,105,101,119,32,116,111,32,115,99,114,101,101,110,32,115,112,97,99,101,10,9,118,101,99,51,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,32,61,32,118,105,101,119,95,116,111,95,115,99,114,101,101,110,40,118,101,114,116,101,120,41,59,10,9,118,101,99,51,32,114,97,121,95,101,110,100,95,115,99,114,101,101,110,32,61,32,118,105,101,119,95,116,111,95,115,99,114,101,101,110,40,118,101,114,116,101,120,32,43,32,114,97,121,95,108,101,110,32,42,32,114,97,121,95,100,105,114,41,59,10,10,9,118,101,99,51,32,114,97,121,95,112,111,115,32,61,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,59,10,9,118,101,99,51,32,114,97,121,95,100,105,114,95,115,99,114,101,101,110,32,61,32,114,97,121,95,101,110,100,95,115,99,114,101,101,110,32,45,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,59,10,10,9,47,47,32,77,97,107,101,32,115,117,114,101,32,116,104,101,32,114,97,121,32,100,111,101,115,32,110,111,116,32,108,101,97,118,101,32,116,104,101,32,115,99,114,101,101,110,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,97,120,95,120,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,40,49,46,48,32,45,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,46,120,41,32,47,32,109,97,120,40,49,101,45,53,44,32,114,97,121,95,100,105,114,95,115,99,114,101,101,110,46,120,41,41,59,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,97,120,95,121,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,40,49,46,48,32,45,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,46,121,41,32,47,32,109,97,120,40,49,101,45,53,44,32,114,97,121,95,100,105,114,95,115,99,114,101,101,110,46,121,41,41,59,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,105,110,95,120,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,46,120,32,47,32,109,97,120,40,49,101,45,53,44,32,45,114,97,121,95,100,105,114,95,115,99,114,101,101,110,46,120,41,41,59,10,9,102,108,111,97,116,32,115,99,97,108,101,95,109,105,110,95,121,32,61,32,109,105,110,40,49,44,32,48,46,57,57,32,42,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,46,121,32,47,32,109,97,120,40,49,101,45,53,44,32,45,114,97,121,95,100,105,114,95,115,99,114,101,101,110,46,121,41,41,59,10,9,114,97,121,95,100,105,114,95,115,99,114,101,101,110,32,42,61,32,109,105,110,40,115,99,97,108,101,95,109,97,120,95,120,44,32,115,99,97,108,101,95,109,97,120,95,121,41,59,10,9,114,97,121,95,100,105,114,95,115,99,114,101,101,110,32,42,61,32,109,105,110,40,115,99,97,108,101,95,109,105,110,95,120,44,32,115,99,97,108,101,95,109,105,110,95,121,41,59,10,10,9,118,101,99,51,32,114,97,121,95,115,116,101,112,32,61,32,40,114,97,121,95,101,110,100,95,115,99,114,101,101,110,32,45,32,114,97,121,95,115,116,97,114,116,95,115,99,114,101,101,110,41,32,47,32,110,117,109,95,115,116,101,112,115,59,10,10,9,102,108,111,97,116,32,100,105,115,116,97,110,99,101,95,115,99,97,108,101,32,61,32,49,46,48,32,43,32,48,46,48,48,48,48,49,32,42,32,112,105,120,101,108,100,105,115,116,59,10,10,9,102,108,111,97,116,32,106,105,116,116,101,114,32,61,32,48,46,48,59,47,47,97,98,115,40,114,97,110,100,40,105,118,101,99,50,40,103,108,95,70,114,97,103,67,111,111,114,100,46,120,121,41,32,37,32,56,32,43,32,40,77,97,105,110,83,99,101,110,101,68,97,116,97,46,102,114,97,109,101,95,105,110,100,101,120,32,37,32,71,69,84,95,83,69,84,84,73,78,71,40,115,115,114,44,32,104,105,115,116,111,114,121,95,108,101,110,103,116,104,41,41,32,42,32,48,46,49,41,41,59,10,10,9,47,47,32,82,111,117,103,104,32,115,111,117,114,102,97,99,101,115,32,110,101,101,100,32,109,111,114,101,32,106,105,116,116,101,114,10,9,106,105,116,116,101,114,32,42,61,32,109,97,120,40,48,46,53,44,32,114,111,117,103,104,110,101,115,115,41,59,10,10,9,114,97,121,95,112,111,115,32,43,61,32,106,105,116,116,101,114,32,42,32,114,97,121,95,115,116,101,112,59,10,10,10,9,105,110,116,32,105,32,61,32,48,59,10,9,102,108,111,97,116,32,105,110,116,101,114,115,101,99,116,105,111,110,95,119,101,105,103,104,116,32,61,32,48,46,48,59,10,9,98,111,111,108,32,104,105,116,95,102,97,99,116,111,114,32,61,32,102,97,108,115,101,59,10,10,9,118,101,99,50,32,105,110,116,101,114,115,101,99,116,105,111,110,32,61,32,118,101,99,50,40,45,49,46,48,41,59,10,10,9,102,111,114,32,40,105,32,61,32,49,59,32,105,32,60,32,110,117,109,95,115,116,101,112,115,59,32,43,43,105,41,32,123,10,9,9,114,97,121,95,112,111,115,32,43,61,32,114,97,121,95,115,116,101,112,59,10,10,9,9,47,47,32,67,117,114,114,101,110,116,32,99,111,111,114,100,105,110,97,116,101,32,105,115,32,105,110,32,116,104,101,32,109,105,100,32,111,102,32,116,119,111,32,115,97,109,112,108,101,115,44,32,110,111,116,32,97,116,32,116,104,101,32,101,110,100,44,32,115,111,10,9,9,47,47,32,115,117,98,115,116,114,97,99,116,32,104,97,108,102,32,111,102,32,97,32,115,116,101,112,10,9,9,118,101,99,50,32,99,117,114,114,95,99,111,111,114,100,32,61,32,114,97,121,95,112,111,115,46,120,121,32,45,32,48,46,53,32,42,32,114,97,121,95,115,116,101,112,46,120,121,59,10,10,10,9,9,47,47,32,73,110,99,114,101,97,115,101,32,114,97,121,32,98,105,97,115,32,97,115,32,119,101,32,97,100,118,97,110,99,101,32,116,104,101,32,114,97,121,10,9,9,102,108,111,97,116,32,116,114,97,99,101,95,108,101,110,32,61,32,105,110,105,116,105,97,108,95,98,105,97,115,32,42,32,49,48,46,48,32,43,10,9,9,9,9,49,48,48,46,48,32,42,32,100,111,116,40,99,117,114,114,95,99,111,111,114,100,45,117,118,95,105,110,116,101,114,112,44,99,117,114,114,95,99,111,111,114,100,45,117,118,95,105,110,116,101,114,112,41,59,10,10,9,9,116,114,97,99,101,95,108,101,110,32,42,61,32,49,46,48,32,43,32,49,46,48,32,42,32,114,111,117,103,104,110,101,115,115,59,10,10,9,9,47,47,32,67,104,101,99,107,32,102,111,114,32,105,110,116,101,114,115,101,99,116,105,111,110,10,10,9,9,102,108,111,97,116,32,100,101,112,116,104,32,61,32,116,101,120,116,117,114,101,40,115,111,117,114,99,101,95,100,101,112,116,104,44,99,117,114,114,95,99,111,111,114,100,41,46,114,32,42,32,50,46,48,32,45,32,49,46,48,59,10,9,9,102,108,111,97,116,32,108,105,110,101,97,114,95,100,101,112,116,104,61,100,101,112,116,104,59,10,9,9,47,47,102,108,111,97,116,32,108,105,110,101,97,114,95,100,101,112,116,104,32,61,32,50,46,48,32,42,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,42,32,99,97,109,101,114,97,95,122,95,102,97,114,32,47,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,43,32,99,97,109,101,114,97,95,122,95,110,101,97,114,32,45,32,100,101,112,116,104,32,42,32,40,99,97,109,101,114,97,95,122,95,102,97,114,32,45,32,99,97,109,101,114,97,95,122,95,110,101,97,114,41,41,59,10,9,9,47,47,108,105,110,101,97,114,95,100,101,112,116,104,32,61,32,45,108,105,110,101,97,114,95,100,101,112,116,104,59,10,10,10,9,9,105,102,32,40,112,111,105,110,116,95,98,101,116,119,101,101,110,95,112,108,97,110,101,115,40,108,105,110,101,97,114,95,100,101,112,116,104,44,32,114,97,121,95,112,111,115,46,122,44,10,9,9,9,9,9,32,114,97,121,95,112,111,115,46,122,32,45,32,114,97,121,95,115,116,101,112,46,122,44,32,116,114,97,99,101,95,108,101,110,44,32,104,105,116,95,102,97,99,116,111,114,41,41,32,123,10,9,9,9,105,110,116,101,114,115,101,99,116,105,111,110,32,61,32,99,117,114,114,95,99,111,111,114,100,59,10,9,9,9,98,114,101,97,107,59,10,9,9,125,10,9,125,10,10,9,47,47,32,77,97,107,101,32,115,117,114,101,32,119,101,32,104,105,116,32,101,120,97,99,116,108,121,32,111,110,101,32,112,105,120,101,108,10,9,47,47,105,110,116,101,114,115,101,99,116,105,111,110,32,61,32,116,114,117,110,99,97,116,101,95,99,111,111,114,100,105,110,97,116,101,40,105,110,116,101,114,115,101,99,116,105,111,110,41,59,10,10,9,47,47,32,67,104,101,99,107,32,105,102,32,119,101,32,104,105,116,32,115,111,109,101,116,104,105,110,103,10,9,105,102,32,40,109,105,110,40,105,110,116,101,114,115,101,99,116,105,111,110,46,120,44,32,105,110,116,101,114,115,101,99,116,105,111,110,46,121,41,32,60,61,32,48,46,48,32,124,124,32,111,117,116,95,111,102,95,115,99,114,101,101,110,40,105,110,116,101,114,115,101,99,116,105,111,110,41,41,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,61,118,101,99,52,40,49,46,48,44,48,46,48,44,49,46,48,44,49,46,48,41,59,10,9,9,114,101,116,117,114,110,59,10,9,125,10,10,9,105,102,32,40,33,104,105,116,95,102,97,99,116,111,114,41,32,123,10,9,9,102,114,97,103,95,99,111,108,111,114,61,118,101,99,52,40,48,46,48,44,49,46,48,44,49,46,48,44,49,46,48,41,59,10,9,9,114,101,116,117,114,110,59,10,9,125,10,10,9,102,114,97,103,95,99,111,108,111,114,32,61,32,118,101,99,52,40,116,101,120,116,117,114,101,40,115,111,117,114,99,101,95,100,105,102,102,117,115,101,44,105,110,116,101,114,115,101,99,116,105,111,110,41,46,114,103,98,44,49,46,48,41,59,10,42,47,10,10,125,10,10, 0}; - - static const int _fragment_code_start=17; - setup(_conditional_strings,2,_uniform_strings,8,_attribute_pairs,0, _texunit_pairs,4,_ubo_pairs,0,_feedbacks,0,_vertex_code,_fragment_code,_vertex_code_start,_fragment_code_start); - }; - -}; - -#endif - diff --git a/drivers/gles3/shadow_atlas_gles3.cpp b/drivers/gles3/shadow_atlas_gles3.cpp deleted file mode 100644 index 38dee8bcea..0000000000 --- a/drivers/gles3/shadow_atlas_gles3.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "shadow_atlas_gles3.h" - diff --git a/drivers/gles3/shadow_atlas_gles3.h b/drivers/gles3/shadow_atlas_gles3.h deleted file mode 100644 index 46eaf581cb..0000000000 --- a/drivers/gles3/shadow_atlas_gles3.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SHADOW_ATLAS_GLES3_H -#define SHADOW_ATLAS_GLES3_H - -#include "rasterizer_storage_gles3.h" - - - -#endif // SHADOW_ATLAS_GLES3_H |