Sfoglia il codice sorgente

Added HDR10 display support for the direct3d11, direct3d12, and vulkan renderers

Sam Lantinga 1 mese fa
parent
commit
23b641070c
53 ha cambiato i file con 9403 aggiunte e 3173 eliminazioni
  1. 2 2
      include/SDL3/SDL_surface.h
  2. 19 26
      src/render/SDL_render.c
  3. 6 3
      src/render/SDL_sysrender.h
  4. 432 0
      src/render/direct3d11/D3D11_PixelShader_Colors_PQ.h
  5. 7 0
      src/render/direct3d11/D3D11_PixelShader_Colors_PQ.hlsl
  6. 110 9
      src/render/direct3d11/D3D11_PixelShader_Common.hlsli
  7. 1698 0
      src/render/direct3d11/D3D11_PixelShader_Textures_PQ.h
  8. 7 0
      src/render/direct3d11/D3D11_PixelShader_Textures_PQ.hlsl
  9. 180 0
      src/render/direct3d11/D3D11_PixelShader_Textures_Simple.h
  10. 7 0
      src/render/direct3d11/D3D11_PixelShader_Textures_Simple.hlsl
  11. 48 20
      src/render/direct3d11/SDL_render_d3d11.c
  12. 15 0
      src/render/direct3d11/SDL_shaders_d3d11.c
  13. 3 0
      src/render/direct3d11/SDL_shaders_d3d11.h
  14. 3 0
      src/render/direct3d11/compile_shaders.bat
  15. 751 735
      src/render/direct3d12/D3D12_PixelShader_Advanced.h
  16. 229 213
      src/render/direct3d12/D3D12_PixelShader_Colors.h
  17. 592 0
      src/render/direct3d12/D3D12_PixelShader_Colors_PQ.h
  18. 8 0
      src/render/direct3d12/D3D12_PixelShader_Colors_PQ.hlsl
  19. 110 9
      src/render/direct3d12/D3D12_PixelShader_Common.hlsli
  20. 269 254
      src/render/direct3d12/D3D12_PixelShader_Textures.h
  21. 1725 0
      src/render/direct3d12/D3D12_PixelShader_Textures_PQ.h
  22. 8 0
      src/render/direct3d12/D3D12_PixelShader_Textures_PQ.hlsl
  23. 494 0
      src/render/direct3d12/D3D12_PixelShader_Textures_Simple.h
  24. 8 0
      src/render/direct3d12/D3D12_PixelShader_Textures_Simple.hlsl
  25. 296 281
      src/render/direct3d12/D3D12_VertexShader_Advanced.h
  26. 314 299
      src/render/direct3d12/D3D12_VertexShader_Color.h
  27. 364 349
      src/render/direct3d12/D3D12_VertexShader_Texture.h
  28. 50 20
      src/render/direct3d12/SDL_render_d3d12.c
  29. 25 2
      src/render/direct3d12/SDL_shaders_d3d12.c
  30. 3 0
      src/render/direct3d12/SDL_shaders_d3d12.h
  31. 25 2
      src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp
  32. 25 2
      src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp
  33. 3 0
      src/render/direct3d12/compile_shaders.bat
  34. 3 3
      src/render/gpu/SDL_render_gpu.c
  35. 4 4
      src/render/metal/SDL_render_metal.m
  36. 52 27
      src/render/vulkan/SDL_render_vulkan.c
  37. 9 0
      src/render/vulkan/SDL_shaders_vulkan.c
  38. 3 0
      src/render/vulkan/SDL_shaders_vulkan.h
  39. 431 431
      src/render/vulkan/VULKAN_PixelShader_Advanced.h
  40. 409 409
      src/render/vulkan/VULKAN_PixelShader_Advanced_YUV.h
  41. 62 0
      src/render/vulkan/VULKAN_PixelShader_Colors_PQ.h
  42. 7 0
      src/render/vulkan/VULKAN_PixelShader_Colors_PQ.hlsl
  43. 110 9
      src/render/vulkan/VULKAN_PixelShader_Common.hlsli
  44. 355 0
      src/render/vulkan/VULKAN_PixelShader_Textures_PQ.h
  45. 7 0
      src/render/vulkan/VULKAN_PixelShader_Textures_PQ.hlsl
  46. 22 0
      src/render/vulkan/VULKAN_PixelShader_Textures_Simple.h
  47. 7 0
      src/render/vulkan/VULKAN_PixelShader_Textures_Simple.hlsl
  48. 3 0
      src/render/vulkan/compile_shaders.bat
  49. 63 58
      src/video/SDL_pixels.c
  50. 1 0
      src/video/SDL_pixels_c.h
  51. 6 2
      src/video/SDL_surface.c
  52. 4 0
      test/testautomation_surface.c
  53. 9 4
      test/testcolorspace.c

+ 2 - 2
include/SDL3/SDL_surface.h

@@ -1703,7 +1703,7 @@ extern SDL_DECLSPEC Uint32 SDLCALL SDL_MapSurfaceRGB(SDL_Surface *surface, Uint8
 extern SDL_DECLSPEC Uint32 SDLCALL SDL_MapSurfaceRGBA(SDL_Surface *surface, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
 /**
- * Retrieves a single pixel from a surface.
+ * Retrieves a single pixel from a surface as RGBA in the sRGB colorspace.
  *
  * This function prioritizes correctness over speed: it is suitable for unit
  * tests, but is not intended for use in a game engine.
@@ -1733,7 +1733,7 @@ extern SDL_DECLSPEC Uint32 SDLCALL SDL_MapSurfaceRGBA(SDL_Surface *surface, Uint
 extern SDL_DECLSPEC bool SDLCALL SDL_ReadSurfacePixel(SDL_Surface *surface, int x, int y, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
 
 /**
- * Retrieves a single pixel from a surface.
+ * Retrieves a single pixel from a surface as RGBA in the sRGB colorspace.
  *
  * This function prioritizes correctness over speed: it is suitable for unit
  * tests, but is not intended for use in a game engine.

+ 19 - 26
src/render/SDL_render.c

@@ -186,35 +186,17 @@ void SDL_SetupRendererColorspace(SDL_Renderer *renderer, SDL_PropertiesID props)
 #else
     renderer->output_colorspace = (SDL_Colorspace)SDL_GetNumberProperty(props, SDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER, SDL_COLORSPACE_SRGB);
 #endif
+    renderer->current_colorspace = renderer->output_colorspace;
 }
 
-bool SDL_RenderingLinearSpace(SDL_Renderer *renderer)
-{
-    SDL_Colorspace colorspace;
-
-    if (renderer->target) {
-        colorspace = renderer->target->colorspace;
-    } else {
-        colorspace = renderer->output_colorspace;
-    }
-    if (colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
-        return true;
-    }
-    return false;
-}
-
-void SDL_ConvertToLinear(SDL_FColor *color)
+void SDL_ConvertToLinear(SDL_Renderer *renderer, SDL_FColor *color)
 {
     color->r = SDL_sRGBtoLinear(color->r);
     color->g = SDL_sRGBtoLinear(color->g);
     color->b = SDL_sRGBtoLinear(color->b);
-}
-
-void SDL_ConvertFromLinear(SDL_FColor *color)
-{
-    color->r = SDL_sRGBfromLinear(color->r);
-    color->g = SDL_sRGBfromLinear(color->g);
-    color->b = SDL_sRGBfromLinear(color->b);
+    if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+        SDL_ConvertColor709to2020(&color->r, &color->g, &color->b);
+    }
 }
 
 static SDL_INLINE void DebugLogRenderCommands(const SDL_RenderCommand *cmd)
@@ -875,7 +857,8 @@ static void UpdateHDRProperties(SDL_Renderer *renderer)
         return;
     }
 
-    if (renderer->output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
+    if (renderer->output_colorspace == SDL_COLORSPACE_SRGB_LINEAR ||
+        renderer->output_colorspace == SDL_COLORSPACE_HDR10) {
         renderer->SDR_white_point = SDL_GetFloatProperty(window_props, SDL_PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT, 1.0f);
         renderer->HDR_headroom = SDL_GetFloatProperty(window_props, SDL_PROP_WINDOW_HDR_HEADROOM_FLOAT, 1.0f);
     } else {
@@ -2829,8 +2812,10 @@ bool SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
     renderer->target = texture;
     if (texture) {
         renderer->view = &texture->view;
+        renderer->current_colorspace = texture->colorspace;
     } else {
         renderer->view = &renderer->main_view;
+        renderer->current_colorspace = renderer->output_colorspace;
     }
     UpdateColorScale(renderer);
 
@@ -5462,7 +5447,11 @@ SDL_Surface *SDL_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect)
             SDL_Texture *parent = SDL_GetPointerProperty(SDL_GetTextureProperties(target), SDL_PROP_TEXTURE_PARENT_POINTER, NULL);
             SDL_PixelFormat expected_format = (parent ? parent->format : target->format);
 
-            SDL_SetFloatProperty(props, SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT, target->SDR_white_point);
+            if (SDL_COLORSPACETRANSFER(target->colorspace) == SDL_TRANSFER_CHARACTERISTICS_PQ) {
+                SDL_SetFloatProperty(props, SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT, target->SDR_white_point * 80.0f);
+            } else {
+                SDL_SetFloatProperty(props, SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT, target->SDR_white_point);
+            }
             SDL_SetFloatProperty(props, SDL_PROP_SURFACE_HDR_HEADROOM_FLOAT, target->HDR_headroom);
 
             // Set the expected surface format
@@ -5474,7 +5463,11 @@ SDL_Surface *SDL_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect)
                 surface->fmt = SDL_GetPixelFormatDetails(expected_format);
             }
         } else {
-            SDL_SetFloatProperty(props, SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT, renderer->SDR_white_point);
+            if (SDL_COLORSPACETRANSFER(renderer->output_colorspace) == SDL_TRANSFER_CHARACTERISTICS_PQ) {
+                SDL_SetFloatProperty(props, SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT, renderer->SDR_white_point * 80.0f);
+            } else {
+                SDL_SetFloatProperty(props, SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT, renderer->SDR_white_point);
+            }
             SDL_SetFloatProperty(props, SDL_PROP_SURFACE_HDR_HEADROOM_FLOAT, renderer->HDR_headroom);
         }
     }

+ 6 - 3
src/render/SDL_sysrender.h

@@ -322,6 +322,7 @@ struct SDL_Renderer
     // The list of palettes
     SDL_HashTable *palettes;
 
+    SDL_Colorspace current_colorspace;
     SDL_Colorspace output_colorspace;
     float SDR_white_point;
     float HDR_headroom;
@@ -407,9 +408,11 @@ extern bool SDL_AddSupportedTextureFormat(SDL_Renderer *renderer, SDL_PixelForma
 extern void SDL_SetupRendererColorspace(SDL_Renderer *renderer, SDL_PropertiesID props);
 
 // Colorspace conversion functions
-extern bool SDL_RenderingLinearSpace(SDL_Renderer *renderer);
-extern void SDL_ConvertToLinear(SDL_FColor *color);
-extern void SDL_ConvertFromLinear(SDL_FColor *color);
+#define SDL_RenderingLinearSpace(renderer) \
+    (renderer->current_colorspace == SDL_COLORSPACE_SRGB_LINEAR || \
+     renderer->current_colorspace == SDL_COLORSPACE_HDR10)
+
+extern void SDL_ConvertToLinear(SDL_Renderer *renderer, SDL_FColor *color);
 
 // Blend mode functions
 extern SDL_BlendFactor SDL_GetBlendModeSrcColorFactor(SDL_BlendMode blendMode);

+ 432 - 0
src/render/direct3d11/D3D11_PixelShader_Colors_PQ.h

@@ -0,0 +1,432 @@
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.1
+//
+//
+// Buffer Definitions:
+//
+// cbuffer Constants
+// {
+//
+//   float scRGB_output;                // Offset:    0 Size:     4 [unused]
+//   float texture_type;                // Offset:    4 Size:     4 [unused]
+//   float input_type;                  // Offset:    8 Size:     4 [unused]
+//   float color_scale;                 // Offset:   12 Size:     4
+//   float4 texel_size;                 // Offset:   16 Size:    16 [unused]
+//   float tonemap_method;              // Offset:   32 Size:     4 [unused]
+//   float tonemap_factor1;             // Offset:   36 Size:     4 [unused]
+//   float tonemap_factor2;             // Offset:   40 Size:     4 [unused]
+//   float sdr_white_point;             // Offset:   44 Size:     4 [unused]
+//   float4 Yoffset;                    // Offset:   48 Size:    16 [unused]
+//   float4 Rcoeff;                     // Offset:   64 Size:    16 [unused]
+//   float4 Gcoeff;                     // Offset:   80 Size:    16 [unused]
+//   float4 Bcoeff;                     // Offset:   96 Size:    16 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// Constants                         cbuffer      NA          NA            cb0      1
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_POSITION              0   xyzw        0      POS   float
+// TEXCOORD                 0   xy          1     NONE   float
+// COLOR                    0   xyzw        2     NONE   float   xyzw
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             0         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_0
+    def c1, 0.00799999945, 0.159301758, 18.8515625, 0.8359375
+    def c2, 18.6875, 1, 78.84375, 0
+    dcl t1
+    mul r0.xyz, t1, c0.w
+    mul_sat r0.xyz, r0, c1.x
+    log r1.x, r0.x
+    log r1.y, r0.y
+    log r1.z, r0.z
+    mul r0.xyz, r1, c1.y
+    exp r1.x, r0.x
+    exp r1.y, r0.y
+    exp r1.z, r0.z
+    mad r0.xyz, r1, c1.z, c1.w
+    mad r1.xyz, r1, c2.x, c2.y
+    rcp r2.x, r1.x
+    rcp r2.y, r1.y
+    rcp r2.z, r1.z
+    mul r0.xyz, r0, r2
+    log r1.x, r0.x
+    log r1.y, r0.y
+    log r1.z, r0.z
+    mul r0.xyz, r1, c2.z
+    exp r1.x, r0.x
+    exp r1.y, r0.y
+    exp r1.z, r0.z
+    mov r1.w, t1.w
+    mov oC0, r1
+
+// approximately 24 instruction slots used
+ps_4_0
+dcl_constantbuffer CB0[1], immediateIndexed
+dcl_input_ps linear v2.xyzw
+dcl_output o0.xyzw
+dcl_temps 2
+mul r0.xyz, v2.xyzx, cb0[0].wwww
+mul_sat r0.xyz, r0.xyzx, l(0.008000, 0.008000, 0.008000, 0.000000)
+log r0.xyz, r0.xyzx
+mul r0.xyz, r0.xyzx, l(0.159302, 0.159302, 0.159302, 0.000000)
+exp r0.xyz, r0.xyzx
+mad r1.xyz, r0.xyzx, l(18.851562, 18.851562, 18.851562, 0.000000), l(0.835938, 0.835938, 0.835938, 0.000000)
+mad r0.xyz, r0.xyzx, l(18.687500, 18.687500, 18.687500, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
+div r0.xyz, r1.xyzx, r0.xyzx
+log r0.xyz, r0.xyzx
+mul r0.xyz, r0.xyzx, l(78.843750, 78.843750, 78.843750, 0.000000)
+exp o0.xyz, r0.xyzx
+mov o0.w, v2.w
+ret
+// Approximately 13 instruction slots used
+#endif
+
+const BYTE g_main[] =
+{
+     68,  88,  66,  67, 215, 236,
+     43, 101, 209, 206,  96, 142,
+    117, 123,  67, 203,  11, 112,
+    225, 132,   1,   0,   0,   0,
+    116,   7,   0,   0,   6,   0,
+      0,   0,  56,   0,   0,   0,
+    248,   1,   0,   0, 204,   3,
+      0,   0,  72,   4,   0,   0,
+    204,   6,   0,   0,  64,   7,
+      0,   0,  65, 111, 110,  57,
+    184,   1,   0,   0, 184,   1,
+      0,   0,   0,   2, 255, 255,
+    136,   1,   0,   0,  48,   0,
+      0,   0,   1,   0,  36,   0,
+      0,   0,  48,   0,   0,   0,
+     48,   0,   0,   0,  36,   0,
+      0,   0,  48,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   2,
+    255, 255,  81,   0,   0,   5,
+      1,   0,  15, 160, 110,  18,
+      3,  60,   0,  32,  35,  62,
+      0, 208, 150,  65,   0,   0,
+     86,  63,  81,   0,   0,   5,
+      2,   0,  15, 160,   0, 128,
+    149,  65,   0,   0, 128,  63,
+      0, 176, 157,  66,   0,   0,
+      0,   0,  31,   0,   0,   2,
+      0,   0,   0, 128,   1,   0,
+     15, 176,   5,   0,   0,   3,
+      0,   0,   7, 128,   1,   0,
+    228, 176,   0,   0, 255, 160,
+      5,   0,   0,   3,   0,   0,
+     23, 128,   0,   0, 228, 128,
+      1,   0,   0, 160,  15,   0,
+      0,   2,   1,   0,   1, 128,
+      0,   0,   0, 128,  15,   0,
+      0,   2,   1,   0,   2, 128,
+      0,   0,  85, 128,  15,   0,
+      0,   2,   1,   0,   4, 128,
+      0,   0, 170, 128,   5,   0,
+      0,   3,   0,   0,   7, 128,
+      1,   0, 228, 128,   1,   0,
+     85, 160,  14,   0,   0,   2,
+      1,   0,   1, 128,   0,   0,
+      0, 128,  14,   0,   0,   2,
+      1,   0,   2, 128,   0,   0,
+     85, 128,  14,   0,   0,   2,
+      1,   0,   4, 128,   0,   0,
+    170, 128,   4,   0,   0,   4,
+      0,   0,   7, 128,   1,   0,
+    228, 128,   1,   0, 170, 160,
+      1,   0, 255, 160,   4,   0,
+      0,   4,   1,   0,   7, 128,
+      1,   0, 228, 128,   2,   0,
+      0, 160,   2,   0,  85, 160,
+      6,   0,   0,   2,   2,   0,
+      1, 128,   1,   0,   0, 128,
+      6,   0,   0,   2,   2,   0,
+      2, 128,   1,   0,  85, 128,
+      6,   0,   0,   2,   2,   0,
+      4, 128,   1,   0, 170, 128,
+      5,   0,   0,   3,   0,   0,
+      7, 128,   0,   0, 228, 128,
+      2,   0, 228, 128,  15,   0,
+      0,   2,   1,   0,   1, 128,
+      0,   0,   0, 128,  15,   0,
+      0,   2,   1,   0,   2, 128,
+      0,   0,  85, 128,  15,   0,
+      0,   2,   1,   0,   4, 128,
+      0,   0, 170, 128,   5,   0,
+      0,   3,   0,   0,   7, 128,
+      1,   0, 228, 128,   2,   0,
+    170, 160,  14,   0,   0,   2,
+      1,   0,   1, 128,   0,   0,
+      0, 128,  14,   0,   0,   2,
+      1,   0,   2, 128,   0,   0,
+     85, 128,  14,   0,   0,   2,
+      1,   0,   4, 128,   0,   0,
+    170, 128,   1,   0,   0,   2,
+      1,   0,   8, 128,   1,   0,
+    255, 176,   1,   0,   0,   2,
+      0,   8,  15, 128,   1,   0,
+    228, 128, 255, 255,   0,   0,
+     83,  72,  68,  82, 204,   1,
+      0,   0,  64,   0,   0,   0,
+    115,   0,   0,   0,  89,   0,
+      0,   4,  70, 142,  32,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,  98,  16,   0,   3,
+    242,  16,  16,   0,   2,   0,
+      0,   0, 101,   0,   0,   3,
+    242,  32,  16,   0,   0,   0,
+      0,   0, 104,   0,   0,   2,
+      2,   0,   0,   0,  56,   0,
+      0,   8, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,  18,
+     16,   0,   2,   0,   0,   0,
+    246, 143,  32,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     56,  32,   0,  10, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+    110,  18,   3,  60, 110,  18,
+      3,  60, 110,  18,   3,  60,
+      0,   0,   0,   0,  47,   0,
+      0,   5, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+     56,   0,   0,  10, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,  32,  35,  62,   0,  32,
+     35,  62,   0,  32,  35,  62,
+      0,   0,   0,   0,  25,   0,
+      0,   5, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+     50,   0,   0,  15, 114,   0,
+     16,   0,   1,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0, 208, 150,  65,   0, 208,
+    150,  65,   0, 208, 150,  65,
+      0,   0,   0,   0,   2,  64,
+      0,   0,   0,   0,  86,  63,
+      0,   0,  86,  63,   0,   0,
+     86,  63,   0,   0,   0,   0,
+     50,   0,   0,  15, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0, 128, 149,  65,   0, 128,
+    149,  65,   0, 128, 149,  65,
+      0,   0,   0,   0,   2,  64,
+      0,   0,   0,   0, 128,  63,
+      0,   0, 128,  63,   0,   0,
+    128,  63,   0,   0,   0,   0,
+     14,   0,   0,   7, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   1,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  47,   0,
+      0,   5, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+     56,   0,   0,  10, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0, 176, 157,  66,   0, 176,
+    157,  66,   0, 176, 157,  66,
+      0,   0,   0,   0,  25,   0,
+      0,   5, 114,  32,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+     54,   0,   0,   5, 130,  32,
+     16,   0,   0,   0,   0,   0,
+     58,  16,  16,   0,   2,   0,
+      0,   0,  62,   0,   0,   1,
+     83,  84,  65,  84, 116,   0,
+      0,   0,  13,   0,   0,   0,
+      2,   0,   0,   0,   0,   0,
+      0,   0,   2,   0,   0,   0,
+     11,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,  82,  68,
+     69,  70, 124,   2,   0,   0,
+      1,   0,   0,   0,  72,   0,
+      0,   0,   1,   0,   0,   0,
+     28,   0,   0,   0,   0,   4,
+    255, 255,   0,   1,   0,   0,
+     84,   2,   0,   0,  60,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,   1,   0,   0,   0,
+     67, 111, 110, 115, 116,  97,
+    110, 116, 115,   0, 171, 171,
+     60,   0,   0,   0,  13,   0,
+      0,   0,  96,   0,   0,   0,
+    112,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+    152,   1,   0,   0,   0,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+    184,   1,   0,   0,   4,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+    197,   1,   0,   0,   8,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+    208,   1,   0,   0,  12,   0,
+      0,   0,   4,   0,   0,   0,
+      2,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+    220,   1,   0,   0,  16,   0,
+      0,   0,  16,   0,   0,   0,
+      0,   0,   0,   0, 232,   1,
+      0,   0,   0,   0,   0,   0,
+    248,   1,   0,   0,  32,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+      7,   2,   0,   0,  36,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+     23,   2,   0,   0,  40,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+     39,   2,   0,   0,  44,   0,
+      0,   0,   4,   0,   0,   0,
+      0,   0,   0,   0, 168,   1,
+      0,   0,   0,   0,   0,   0,
+     55,   2,   0,   0,  48,   0,
+      0,   0,  16,   0,   0,   0,
+      0,   0,   0,   0, 232,   1,
+      0,   0,   0,   0,   0,   0,
+     63,   2,   0,   0,  64,   0,
+      0,   0,  16,   0,   0,   0,
+      0,   0,   0,   0, 232,   1,
+      0,   0,   0,   0,   0,   0,
+     70,   2,   0,   0,  80,   0,
+      0,   0,  16,   0,   0,   0,
+      0,   0,   0,   0, 232,   1,
+      0,   0,   0,   0,   0,   0,
+     77,   2,   0,   0,  96,   0,
+      0,   0,  16,   0,   0,   0,
+      0,   0,   0,   0, 232,   1,
+      0,   0,   0,   0,   0,   0,
+    115,  99,  82,  71,  66,  95,
+    111, 117, 116, 112, 117, 116,
+      0, 171, 171, 171,   0,   0,
+      3,   0,   1,   0,   1,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0, 116, 101, 120, 116,
+    117, 114, 101,  95, 116, 121,
+    112, 101,   0, 105, 110, 112,
+    117, 116,  95, 116, 121, 112,
+    101,   0,  99, 111, 108, 111,
+    114,  95, 115,  99,  97, 108,
+    101,   0, 116, 101, 120, 101,
+    108,  95, 115, 105, 122, 101,
+      0, 171,   1,   0,   3,   0,
+      1,   0,   4,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+    116, 111, 110, 101, 109,  97,
+    112,  95, 109, 101, 116, 104,
+    111, 100,   0, 116, 111, 110,
+    101, 109,  97, 112,  95, 102,
+     97,  99, 116, 111, 114,  49,
+      0, 116, 111, 110, 101, 109,
+     97, 112,  95, 102,  97,  99,
+    116, 111, 114,  50,   0, 115,
+    100, 114,  95, 119, 104, 105,
+    116, 101,  95, 112, 111, 105,
+    110, 116,   0,  89, 111, 102,
+    102, 115, 101, 116,   0,  82,
+     99, 111, 101, 102, 102,   0,
+     71,  99, 111, 101, 102, 102,
+      0,  66,  99, 111, 101, 102,
+    102,   0,  77, 105,  99, 114,
+    111, 115, 111, 102, 116,  32,
+     40,  82,  41,  32,  72,  76,
+     83,  76,  32,  83, 104,  97,
+    100, 101, 114,  32,  67, 111,
+    109, 112, 105, 108, 101, 114,
+     32,  49,  48,  46,  49,   0,
+     73,  83,  71,  78, 108,   0,
+      0,   0,   3,   0,   0,   0,
+      8,   0,   0,   0,  80,   0,
+      0,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   0,   0,
+     15,   0,   0,   0,  92,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   3,   0,
+      0,   0,   1,   0,   0,   0,
+      3,   0,   0,   0, 101,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   3,   0,
+      0,   0,   2,   0,   0,   0,
+     15,  15,   0,   0,  83,  86,
+     95,  80,  79,  83,  73,  84,
+     73,  79,  78,   0,  84,  69,
+     88,  67,  79,  79,  82,  68,
+      0,  67,  79,  76,  79,  82,
+      0, 171,  79,  83,  71,  78,
+     44,   0,   0,   0,   1,   0,
+      0,   0,   8,   0,   0,   0,
+     32,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      3,   0,   0,   0,   0,   0,
+      0,   0,  15,   0,   0,   0,
+     83,  86,  95,  84,  65,  82,
+     71,  69,  84,   0, 171, 171
+};

+ 7 - 0
src/render/direct3d11/D3D11_PixelShader_Colors_PQ.hlsl

@@ -0,0 +1,7 @@
+
+#include "D3D11_PixelShader_Common.hlsli"
+
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+    return PQColorPixelShader(input);
+}

+ 110 - 9
src/render/direct3d11/D3D11_PixelShader_Common.hlsli

@@ -63,6 +63,16 @@ static const float3x3 mat2020to709 = {
     { -0.018154, -0.100597, 1.118751 }
 };
 
+float3 scRGBtoNits( float3 v )
+{
+    return v * 80.0;
+}
+
+float3 scRGBfromNits(float3 v)
+{
+    return v / 80.0;
+}
+
 float sRGBtoLinear(float v)
 {
     if (v <= 0.04045) {
@@ -73,6 +83,14 @@ float sRGBtoLinear(float v)
     return v;
 }
 
+float3 sRGBtoLinear(float3 v)
+{
+    v.r = sRGBtoLinear(v.r);
+    v.g = sRGBtoLinear(v.g);
+    v.b = sRGBtoLinear(v.b);
+    return v;
+}
+
 float sRGBfromLinear(float v)
 {
     if (v <= 0.0031308) {
@@ -83,7 +101,15 @@ float sRGBfromLinear(float v)
     return v;
 }
 
-float3 PQtoLinear(float3 v)
+float3 sRGBfromLinear(float3 v)
+{
+    v.r = sRGBfromLinear(v.r);
+    v.g = sRGBfromLinear(v.g);
+    v.b = sRGBfromLinear(v.b);
+    return v;
+}
+
+float3 PQtoNits(float3 v)
 {
     const float c1 = 0.8359375;
     const float c2 = 18.8515625;
@@ -93,7 +119,26 @@ float3 PQtoLinear(float3 v)
 
     float3 num = max(pow(abs(v), oo_m2) - c1, 0.0);
     float3 den = c2 - c3 * pow(abs(v), oo_m2);
-    return (10000.0 * pow(abs(num / den), oo_m1) / sdr_white_point);
+    return 10000.0 * pow(abs(num / den), oo_m1);
+}
+
+float3 PQtoLinear(float3 v)
+{
+    return PQtoNits(v) / sdr_white_point;
+}
+
+float3 PQFromNits(float3 v)
+{
+    const float c1 = 0.8359375;
+    const float c2 = 18.8515625;
+    const float c3 = 18.6875;
+    const float m1 = 0.1593017578125;
+    const float m2 = 78.84375;
+
+    float3 y = saturate( v / 10000.0 );
+    float3 num = c1 + c2 * pow( abs( y ), m1 );
+    float3 den = 1.0 + c3 * pow( abs( y ), m1 );
+    return pow( abs( num / den ), m2 );
 }
 
 float3 ApplyTonemap(float3 v)
@@ -120,6 +165,20 @@ float3 ApplyTonemap(float3 v)
     return v;
 }
 
+float3 ApplyTonemap2020(float3 v)
+{
+    if (tonemap_method == TONEMAP_LINEAR) {
+        v *= tonemap_factor1;
+    } else if (tonemap_method == TONEMAP_CHROME) {
+        float vmax = max(v.r, max(v.g, v.b));
+        if (vmax > 0.0) {
+            float scale = (1.0 + tonemap_factor1 * vmax) / (1.0 + tonemap_factor2 * vmax);
+            v *= scale;
+        }
+    }
+    return v;
+}
+
 float4 SamplePaletteNearest(float2 uv)
 {
     float index = texture0.Sample(sampler0, uv).r * 255;
@@ -238,9 +297,7 @@ float3 GetOutputColorFromSRGB(float3 rgb)
     float3 output;
 
     if (scRGB_output) {
-        rgb.r = sRGBtoLinear(rgb.r);
-        rgb.g = sRGBtoLinear(rgb.g);
-        rgb.b = sRGBtoLinear(rgb.b);
+        rgb = sRGBtoLinear(rgb);
     }
 
     output.rgb = rgb * color_scale;
@@ -255,15 +312,59 @@ float3 GetOutputColorFromLinear(float3 rgb)
     output.rgb = rgb * color_scale;
 
     if (!scRGB_output) {
-        output.r = sRGBfromLinear(output.r);
-        output.g = sRGBfromLinear(output.g);
-        output.b = sRGBfromLinear(output.b);
-        output.rgb = saturate(output.rgb);
+        output.rgb = saturate(sRGBfromLinear(output.rgb));
     }
 
     return output;
 }
 
+float4 PQColorPixelShader(PixelShaderInput input)
+{
+    float3 rgb = float3(1.0, 1.0, 1.0);
+    float4 output;
+
+    // Apply color scaling, which will include display SDR white level
+    rgb = rgb * input.color.rgb * color_scale;
+
+    // Convert to nits
+    rgb = scRGBtoNits(rgb);
+
+    output.rgb = PQFromNits(rgb);
+    output.a = input.color.a;
+
+    return output;
+}
+
+float4 PQTexturePixelShader(PixelShaderInput input)
+{
+    float4 rgba = GetInputColor(input);
+    float4 output;
+
+    if (input_type == INPUTTYPE_HDR10) {
+        rgba.rgb = PQtoLinear(rgba.rgb);
+    } else {
+        if (input_type == INPUTTYPE_SRGB) {
+            rgba.rgb = sRGBtoLinear(rgba.rgb);
+        }
+        rgba.rgb = mul(mat709to2020, rgba.rgb);
+    }
+
+    if (tonemap_method != TONEMAP_NONE) {
+        rgba.rgb = ApplyTonemap2020(rgba.rgb);
+    }
+
+    // Apply color scaling, which will include display SDR white level
+    rgba.rgb = rgba.rgb * input.color.rgb * color_scale;
+
+    // Convert to nits
+    rgba.rgb = scRGBtoNits(rgba.rgb);
+
+    output.rgb = PQFromNits(rgba.rgb);
+    output.a = rgba.a * input.color.a;
+
+    return output;
+}
+
 float4 AdvancedPixelShader(PixelShaderInput input)
 {
     float4 rgba = GetInputColor(input);

+ 1698 - 0
src/render/direct3d11/D3D11_PixelShader_Textures_PQ.h

@@ -0,0 +1,1698 @@
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.1
+//
+//
+// Buffer Definitions:
+//
+// cbuffer Constants
+// {
+//
+//   float scRGB_output;                // Offset:    0 Size:     4 [unused]
+//   float texture_type;                // Offset:    4 Size:     4
+//   float input_type;                  // Offset:    8 Size:     4
+//   float color_scale;                 // Offset:   12 Size:     4
+//   float4 texel_size;                 // Offset:   16 Size:    16
+//   float tonemap_method;              // Offset:   32 Size:     4
+//   float tonemap_factor1;             // Offset:   36 Size:     4
+//   float tonemap_factor2;             // Offset:   40 Size:     4
+//   float sdr_white_point;             // Offset:   44 Size:     4
+//   float4 Yoffset;                    // Offset:   48 Size:    16
+//   float4 Rcoeff;                     // Offset:   64 Size:    16
+//   float4 Gcoeff;                     // Offset:   80 Size:    16
+//   float4 Bcoeff;                     // Offset:   96 Size:    16
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sampler0                          sampler      NA          NA             s0      1
+// sampler1                          sampler      NA          NA             s1      1
+// texture0                          texture  float4          2d             t0      1
+// texture1                          texture  float4          2d             t1      1
+// texture2                          texture  float4          2d             t2      1
+// Constants                         cbuffer      NA          NA            cb0      1
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_POSITION              0   xyzw        0      POS   float
+// TEXCOORD                 0   xy          1     NONE   float   xy
+// COLOR                    0   xyzw        2     NONE   float   xyzw
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
+//
+ps_5_0
+dcl_globalFlags refactoringAllowed
+dcl_constantbuffer CB0[7], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_sampler s1, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_resource_texture2d (float,float,float,float) t1
+dcl_resource_texture2d (float,float,float,float) t2
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v2.xyzw
+dcl_output o0.xyzw
+dcl_temps 7
+eq r0.xy, cb0[0].yzyy, l(0.000000, 3.000000, 0.000000, 0.000000)
+if_nz r0.x
+  mov r1.xyzw, l(1.000000,1.000000,1.000000,1.000000)
+else
+  eq r0.x, cb0[0].y, l(1.000000)
+  if_nz r0.x
+    sample_indexable(texture2d)(float,float,float,float) r1.xyzw, v1.xyxx, t0.xyzw, s0
+  else
+    eq r0.x, cb0[0].y, l(2.000000)
+    if_nz r0.x
+      deriv_rtx_coarse r0.xz, v1.xxyx
+      deriv_rty_coarse r2.xy, v1.xyxx
+      add r2.zw, |r0.xxxz|, |r2.xxxy|
+      mul r2.zw, r2.zzzw, cb0[1].zzzw
+      max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000010, 0.000010)
+      min r2.zw, r2.zzzw, l(0.000000, 0.000000, 1.000000, 1.000000)
+      mul r3.xy, r2.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
+      mad r3.xy, v1.xyxx, cb0[1].zwzz, -r3.xyxx
+      add r2.zw, -r2.zzzw, l(0.000000, 0.000000, 1.000000, 1.000000)
+      frc r3.zw, r3.xxxy
+      add r4.xy, -r2.zwzz, l(1.000000, 1.000000, 0.000000, 0.000000)
+      add r2.zw, -r2.zzzw, r3.zzzw
+      div r3.zw, l(1.000000, 1.000000, 1.000000, 1.000000), r4.xxxy
+      mul_sat r2.zw, r2.zzzw, r3.zzzw
+      mad r3.zw, r2.zzzw, l(0.000000, 0.000000, -2.000000, -2.000000), l(0.000000, 0.000000, 3.000000, 3.000000)
+      mul r2.zw, r2.zzzw, r2.zzzw
+      round_ni r3.xy, r3.xyxx
+      mad r2.zw, r3.zzzw, r2.zzzw, r3.xxxy
+      add r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
+      mul r2.zw, r2.zzzw, cb0[1].xxxy
+      sample_d_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.zwzz, t0.xyzw, s0, r0.xzxx, r2.xyxx
+    else
+      eq r0.x, cb0[0].y, l(3.000000)
+      if_nz r0.x
+        sample_indexable(texture2d)(float,float,float,float) r0.x, v1.xyxx, t0.xyzw, s0
+        mad r0.x, r0.x, l(255.000000), l(0.500000)
+        mul r2.x, r0.x, l(0.003906)
+        mov r2.y, l(0.500000)
+        sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xyxx, t1.xyzw, s1
+      else
+        eq r0.x, cb0[0].y, l(4.000000)
+        if_nz r0.x
+          mad r0.xz, v1.xxyx, cb0[1].zzwz, l(0.500000, 0.000000, 0.500000, 0.000000)
+          round_ni r2.xyzw, r0.xzxz
+          add r2.xyzw, r2.xyzw, l(-0.500000, -0.500000, 0.500000, 0.500000)
+          mul r2.xyzw, r2.xyzw, cb0[1].xyxy
+          frc r0.xz, r0.xxzx
+          sample_indexable(texture2d)(float,float,float,float) r0.w, r2.xyxx, t0.yzwx, s0
+          mad r0.w, r0.w, l(255.000000), l(0.500000)
+          mul r3.x, r0.w, l(0.003906)
+          mov r3.yw, l(0,0.500000,0,0.500000)
+          sample_indexable(texture2d)(float,float,float,float) r4.xyzw, r3.xyxx, t1.xyzw, s1
+          sample_indexable(texture2d)(float,float,float,float) r0.w, r2.xwxx, t0.yzwx, s0
+          mad r0.w, r0.w, l(255.000000), l(0.500000)
+          mul r3.z, r0.w, l(0.003906)
+          sample_indexable(texture2d)(float,float,float,float) r3.xyzw, r3.zwzz, t1.xyzw, s1
+          sample_indexable(texture2d)(float,float,float,float) r0.w, r2.zyzz, t0.yzwx, s0
+          mad r0.w, r0.w, l(255.000000), l(0.500000)
+          mul r5.x, r0.w, l(0.003906)
+          mov r5.yw, l(0,0.500000,0,0.500000)
+          sample_indexable(texture2d)(float,float,float,float) r6.xyzw, r5.xyxx, t1.xyzw, s1
+          sample_indexable(texture2d)(float,float,float,float) r0.w, r2.zwzz, t0.yzwx, s0
+          mad r0.w, r0.w, l(255.000000), l(0.500000)
+          mul r5.z, r0.w, l(0.003906)
+          sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r5.zwzz, t1.xyzw, s1
+          add r3.xyzw, -r4.xyzw, r3.xyzw
+          mad r3.xyzw, r0.zzzz, r3.xyzw, r4.xyzw
+          add r2.xyzw, -r6.xyzw, r2.xyzw
+          mad r2.xyzw, r0.zzzz, r2.xyzw, r6.xyzw
+          add r2.xyzw, -r3.xyzw, r2.xyzw
+          mad r1.xyzw, r0.xxxx, r2.xyzw, r3.xyzw
+        else
+          eq r0.x, cb0[0].y, l(5.000000)
+          if_nz r0.x
+            deriv_rtx_coarse r0.xz, v1.xxyx
+            deriv_rty_coarse r2.xy, v1.xyxx
+            add r0.xz, |r0.xxzx|, |r2.xxyx|
+            mul r0.xz, r0.xxzx, cb0[1].zzwz
+            max r0.xz, r0.xxzx, l(0.000010, 0.000000, 0.000010, 0.000000)
+            min r0.xz, r0.xxzx, l(1.000000, 0.000000, 1.000000, 0.000000)
+            mul r2.xy, r0.xzxx, l(0.500000, 0.500000, 0.000000, 0.000000)
+            mad r2.xy, v1.xyxx, cb0[1].zwzz, -r2.xyxx
+            add r0.xz, -r0.xxzx, l(1.000000, 0.000000, 1.000000, 0.000000)
+            frc r2.zw, r2.xxxy
+            add r3.xy, -r0.xzxx, l(1.000000, 1.000000, 0.000000, 0.000000)
+            add r0.xz, -r0.xxzx, r2.zzwz
+            div r2.zw, l(1.000000, 1.000000, 1.000000, 1.000000), r3.xxxy
+            mul_sat r0.xz, r0.xxzx, r2.zzwz
+            mad r2.zw, r0.xxxz, l(0.000000, 0.000000, -2.000000, -2.000000), l(0.000000, 0.000000, 3.000000, 3.000000)
+            mul r0.xz, r0.xxzx, r0.xxzx
+            round_ni r2.xy, r2.xyxx
+            mad r0.xz, r2.zzwz, r0.xxzx, r2.xxyx
+            add r0.xz, r0.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000)
+            mul r0.xz, r0.xxzx, cb0[1].xxyx
+            mad r0.xz, r0.xxzx, cb0[1].zzwz, l(0.500000, 0.000000, 0.500000, 0.000000)
+            round_ni r2.xyzw, r0.xzxz
+            add r2.xyzw, r2.xyzw, l(-0.500000, -0.500000, 0.500000, 0.500000)
+            mul r2.xyzw, r2.xyzw, cb0[1].xyxy
+            frc r0.xz, r0.xxzx
+            sample_indexable(texture2d)(float,float,float,float) r0.w, r2.xyxx, t0.yzwx, s0
+            mad r0.w, r0.w, l(255.000000), l(0.500000)
+            mul r3.x, r0.w, l(0.003906)
+            mov r3.yw, l(0,0.500000,0,0.500000)
+            sample_indexable(texture2d)(float,float,float,float) r4.xyzw, r3.xyxx, t1.xyzw, s1
+            sample_indexable(texture2d)(float,float,float,float) r0.w, r2.xwxx, t0.yzwx, s0
+            mad r0.w, r0.w, l(255.000000), l(0.500000)
+            mul r3.z, r0.w, l(0.003906)
+            sample_indexable(texture2d)(float,float,float,float) r3.xyzw, r3.zwzz, t1.xyzw, s1
+            sample_indexable(texture2d)(float,float,float,float) r0.w, r2.zyzz, t0.yzwx, s0
+            mad r0.w, r0.w, l(255.000000), l(0.500000)
+            mul r5.x, r0.w, l(0.003906)
+            mov r5.yw, l(0,0.500000,0,0.500000)
+            sample_indexable(texture2d)(float,float,float,float) r6.xyzw, r5.xyxx, t1.xyzw, s1
+            sample_indexable(texture2d)(float,float,float,float) r0.w, r2.zwzz, t0.yzwx, s0
+            mad r0.w, r0.w, l(255.000000), l(0.500000)
+            mul r5.z, r0.w, l(0.003906)
+            sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r5.zwzz, t1.xyzw, s1
+            add r3.xyzw, -r4.xyzw, r3.xyzw
+            mad r3.xyzw, r0.zzzz, r3.xyzw, r4.xyzw
+            add r2.xyzw, -r6.xyzw, r2.xyzw
+            mad r2.xyzw, r0.zzzz, r2.xyzw, r6.xyzw
+            add r2.xyzw, -r3.xyzw, r2.xyzw
+            mad r1.xyzw, r0.xxxx, r2.xyzw, r3.xyzw
+          else
+            eq r0.x, cb0[0].y, l(6.000000)
+            if_nz r0.x
+              sample_indexable(texture2d)(float,float,float,float) r0.x, v1.xyxx, t0.xwyz, s0
+              sample_indexable(texture2d)(float,float,float,float) r0.zw, v1.xyxx, t1.zwxy, s0
+              add r0.xzw, r0.xxzw, cb0[3].xxyz
+              dp3 r1.x, r0.xzwx, cb0[4].xyzx
+              dp3 r1.y, r0.xzwx, cb0[5].xyzx
+              dp3 r1.z, r0.xzwx, cb0[6].xyzx
+            else
+              eq r0.x, cb0[0].y, l(7.000000)
+              if_nz r0.x
+                sample_indexable(texture2d)(float,float,float,float) r0.x, v1.xyxx, t0.xwyz, s0
+                sample_indexable(texture2d)(float,float,float,float) r0.zw, v1.xyxx, t1.zwyx, s0
+                add r0.xzw, r0.xxzw, cb0[3].xxyz
+                dp3 r1.x, r0.xzwx, cb0[4].xyzx
+                dp3 r1.y, r0.xzwx, cb0[5].xyzx
+                dp3 r1.z, r0.xzwx, cb0[6].xyzx
+              else
+                eq r0.x, cb0[0].y, l(8.000000)
+                if_nz r0.x
+                  sample_indexable(texture2d)(float,float,float,float) r0.x, v1.xyxx, t0.xwyz, s0
+                  sample_indexable(texture2d)(float,float,float,float) r0.z, v1.xyxx, t1.ywxz, s0
+                  sample_indexable(texture2d)(float,float,float,float) r0.w, v1.xyxx, t2.ywzx, s0
+                  add r0.xzw, r0.xxzw, cb0[3].xxyz
+                  dp3 r1.x, r0.xzwx, cb0[4].xyzx
+                  dp3 r1.y, r0.xzwx, cb0[5].xyzx
+                  dp3 r1.z, r0.xzwx, cb0[6].xyzx
+                else
+                  mov r1.xyz, l(1.000000,0,1.000000,0)
+                endif
+              endif
+            endif
+            mov r1.w, l(1.000000)
+          endif
+        endif
+      endif
+    endif
+  endif
+endif
+if_nz r0.y
+  log r0.xyz, |r1.xyzx|
+  mul r0.xyz, r0.xyzx, l(0.012683, 0.012683, 0.012683, 0.000000)
+  exp r0.xyz, r0.xyzx
+  add r2.xyz, r0.xyzx, l(-0.835938, -0.835938, -0.835938, 0.000000)
+  max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
+  mad r0.xyz, -r0.xyzx, l(18.687500, 18.687500, 18.687500, 0.000000), l(18.851562, 18.851562, 18.851562, 0.000000)
+  div r0.xyz, r2.xyzx, r0.xyzx
+  log r0.xyz, |r0.xyzx|
+  mul r0.xyz, r0.xyzx, l(6.277395, 6.277395, 6.277395, 0.000000)
+  exp r0.xyz, r0.xyzx
+  mul r0.xyz, r0.xyzx, l(10000.000000, 10000.000000, 10000.000000, 0.000000)
+  div r0.xyz, r0.xyzx, cb0[2].wwww
+else
+  eq r0.w, cb0[0].z, l(1.000000)
+  if_nz r0.w
+    ge r2.xyz, l(0.040450, 0.040450, 0.040450, 0.000000), r1.xyzx
+    mul r3.xyz, r1.xyzx, l(0.077399, 0.077399, 0.077399, 0.000000)
+    add r4.xyz, r1.xyzx, l(0.055000, 0.055000, 0.055000, 0.000000)
+    mul r4.xyz, |r4.xyzx|, l(0.947867, 0.947867, 0.947867, 0.000000)
+    log r4.xyz, r4.xyzx
+    mul r4.xyz, r4.xyzx, l(2.400000, 2.400000, 2.400000, 0.000000)
+    exp r4.xyz, r4.xyzx
+    movc r1.xyz, r2.xyzx, r3.xyzx, r4.xyzx
+  endif
+  dp3 r0.x, l(0.627404, 0.329283, 0.043313, 0.000000), r1.xyzx
+  dp3 r0.y, l(0.069097, 0.919541, 0.011362, 0.000000), r1.xyzx
+  dp3 r0.z, l(0.016391, 0.088013, 0.895595, 0.000000), r1.xyzx
+endif
+ne r0.w, cb0[2].x, l(0.000000)
+mul r1.xyz, r0.xyzx, cb0[2].yyyy
+eq r2.xy, cb0[2].xxxx, l(1.000000, 2.000000, 0.000000, 0.000000)
+max r2.z, r0.z, r0.y
+max r2.z, r0.x, r2.z
+lt r2.w, l(0.000000), r2.z
+mad r3.xy, cb0[2].yzyy, r2.zzzz, l(1.000000, 1.000000, 0.000000, 0.000000)
+div r2.z, r3.x, r3.y
+mul r3.xyz, r0.xyzx, r2.zzzz
+movc r3.xyz, r2.wwww, r3.xyzx, r0.xyzx
+movc r2.yzw, r2.yyyy, r3.xxyz, r0.xxyz
+movc r1.xyz, r2.xxxx, r1.xyzx, r2.yzwy
+movc r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
+mul r0.xyz, r0.xyzx, v2.xyzx
+mul r0.xyz, r0.xyzx, cb0[0].wwww
+mul_sat r0.xyz, r0.xyzx, l(0.008000, 0.008000, 0.008000, 0.000000)
+log r0.xyz, r0.xyzx
+mul r0.xyz, r0.xyzx, l(0.159302, 0.159302, 0.159302, 0.000000)
+exp r0.xyz, r0.xyzx
+mad r1.xyz, r0.xyzx, l(18.851562, 18.851562, 18.851562, 0.000000), l(0.835938, 0.835938, 0.835938, 0.000000)
+mad r0.xyz, r0.xyzx, l(18.687500, 18.687500, 18.687500, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
+div r0.xyz, r1.xyzx, r0.xyzx
+log r0.xyz, r0.xyzx
+mul r0.xyz, r0.xyzx, l(78.843750, 78.843750, 78.843750, 0.000000)
+exp o0.xyz, r0.xyzx
+mul o0.w, r1.w, v2.w
+ret
+// Approximately 219 instruction slots used
+#endif
+
+const BYTE g_main[] =
+{
+     68,  88,  66,  67, 229, 253,
+    126, 225, 215,  64, 107,  83,
+     80, 236,  56, 231, 173, 154,
+    226, 240,   1,   0,   0,   0,
+    244,  32,   0,   0,   5,   0,
+      0,   0,  52,   0,   0,   0,
+    168,   4,   0,   0,  28,   5,
+      0,   0,  80,   5,   0,   0,
+     88,  32,   0,   0,  82,  68,
+     69,  70, 108,   4,   0,   0,
+      1,   0,   0,   0,  52,   1,
+      0,   0,   6,   0,   0,   0,
+     60,   0,   0,   0,   0,   5,
+    255, 255,   0,   1,   0,   0,
+     68,   4,   0,   0,  82,  68,
+     49,  49,  60,   0,   0,   0,
+     24,   0,   0,   0,  32,   0,
+      0,   0,  40,   0,   0,   0,
+     36,   0,   0,   0,  12,   0,
+      0,   0,   0,   0,   0,   0,
+    252,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,   1,   0,
+      0,   0,   5,   1,   0,   0,
+      3,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,   1,   0,   0,   0,
+      1,   0,   0,   0,  14,   1,
+      0,   0,   2,   0,   0,   0,
+      5,   0,   0,   0,   4,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,   1,   0,
+      0,   0,  13,   0,   0,   0,
+     23,   1,   0,   0,   2,   0,
+      0,   0,   5,   0,   0,   0,
+      4,   0,   0,   0, 255, 255,
+    255, 255,   1,   0,   0,   0,
+      1,   0,   0,   0,  13,   0,
+      0,   0,  32,   1,   0,   0,
+      2,   0,   0,   0,   5,   0,
+      0,   0,   4,   0,   0,   0,
+    255, 255, 255, 255,   2,   0,
+      0,   0,   1,   0,   0,   0,
+     13,   0,   0,   0,  41,   1,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,   1,   0,   0,   0,
+    115,  97, 109, 112, 108, 101,
+    114,  48,   0, 115,  97, 109,
+    112, 108, 101, 114,  49,   0,
+    116, 101, 120, 116, 117, 114,
+    101,  48,   0, 116, 101, 120,
+    116, 117, 114, 101,  49,   0,
+    116, 101, 120, 116, 117, 114,
+    101,  50,   0,  67, 111, 110,
+    115, 116,  97, 110, 116, 115,
+      0, 171,  41,   1,   0,   0,
+     13,   0,   0,   0,  76,   1,
+      0,   0, 112,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,  84,   3,   0,   0,
+      0,   0,   0,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,
+    104,   3,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    140,   3,   0,   0,   4,   0,
+      0,   0,   4,   0,   0,   0,
+      2,   0,   0,   0, 104,   3,
+      0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 153,   3,
+      0,   0,   8,   0,   0,   0,
+      4,   0,   0,   0,   2,   0,
+      0,   0, 104,   3,   0,   0,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0, 164,   3,   0,   0,
+     12,   0,   0,   0,   4,   0,
+      0,   0,   2,   0,   0,   0,
+    104,   3,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    176,   3,   0,   0,  16,   0,
+      0,   0,  16,   0,   0,   0,
+      2,   0,   0,   0, 196,   3,
+      0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 232,   3,
+      0,   0,  32,   0,   0,   0,
+      4,   0,   0,   0,   2,   0,
+      0,   0, 104,   3,   0,   0,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0, 247,   3,   0,   0,
+     36,   0,   0,   0,   4,   0,
+      0,   0,   2,   0,   0,   0,
+    104,   3,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+      7,   4,   0,   0,  40,   0,
+      0,   0,   4,   0,   0,   0,
+      2,   0,   0,   0, 104,   3,
+      0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,  23,   4,
+      0,   0,  44,   0,   0,   0,
+      4,   0,   0,   0,   2,   0,
+      0,   0, 104,   3,   0,   0,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0,  39,   4,   0,   0,
+     48,   0,   0,   0,  16,   0,
+      0,   0,   2,   0,   0,   0,
+    196,   3,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+     47,   4,   0,   0,  64,   0,
+      0,   0,  16,   0,   0,   0,
+      2,   0,   0,   0, 196,   3,
+      0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,  54,   4,
+      0,   0,  80,   0,   0,   0,
+     16,   0,   0,   0,   2,   0,
+      0,   0, 196,   3,   0,   0,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0,  61,   4,   0,   0,
+     96,   0,   0,   0,  16,   0,
+      0,   0,   2,   0,   0,   0,
+    196,   3,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255,
+    255, 255,   0,   0,   0,   0,
+    115,  99,  82,  71,  66,  95,
+    111, 117, 116, 112, 117, 116,
+      0, 102, 108, 111,  97, 116,
+      0, 171,   0,   0,   3,   0,
+      1,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,  97,   3,
+      0,   0, 116, 101, 120, 116,
+    117, 114, 101,  95, 116, 121,
+    112, 101,   0, 105, 110, 112,
+    117, 116,  95, 116, 121, 112,
+    101,   0,  99, 111, 108, 111,
+    114,  95, 115,  99,  97, 108,
+    101,   0, 116, 101, 120, 101,
+    108,  95, 115, 105, 122, 101,
+      0, 102, 108, 111,  97, 116,
+     52,   0, 171, 171,   1,   0,
+      3,   0,   1,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+    187,   3,   0,   0, 116, 111,
+    110, 101, 109,  97, 112,  95,
+    109, 101, 116, 104, 111, 100,
+      0, 116, 111, 110, 101, 109,
+     97, 112,  95, 102,  97,  99,
+    116, 111, 114,  49,   0, 116,
+    111, 110, 101, 109,  97, 112,
+     95, 102,  97,  99, 116, 111,
+    114,  50,   0, 115, 100, 114,
+     95, 119, 104, 105, 116, 101,
+     95, 112, 111, 105, 110, 116,
+      0,  89, 111, 102, 102, 115,
+    101, 116,   0,  82,  99, 111,
+    101, 102, 102,   0,  71,  99,
+    111, 101, 102, 102,   0,  66,
+     99, 111, 101, 102, 102,   0,
+     77, 105,  99, 114, 111, 115,
+    111, 102, 116,  32,  40,  82,
+     41,  32,  72,  76,  83,  76,
+     32,  83, 104,  97, 100, 101,
+    114,  32,  67, 111, 109, 112,
+    105, 108, 101, 114,  32,  49,
+     48,  46,  49,   0,  73,  83,
+     71,  78, 108,   0,   0,   0,
+      3,   0,   0,   0,   8,   0,
+      0,   0,  80,   0,   0,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,   3,   0,   0,   0,
+      0,   0,   0,   0,  15,   0,
+      0,   0,  92,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   3,   0,   0,   0,
+      1,   0,   0,   0,   3,   3,
+      0,   0, 101,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   3,   0,   0,   0,
+      2,   0,   0,   0,  15,  15,
+      0,   0,  83,  86,  95,  80,
+     79,  83,  73,  84,  73,  79,
+     78,   0,  84,  69,  88,  67,
+     79,  79,  82,  68,   0,  67,
+     79,  76,  79,  82,   0, 171,
+     79,  83,  71,  78,  44,   0,
+      0,   0,   1,   0,   0,   0,
+      8,   0,   0,   0,  32,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   0,   0,
+     15,   0,   0,   0,  83,  86,
+     95,  84,  65,  82,  71,  69,
+     84,   0, 171, 171,  83,  72,
+     69,  88,   0,  27,   0,   0,
+     80,   0,   0,   0, 192,   6,
+      0,   0, 106,   8,   0,   1,
+     89,   0,   0,   4,  70, 142,
+     32,   0,   0,   0,   0,   0,
+      7,   0,   0,   0,  90,   0,
+      0,   3,   0,  96,  16,   0,
+      0,   0,   0,   0,  90,   0,
+      0,   3,   0,  96,  16,   0,
+      1,   0,   0,   0,  88,  24,
+      0,   4,   0, 112,  16,   0,
+      0,   0,   0,   0,  85,  85,
+      0,   0,  88,  24,   0,   4,
+      0, 112,  16,   0,   1,   0,
+      0,   0,  85,  85,   0,   0,
+     88,  24,   0,   4,   0, 112,
+     16,   0,   2,   0,   0,   0,
+     85,  85,   0,   0,  98,  16,
+      0,   3,  50,  16,  16,   0,
+      1,   0,   0,   0,  98,  16,
+      0,   3, 242,  16,  16,   0,
+      2,   0,   0,   0, 101,   0,
+      0,   3, 242,  32,  16,   0,
+      0,   0,   0,   0, 104,   0,
+      0,   2,   7,   0,   0,   0,
+     24,   0,   0,  11,  50,   0,
+     16,   0,   0,   0,   0,   0,
+    150, 133,  32,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0,   0,   0,   0,  64,  64,
+      0,   0,   0,   0,   0,   0,
+      0,   0,  31,   0,   4,   3,
+     10,   0,  16,   0,   0,   0,
+      0,   0,  54,   0,   0,   8,
+    242,   0,  16,   0,   1,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0, 128,  63,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      0,   0, 128,  63,  18,   0,
+      0,   1,  24,   0,   0,   8,
+     18,   0,  16,   0,   0,   0,
+      0,   0,  26, 128,  32,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 128,  63,  31,   0,
+      4,   3,  10,   0,  16,   0,
+      0,   0,   0,   0,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 242,   0,
+     16,   0,   1,   0,   0,   0,
+     70,  16,  16,   0,   1,   0,
+      0,   0,  70, 126,  16,   0,
+      0,   0,   0,   0,   0,  96,
+     16,   0,   0,   0,   0,   0,
+     18,   0,   0,   1,  24,   0,
+      0,   8,  18,   0,  16,   0,
+      0,   0,   0,   0,  26, 128,
+     32,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0,   0,  64,
+     31,   0,   4,   3,  10,   0,
+     16,   0,   0,   0,   0,   0,
+    122,   0,   0,   5,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,  17,  16,   0,   1,   0,
+      0,   0, 124,   0,   0,   5,
+     50,   0,  16,   0,   2,   0,
+      0,   0,  70,  16,  16,   0,
+      1,   0,   0,   0,   0,   0,
+      0,   9, 194,   0,  16,   0,
+      2,   0,   0,   0,   6,   8,
+     16, 128, 129,   0,   0,   0,
+      0,   0,   0,   0,   6,   4,
+     16, 128, 129,   0,   0,   0,
+      2,   0,   0,   0,  56,   0,
+      0,   8, 194,   0,  16,   0,
+      2,   0,   0,   0, 166,  14,
+     16,   0,   2,   0,   0,   0,
+    166, 142,  32,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+     52,   0,   0,  10, 194,   0,
+     16,   0,   2,   0,   0,   0,
+    166,  14,  16,   0,   2,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0, 172, 197,  39,  55,
+    172, 197,  39,  55,  51,   0,
+      0,  10, 194,   0,  16,   0,
+      2,   0,   0,   0, 166,  14,
+     16,   0,   2,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0, 128,  63,   0,   0,
+    128,  63,  56,   0,   0,  10,
+     50,   0,  16,   0,   3,   0,
+      0,   0, 230,  10,  16,   0,
+      2,   0,   0,   0,   2,  64,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,  63,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     50,   0,   0,  11,  50,   0,
+     16,   0,   3,   0,   0,   0,
+     70,  16,  16,   0,   1,   0,
+      0,   0, 230, 138,  32,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,  70,   0,  16, 128,
+     65,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   0,  11,
+    194,   0,  16,   0,   2,   0,
+      0,   0, 166,  14,  16, 128,
+     65,   0,   0,   0,   2,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 128,  63,
+      0,   0, 128,  63,  26,   0,
+      0,   5, 194,   0,  16,   0,
+      3,   0,   0,   0,   6,   4,
+     16,   0,   3,   0,   0,   0,
+      0,   0,   0,  11,  50,   0,
+     16,   0,   4,   0,   0,   0,
+    230,  10,  16, 128,  65,   0,
+      0,   0,   2,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   8,
+    194,   0,  16,   0,   2,   0,
+      0,   0, 166,  14,  16, 128,
+     65,   0,   0,   0,   2,   0,
+      0,   0, 166,  14,  16,   0,
+      3,   0,   0,   0,  14,   0,
+      0,  10, 194,   0,  16,   0,
+      3,   0,   0,   0,   2,  64,
+      0,   0,   0,   0, 128,  63,
+      0,   0, 128,  63,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      6,   4,  16,   0,   4,   0,
+      0,   0,  56,  32,   0,   7,
+    194,   0,  16,   0,   2,   0,
+      0,   0, 166,  14,  16,   0,
+      2,   0,   0,   0, 166,  14,
+     16,   0,   3,   0,   0,   0,
+     50,   0,   0,  15, 194,   0,
+     16,   0,   3,   0,   0,   0,
+    166,  14,  16,   0,   2,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 192,
+      0,   0,   0, 192,   2,  64,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     64,  64,   0,   0,  64,  64,
+     56,   0,   0,   7, 194,   0,
+     16,   0,   2,   0,   0,   0,
+    166,  14,  16,   0,   2,   0,
+      0,   0, 166,  14,  16,   0,
+      2,   0,   0,   0,  65,   0,
+      0,   5,  50,   0,  16,   0,
+      3,   0,   0,   0,  70,   0,
+     16,   0,   3,   0,   0,   0,
+     50,   0,   0,   9, 194,   0,
+     16,   0,   2,   0,   0,   0,
+    166,  14,  16,   0,   3,   0,
+      0,   0, 166,  14,  16,   0,
+      2,   0,   0,   0,   6,   4,
+     16,   0,   3,   0,   0,   0,
+      0,   0,   0,  10, 194,   0,
+     16,   0,   2,   0,   0,   0,
+    166,  14,  16,   0,   2,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,  63,  56,   0,
+      0,   8, 194,   0,  16,   0,
+      2,   0,   0,   0, 166,  14,
+     16,   0,   2,   0,   0,   0,
+      6, 132,  32,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+     73,   0,   0, 143, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    242,   0,  16,   0,   1,   0,
+      0,   0, 230,  10,  16,   0,
+      2,   0,   0,   0,  70, 126,
+     16,   0,   0,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0, 134,   0,  16,   0,
+      0,   0,   0,   0,  70,   0,
+     16,   0,   2,   0,   0,   0,
+     18,   0,   0,   1,  24,   0,
+      0,   8,  18,   0,  16,   0,
+      0,   0,   0,   0,  26, 128,
+     32,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0,  64,  64,
+     31,   0,   4,   3,  10,   0,
+     16,   0,   0,   0,   0,   0,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+     18,   0,  16,   0,   0,   0,
+      0,   0,  70,  16,  16,   0,
+      1,   0,   0,   0,  70, 126,
+     16,   0,   0,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0,  50,   0,   0,   9,
+     18,   0,  16,   0,   0,   0,
+      0,   0,  10,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 127,  67,
+      1,  64,   0,   0,   0,   0,
+      0,  63,  56,   0,   0,   7,
+     18,   0,  16,   0,   2,   0,
+      0,   0,  10,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 128,  59,
+     54,   0,   0,   5,  34,   0,
+     16,   0,   2,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+      0,  63,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0, 242,   0,  16,   0,
+      1,   0,   0,   0,  70,   0,
+     16,   0,   2,   0,   0,   0,
+     70, 126,  16,   0,   1,   0,
+      0,   0,   0,  96,  16,   0,
+      1,   0,   0,   0,  18,   0,
+      0,   1,  24,   0,   0,   8,
+     18,   0,  16,   0,   0,   0,
+      0,   0,  26, 128,  32,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 128,  64,  31,   0,
+      4,   3,  10,   0,  16,   0,
+      0,   0,   0,   0,  50,   0,
+      0,  13,  82,   0,  16,   0,
+      0,   0,   0,   0,   6,  17,
+     16,   0,   1,   0,   0,   0,
+    166, 139,  32,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0,  63,   0,   0,   0,   0,
+      0,   0,   0,  63,   0,   0,
+      0,   0,  65,   0,   0,   5,
+    242,   0,  16,   0,   2,   0,
+      0,   0, 134,   8,  16,   0,
+      0,   0,   0,   0,   0,   0,
+      0,  10, 242,   0,  16,   0,
+      2,   0,   0,   0,  70,  14,
+     16,   0,   2,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0, 191,   0,   0,   0, 191,
+      0,   0,   0,  63,   0,   0,
+      0,  63,  56,   0,   0,   8,
+    242,   0,  16,   0,   2,   0,
+      0,   0,  70,  14,  16,   0,
+      2,   0,   0,   0,  70, 132,
+     32,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,  26,   0,
+      0,   5,  82,   0,  16,   0,
+      0,   0,   0,   0,   6,   2,
+     16,   0,   0,   0,   0,   0,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  70,   0,  16,   0,
+      2,   0,   0,   0, 150, 115,
+     16,   0,   0,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0,  50,   0,   0,   9,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 127,  67,
+      1,  64,   0,   0,   0,   0,
+      0,  63,  56,   0,   0,   7,
+     18,   0,  16,   0,   3,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 128,  59,
+     54,   0,   0,   8, 162,   0,
+     16,   0,   3,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,   0,   0,   0,
+      0,  63,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0, 242,   0,  16,   0,
+      4,   0,   0,   0,  70,   0,
+     16,   0,   3,   0,   0,   0,
+     70, 126,  16,   0,   1,   0,
+      0,   0,   0,  96,  16,   0,
+      1,   0,   0,   0,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 130,   0,
+     16,   0,   0,   0,   0,   0,
+    198,   0,  16,   0,   2,   0,
+      0,   0, 150, 115,  16,   0,
+      0,   0,   0,   0,   0,  96,
+     16,   0,   0,   0,   0,   0,
+     50,   0,   0,   9, 130,   0,
+     16,   0,   0,   0,   0,   0,
+     58,   0,  16,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 127,  67,   1,  64,
+      0,   0,   0,   0,   0,  63,
+     56,   0,   0,   7,  66,   0,
+     16,   0,   3,   0,   0,   0,
+     58,   0,  16,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 128,  59,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 242,   0,
+     16,   0,   3,   0,   0,   0,
+    230,  10,  16,   0,   3,   0,
+      0,   0,  70, 126,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   1,   0,   0,   0,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    130,   0,  16,   0,   0,   0,
+      0,   0, 102,  10,  16,   0,
+      2,   0,   0,   0, 150, 115,
+     16,   0,   0,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0,  50,   0,   0,   9,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 127,  67,
+      1,  64,   0,   0,   0,   0,
+      0,  63,  56,   0,   0,   7,
+     18,   0,  16,   0,   5,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 128,  59,
+     54,   0,   0,   8, 162,   0,
+     16,   0,   5,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,   0,   0,   0,
+      0,  63,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0, 242,   0,  16,   0,
+      6,   0,   0,   0,  70,   0,
+     16,   0,   5,   0,   0,   0,
+     70, 126,  16,   0,   1,   0,
+      0,   0,   0,  96,  16,   0,
+      1,   0,   0,   0,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 130,   0,
+     16,   0,   0,   0,   0,   0,
+    230,  10,  16,   0,   2,   0,
+      0,   0, 150, 115,  16,   0,
+      0,   0,   0,   0,   0,  96,
+     16,   0,   0,   0,   0,   0,
+     50,   0,   0,   9, 130,   0,
+     16,   0,   0,   0,   0,   0,
+     58,   0,  16,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 127,  67,   1,  64,
+      0,   0,   0,   0,   0,  63,
+     56,   0,   0,   7,  66,   0,
+     16,   0,   5,   0,   0,   0,
+     58,   0,  16,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 128,  59,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 242,   0,
+     16,   0,   2,   0,   0,   0,
+    230,  10,  16,   0,   5,   0,
+      0,   0,  70, 126,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   1,   0,   0,   0,
+      0,   0,   0,   8, 242,   0,
+     16,   0,   3,   0,   0,   0,
+     70,  14,  16, 128,  65,   0,
+      0,   0,   4,   0,   0,   0,
+     70,  14,  16,   0,   3,   0,
+      0,   0,  50,   0,   0,   9,
+    242,   0,  16,   0,   3,   0,
+      0,   0, 166,  10,  16,   0,
+      0,   0,   0,   0,  70,  14,
+     16,   0,   3,   0,   0,   0,
+     70,  14,  16,   0,   4,   0,
+      0,   0,   0,   0,   0,   8,
+    242,   0,  16,   0,   2,   0,
+      0,   0,  70,  14,  16, 128,
+     65,   0,   0,   0,   6,   0,
+      0,   0,  70,  14,  16,   0,
+      2,   0,   0,   0,  50,   0,
+      0,   9, 242,   0,  16,   0,
+      2,   0,   0,   0, 166,  10,
+     16,   0,   0,   0,   0,   0,
+     70,  14,  16,   0,   2,   0,
+      0,   0,  70,  14,  16,   0,
+      6,   0,   0,   0,   0,   0,
+      0,   8, 242,   0,  16,   0,
+      2,   0,   0,   0,  70,  14,
+     16, 128,  65,   0,   0,   0,
+      3,   0,   0,   0,  70,  14,
+     16,   0,   2,   0,   0,   0,
+     50,   0,   0,   9, 242,   0,
+     16,   0,   1,   0,   0,   0,
+      6,   0,  16,   0,   0,   0,
+      0,   0,  70,  14,  16,   0,
+      2,   0,   0,   0,  70,  14,
+     16,   0,   3,   0,   0,   0,
+     18,   0,   0,   1,  24,   0,
+      0,   8,  18,   0,  16,   0,
+      0,   0,   0,   0,  26, 128,
+     32,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 160,  64,
+     31,   0,   4,   3,  10,   0,
+     16,   0,   0,   0,   0,   0,
+    122,   0,   0,   5,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,  17,  16,   0,   1,   0,
+      0,   0, 124,   0,   0,   5,
+     50,   0,  16,   0,   2,   0,
+      0,   0,  70,  16,  16,   0,
+      1,   0,   0,   0,   0,   0,
+      0,   9,  82,   0,  16,   0,
+      0,   0,   0,   0,   6,   2,
+     16, 128, 129,   0,   0,   0,
+      0,   0,   0,   0,   6,   1,
+     16, 128, 129,   0,   0,   0,
+      2,   0,   0,   0,  56,   0,
+      0,   8,  82,   0,  16,   0,
+      0,   0,   0,   0,   6,   2,
+     16,   0,   0,   0,   0,   0,
+    166, 139,  32,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+     52,   0,   0,  10,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+    172, 197,  39,  55,   0,   0,
+      0,   0, 172, 197,  39,  55,
+      0,   0,   0,   0,  51,   0,
+      0,  10,  82,   0,  16,   0,
+      0,   0,   0,   0,   6,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+    128,  63,   0,   0,   0,   0,
+      0,   0, 128,  63,   0,   0,
+      0,   0,  56,   0,   0,  10,
+     50,   0,  16,   0,   2,   0,
+      0,   0, 134,   0,  16,   0,
+      0,   0,   0,   0,   2,  64,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,  63,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     50,   0,   0,  11,  50,   0,
+     16,   0,   2,   0,   0,   0,
+     70,  16,  16,   0,   1,   0,
+      0,   0, 230, 138,  32,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,  70,   0,  16, 128,
+     65,   0,   0,   0,   2,   0,
+      0,   0,   0,   0,   0,  11,
+     82,   0,  16,   0,   0,   0,
+      0,   0,   6,   2,  16, 128,
+     65,   0,   0,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0, 128,  63,   0,   0,
+      0,   0,   0,   0, 128,  63,
+      0,   0,   0,   0,  26,   0,
+      0,   5, 194,   0,  16,   0,
+      2,   0,   0,   0,   6,   4,
+     16,   0,   2,   0,   0,   0,
+      0,   0,   0,  11,  50,   0,
+     16,   0,   3,   0,   0,   0,
+    134,   0,  16, 128,  65,   0,
+      0,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   8,
+     82,   0,  16,   0,   0,   0,
+      0,   0,   6,   2,  16, 128,
+     65,   0,   0,   0,   0,   0,
+      0,   0, 166,  11,  16,   0,
+      2,   0,   0,   0,  14,   0,
+      0,  10, 194,   0,  16,   0,
+      2,   0,   0,   0,   2,  64,
+      0,   0,   0,   0, 128,  63,
+      0,   0, 128,  63,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      6,   4,  16,   0,   3,   0,
+      0,   0,  56,  32,   0,   7,
+     82,   0,  16,   0,   0,   0,
+      0,   0,   6,   2,  16,   0,
+      0,   0,   0,   0, 166,  11,
+     16,   0,   2,   0,   0,   0,
+     50,   0,   0,  15, 194,   0,
+     16,   0,   2,   0,   0,   0,
+      6,   8,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 192,
+      0,   0,   0, 192,   2,  64,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     64,  64,   0,   0,  64,  64,
+     56,   0,   0,   7,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,   2,  16,   0,   0,   0,
+      0,   0,   6,   2,  16,   0,
+      0,   0,   0,   0,  65,   0,
+      0,   5,  50,   0,  16,   0,
+      2,   0,   0,   0,  70,   0,
+     16,   0,   2,   0,   0,   0,
+     50,   0,   0,   9,  82,   0,
+     16,   0,   0,   0,   0,   0,
+    166,  11,  16,   0,   2,   0,
+      0,   0,   6,   2,  16,   0,
+      0,   0,   0,   0,   6,   1,
+     16,   0,   2,   0,   0,   0,
+      0,   0,   0,  10,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,  63,   0,   0,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,   0,  56,   0,
+      0,   8,  82,   0,  16,   0,
+      0,   0,   0,   0,   6,   2,
+     16,   0,   0,   0,   0,   0,
+      6, 129,  32,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+     50,   0,   0,  13,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,   2,  16,   0,   0,   0,
+      0,   0, 166, 139,  32,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,  63,   0,   0,
+      0,   0,   0,   0,   0,  63,
+      0,   0,   0,   0,  65,   0,
+      0,   5, 242,   0,  16,   0,
+      2,   0,   0,   0, 134,   8,
+     16,   0,   0,   0,   0,   0,
+      0,   0,   0,  10, 242,   0,
+     16,   0,   2,   0,   0,   0,
+     70,  14,  16,   0,   2,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0, 191,   0,   0,
+      0, 191,   0,   0,   0,  63,
+      0,   0,   0,  63,  56,   0,
+      0,   8, 242,   0,  16,   0,
+      2,   0,   0,   0,  70,  14,
+     16,   0,   2,   0,   0,   0,
+     70, 132,  32,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+     26,   0,   0,   5,  82,   0,
+     16,   0,   0,   0,   0,   0,
+      6,   2,  16,   0,   0,   0,
+      0,   0,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0, 130,   0,  16,   0,
+      0,   0,   0,   0,  70,   0,
+     16,   0,   2,   0,   0,   0,
+    150, 115,  16,   0,   0,   0,
+      0,   0,   0,  96,  16,   0,
+      0,   0,   0,   0,  50,   0,
+      0,   9, 130,   0,  16,   0,
+      0,   0,   0,   0,  58,   0,
+     16,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+    127,  67,   1,  64,   0,   0,
+      0,   0,   0,  63,  56,   0,
+      0,   7,  18,   0,  16,   0,
+      3,   0,   0,   0,  58,   0,
+     16,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+    128,  59,  54,   0,   0,   8,
+    162,   0,  16,   0,   3,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,  63,   0,   0,   0,   0,
+      0,   0,   0,  63,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 242,   0,
+     16,   0,   4,   0,   0,   0,
+     70,   0,  16,   0,   3,   0,
+      0,   0,  70, 126,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   1,   0,   0,   0,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    130,   0,  16,   0,   0,   0,
+      0,   0, 198,   0,  16,   0,
+      2,   0,   0,   0, 150, 115,
+     16,   0,   0,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0,  50,   0,   0,   9,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 127,  67,
+      1,  64,   0,   0,   0,   0,
+      0,  63,  56,   0,   0,   7,
+     66,   0,  16,   0,   3,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 128,  59,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    242,   0,  16,   0,   3,   0,
+      0,   0, 230,  10,  16,   0,
+      3,   0,   0,   0,  70, 126,
+     16,   0,   1,   0,   0,   0,
+      0,  96,  16,   0,   1,   0,
+      0,   0,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0, 130,   0,  16,   0,
+      0,   0,   0,   0, 102,  10,
+     16,   0,   2,   0,   0,   0,
+    150, 115,  16,   0,   0,   0,
+      0,   0,   0,  96,  16,   0,
+      0,   0,   0,   0,  50,   0,
+      0,   9, 130,   0,  16,   0,
+      0,   0,   0,   0,  58,   0,
+     16,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+    127,  67,   1,  64,   0,   0,
+      0,   0,   0,  63,  56,   0,
+      0,   7,  18,   0,  16,   0,
+      5,   0,   0,   0,  58,   0,
+     16,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+    128,  59,  54,   0,   0,   8,
+    162,   0,  16,   0,   5,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,  63,   0,   0,   0,   0,
+      0,   0,   0,  63,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 242,   0,
+     16,   0,   6,   0,   0,   0,
+     70,   0,  16,   0,   5,   0,
+      0,   0,  70, 126,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   1,   0,   0,   0,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    130,   0,  16,   0,   0,   0,
+      0,   0, 230,  10,  16,   0,
+      2,   0,   0,   0, 150, 115,
+     16,   0,   0,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0,  50,   0,   0,   9,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 127,  67,
+      1,  64,   0,   0,   0,   0,
+      0,  63,  56,   0,   0,   7,
+     66,   0,  16,   0,   5,   0,
+      0,   0,  58,   0,  16,   0,
+      0,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 128,  59,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    242,   0,  16,   0,   2,   0,
+      0,   0, 230,  10,  16,   0,
+      5,   0,   0,   0,  70, 126,
+     16,   0,   1,   0,   0,   0,
+      0,  96,  16,   0,   1,   0,
+      0,   0,   0,   0,   0,   8,
+    242,   0,  16,   0,   3,   0,
+      0,   0,  70,  14,  16, 128,
+     65,   0,   0,   0,   4,   0,
+      0,   0,  70,  14,  16,   0,
+      3,   0,   0,   0,  50,   0,
+      0,   9, 242,   0,  16,   0,
+      3,   0,   0,   0, 166,  10,
+     16,   0,   0,   0,   0,   0,
+     70,  14,  16,   0,   3,   0,
+      0,   0,  70,  14,  16,   0,
+      4,   0,   0,   0,   0,   0,
+      0,   8, 242,   0,  16,   0,
+      2,   0,   0,   0,  70,  14,
+     16, 128,  65,   0,   0,   0,
+      6,   0,   0,   0,  70,  14,
+     16,   0,   2,   0,   0,   0,
+     50,   0,   0,   9, 242,   0,
+     16,   0,   2,   0,   0,   0,
+    166,  10,  16,   0,   0,   0,
+      0,   0,  70,  14,  16,   0,
+      2,   0,   0,   0,  70,  14,
+     16,   0,   6,   0,   0,   0,
+      0,   0,   0,   8, 242,   0,
+     16,   0,   2,   0,   0,   0,
+     70,  14,  16, 128,  65,   0,
+      0,   0,   3,   0,   0,   0,
+     70,  14,  16,   0,   2,   0,
+      0,   0,  50,   0,   0,   9,
+    242,   0,  16,   0,   1,   0,
+      0,   0,   6,   0,  16,   0,
+      0,   0,   0,   0,  70,  14,
+     16,   0,   2,   0,   0,   0,
+     70,  14,  16,   0,   3,   0,
+      0,   0,  18,   0,   0,   1,
+     24,   0,   0,   8,  18,   0,
+     16,   0,   0,   0,   0,   0,
+     26, 128,  32,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+    192,  64,  31,   0,   4,   3,
+     10,   0,  16,   0,   0,   0,
+      0,   0,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0,  18,   0,  16,   0,
+      0,   0,   0,   0,  70,  16,
+     16,   0,   1,   0,   0,   0,
+    198, 121,  16,   0,   0,   0,
+      0,   0,   0,  96,  16,   0,
+      0,   0,   0,   0,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 194,   0,
+     16,   0,   0,   0,   0,   0,
+     70,  16,  16,   0,   1,   0,
+      0,   0, 230, 116,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   0,   0,   0,   0,
+      0,   0,   0,   8, 210,   0,
+     16,   0,   0,   0,   0,   0,
+      6,  14,  16,   0,   0,   0,
+      0,   0,   6, 137,  32,   0,
+      0,   0,   0,   0,   3,   0,
+      0,   0,  16,   0,   0,   8,
+     18,   0,  16,   0,   1,   0,
+      0,   0, 134,   3,  16,   0,
+      0,   0,   0,   0,  70, 130,
+     32,   0,   0,   0,   0,   0,
+      4,   0,   0,   0,  16,   0,
+      0,   8,  34,   0,  16,   0,
+      1,   0,   0,   0, 134,   3,
+     16,   0,   0,   0,   0,   0,
+     70, 130,  32,   0,   0,   0,
+      0,   0,   5,   0,   0,   0,
+     16,   0,   0,   8,  66,   0,
+     16,   0,   1,   0,   0,   0,
+    134,   3,  16,   0,   0,   0,
+      0,   0,  70, 130,  32,   0,
+      0,   0,   0,   0,   6,   0,
+      0,   0,  18,   0,   0,   1,
+     24,   0,   0,   8,  18,   0,
+     16,   0,   0,   0,   0,   0,
+     26, 128,  32,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+    224,  64,  31,   0,   4,   3,
+     10,   0,  16,   0,   0,   0,
+      0,   0,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0,  18,   0,  16,   0,
+      0,   0,   0,   0,  70,  16,
+     16,   0,   1,   0,   0,   0,
+    198, 121,  16,   0,   0,   0,
+      0,   0,   0,  96,  16,   0,
+      0,   0,   0,   0,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0, 194,   0,
+     16,   0,   0,   0,   0,   0,
+     70,  16,  16,   0,   1,   0,
+      0,   0, 230, 113,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   0,   0,   0,   0,
+      0,   0,   0,   8, 210,   0,
+     16,   0,   0,   0,   0,   0,
+      6,  14,  16,   0,   0,   0,
+      0,   0,   6, 137,  32,   0,
+      0,   0,   0,   0,   3,   0,
+      0,   0,  16,   0,   0,   8,
+     18,   0,  16,   0,   1,   0,
+      0,   0, 134,   3,  16,   0,
+      0,   0,   0,   0,  70, 130,
+     32,   0,   0,   0,   0,   0,
+      4,   0,   0,   0,  16,   0,
+      0,   8,  34,   0,  16,   0,
+      1,   0,   0,   0, 134,   3,
+     16,   0,   0,   0,   0,   0,
+     70, 130,  32,   0,   0,   0,
+      0,   0,   5,   0,   0,   0,
+     16,   0,   0,   8,  66,   0,
+     16,   0,   1,   0,   0,   0,
+    134,   3,  16,   0,   0,   0,
+      0,   0,  70, 130,  32,   0,
+      0,   0,   0,   0,   6,   0,
+      0,   0,  18,   0,   0,   1,
+     24,   0,   0,   8,  18,   0,
+     16,   0,   0,   0,   0,   0,
+     26, 128,  32,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+      0,  65,  31,   0,   4,   3,
+     10,   0,  16,   0,   0,   0,
+      0,   0,  69,   0,   0, 139,
+    194,   0,   0, 128,  67,  85,
+     21,   0,  18,   0,  16,   0,
+      0,   0,   0,   0,  70,  16,
+     16,   0,   1,   0,   0,   0,
+    198, 121,  16,   0,   0,   0,
+      0,   0,   0,  96,  16,   0,
+      0,   0,   0,   0,  69,   0,
+      0, 139, 194,   0,   0, 128,
+     67,  85,  21,   0,  66,   0,
+     16,   0,   0,   0,   0,   0,
+     70,  16,  16,   0,   1,   0,
+      0,   0, 214, 120,  16,   0,
+      1,   0,   0,   0,   0,  96,
+     16,   0,   0,   0,   0,   0,
+     69,   0,   0, 139, 194,   0,
+      0, 128,  67,  85,  21,   0,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  70,  16,  16,   0,
+      1,   0,   0,   0, 214, 114,
+     16,   0,   2,   0,   0,   0,
+      0,  96,  16,   0,   0,   0,
+      0,   0,   0,   0,   0,   8,
+    210,   0,  16,   0,   0,   0,
+      0,   0,   6,  14,  16,   0,
+      0,   0,   0,   0,   6, 137,
+     32,   0,   0,   0,   0,   0,
+      3,   0,   0,   0,  16,   0,
+      0,   8,  18,   0,  16,   0,
+      1,   0,   0,   0, 134,   3,
+     16,   0,   0,   0,   0,   0,
+     70, 130,  32,   0,   0,   0,
+      0,   0,   4,   0,   0,   0,
+     16,   0,   0,   8,  34,   0,
+     16,   0,   1,   0,   0,   0,
+    134,   3,  16,   0,   0,   0,
+      0,   0,  70, 130,  32,   0,
+      0,   0,   0,   0,   5,   0,
+      0,   0,  16,   0,   0,   8,
+     66,   0,  16,   0,   1,   0,
+      0,   0, 134,   3,  16,   0,
+      0,   0,   0,   0,  70, 130,
+     32,   0,   0,   0,   0,   0,
+      6,   0,   0,   0,  18,   0,
+      0,   1,  54,   0,   0,   8,
+    114,   0,  16,   0,   1,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0, 128,  63,   0,   0,
+      0,   0,   0,   0, 128,  63,
+      0,   0,   0,   0,  21,   0,
+      0,   1,  21,   0,   0,   1,
+     21,   0,   0,   1,  54,   0,
+      0,   5, 130,   0,  16,   0,
+      1,   0,   0,   0,   1,  64,
+      0,   0,   0,   0, 128,  63,
+     21,   0,   0,   1,  21,   0,
+      0,   1,  21,   0,   0,   1,
+     21,   0,   0,   1,  21,   0,
+      0,   1,  21,   0,   0,   1,
+     31,   0,   4,   3,  26,   0,
+     16,   0,   0,   0,   0,   0,
+     47,   0,   0,   6, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16, 128, 129,   0,
+      0,   0,   1,   0,   0,   0,
+     56,   0,   0,  10, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+    172, 205,  79,  60, 172, 205,
+     79,  60, 172, 205,  79,  60,
+      0,   0,   0,   0,  25,   0,
+      0,   5, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      0,   0,   0,  10, 114,   0,
+     16,   0,   2,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,  86, 191,   0,   0,
+     86, 191,   0,   0,  86, 191,
+      0,   0,   0,   0,  52,   0,
+      0,  10, 114,   0,  16,   0,
+      2,   0,   0,   0,  70,   2,
+     16,   0,   2,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,  50,   0,   0,  16,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16, 128,
+     65,   0,   0,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0, 128, 149,  65,   0, 128,
+    149,  65,   0, 128, 149,  65,
+      0,   0,   0,   0,   2,  64,
+      0,   0,   0, 208, 150,  65,
+      0, 208, 150,  65,   0, 208,
+    150,  65,   0,   0,   0,   0,
+     14,   0,   0,   7, 114,   0,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   2,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  47,   0,
+      0,   6, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16, 128, 129,   0,   0,   0,
+      0,   0,   0,   0,  56,   0,
+      0,  10, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0, 107, 224,
+    200,  64, 107, 224, 200,  64,
+    107, 224, 200,  64,   0,   0,
+      0,   0,  25,   0,   0,   5,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  56,   0,
+      0,  10, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0,  64,
+     28,  70,   0,  64,  28,  70,
+      0,  64,  28,  70,   0,   0,
+      0,   0,  14,   0,   0,   8,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0, 246, 143,
+     32,   0,   0,   0,   0,   0,
+      2,   0,   0,   0,  18,   0,
+      0,   1,  24,   0,   0,   8,
+    130,   0,  16,   0,   0,   0,
+      0,   0,  42, 128,  32,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   1,  64,   0,   0,
+      0,   0, 128,  63,  31,   0,
+      4,   3,  58,   0,  16,   0,
+      0,   0,   0,   0,  29,   0,
+      0,  10, 114,   0,  16,   0,
+      2,   0,   0,   0,   2,  64,
+      0,   0, 230, 174,  37,  61,
+    230, 174,  37,  61, 230, 174,
+     37,  61,   0,   0,   0,   0,
+     70,   2,  16,   0,   1,   0,
+      0,   0,  56,   0,   0,  10,
+    114,   0,  16,   0,   3,   0,
+      0,   0,  70,   2,  16,   0,
+      1,   0,   0,   0,   2,  64,
+      0,   0, 145, 131, 158,  61,
+    145, 131, 158,  61, 145, 131,
+    158,  61,   0,   0,   0,   0,
+      0,   0,   0,  10, 114,   0,
+     16,   0,   4,   0,   0,   0,
+     70,   2,  16,   0,   1,   0,
+      0,   0,   2,  64,   0,   0,
+    174,  71,  97,  61, 174,  71,
+     97,  61, 174,  71,  97,  61,
+      0,   0,   0,   0,  56,   0,
+      0,  11, 114,   0,  16,   0,
+      4,   0,   0,   0,  70,   2,
+     16, 128, 129,   0,   0,   0,
+      4,   0,   0,   0,   2,  64,
+      0,   0, 111, 167, 114,  63,
+    111, 167, 114,  63, 111, 167,
+    114,  63,   0,   0,   0,   0,
+     47,   0,   0,   5, 114,   0,
+     16,   0,   4,   0,   0,   0,
+     70,   2,  16,   0,   4,   0,
+      0,   0,  56,   0,   0,  10,
+    114,   0,  16,   0,   4,   0,
+      0,   0,  70,   2,  16,   0,
+      4,   0,   0,   0,   2,  64,
+      0,   0, 154, 153,  25,  64,
+    154, 153,  25,  64, 154, 153,
+     25,  64,   0,   0,   0,   0,
+     25,   0,   0,   5, 114,   0,
+     16,   0,   4,   0,   0,   0,
+     70,   2,  16,   0,   4,   0,
+      0,   0,  55,   0,   0,   9,
+    114,   0,  16,   0,   1,   0,
+      0,   0,  70,   2,  16,   0,
+      2,   0,   0,   0,  70,   2,
+     16,   0,   3,   0,   0,   0,
+     70,   2,  16,   0,   4,   0,
+      0,   0,  21,   0,   0,   1,
+     16,   0,   0,  10,  18,   0,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0, 140, 157,
+     32,  63, 200, 151, 168,  62,
+    249, 104,  49,  61,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      1,   0,   0,   0,  16,   0,
+      0,  10,  34,   0,  16,   0,
+      0,   0,   0,   0,   2,  64,
+      0,   0, 186, 130, 141,  61,
+     10, 103, 107,  63, 175,  39,
+     58,  60,   0,   0,   0,   0,
+     70,   2,  16,   0,   1,   0,
+      0,   0,  16,   0,   0,  10,
+     66,   0,  16,   0,   0,   0,
+      0,   0,   2,  64,   0,   0,
+    107,  70, 134,  60,  41,  64,
+    180,  61, 183,  69, 101,  63,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   1,   0,   0,   0,
+     21,   0,   0,   1,  57,   0,
+      0,   8, 130,   0,  16,   0,
+      0,   0,   0,   0,  10, 128,
+     32,   0,   0,   0,   0,   0,
+      2,   0,   0,   0,   1,  64,
+      0,   0,   0,   0,   0,   0,
+     56,   0,   0,   8, 114,   0,
+     16,   0,   1,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,  86, 133,  32,   0,
+      0,   0,   0,   0,   2,   0,
+      0,   0,  24,   0,   0,  11,
+     50,   0,  16,   0,   2,   0,
+      0,   0,   6, 128,  32,   0,
+      0,   0,   0,   0,   2,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0, 128,  63,   0,   0,
+      0,  64,   0,   0,   0,   0,
+      0,   0,   0,   0,  52,   0,
+      0,   7,  66,   0,  16,   0,
+      2,   0,   0,   0,  42,   0,
+     16,   0,   0,   0,   0,   0,
+     26,   0,  16,   0,   0,   0,
+      0,   0,  52,   0,   0,   7,
+     66,   0,  16,   0,   2,   0,
+      0,   0,  10,   0,  16,   0,
+      0,   0,   0,   0,  42,   0,
+     16,   0,   2,   0,   0,   0,
+     49,   0,   0,   7, 130,   0,
+     16,   0,   2,   0,   0,   0,
+      1,  64,   0,   0,   0,   0,
+      0,   0,  42,   0,  16,   0,
+      2,   0,   0,   0,  50,   0,
+      0,  13,  50,   0,  16,   0,
+      3,   0,   0,   0, 150, 133,
+     32,   0,   0,   0,   0,   0,
+      2,   0,   0,   0, 166,  10,
+     16,   0,   2,   0,   0,   0,
+      2,  64,   0,   0,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      0,   0,   0,   0,   0,   0,
+      0,   0,  14,   0,   0,   7,
+     66,   0,  16,   0,   2,   0,
+      0,   0,  10,   0,  16,   0,
+      3,   0,   0,   0,  26,   0,
+     16,   0,   3,   0,   0,   0,
+     56,   0,   0,   7, 114,   0,
+     16,   0,   3,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0, 166,  10,  16,   0,
+      2,   0,   0,   0,  55,   0,
+      0,   9, 114,   0,  16,   0,
+      3,   0,   0,   0, 246,  15,
+     16,   0,   2,   0,   0,   0,
+     70,   2,  16,   0,   3,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  55,   0,
+      0,   9, 226,   0,  16,   0,
+      2,   0,   0,   0,  86,   5,
+     16,   0,   2,   0,   0,   0,
+      6,   9,  16,   0,   3,   0,
+      0,   0,   6,   9,  16,   0,
+      0,   0,   0,   0,  55,   0,
+      0,   9, 114,   0,  16,   0,
+      1,   0,   0,   0,   6,   0,
+     16,   0,   2,   0,   0,   0,
+     70,   2,  16,   0,   1,   0,
+      0,   0, 150,   7,  16,   0,
+      2,   0,   0,   0,  55,   0,
+      0,   9, 114,   0,  16,   0,
+      0,   0,   0,   0, 246,  15,
+     16,   0,   0,   0,   0,   0,
+     70,   2,  16,   0,   1,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  56,   0,
+      0,   7, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+     70,  18,  16,   0,   2,   0,
+      0,   0,  56,   0,   0,   8,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0, 246, 143,
+     32,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,  56,  32,
+      0,  10, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0, 110,  18,
+      3,  60, 110,  18,   3,  60,
+    110,  18,   3,  60,   0,   0,
+      0,   0,  47,   0,   0,   5,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  56,   0,
+      0,  10, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0,  32,
+     35,  62,   0,  32,  35,  62,
+      0,  32,  35,  62,   0,   0,
+      0,   0,  25,   0,   0,   5,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  50,   0,
+      0,  15, 114,   0,  16,   0,
+      1,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0, 208,
+    150,  65,   0, 208, 150,  65,
+      0, 208, 150,  65,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0,  86,  63,   0,   0,
+     86,  63,   0,   0,  86,  63,
+      0,   0,   0,   0,  50,   0,
+      0,  15, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0, 128,
+    149,  65,   0, 128, 149,  65,
+      0, 128, 149,  65,   0,   0,
+      0,   0,   2,  64,   0,   0,
+      0,   0, 128,  63,   0,   0,
+    128,  63,   0,   0, 128,  63,
+      0,   0,   0,   0,  14,   0,
+      0,   7, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   1,   0,   0,   0,
+     70,   2,  16,   0,   0,   0,
+      0,   0,  47,   0,   0,   5,
+    114,   0,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  56,   0,
+      0,  10, 114,   0,  16,   0,
+      0,   0,   0,   0,  70,   2,
+     16,   0,   0,   0,   0,   0,
+      2,  64,   0,   0,   0, 176,
+    157,  66,   0, 176, 157,  66,
+      0, 176, 157,  66,   0,   0,
+      0,   0,  25,   0,   0,   5,
+    114,  32,  16,   0,   0,   0,
+      0,   0,  70,   2,  16,   0,
+      0,   0,   0,   0,  56,   0,
+      0,   7, 130,  32,  16,   0,
+      0,   0,   0,   0,  58,   0,
+     16,   0,   1,   0,   0,   0,
+     58,  16,  16,   0,   2,   0,
+      0,   0,  62,   0,   0,   1,
+     83,  84,  65,  84, 148,   0,
+      0,   0, 219,   0,   0,   0,
+      7,   0,   0,   0,   0,   0,
+      0,   0,   3,   0,   0,   0,
+    146,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     11,   0,   0,   0,  11,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,  26,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+      8,   0,   0,   0,   5,   0,
+      0,   0,   8,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0
+};

+ 7 - 0
src/render/direct3d11/D3D11_PixelShader_Textures_PQ.hlsl

@@ -0,0 +1,7 @@
+
+#include "D3D11_PixelShader_Common.hlsli"
+
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+    return PQTexturePixelShader(input);
+}

+ 180 - 0
src/render/direct3d11/D3D11_PixelShader_Textures_Simple.h

@@ -0,0 +1,180 @@
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.1
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sampler0                          sampler      NA          NA             s0      1
+// texture0                          texture  float4          2d             t0      1
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_POSITION              0   xyzw        0      POS   float
+// TEXCOORD                 0   xy          1     NONE   float   xy
+// COLOR                    0   xyzw        2     NONE   float
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_0
+    dcl t0.xy
+    dcl_2d s0
+    texld r0, t0, s0
+    mov oC0, r0
+
+// approximately 2 instruction slots used (1 texture, 1 arithmetic)
+ps_4_0
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_input_ps linear v1.xy
+dcl_output o0.xyzw
+sample o0.xyzw, v1.xyxx, t0.xyzw, s0
+ret
+// Approximately 2 instruction slots used
+#endif
+
+const BYTE g_main[] =
+{
+     68,  88,  66,  67,  18,   8,
+     98, 245, 246,  86,  17, 179,
+    252, 183, 251,  54,  87,  18,
+     59, 157,   1,   0,   0,   0,
+    212,   2,   0,   0,   6,   0,
+      0,   0,  56,   0,   0,   0,
+    164,   0,   0,   0,  16,   1,
+      0,   0, 140,   1,   0,   0,
+     44,   2,   0,   0, 160,   2,
+      0,   0,  65, 111, 110,  57,
+    100,   0,   0,   0, 100,   0,
+      0,   0,   0,   2, 255, 255,
+     60,   0,   0,   0,  40,   0,
+      0,   0,   0,   0,  40,   0,
+      0,   0,  40,   0,   0,   0,
+     40,   0,   1,   0,  36,   0,
+      0,   0,  40,   0,   0,   0,
+      0,   0,   0,   2, 255, 255,
+     31,   0,   0,   2,   0,   0,
+      0, 128,   0,   0,   3, 176,
+     31,   0,   0,   2,   0,   0,
+      0, 144,   0,   8,  15, 160,
+     66,   0,   0,   3,   0,   0,
+     15, 128,   0,   0, 228, 176,
+      0,   8, 228, 160,   1,   0,
+      0,   2,   0,   8,  15, 128,
+      0,   0, 228, 128, 255, 255,
+      0,   0,  83,  72,  68,  82,
+    100,   0,   0,   0,  64,   0,
+      0,   0,  25,   0,   0,   0,
+     90,   0,   0,   3,   0,  96,
+     16,   0,   0,   0,   0,   0,
+     88,  24,   0,   4,   0, 112,
+     16,   0,   0,   0,   0,   0,
+     85,  85,   0,   0,  98,  16,
+      0,   3,  50,  16,  16,   0,
+      1,   0,   0,   0, 101,   0,
+      0,   3, 242,  32,  16,   0,
+      0,   0,   0,   0,  69,   0,
+      0,   9, 242,  32,  16,   0,
+      0,   0,   0,   0,  70,  16,
+     16,   0,   1,   0,   0,   0,
+     70, 126,  16,   0,   0,   0,
+      0,   0,   0,  96,  16,   0,
+      0,   0,   0,   0,  62,   0,
+      0,   1,  83,  84,  65,  84,
+    116,   0,   0,   0,   2,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+     82,  68,  69,  70, 152,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   0,
+      0,   0,  28,   0,   0,   0,
+      0,   4, 255, 255,   0,   1,
+      0,   0, 110,   0,   0,   0,
+     92,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      1,   0,   0,   0,   1,   0,
+      0,   0, 101,   0,   0,   0,
+      2,   0,   0,   0,   5,   0,
+      0,   0,   4,   0,   0,   0,
+    255, 255, 255, 255,   0,   0,
+      0,   0,   1,   0,   0,   0,
+     13,   0,   0,   0, 115,  97,
+    109, 112, 108, 101, 114,  48,
+      0, 116, 101, 120, 116, 117,
+    114, 101,  48,   0,  77, 105,
+     99, 114, 111, 115, 111, 102,
+    116,  32,  40,  82,  41,  32,
+     72,  76,  83,  76,  32,  83,
+    104,  97, 100, 101, 114,  32,
+     67, 111, 109, 112, 105, 108,
+    101, 114,  32,  49,  48,  46,
+     49,   0, 171, 171,  73,  83,
+     71,  78, 108,   0,   0,   0,
+      3,   0,   0,   0,   8,   0,
+      0,   0,  80,   0,   0,   0,
+      0,   0,   0,   0,   1,   0,
+      0,   0,   3,   0,   0,   0,
+      0,   0,   0,   0,  15,   0,
+      0,   0,  92,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   3,   0,   0,   0,
+      1,   0,   0,   0,   3,   3,
+      0,   0, 101,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   3,   0,   0,   0,
+      2,   0,   0,   0,  15,   0,
+      0,   0,  83,  86,  95,  80,
+     79,  83,  73,  84,  73,  79,
+     78,   0,  84,  69,  88,  67,
+     79,  79,  82,  68,   0,  67,
+     79,  76,  79,  82,   0, 171,
+     79,  83,  71,  78,  44,   0,
+      0,   0,   1,   0,   0,   0,
+      8,   0,   0,   0,  32,   0,
+      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   0,   0,
+     15,   0,   0,   0,  83,  86,
+     95,  84,  65,  82,  71,  69,
+     84,   0, 171, 171
+};

+ 7 - 0
src/render/direct3d11/D3D11_PixelShader_Textures_Simple.hlsl

@@ -0,0 +1,7 @@
+
+#include "D3D11_PixelShader_Common.hlsli"
+
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+    return texture0.Sample(sampler0, input.tex);
+}

+ 48 - 20
src/render/direct3d11/SDL_render_d3d11.c

@@ -278,7 +278,8 @@ static DXGI_FORMAT SDLPixelFormatToDXGITextureFormat(Uint32 format, Uint32 outpu
     default:
         for (int i = 0; i < SDL_arraysize(dxgi_format_map); i++) {
             if (dxgi_format_map[i].sdl == format) {
-                if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
+                if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR ||
+                    output_colorspace == SDL_COLORSPACE_HDR10) {
                     return dxgi_format_map[i].srgb;
                 } else {
                     return dxgi_format_map[i].unorm;
@@ -1943,7 +1944,7 @@ static bool D3D11_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd
     cmd->data.draw.count = count;
 
     if (convert_color) {
-        SDL_ConvertToLinear(&color);
+        SDL_ConvertToLinear(renderer, &color);
     }
 
     for (i = 0; i < count; i++) {
@@ -1997,7 +1998,7 @@ static bool D3D11_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
         verts->pos.y = xy_[1] * scale_y;
         verts->color = *(SDL_FColor *)((char *)color + j * color_stride);
         if (convert_color) {
-            SDL_ConvertToLinear(&verts->color);
+            SDL_ConvertToLinear(renderer, &verts->color);
         }
 
         if (texture) {
@@ -2281,19 +2282,39 @@ static void D3D11_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC
     }
 }
 
-static D3D11_Shader SelectShader(const D3D11_PixelShaderConstants *shader_constants)
+static D3D11_Shader SelectShader(SDL_Renderer *renderer, const D3D11_PixelShaderConstants *shader_constants)
 {
-    if (!shader_constants) {
-        return SHADER_SOLID;
-    }
+    if (shader_constants) {
+        if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+            float SDR_white_point;
+            if (renderer->target) {
+                SDR_white_point = renderer->target->SDR_white_point;
+            } else {
+                SDR_white_point = renderer->SDR_white_point;
+            }
+            if (shader_constants->input_type == INPUTTYPE_HDR10 &&
+                shader_constants->color_scale == SDR_white_point) {
+                // Do a simple 1-1 copy
+                return SHADER_RGB_SIMPLE;
+            } else {
+                return SHADER_RGB_PQ;
+            }
+        }
 
-    if (shader_constants->texture_type == TEXTURETYPE_RGB &&
-        shader_constants->input_type == INPUTTYPE_UNSPECIFIED &&
-        shader_constants->tonemap_method == TONEMAP_NONE) {
-        return SHADER_RGB;
-    }
+        if (shader_constants->texture_type == TEXTURETYPE_RGB &&
+            shader_constants->input_type == INPUTTYPE_UNSPECIFIED &&
+            shader_constants->tonemap_method == TONEMAP_NONE) {
+            return SHADER_RGB;
+        }
 
-    return SHADER_ADVANCED;
+        return SHADER_ADVANCED;
+    } else {
+        if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+            return SHADER_SOLID_PQ;
+        }
+
+        return SHADER_SOLID;
+    }
 }
 
 static bool D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd,
@@ -2309,7 +2330,7 @@ static bool D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *
     const SDL_BlendMode blendMode = cmd->data.draw.blend;
     ID3D11BlendState *blendState = NULL;
     bool updateSubresource = false;
-    D3D11_Shader shader = SelectShader(shader_constants);
+    D3D11_Shader shader = SelectShader(renderer, shader_constants);
     D3D11_PixelShaderState *shader_state = &rendererData->currentShaderState[shader];
     D3D11_PixelShaderConstants solid_constants;
 
@@ -2650,14 +2671,21 @@ static bool D3D11_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd
 
         case SDL_RENDERCMD_CLEAR:
         {
-            bool convert_color = SDL_RenderingLinearSpace(renderer);
             SDL_FColor color = cmd->data.color.color;
-            if (convert_color) {
-                SDL_ConvertToLinear(&color);
+            if (SDL_RenderingLinearSpace(renderer)) {
+                SDL_ConvertToLinear(renderer, &color);
             }
+
             color.r *= cmd->data.color.color_scale;
             color.g *= cmd->data.color.color_scale;
             color.b *= cmd->data.color.color_scale;
+
+            if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+                color.r = SDL_PQfromNits(color.r * 80.0f);
+                color.g = SDL_PQfromNits(color.g * 80.0f);
+                color.b = SDL_PQfromNits(color.b * 80.0f);
+            }
+
             ID3D11DeviceContext_ClearRenderTargetView(rendererData->d3dContext, D3D11_GetCurrentRenderTargetView(renderer), &color.r);
             break;
         }
@@ -2869,7 +2897,7 @@ static SDL_Surface *D3D11_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec
     output = SDL_DuplicatePixels(
         rect->w, rect->h,
         D3D11_DXGIFormatToSDLPixelFormat(stagingTextureDesc.Format),
-        renderer->target ? renderer->target->colorspace : renderer->output_colorspace,
+        renderer->current_colorspace,
         textureMemory.pData,
         textureMemory.RowPitch);
 
@@ -2955,8 +2983,8 @@ static bool D3D11_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL
     SDL_SetupRendererColorspace(renderer, create_props);
 
     if (renderer->output_colorspace != SDL_COLORSPACE_SRGB &&
-        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR
-        /*&& renderer->output_colorspace != SDL_COLORSPACE_HDR10*/) {
+        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR &&
+        renderer->output_colorspace != SDL_COLORSPACE_HDR10) {
         return SDL_SetError("Unsupported output colorspace");
     }
 

+ 15 - 0
src/render/direct3d11/SDL_shaders_d3d11.c

@@ -38,6 +38,10 @@
 #include "D3D11_PixelShader_Colors.h"
 #undef g_main
 
+#define g_main D3D11_PixelShader_Colors_PQ
+#include "D3D11_PixelShader_Colors_PQ.h"
+#undef g_main
+
 #define g_main D3D11_PixelShader_Textures
 #include "D3D11_PixelShader_Textures.h"
 #undef g_main
@@ -46,6 +50,14 @@
 #include "D3D11_PixelShader_Advanced.h"
 #undef g_main
 
+#define g_main D3D11_PixelShader_Textures_PQ
+#include "D3D11_PixelShader_Textures_PQ.h"
+#undef g_main
+
+#define g_main D3D11_PixelShader_Textures_Simple
+#include "D3D11_PixelShader_Textures_Simple.h"
+#undef g_main
+
 #define g_main D3D11_VertexShader
 #include "D3D11_VertexShader.h"
 #undef g_main
@@ -58,8 +70,11 @@ static struct
 } D3D11_shaders[] = {
     { NULL, 0 },
     { D3D11_PixelShader_Colors, sizeof(D3D11_PixelShader_Colors) },
+    { D3D11_PixelShader_Colors_PQ, sizeof(D3D11_PixelShader_Colors_PQ) },
     { D3D11_PixelShader_Textures, sizeof(D3D11_PixelShader_Textures) },
     { D3D11_PixelShader_Advanced, sizeof(D3D11_PixelShader_Advanced) },
+    { D3D11_PixelShader_Textures_PQ, sizeof(D3D11_PixelShader_Textures_PQ) },
+    { D3D11_PixelShader_Textures_Simple, sizeof(D3D11_PixelShader_Textures_Simple) },
 };
 SDL_COMPILE_TIME_ASSERT(D3D11_shaders, SDL_arraysize(D3D11_shaders) == NUM_SHADERS);
 

+ 3 - 0
src/render/direct3d11/SDL_shaders_d3d11.h

@@ -26,8 +26,11 @@ typedef enum
 {
     SHADER_NONE,
     SHADER_SOLID,
+    SHADER_SOLID_PQ,
     SHADER_RGB,
     SHADER_ADVANCED,
+    SHADER_RGB_PQ,
+    SHADER_RGB_SIMPLE,
     NUM_SHADERS
 } D3D11_Shader;
 

+ 3 - 0
src/render/direct3d11/compile_shaders.bat

@@ -1,4 +1,7 @@
 fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Colors.h D3D11_PixelShader_Colors.hlsl
+fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Colors_PQ.h D3D11_PixelShader_Colors_PQ.hlsl
 fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Textures.h D3D11_PixelShader_Textures.hlsl
+fxc /T ps_5_0 /Fh D3D11_PixelShader_Textures_PQ.h D3D11_PixelShader_Textures_PQ.hlsl
+fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Textures_Simple.h D3D11_PixelShader_Textures_Simple.hlsl
 fxc /T ps_5_0 /Fh D3D11_PixelShader_Advanced.h D3D11_PixelShader_Advanced.hlsl
 fxc /T vs_4_0_level_9_1 /Fh D3D11_VertexShader.h D3D11_VertexShader.hlsl

+ 751 - 735
src/render/direct3d12/D3D12_PixelShader_Advanced.h

@@ -15,13 +15,26 @@
 ; -------------------- ----- ------ -------- -------- ------- ------
 ; SV_Target                0   xyzw        0   TARGET   float   xyzw
 ;
-; shader hash: f246f76536638c165bb49487d071f8f4
+; shader hash: e5783cacc834e5aa4aabc65f81586b3b
 ;
 ; Pipeline Runtime Information:
 ;
+;PSVRuntimeInfo:
 ; Pixel Shader
 ; DepthOutput=0
 ; SampleFrequency=0
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 1
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 1
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: main
 ;
 ;
 ; Input signature:
@@ -184,7 +197,7 @@ define void @main() {
   %75 = fadd fast float %73, %69
   %76 = extractvalue %dx.types.CBufRet.f32 %37, 0
   %77 = extractvalue %dx.types.CBufRet.f32 %37, 1
-  %78 = fmul fast float %76, %74
+  %78 = fmul fast float %74, %76
   %79 = fmul fast float %75, %77
   %80 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %3, %dx.types.Handle %5, float %78, float %79, float undef, float undef, i32 0, i32 0, i32 undef, float %27, float %28, float undef, float %31, float %32, float undef, float undef)  ; SampleGrad(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,ddx0,ddx1,ddx2,ddy0,ddy1,ddy2,clamp)
   %81 = extractvalue %dx.types.ResRet.f32 %80, 0
@@ -227,12 +240,12 @@ define void @main() {
   %110 = fadd fast float %108, -5.000000e-01
   %111 = extractvalue %dx.types.CBufRet.f32 %100, 0
   %112 = extractvalue %dx.types.CBufRet.f32 %100, 1
-  %113 = fmul fast float %111, %109
-  %114 = fmul fast float %112, %110
+  %113 = fmul fast float %109, %111
+  %114 = fmul fast float %110, %112
   %115 = fadd fast float %107, 5.000000e-01
   %116 = fadd fast float %108, 5.000000e-01
-  %117 = fmul fast float %111, %115
-  %118 = fmul fast float %112, %116
+  %117 = fmul fast float %115, %111
+  %118 = fmul fast float %116, %112
   %119 = call float @dx.op.unary.f32(i32 22, float %105)  ; Frc(value)
   %120 = call float @dx.op.unary.f32(i32 22, float %106)  ; Frc(value)
   %121 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %113, float %114, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
@@ -365,22 +378,22 @@ define void @main() {
   %244 = fadd fast float %242, %238
   %245 = extractvalue %dx.types.CBufRet.f32 %206, 0
   %246 = extractvalue %dx.types.CBufRet.f32 %206, 1
-  %247 = fmul fast float %245, %243
-  %248 = fmul fast float %244, %246
-  %249 = fmul fast float %247, %207
-  %250 = fmul fast float %248, %208
-  %251 = fadd fast float %249, 5.000000e-01
+  %247 = fmul fast float %207, %245
+  %248 = fmul fast float %247, %243
+  %249 = fmul fast float %208, %246
+  %250 = fmul fast float %249, %244
+  %251 = fadd fast float %248, 5.000000e-01
   %252 = fadd fast float %250, 5.000000e-01
   %253 = call float @dx.op.unary.f32(i32 27, float %251)  ; Round_ni(value)
   %254 = call float @dx.op.unary.f32(i32 27, float %252)  ; Round_ni(value)
   %255 = fadd fast float %253, -5.000000e-01
   %256 = fadd fast float %254, -5.000000e-01
-  %257 = fmul fast float %245, %255
-  %258 = fmul fast float %246, %256
+  %257 = fmul fast float %255, %245
+  %258 = fmul fast float %256, %246
   %259 = fadd fast float %253, 5.000000e-01
   %260 = fadd fast float %254, 5.000000e-01
-  %261 = fmul fast float %245, %259
-  %262 = fmul fast float %246, %260
+  %261 = fmul fast float %259, %245
+  %262 = fmul fast float %260, %246
   %263 = call float @dx.op.unary.f32(i32 22, float %251)  ; Frc(value)
   %264 = call float @dx.op.unary.f32(i32 22, float %252)  ; Frc(value)
   %265 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %257, float %258, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
@@ -670,10 +683,10 @@ define void @main() {
 
 ; <label>:518                                     ; preds = %511
   %519 = extractvalue %dx.types.CBufRet.f32 %487, 1
-  %520 = fmul fast float %519, %516
+  %520 = fmul fast float %516, %519
   %521 = fadd fast float %520, 1.000000e+00
   %522 = extractvalue %dx.types.CBufRet.f32 %487, 2
-  %523 = fmul fast float %522, %516
+  %523 = fmul fast float %516, %522
   %524 = fadd fast float %523, 1.000000e+00
   %525 = fdiv fast float %521, %524
   %526 = fmul fast float %525, %512
@@ -769,9 +782,9 @@ define void @main() {
   %588 = phi float [ %545, %548 ], [ %575, %579 ], [ %575, %577 ]
   %589 = phi float [ %546, %548 ], [ %585, %579 ], [ %578, %577 ]
   %590 = extractvalue %dx.types.CBufRet.f32 %13, 3
-  %591 = fmul fast float %590, %587
-  %592 = fmul fast float %590, %588
-  %593 = fmul fast float %590, %589
+  %591 = fmul fast float %587, %590
+  %592 = fmul fast float %588, %590
+  %593 = fmul fast float %589, %590
   br label %703
 
 ; <label>:594                                     ; preds = %543
@@ -780,9 +793,9 @@ define void @main() {
   br i1 %595, label %597, label %643
 
 ; <label>:597                                     ; preds = %594
-  %598 = fmul fast float %596, %544
-  %599 = fmul fast float %596, %545
-  %600 = fmul fast float %596, %546
+  %598 = fmul fast float %544, %596
+  %599 = fmul fast float %545, %596
+  %600 = fmul fast float %546, %596
   %601 = extractvalue %dx.types.CBufRet.f32 %13, 0
   %602 = fcmp fast une float %601, 0.000000e+00
   br i1 %602, label %703, label %603
@@ -860,9 +873,9 @@ define void @main() {
   %651 = fmul fast float %544, 0xBF9296F660000000
   %652 = call float @dx.op.tertiary.f32(i32 46, float 0xBFB9C0B9A0000000, float %545, float %651)  ; FMad(a,b,c)
   %653 = call float @dx.op.tertiary.f32(i32 46, float 0x3FF1E66780000000, float %546, float %652)  ; FMad(a,b,c)
-  %654 = fmul fast float %596, %647
-  %655 = fmul fast float %596, %650
-  %656 = fmul fast float %596, %653
+  %654 = fmul fast float %647, %596
+  %655 = fmul fast float %650, %596
+  %656 = fmul fast float %653, %596
   %657 = extractvalue %dx.types.CBufRet.f32 %13, 0
   %658 = fcmp fast une float %657, 0.000000e+00
   br i1 %658, label %703, label %659
@@ -928,9 +941,9 @@ define void @main() {
   br label %703
 
 ; <label>:699                                     ; preds = %643
-  %700 = fmul fast float %596, %544
-  %701 = fmul fast float %596, %545
-  %702 = fmul fast float %596, %546
+  %700 = fmul fast float %544, %596
+  %701 = fmul fast float %545, %596
+  %702 = fmul fast float %546, %596
   br label %703
 
 ; <label>:703                                     ; preds = %699, %694, %644, %638, %597, %586
@@ -990,9 +1003,9 @@ attributes #2 = { nounwind readonly }
 !dx.viewIdState = !{!15}
 !dx.entryPoints = !{!16}
 
-!0 = !{!"dxcoob 1.7.2308.16 (52da17e29)"}
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
 !1 = !{i32 1, i32 0}
-!2 = !{i32 1, i32 7}
+!2 = !{i32 1, i32 8}
 !3 = !{!"ps", i32 6, i32 0}
 !4 = !{!5, null, !10, !12}
 !5 = !{!6, !8, !9}
@@ -1021,12 +1034,12 @@ attributes #2 = { nounwind readonly }
 #endif
 
 const unsigned char g_main[] = {
-  0x44, 0x58, 0x42, 0x43, 0xd1, 0x46, 0xf7, 0xa9, 0xb4, 0x08, 0x10, 0xcb,
-  0xb9, 0x9d, 0x01, 0xda, 0xb9, 0x8c, 0x04, 0xd5, 0x01, 0x00, 0x00, 0x00,
-  0xf4, 0x29, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x0c, 0x6b, 0xd1, 0xfa, 0xed, 0x1e, 0xf7, 0xdf,
+  0x42, 0xbd, 0x4b, 0x28, 0xba, 0x4c, 0x23, 0xbd, 0x01, 0x00, 0x00, 0x00,
+  0x10, 0x2a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x50, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
-  0x7c, 0x02, 0x00, 0x00, 0xa8, 0x03, 0x00, 0x00, 0x88, 0x0d, 0x00, 0x00,
-  0xa4, 0x0d, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x88, 0x02, 0x00, 0x00, 0xb4, 0x03, 0x00, 0x00, 0xa4, 0x0d, 0x00, 0x00,
+  0xc0, 0x0d, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
   0x84, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -1044,26 +1057,27 @@ const unsigned char g_main[] = {
   0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x5c, 0x01, 0x00, 0x00,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x68, 0x01, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
-  0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
@@ -1099,10 +1113,10 @@ const unsigned char g_main[] = {
   0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
-  0x53, 0x54, 0x41, 0x54, 0xd8, 0x09, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
-  0x76, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0xc0, 0x09, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0x6d, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x53, 0x54, 0x41, 0x54, 0xe8, 0x09, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x7a, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd0, 0x09, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
   0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
   0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02,
@@ -1173,33 +1187,33 @@ const unsigned char g_main[] = {
   0x1a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90,
   0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0,
   0x18, 0x8a, 0xa0, 0x24, 0x0a, 0x3c, 0xa0, 0x0c, 0xca, 0xa1, 0x10, 0x0a,
-  0xa2, 0x30, 0x0a, 0xa4, 0x80, 0x0a, 0xa9, 0xa0, 0x0a, 0xab, 0xc0, 0x0a,
-  0x30, 0xa0, 0x40, 0x03, 0x0a, 0x38, 0xa0, 0x3c, 0xca, 0xa7, 0x64, 0x0d,
-  0xca, 0x72, 0xa1, 0x68, 0xa8, 0x28, 0x89, 0x32, 0x28, 0x84, 0x11, 0x80,
-  0x22, 0x28, 0x10, 0xe2, 0x6a, 0x80, 0xc6, 0x19, 0x00, 0x22, 0x67, 0x00,
-  0xa8, 0x9c, 0x01, 0xa0, 0x73, 0x06, 0x80, 0xd0, 0xb1, 0x1c, 0x86, 0x00,
-  0x00, 0x00, 0x78, 0x1e, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00,
-  0x79, 0x18, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0xa2, 0x30, 0x0a, 0xa4, 0x34, 0x0a, 0xa8, 0x90, 0x0a, 0xaa, 0xb0, 0x0a,
+  0xac, 0x00, 0x03, 0x0a, 0x34, 0xa0, 0x80, 0x03, 0xca, 0xa3, 0x7c, 0x4a,
+  0xd6, 0xa0, 0x2c, 0x17, 0x8a, 0x86, 0x8a, 0x92, 0x28, 0x83, 0x42, 0x18,
+  0x01, 0x28, 0x82, 0x02, 0x21, 0xae, 0x06, 0x68, 0x9c, 0x01, 0x20, 0x72,
+  0x06, 0x80, 0xca, 0x19, 0x00, 0x3a, 0x67, 0x00, 0x08, 0x1d, 0xcb, 0x61,
+  0x08, 0x00, 0x00, 0x80, 0xe7, 0x01, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
   0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04,
-  0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04,
+  0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43,
   0x10, 0x4c, 0x10, 0x88, 0x65, 0x82, 0x40, 0x30, 0x1b, 0x84, 0x81, 0xd8,
   0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02, 0xd1, 0x6c, 0x18, 0x0e,
-  0x84, 0x98, 0x20, 0x8c, 0xc1, 0x1a, 0x10, 0xa1, 0x2b, 0xc3, 0xa3, 0xab,
+  0x84, 0x98, 0x20, 0x8c, 0x01, 0x1b, 0x10, 0xa1, 0x2b, 0xc3, 0xa3, 0xab,
   0x93, 0x2b, 0x83, 0x99, 0x20, 0x10, 0xce, 0x04, 0x81, 0x78, 0x36, 0x08,
   0x44, 0xb3, 0x21, 0x21, 0x94, 0x85, 0x20, 0x06, 0x86, 0x70, 0x88, 0xd0,
   0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95, 0xc5, 0x6c, 0x48, 0x06, 0x05, 0x22,
   0x86, 0x81, 0x21, 0x1c, 0x22, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
   0x32, 0x1b, 0x12, 0x46, 0x91, 0x08, 0x66, 0x60, 0x08, 0x67, 0xc3, 0xf0,
-  0x44, 0xd3, 0x04, 0xa1, 0x0c, 0xda, 0x80, 0xc9, 0xd0, 0x9b, 0xdb, 0x1c,
+  0x44, 0xd3, 0x04, 0xa1, 0x0c, 0xdc, 0x80, 0xc9, 0xd0, 0x9b, 0xdb, 0x1c,
   0x5d, 0x98, 0x1b, 0xdd, 0xdc, 0x04, 0x81, 0x80, 0x36, 0x20, 0x44, 0x65,
-  0x11, 0xc3, 0x70, 0x01, 0x1b, 0x02, 0x6c, 0x82, 0x70, 0x06, 0x6e, 0x40,
+  0x11, 0xc3, 0x70, 0x01, 0x1b, 0x02, 0x6c, 0x82, 0x70, 0x06, 0x6f, 0x40,
   0x64, 0x2e, 0xac, 0x0d, 0x8e, 0xad, 0x4c, 0x0e, 0x66, 0x03, 0x42, 0x68,
   0x1b, 0x41, 0x0c, 0x04, 0x40, 0x64, 0x2e, 0xac, 0x0d, 0x8e, 0xad, 0x4c,
   0x2e, 0x66, 0x03, 0x32, 0x68, 0x1d, 0x31, 0x0c, 0x04, 0xb0, 0x41, 0xe0,
-  0xbc, 0x0d, 0x04, 0x05, 0x64, 0xdf, 0x04, 0x81, 0x0c, 0xd8, 0x80, 0xcc,
+  0xbc, 0x0d, 0x04, 0x05, 0x64, 0xdf, 0x04, 0x81, 0x0c, 0xda, 0x80, 0xcc,
   0xdc, 0x98, 0xd4, 0x91, 0xd0, 0xd7, 0x5b, 0x1d, 0x1d, 0x5c, 0x1d, 0xdd,
-  0x04, 0x81, 0x88, 0x26, 0x08, 0x84, 0x34, 0x41, 0xe0, 0xd4, 0x60, 0x03,
+  0x04, 0x81, 0x88, 0x26, 0x08, 0x84, 0x34, 0x41, 0xe0, 0xd6, 0x60, 0x03,
   0x82, 0x88, 0xc1, 0x18, 0x10, 0x64, 0xd0, 0x34, 0x65, 0x40, 0x86, 0xae,
   0x0c, 0x8f, 0xae, 0x4e, 0xae, 0xec, 0x8b, 0x2e, 0x0f, 0xae, 0x6c, 0x82,
   0x40, 0x4c, 0x1b, 0x10, 0xe4, 0x0c, 0xc6, 0x00, 0x0d, 0xc8, 0xa0, 0x69,
@@ -1208,65 +1222,227 @@ const unsigned char g_main[] = {
   0x41, 0xd3, 0x94, 0x01, 0x97, 0xb1, 0x37, 0xb6, 0x37, 0xb9, 0xaf, 0xb9,
   0xb1, 0x30, 0xb6, 0xb2, 0x09, 0x02, 0x51, 0x6d, 0x40, 0x90, 0x36, 0x18,
   0x03, 0x37, 0x20, 0x83, 0xa6, 0x29, 0x03, 0x2a, 0x74, 0x65, 0x78, 0x65,
-  0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x13, 0x04, 0xc2, 0xda, 0x80, 0x20,
-  0x70, 0x30, 0x06, 0x71, 0x40, 0x06, 0x4d, 0x53, 0x06, 0x74, 0xe8, 0xde,
-  0xdc, 0xca, 0xda, 0xc2, 0xe0, 0xbe, 0xda, 0xca, 0xe8, 0xd0, 0xde, 0xc8,
-  0x26, 0x08, 0xc4, 0xb5, 0x01, 0x41, 0xe6, 0x60, 0x0c, 0xe8, 0x80, 0x0c,
-  0x9a, 0xa6, 0x0c, 0xf8, 0xd0, 0xbd, 0xb9, 0x95, 0xb5, 0x85, 0xc1, 0x7d,
-  0x99, 0x85, 0x8d, 0xd1, 0xbd, 0xc9, 0xc5, 0x4c, 0x10, 0x08, 0x6c, 0x03,
-  0x82, 0xd8, 0xc1, 0x18, 0xdc, 0x01, 0x19, 0x34, 0x4d, 0x19, 0xf0, 0xa1,
-  0x7b, 0x73, 0x2b, 0x6b, 0x0b, 0x83, 0xfb, 0x32, 0x0b, 0x1b, 0xa3, 0x7b,
-  0x93, 0x93, 0x99, 0x20, 0x10, 0xd9, 0x06, 0x04, 0xc9, 0x83, 0x31, 0xd0,
-  0x03, 0x32, 0x68, 0x9a, 0x32, 0xe0, 0x33, 0x47, 0x26, 0xf7, 0x75, 0x87,
-  0x96, 0x46, 0x57, 0xf6, 0x05, 0xf7, 0x96, 0xe6, 0x46, 0x37, 0x41, 0x20,
-  0xb4, 0x0d, 0x08, 0xc2, 0x07, 0x63, 0xd0, 0x07, 0x64, 0xd0, 0x34, 0x65,
-  0xc0, 0x23, 0xeb, 0xcd, 0xcc, 0x6c, 0xae, 0x8c, 0x6e, 0x82, 0x40, 0x6c,
-  0x1b, 0x10, 0xe4, 0x0f, 0xc6, 0x00, 0x14, 0xc8, 0xa0, 0x69, 0xca, 0x80,
-  0x86, 0xd4, 0xd8, 0x5b, 0x99, 0x99, 0xd9, 0x04, 0x81, 0xe0, 0x36, 0x20,
-  0x88, 0x28, 0x8c, 0xc1, 0x28, 0x90, 0x41, 0xd3, 0x94, 0x01, 0x8d, 0xa3,
-  0xb1, 0xb7, 0x32, 0x33, 0xb3, 0x09, 0x02, 0xd1, 0x6d, 0x40, 0x90, 0x52,
-  0x18, 0x03, 0x53, 0x20, 0x83, 0xa6, 0x29, 0x03, 0x1a, 0x42, 0x63, 0x6f,
-  0x65, 0x66, 0x66, 0x13, 0x04, 0xc2, 0xdb, 0x80, 0x20, 0xa8, 0x30, 0x06,
-  0xa9, 0x40, 0x06, 0x4d, 0x53, 0x06, 0x1b, 0x9c, 0xcb, 0x0c, 0xd2, 0x80,
-  0x0d, 0xde, 0x40, 0x0e, 0xea, 0x00, 0x0f, 0xf6, 0xc0, 0x0f, 0x42, 0x81,
-  0x14, 0x4e, 0x41, 0x15, 0x36, 0x0c, 0x44, 0x18, 0xac, 0xc2, 0x04, 0x41,
-  0x00, 0x36, 0x00, 0x1b, 0x06, 0xc2, 0x15, 0x5c, 0x61, 0x43, 0xf0, 0x0a,
-  0x1b, 0x86, 0xa1, 0x15, 0x60, 0x61, 0x82, 0x80, 0x06, 0x6f, 0xb0, 0x21,
-  0x90, 0x05, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x5c, 0xa6, 0xac, 0xbe, 0xa0,
-  0xde, 0xe6, 0xd2, 0xe8, 0xd2, 0xde, 0xdc, 0x26, 0x08, 0x05, 0x19, 0x4c,
-  0x10, 0x8a, 0x32, 0xd8, 0x10, 0x10, 0x13, 0x84, 0xc2, 0x0c, 0x26, 0x08,
-  0xc5, 0x19, 0x6c, 0x58, 0x88, 0x5a, 0xb0, 0x85, 0x5b, 0xc0, 0x85, 0x5c,
-  0x18, 0x72, 0x81, 0xd0, 0x05, 0x80, 0x08, 0x55, 0x11, 0xd6, 0xd0, 0xd3,
-  0x93, 0x14, 0xd1, 0x04, 0xa1, 0x40, 0x83, 0x0d, 0xc2, 0x18, 0x8c, 0xc1,
-  0x86, 0x65, 0xe0, 0x05, 0x5b, 0xd0, 0x05, 0x5c, 0xe8, 0x85, 0xa1, 0x17,
-  0x06, 0x5d, 0xf0, 0x05, 0x16, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x04,
-  0xe2, 0xdb, 0x20, 0x8c, 0x41, 0x38, 0x6c, 0x58, 0x18, 0x70, 0xb0, 0x05,
-  0x5d, 0xc0, 0x85, 0x5e, 0x18, 0x72, 0x81, 0xd1, 0x05, 0x71, 0xd8, 0x30,
-  0xec, 0xc2, 0x2f, 0x8c, 0x03, 0x93, 0x29, 0xab, 0x2f, 0xaa, 0x30, 0xb9,
-  0xb3, 0x32, 0xba, 0x09, 0x42, 0x91, 0x06, 0x1b, 0x16, 0xa2, 0x1c, 0x6c,
-  0xc1, 0x1c, 0x70, 0x41, 0x17, 0x86, 0x5c, 0x20, 0x74, 0x41, 0x1c, 0x36,
-  0x04, 0xe7, 0xb0, 0x61, 0x20, 0x07, 0x74, 0x00, 0x36, 0x14, 0xad, 0x40,
-  0x0b, 0xe9, 0x00, 0x06, 0x00, 0x11, 0x31, 0xb9, 0x30, 0xb7, 0x31, 0xb4,
-  0xb2, 0xb9, 0x09, 0x02, 0x01, 0x06, 0x34, 0xcc, 0xd8, 0xde, 0xc2, 0xe8,
-  0xe6, 0x26, 0x08, 0x44, 0x18, 0xb0, 0x48, 0x73, 0x9b, 0xa3, 0x9b, 0x9b,
-  0x20, 0x10, 0x62, 0x40, 0x63, 0x2e, 0xed, 0xec, 0x8b, 0x8d, 0x8c, 0xc6,
-  0x5c, 0xda, 0xd9, 0xd7, 0x1c, 0x1d, 0x11, 0xba, 0x32, 0xbc, 0xaf, 0x33,
-  0xb9, 0x30, 0x32, 0x22, 0x74, 0x65, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d,
-  0x13, 0x04, 0x62, 0x0c, 0x36, 0x38, 0xeb, 0xc0, 0x0e, 0xed, 0xe0, 0x0e,
-  0xef, 0x00, 0x0f, 0xf1, 0x80, 0xc8, 0x03, 0x1a, 0xcc, 0xc3, 0x40, 0x0f,
-  0xf5, 0x50, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d,
-  0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b,
-  0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec, 0xc2, 0xd8,
-  0xec, 0xca, 0xe4, 0xa6, 0x04, 0x45, 0x1d, 0x32, 0x3c, 0x97, 0x39, 0xb4,
-  0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29, 0x01, 0x52,
-  0x86, 0x0c, 0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e, 0xac, 0x6c,
-  0x6e, 0x4a, 0xf0, 0x55, 0x22, 0xc3, 0x73, 0xa1, 0xcb, 0x83, 0x2b, 0x0b,
-  0x72, 0x73, 0x7b, 0xa3, 0x0b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b, 0x22,
-  0xac, 0x02, 0x2c, 0xd4, 0x21, 0xc3, 0x73, 0xb1, 0x4b, 0x2b, 0xbb, 0x4b,
-  0x22, 0x9b, 0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12, 0xc8, 0x42, 0x1d, 0x32,
-  0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba,
-  0xb9, 0x29, 0x41, 0x3a, 0x74, 0x21, 0xc3, 0x73, 0x19, 0x7b, 0xab, 0x73,
-  0xa3, 0x2b, 0x93, 0x9b, 0x9b, 0x12, 0xd4, 0x03, 0x00, 0x00, 0x00, 0x00,
+  0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x13, 0x04, 0xc2, 0x9a, 0x20, 0x10,
+  0xd7, 0x06, 0x05, 0x81, 0x83, 0x31, 0x88, 0x03, 0x32, 0x68, 0x9a, 0x32,
+  0x90, 0x03, 0x34, 0xa0, 0x43, 0xf7, 0xe6, 0x56, 0xd6, 0x16, 0x06, 0xf7,
+  0xd5, 0x56, 0x46, 0x87, 0xf6, 0x46, 0x36, 0x41, 0x20, 0xb0, 0x0d, 0x08,
+  0x42, 0x07, 0x63, 0x50, 0x07, 0x64, 0xd0, 0x34, 0x65, 0xc0, 0x87, 0xee,
+  0xcd, 0xad, 0xac, 0x2d, 0x0c, 0xee, 0xcb, 0x2c, 0x6c, 0x8c, 0xee, 0x4d,
+  0x2e, 0x66, 0x82, 0x40, 0x64, 0x1b, 0x10, 0xe4, 0x0e, 0xc6, 0x00, 0x0f,
+  0xc8, 0xa0, 0x69, 0xca, 0x80, 0x0f, 0xdd, 0x9b, 0x5b, 0x59, 0x5b, 0x18,
+  0xdc, 0x97, 0x59, 0xd8, 0x18, 0xdd, 0x9b, 0x9c, 0xcc, 0x04, 0x81, 0xd0,
+  0x36, 0x20, 0x88, 0x1e, 0x8c, 0xc1, 0x1e, 0x90, 0x41, 0xd3, 0x94, 0x01,
+  0x9f, 0x39, 0x32, 0xb9, 0xaf, 0x3b, 0xb4, 0x34, 0xba, 0xb2, 0x2f, 0xb8,
+  0xb7, 0x34, 0x37, 0xba, 0x09, 0x02, 0xb1, 0x6d, 0x40, 0x90, 0x3e, 0x18,
+  0x03, 0x3f, 0x20, 0x83, 0xa6, 0x29, 0x03, 0x1e, 0x59, 0x6f, 0x66, 0x66,
+  0x73, 0x65, 0x74, 0x13, 0x04, 0x82, 0xdb, 0xa0, 0x20, 0xa0, 0x30, 0x06,
+  0xa1, 0x40, 0x06, 0x4d, 0x53, 0x06, 0x72, 0x80, 0x06, 0x34, 0xa4, 0xc6,
+  0xde, 0xca, 0xcc, 0xcc, 0x26, 0x08, 0x44, 0xb7, 0x41, 0x41, 0x46, 0x61,
+  0x0c, 0x48, 0x81, 0x0c, 0x9a, 0xa6, 0x0c, 0xe4, 0x00, 0x0d, 0x68, 0x1c,
+  0x8d, 0xbd, 0x95, 0x99, 0x99, 0x4d, 0x10, 0x08, 0x6f, 0x83, 0x82, 0x98,
+  0xc2, 0x18, 0x9c, 0x02, 0x19, 0x34, 0x4d, 0x19, 0xc8, 0x01, 0x1a, 0xd0,
+  0x10, 0x1a, 0x7b, 0x2b, 0x33, 0x33, 0x9b, 0x20, 0x10, 0xdf, 0x06, 0x05,
+  0x49, 0x85, 0x31, 0x50, 0x05, 0x32, 0x68, 0x9a, 0x32, 0x90, 0x03, 0x34,
+  0xd8, 0xe0, 0x5c, 0x66, 0x90, 0x06, 0x6c, 0xf0, 0x06, 0x73, 0x60, 0x07,
+  0x79, 0xc0, 0x07, 0x7f, 0x20, 0x0a, 0xa5, 0x80, 0x0a, 0xab, 0xb0, 0x61,
+  0x20, 0xc2, 0x80, 0x15, 0x26, 0x08, 0x02, 0xb0, 0x01, 0xd8, 0x30, 0x10,
+  0xaf, 0xf0, 0x0a, 0x1b, 0x02, 0x58, 0xd8, 0x30, 0x0c, 0xae, 0x10, 0x0b,
+  0x13, 0x04, 0x34, 0x80, 0x83, 0x0d, 0xc1, 0x2c, 0x90, 0x68, 0x0b, 0x4b,
+  0x73, 0xe3, 0x32, 0x65, 0xf5, 0x05, 0xf5, 0x36, 0x97, 0x46, 0x97, 0xf6,
+  0xe6, 0x36, 0x41, 0x28, 0xca, 0x60, 0x82, 0x50, 0x98, 0xc1, 0x86, 0x80,
+  0x98, 0x20, 0x14, 0x67, 0x30, 0x41, 0x28, 0xd0, 0x60, 0xc3, 0x42, 0xd8,
+  0xc2, 0x2d, 0xe0, 0x42, 0x2e, 0xe8, 0xc2, 0xa0, 0x0b, 0xc4, 0x2e, 0x00,
+  0x44, 0xa8, 0x8a, 0xb0, 0x86, 0x9e, 0x9e, 0xa4, 0x88, 0x26, 0x08, 0x45,
+  0x1a, 0x6c, 0x10, 0xc6, 0x60, 0x0c, 0x36, 0x2c, 0x43, 0x2f, 0xdc, 0xc2,
+  0x2e, 0xe4, 0x82, 0x2f, 0x0c, 0xbe, 0x30, 0xec, 0xc2, 0x2f, 0xb0, 0x18,
+  0x7a, 0x62, 0x7a, 0x92, 0x9a, 0x20, 0x10, 0x60, 0xb0, 0x41, 0x18, 0x03,
+  0x71, 0xd8, 0xb0, 0x30, 0xe1, 0x70, 0x0b, 0xbb, 0x90, 0x0b, 0xbe, 0x30,
+  0xe8, 0x02, 0xb3, 0x0b, 0xe3, 0xb0, 0x61, 0xe0, 0x05, 0x70, 0x20, 0x07,
+  0x26, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x13, 0x84,
+  0x42, 0x0d, 0x36, 0x2c, 0x84, 0x39, 0xdc, 0xc2, 0x39, 0xe4, 0xc2, 0x2e,
+  0x0c, 0xba, 0x40, 0xec, 0xc2, 0x38, 0x6c, 0x08, 0xd0, 0x61, 0xc3, 0x50,
+  0x0e, 0xe9, 0x00, 0x6c, 0x28, 0x5c, 0xa1, 0x16, 0xd4, 0x01, 0x0c, 0x00,
+  0x22, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x13, 0x04, 0x22,
+  0x0c, 0x68, 0x98, 0xb1, 0xbd, 0x85, 0xd1, 0xcd, 0x4d, 0x10, 0x08, 0x31,
+  0x60, 0x91, 0xe6, 0x36, 0x47, 0x37, 0x37, 0x41, 0x20, 0xc6, 0x80, 0xc6,
+  0x5c, 0xda, 0xd9, 0x17, 0x1b, 0x19, 0x8d, 0xb9, 0xb4, 0xb3, 0xaf, 0x39,
+  0x3a, 0x22, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x44, 0xe8,
+  0xca, 0xf0, 0xbe, 0xdc, 0xde, 0xe4, 0xda, 0x26, 0x08, 0x04, 0x19, 0x6c,
+  0x70, 0xd8, 0xa1, 0x1d, 0xdc, 0xe1, 0x1d, 0xe0, 0x21, 0x1e, 0xe4, 0x01,
+  0x99, 0x07, 0x34, 0xa0, 0x87, 0xa1, 0x1e, 0xec, 0xa1, 0x0a, 0x1b, 0x9b,
+  0x5d, 0x9b, 0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42,
+  0x86, 0xe7, 0x62, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20,
+  0x9a, 0x90, 0xe1, 0xb9, 0xd8, 0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09,
+  0x8a, 0x3a, 0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d,
+  0x6f, 0x64, 0x65, 0x6c, 0x53, 0x02, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c,
+  0xd9, 0xdc, 0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0xe0, 0xab, 0x44,
+  0x86, 0xe7, 0x42, 0x97, 0x07, 0x57, 0x16, 0xe4, 0xe6, 0xf6, 0x46, 0x17,
+  0x46, 0x97, 0xf6, 0xe6, 0x36, 0x37, 0x45, 0x60, 0x85, 0x58, 0xa8, 0x43,
+  0x86, 0xe7, 0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46,
+  0x57, 0x36, 0x25, 0x98, 0x85, 0x3a, 0x64, 0x78, 0x2e, 0x65, 0x6e, 0x74,
+  0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x02, 0x75, 0xe8,
+  0x42, 0x86, 0xe7, 0x32, 0xf6, 0x56, 0xe7, 0x46, 0x57, 0x26, 0x37, 0x37,
+  0x25, 0xb0, 0x07, 0x00, 0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00,
+  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
+  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
+  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
+  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
+  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
+  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
+  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
+  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
+  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
+  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
+  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
+  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
+  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
+  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
+  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
+  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
+  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
+  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
+  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
+  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
+  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
+  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4,
+  0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19,
+  0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06,
+  0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f,
+  0xf4, 0x30, 0x83, 0x81, 0xc8, 0x01, 0x1f, 0xdc, 0x40, 0x1c, 0xe4, 0xa1,
+  0x1c, 0xc2, 0x61, 0x1d, 0xdc, 0x40, 0x1c, 0xe4, 0x01, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x76, 0x00, 0x0d, 0x97,
+  0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0xc2,
+  0x36, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e,
+  0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x29, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x2f, 0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b,
+  0x61, 0x06, 0xce, 0x70, 0xf9, 0xce, 0xe3, 0x0f, 0xce, 0x74, 0xfb, 0xc5,
+  0x6d, 0x5b, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62,
+  0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f,
+  0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x46, 0x40, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42, 0x80, 0x11, 0x30, 0xf8, 0xc5,
+  0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04,
+  0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x5b, 0x82, 0x34, 0x5c, 0xbe,
+  0xf3, 0xf8, 0x13, 0x11, 0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x56,
+  0xf0, 0x0c, 0x97, 0xef, 0x3c, 0x3e, 0xd5, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xe5, 0x78, 0x3c, 0xac, 0xc8, 0x34, 0xe5, 0xaa, 0x4a, 0xab, 0xc6, 0x5f,
+  0x81, 0x58, 0x6b, 0x3b, 0x44, 0x58, 0x49, 0x4c, 0x48, 0x1c, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0x12, 0x07, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x1c, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00,
+  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
+  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
+  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
+  0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14,
+  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20,
+  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
+  0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
+  0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
+  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
+  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00,
+  0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84,
+  0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c, 0x8c,
+  0x0b, 0x84, 0xc4, 0x4c, 0x10, 0xa8, 0xc1, 0x08, 0x40, 0x09, 0x00, 0x0a,
+  0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10,
+  0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4, 0xa6,
+  0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc,
+  0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9,
+  0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a,
+  0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x91,
+  0x14, 0x82, 0x61, 0x86, 0x61, 0x18, 0x08, 0x82, 0x18, 0x86, 0x61, 0x18,
+  0x86, 0x81, 0x9e, 0x32, 0x0c, 0xc4, 0x40, 0x51, 0x41, 0x06, 0x62, 0x18,
+  0x86, 0x61, 0x18, 0x68, 0x2a, 0xc4, 0x40, 0x0c, 0x03, 0x55, 0x47, 0x0d,
+  0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0xdc, 0x46, 0x15, 0x2b, 0x31, 0xf9,
+  0xc5, 0x6d, 0x23, 0x62, 0x18, 0x86, 0xa1, 0x10, 0x17, 0xc1, 0x10, 0x84,
+  0x95, 0x62, 0x20, 0x86, 0x61, 0x20, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x43,
+  0x14, 0x04, 0xc1, 0x51, 0x37, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5,
+  0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94,
+  0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0,
+  0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98,
+  0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8,
+  0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc,
+  0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49,
+  0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1,
+  0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81,
+  0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0,
+  0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0,
+  0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x00, 0x86, 0x24, 0x5e, 0xc2, 0x39, 0x8d,
+  0x34, 0x01, 0xcd, 0x24, 0xa1, 0x66, 0x18, 0x86, 0x01, 0x1c, 0x86, 0x61,
+  0x00, 0x41, 0x10, 0x24, 0xf2, 0x26, 0x69, 0x8a, 0x28, 0x61, 0xf2, 0x59,
+  0x80, 0x79, 0x16, 0x22, 0x62, 0x27, 0x60, 0x22, 0x50, 0x40, 0x90, 0x99,
+  0x0e, 0xc4, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
+  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
+  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
+  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
+  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
+  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
+  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
+  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
+  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x18,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x01,
+  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02,
+  0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x4f,
+  0x05, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43,
+  0x1e, 0x0c, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x86, 0x3c, 0x1a, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x0c, 0x79, 0x3a, 0x20, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0xc8, 0x02, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
+  0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0, 0x20, 0x8a, 0xa1, 0x08,
+  0x4a, 0xa2, 0xc0, 0x03, 0xca, 0xa0, 0x3c, 0xa8, 0x28, 0x89, 0x32, 0x28,
+  0x84, 0x11, 0x80, 0x22, 0x28, 0x10, 0x1a, 0x67, 0x00, 0xa8, 0x9c, 0x01,
+  0xa0, 0x73, 0x06, 0x80, 0xd0, 0xb1, 0x1c, 0x86, 0x00, 0x00, 0x00, 0x78,
+  0x1e, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x71, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
+  0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27,
+  0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
+  0x65, 0x82, 0x40, 0x30, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xcd, 0x06,
+  0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08, 0x67, 0xc3, 0x80, 0x24,
+  0xc4, 0x04, 0x61, 0x0c, 0x34, 0x02, 0x13, 0x04, 0xe2, 0x99, 0x20, 0x10,
+  0xd0, 0x06, 0x81, 0x70, 0x36, 0x24, 0xc4, 0xc2, 0x10, 0xc4, 0xd0, 0x10,
+  0xcf, 0x86, 0x64, 0x58, 0x18, 0x62, 0x18, 0x1a, 0xe2, 0xd9, 0x90, 0x34,
+  0x0b, 0x43, 0x34, 0x43, 0x43, 0x3c, 0x1b, 0x06, 0x28, 0x92, 0x26, 0x08,
+  0x65, 0xb0, 0x4d, 0x10, 0x88, 0x68, 0x03, 0x42, 0x50, 0x0c, 0x31, 0x0c,
+  0x15, 0xb0, 0x21, 0xb0, 0x26, 0x08, 0x67, 0xc0, 0x6d, 0x40, 0x08, 0x8c,
+  0x21, 0x88, 0x81, 0x00, 0x36, 0x20, 0x03, 0xc6, 0x10, 0xc3, 0x40, 0x00,
+  0x1b, 0x84, 0x4c, 0xdb, 0x40, 0x4c, 0xc0, 0xb5, 0x4d, 0x10, 0xd0, 0xa0,
+  0xdb, 0x10, 0x74, 0x13, 0x04, 0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0xc6,
+  0x65, 0xca, 0xea, 0x0b, 0xea, 0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d,
+  0x82, 0x50, 0x50, 0x13, 0x84, 0xa2, 0xda, 0x10, 0x10, 0x13, 0x84, 0xc2,
+  0x9a, 0x20, 0x14, 0xd7, 0x86, 0x85, 0x08, 0x03, 0x31, 0x18, 0x03, 0x32,
+  0x28, 0x83, 0xa1, 0x0c, 0x08, 0x33, 0x00, 0x88, 0x50, 0x15, 0x61, 0x0d,
+  0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x0a, 0x6c, 0x82, 0x40, 0x48, 0x1b,
+  0x04, 0x35, 0x50, 0x83, 0x0d, 0xcb, 0x80, 0x06, 0x62, 0x60, 0x06, 0x64,
+  0x90, 0x06, 0x43, 0x1a, 0x0c, 0x66, 0xb0, 0x06, 0x2c, 0x86, 0x9e, 0x98,
+  0x9e, 0xa4, 0x26, 0x08, 0xc4, 0xb4, 0x41, 0x50, 0x03, 0x37, 0xd8, 0xb0,
+  0x34, 0x6d, 0x20, 0x06, 0x66, 0x40, 0x06, 0x69, 0x30, 0x94, 0x41, 0x63,
+  0x06, 0x6f, 0xb0, 0x61, 0x38, 0x03, 0x36, 0x80, 0x03, 0x26, 0x53, 0x56,
+  0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x13, 0x84, 0x22, 0xdb, 0xb0,
+  0x10, 0x72, 0x20, 0x06, 0x73, 0x40, 0x06, 0x66, 0x30, 0x94, 0x01, 0x61,
+  0x06, 0x6f, 0xb0, 0x21, 0xa0, 0x83, 0x0d, 0x43, 0x1c, 0xd4, 0x01, 0xb0,
+  0xa1, 0xf8, 0xc0, 0xc0, 0x0e, 0x38, 0xa0, 0x0a, 0x1b, 0x9b, 0x5d, 0x9b,
+  0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42, 0x86, 0xe7,
+  0x62, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90,
+  0xe1, 0xb9, 0xd8, 0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a,
+  0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64,
+  0x65, 0x6c, 0x53, 0x82, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9, 0xdc,
+  0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0x60, 0xab, 0x43, 0x86, 0xe7,
+  0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36,
+  0x25, 0xe8, 0xea, 0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41,
+  0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09, 0xec, 0x00, 0x00, 0x00, 0x00,
   0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
   0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
   0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
@@ -1309,611 +1485,451 @@ const unsigned char g_main[] = {
   0xf9, 0xc5, 0x6d, 0x5b, 0x82, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x13, 0x11,
   0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x56, 0xf0, 0x0c, 0x97, 0xef,
   0x3c, 0x3e, 0xd5, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03,
-  0x20, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48,
-  0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x46, 0xf7, 0x65,
-  0x36, 0x63, 0x8c, 0x16, 0x5b, 0xb4, 0x94, 0x87, 0xd0, 0x71, 0xf8, 0xf4,
-  0x44, 0x58, 0x49, 0x4c, 0x48, 0x1c, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
-  0x12, 0x07, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x30, 0x1c, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
-  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
-  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02,
-  0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
-  0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
-  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4, 0x50,
-  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46, 0x06,
-  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
-  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
-  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
-  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
-  0x89, 0x20, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x32, 0x22, 0x88, 0x09,
-  0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23, 0xe3,
-  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4, 0x4c,
-  0x10, 0xa8, 0xc1, 0x08, 0x40, 0x09, 0x00, 0x0a, 0x66, 0x00, 0xe6, 0x08,
-  0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10, 0x44, 0x41, 0x90, 0x51,
-  0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4, 0xa6, 0xe1, 0xf2, 0x27, 0xec,
-  0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x51, 0x31,
-  0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92,
-  0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a, 0xa3, 0x10, 0x0c, 0x33,
-  0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x91, 0x14, 0x82, 0x61, 0x86,
-  0x61, 0x18, 0x08, 0x82, 0x18, 0x86, 0x61, 0x18, 0x86, 0x81, 0x9e, 0x32,
-  0x0c, 0xc4, 0x40, 0x51, 0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0x68,
-  0x2a, 0xc4, 0x40, 0x0c, 0x03, 0x55, 0x47, 0x0d, 0x97, 0x3f, 0x61, 0x0f,
-  0x21, 0xf9, 0xdc, 0x46, 0x15, 0x2b, 0x31, 0xf9, 0xc5, 0x6d, 0x23, 0x62,
-  0x18, 0x86, 0xa1, 0x10, 0x17, 0xc1, 0x10, 0x84, 0x95, 0x62, 0x20, 0x86,
-  0x61, 0x20, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0xc1, 0x51,
-  0x37, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43,
-  0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43,
-  0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3,
-  0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43,
-  0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81,
-  0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43,
-  0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d,
-  0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e,
-  0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c,
-  0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d,
-  0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f,
-  0x90, 0x00, 0x86, 0x24, 0x5e, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24,
-  0xa1, 0x66, 0x18, 0x86, 0x01, 0x1c, 0x86, 0x61, 0x00, 0x41, 0x10, 0x24,
-  0xf2, 0x26, 0x69, 0x8a, 0x28, 0x61, 0xf2, 0x59, 0x80, 0x79, 0x16, 0x22,
-  0x62, 0x27, 0x60, 0x22, 0x50, 0x40, 0x90, 0x99, 0x0e, 0xc4, 0x14, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
-  0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50,
-  0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30,
-  0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
-  0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20,
-  0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0,
-  0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
-  0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10,
-  0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
-  0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
-  0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x01, 0x10, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02, 0x02, 0x20, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x4f, 0x05, 0x04, 0x40, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1e, 0x0c, 0x08, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x1a, 0x10,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x3a,
-  0x20, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x02,
-  0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x1c, 0x8a, 0xa1, 0x08, 0x4a, 0xa2, 0xc0, 0x03,
-  0xca, 0xa0, 0x3c, 0xa8, 0x28, 0x89, 0x32, 0x28, 0x84, 0x11, 0x80, 0x22,
-  0x28, 0x10, 0x1a, 0x67, 0x00, 0xa8, 0x9c, 0x01, 0xa0, 0x73, 0x06, 0x80,
-  0xd0, 0xb1, 0x1c, 0x86, 0x00, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x08, 0x04,
-  0x02, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00,
-  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
-  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7,
-  0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c,
-  0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x65, 0x82, 0x40, 0x30,
-  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xcd, 0x06, 0x61, 0x30, 0x28, 0xc0,
-  0xcd, 0x4d, 0x10, 0x08, 0x67, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x61, 0x0c,
-  0x34, 0x02, 0x13, 0x04, 0xe2, 0x99, 0x20, 0x10, 0xd0, 0x06, 0x81, 0x70,
-  0x36, 0x24, 0xc4, 0xc2, 0x10, 0xc4, 0xd0, 0x10, 0xcf, 0x86, 0x64, 0x58,
-  0x18, 0x62, 0x18, 0x1a, 0xe2, 0xd9, 0x90, 0x34, 0x0b, 0x43, 0x34, 0x43,
-  0x43, 0x3c, 0x1b, 0x06, 0x28, 0x92, 0x26, 0x08, 0x65, 0xb0, 0x4d, 0x10,
-  0x88, 0x68, 0x03, 0x42, 0x50, 0x0c, 0x31, 0x0c, 0x15, 0xb0, 0x21, 0xb0,
-  0x26, 0x08, 0x67, 0xc0, 0x6d, 0x40, 0x08, 0x8c, 0x21, 0x88, 0x81, 0x00,
-  0x36, 0x20, 0x03, 0xc6, 0x10, 0xc3, 0x40, 0x00, 0x1b, 0x84, 0x4c, 0xdb,
-  0x40, 0x4c, 0xc0, 0xb5, 0x4d, 0x10, 0xd0, 0xa0, 0xdb, 0x10, 0x74, 0x13,
-  0x04, 0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0xc6, 0x65, 0xca, 0xea, 0x0b,
-  0xea, 0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d, 0x82, 0x50, 0x50, 0x13,
-  0x84, 0xa2, 0xda, 0x10, 0x10, 0x13, 0x84, 0xc2, 0x9a, 0x20, 0x14, 0xd7,
-  0x86, 0x85, 0x08, 0x03, 0x31, 0x18, 0x03, 0x32, 0x28, 0x83, 0xa1, 0x0c,
-  0x08, 0x33, 0x00, 0x88, 0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11,
-  0x4d, 0x10, 0x0a, 0x6c, 0x82, 0x40, 0x48, 0x1b, 0x04, 0x35, 0x50, 0x83,
-  0x0d, 0xcb, 0x80, 0x06, 0x62, 0x60, 0x06, 0x64, 0x90, 0x06, 0x43, 0x1a,
-  0x0c, 0x66, 0xb0, 0x06, 0x2c, 0x86, 0x9e, 0x98, 0x9e, 0xa4, 0x26, 0x08,
-  0xc4, 0xb4, 0x41, 0x50, 0x03, 0x37, 0xd8, 0xb0, 0x34, 0x6d, 0x20, 0x06,
-  0x66, 0x40, 0x06, 0x69, 0x30, 0x94, 0x41, 0x63, 0x06, 0x6f, 0xb0, 0x61,
-  0x38, 0x03, 0x36, 0x80, 0x03, 0x26, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72,
-  0x67, 0x65, 0x74, 0x13, 0x84, 0x22, 0xdb, 0xb0, 0x10, 0x72, 0x20, 0x06,
-  0x73, 0x40, 0x06, 0x66, 0x30, 0x94, 0x01, 0x61, 0x06, 0x6f, 0xb0, 0x21,
-  0xa0, 0x83, 0x0d, 0x43, 0x1c, 0xd4, 0x01, 0xb0, 0xa1, 0xf8, 0xc0, 0xc0,
-  0x0e, 0x38, 0xa0, 0x0a, 0x1b, 0x9b, 0x5d, 0x9b, 0x4b, 0x1a, 0x59, 0x99,
-  0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42, 0x86, 0xe7, 0x62, 0x57, 0x26, 0x37,
-  0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90, 0xe1, 0xb9, 0xd8, 0x85,
-  0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a, 0x64, 0x78, 0x2e, 0x73,
-  0x68, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x82,
-  0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9, 0xdc, 0x5b, 0x9d, 0xdc, 0x58,
-  0xd9, 0xdc, 0x94, 0x60, 0xab, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56, 0x76,
-  0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0xe8, 0xea, 0x90,
-  0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9, 0xd1,
-  0xcd, 0x4d, 0x09, 0xec, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x51, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
-  0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
-  0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
-  0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce,
-  0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b,
-  0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c,
-  0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07,
-  0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11,
-  0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0,
-  0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8,
-  0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b,
-  0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b,
-  0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87,
-  0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07,
-  0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87,
-  0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81,
-  0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30,
-  0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4,
-  0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca,
-  0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39,
-  0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b,
-  0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b,
-  0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87,
-  0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20,
-  0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90,
-  0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x30, 0x83, 0x81, 0xc8, 0x01, 0x1f, 0xdc,
-  0x40, 0x1c, 0xe4, 0xa1, 0x1c, 0xc2, 0x61, 0x1d, 0xdc, 0x40, 0x1c, 0xe4,
-  0x01, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
-  0x76, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9,
-  0xc5, 0x6d, 0x1b, 0xc2, 0x36, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x40, 0x15,
-  0x05, 0x11, 0x95, 0x0e, 0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc,
-  0xb6, 0x29, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x44, 0x04, 0x30, 0x11,
-  0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x06, 0xce, 0x70, 0xf9, 0xce, 0xe3, 0x0f,
-  0xce, 0x74, 0xfb, 0xc5, 0x6d, 0x5b, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8,
-  0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x40,
-  0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71, 0xdb,
-  0x46, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42, 0x80,
-  0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3, 0xf8,
-  0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x5b,
-  0x82, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x13, 0x11, 0x4d, 0x08, 0x10, 0x61,
-  0x7e, 0x71, 0xdb, 0x56, 0xf0, 0x0c, 0x97, 0xef, 0x3c, 0x3e, 0xd5, 0x00,
-  0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0x37, 0x05, 0x00, 0x00, 0x13, 0x04, 0xa3, 0x10,
-  0x0b, 0x04, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xc4, 0x8d, 0x00, 0x50,
-  0x51, 0x02, 0x44, 0x94, 0x5f, 0x21, 0x15, 0x6a, 0x40, 0x99, 0x06, 0x94,
-  0x5c, 0x29, 0x94, 0x4d, 0xb1, 0x94, 0x5b, 0x19, 0x15, 0x42, 0xa9, 0x94,
-  0x4b, 0x71, 0x95, 0x5d, 0xe1, 0xcd, 0x00, 0xd0, 0x30, 0x46, 0x00, 0x82,
-  0x74, 0x9b, 0x83, 0xc1, 0x18, 0xc1, 0x3a, 0xe2, 0x31, 0x0b, 0x06, 0x63,
-  0x04, 0x20, 0x08, 0xe3, 0xe1, 0x18, 0x8c, 0x11, 0x98, 0xf7, 0xba, 0xca,
-  0xde, 0x18, 0x41, 0xcc, 0x83, 0x7d, 0xee, 0x8d, 0x11, 0xb8, 0x7d, 0x2c,
-  0xda, 0xde, 0x18, 0xc1, 0xbb, 0xa7, 0xe5, 0xfd, 0x8d, 0x11, 0xe8, 0xac,
-  0x39, 0x87, 0x60, 0x30, 0x46, 0x20, 0xe6, 0x62, 0xda, 0x7f, 0x63, 0x04,
-  0x60, 0xc9, 0xb3, 0xf1, 0x2f, 0x8c, 0x11, 0x8c, 0xe9, 0xaa, 0xe6, 0xbe,
-  0x30, 0x46, 0xf0, 0xcf, 0xa4, 0xff, 0xfb, 0xc2, 0x18, 0x01, 0x5d, 0x83,
-  0x62, 0xfe, 0x8d, 0x11, 0xb4, 0x70, 0x1c, 0x83, 0xbe, 0x30, 0x46, 0x30,
-  0xf7, 0x6d, 0x9a, 0xfa, 0xc2, 0x18, 0x41, 0xeb, 0x86, 0x3c, 0xef, 0x0b,
-  0x63, 0x04, 0x7c, 0xce, 0xfa, 0xf8, 0x37, 0x46, 0x00, 0x82, 0x20, 0x88,
-  0x82, 0xc1, 0x18, 0x01, 0x08, 0x82, 0xa0, 0x0a, 0x06, 0x63, 0x04, 0x20,
-  0x08, 0x82, 0x2c, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08, 0xba, 0x60, 0x30,
-  0x46, 0x00, 0x82, 0x20, 0x08, 0x83, 0xc1, 0x18, 0x01, 0xcb, 0x9e, 0xa1,
-  0xfc, 0x8d, 0x11, 0xa0, 0x7e, 0x19, 0xab, 0xdf, 0x18, 0x41, 0x7e, 0xea,
-  0xe2, 0xec, 0x8d, 0x11, 0xe8, 0x35, 0xb8, 0xe3, 0xde, 0x18, 0x81, 0x8a,
-  0xe7, 0xb6, 0xfd, 0x8d, 0x11, 0xbc, 0x7d, 0x4a, 0x8f, 0xde, 0x18, 0xc1,
-  0x3a, 0xc7, 0x2c, 0xea, 0x8d, 0x11, 0xa4, 0x21, 0x8c, 0xee, 0xde, 0x18,
-  0xc1, 0xdd, 0xc6, 0xaa, 0xfd, 0x8d, 0x11, 0x80, 0x20, 0xb8, 0xe6, 0x60,
-  0x30, 0x46, 0x00, 0x82, 0x20, 0x5b, 0xff, 0xc2, 0x18, 0x01, 0xdb, 0xce,
-  0x3f, 0xe9, 0x8d, 0x11, 0x80, 0x20, 0x08, 0xc2, 0xbf, 0x30, 0x46, 0x00,
-  0x82, 0x20, 0x88, 0xff, 0xc2, 0x18, 0x01, 0xdb, 0xc6, 0xaf, 0xbc, 0x8d,
-  0x11, 0xb8, 0x7d, 0x2c, 0xda, 0xbe, 0x30, 0x46, 0xd0, 0xc7, 0xa2, 0x8b,
-  0x7f, 0x63, 0x04, 0xb5, 0x5a, 0xab, 0xed, 0x37, 0x46, 0x20, 0x8b, 0x6e,
-  0x4f, 0x83, 0xc1, 0x18, 0x01, 0x0f, 0xaf, 0x3a, 0xdd, 0x8d, 0x11, 0x80,
-  0x20, 0x08, 0x92, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0x08, 0x82, 0xc1,
-  0x18, 0x01, 0x08, 0x82, 0x20, 0xdc, 0x8d, 0x11, 0x80, 0x20, 0xe8, 0xdf,
-  0xdf, 0x08, 0xc0, 0x18, 0x01, 0x08, 0x82, 0x20, 0xfe, 0x8d, 0x11, 0x80,
-  0x20, 0x08, 0xc2, 0xdf, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0xd0, 0xe5, 0xc2, 0x1f, 0xb0, 0x02, 0x2d, 0xd0, 0x42, 0x29,
-  0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x41, 0xa7, 0x0b, 0xa0, 0xd0, 0x0a,
-  0xb9, 0x90, 0x0b, 0xa6, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xdd,
-  0x2e, 0x84, 0x82, 0x2b, 0xe4, 0x42, 0x2e, 0x9c, 0xc2, 0x88, 0x41, 0x02,
-  0x80, 0x20, 0x18, 0x74, 0xbc, 0x20, 0x0a, 0xb1, 0xb0, 0x0b, 0xbb, 0x80,
-  0x0a, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xd0, 0xf5, 0xc2, 0x28, 0xc8,
-  0xc2, 0x2e, 0xec, 0x42, 0x2a, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x41,
-  0xe7, 0x0b, 0xa4, 0x00, 0x0b, 0xbc, 0xd0, 0x0b, 0xaa, 0x30, 0x62, 0x90,
-  0x00, 0x20, 0x08, 0x06, 0x06, 0x3a, 0xfc, 0x81, 0x2e, 0xf4, 0x82, 0x2c,
-  0xe4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0xe9, 0x00, 0x0a,
-  0xbb, 0xe0, 0x0b, 0xab, 0xa0, 0x07, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60,
-  0x60, 0xa8, 0x43, 0x28, 0xf0, 0xc2, 0x2f, 0xcc, 0xc2, 0x1e, 0x8c, 0x18,
-  0x24, 0x00, 0x08, 0x82, 0x81, 0xb1, 0x0e, 0xa2, 0xd0, 0x0b, 0xe0, 0x70,
-  0x0b, 0x7c, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x3b, 0x8c,
-  0x82, 0x38, 0x84, 0x83, 0x2d, 0xf4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
-  0x18, 0x18, 0xed, 0x40, 0x0a, 0xe3, 0x20, 0x0e, 0xaf, 0xe0, 0x07, 0x23,
-  0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0x9d, 0x43, 0x28, 0x1c, 0xe3, 0x30,
-  0x9a, 0x10, 0x04, 0xc3, 0x11, 0x81, 0x14, 0x7c, 0xb3, 0x0c, 0x51, 0x10,
-  0x0c, 0x47, 0x08, 0x52, 0xf0, 0xcd, 0x32, 0x08, 0x43, 0x30, 0x62, 0xf0,
-  0x00, 0x20, 0x08, 0x06, 0x0d, 0x3c, 0x90, 0x82, 0xc3, 0x18, 0x45, 0x14,
-  0x9d, 0xc3, 0x39, 0x8c, 0x42, 0x34, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42,
-  0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30, 0x4b, 0x10, 0x0d, 0x47,
-  0x20, 0x5c, 0xf0, 0xcd, 0x32, 0x10, 0x45, 0x30, 0x62, 0x60, 0x00, 0x20,
-  0x08, 0x06, 0x11, 0x3d, 0xd8, 0x02, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08,
-  0x06, 0x51, 0x3d, 0xdc, 0x02, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06,
-  0x91, 0x3d, 0xb4, 0x83, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1,
-  0x3d, 0xb8, 0x83, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x11, 0x3e,
-  0xec, 0x02, 0x34, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x51, 0x3e, 0xf0,
-  0x02, 0x34, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x91, 0x3e, 0xc4, 0x83,
-  0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1, 0x3e, 0xc8, 0x83, 0x60,
-  0x82, 0x01, 0x1f, 0x13, 0x0c, 0xf8, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82,
-  0x01, 0xb6, 0x0f, 0xb5, 0xb0, 0xe1, 0xc3, 0x68, 0x42, 0x20, 0x8c, 0x26,
-  0x08, 0x83, 0x09, 0x85, 0x7c, 0x4c, 0x28, 0xe4, 0x33, 0x62, 0x70, 0x00,
-  0x20, 0x08, 0x06, 0x55, 0x48, 0xfc, 0x82, 0x30, 0x07, 0x23, 0x06, 0x07,
-  0x00, 0x82, 0x60, 0x50, 0x89, 0x04, 0x38, 0x08, 0x74, 0x30, 0x62, 0x70,
-  0x00, 0x20, 0x08, 0x06, 0xd5, 0x48, 0xa4, 0x83, 0xa0, 0x06, 0x23, 0x06,
-  0x07, 0x00, 0x82, 0x60, 0x50, 0x91, 0x84, 0x3a, 0x08, 0x6b, 0x60, 0xc8,
-  0x27, 0x1f, 0x43, 0x3e, 0xf9, 0x18, 0xd1, 0x06, 0xf2, 0x31, 0xc2, 0x0d,
-  0xe4, 0x63, 0x84, 0x10, 0x1f, 0x23, 0x84, 0xf8, 0x8c, 0x18, 0x18, 0x00,
-  0x08, 0x82, 0x41, 0xd4, 0x12, 0xeb, 0x20, 0x8c, 0x18, 0x18, 0x00, 0x08,
-  0x82, 0x41, 0xe4, 0x12, 0xec, 0x20, 0x98, 0x02, 0x0a, 0xf0, 0xb1, 0x60,
-  0x80, 0x8f, 0x2d, 0xa2, 0x00, 0x1f, 0x0b, 0x08, 0xf8, 0xd8, 0xe0, 0xd0,
-  0xc7, 0x04, 0x87, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xd5,
-  0x44, 0x4b, 0x08, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xd9, 0x84,
-  0x4b, 0x08, 0x26, 0x80, 0x82, 0x7c, 0x4c, 0x08, 0x05, 0xf9, 0xd8, 0x28,
-  0x08, 0xf1, 0x31, 0x52, 0x10, 0xe2, 0x63, 0x86, 0x21, 0x1f, 0x0b, 0x06,
-  0xf9, 0xd8, 0x71, 0xc8, 0xc7, 0x02, 0x42, 0x3e, 0x23, 0x06, 0x06, 0x00,
-  0x82, 0x60, 0x10, 0xfd, 0x84, 0x3f, 0x50, 0x23, 0x06, 0x06, 0x00, 0x82,
-  0x60, 0x10, 0x81, 0xc5, 0x3f, 0x50, 0x26, 0x94, 0x02, 0x7c, 0x4c, 0x30,
-  0x05, 0xf8, 0x98, 0x70, 0xc0, 0xc7, 0x04, 0x03, 0x3e, 0xa3, 0x09, 0x67,
-  0x00, 0x8c, 0x26, 0xa0, 0x41, 0x60, 0x02, 0x21, 0x1f, 0x23, 0x04, 0xf9,
-  0x8c, 0x18, 0x54, 0x00, 0x08, 0x82, 0xc1, 0xa3, 0x16, 0x2e, 0x91, 0x0a,
-  0xa7, 0x20, 0x04, 0xac, 0xc0, 0x0a, 0x62, 0x21, 0x16, 0xfe, 0x50, 0x07,
-  0x74, 0xc0, 0x0a, 0x71, 0x00, 0x07, 0xac, 0xc0, 0x0a, 0xa3, 0x09, 0x01,
-  0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0xb3,
-  0x04, 0xd1, 0x70, 0xc4, 0x28, 0xe0, 0x42, 0xf0, 0xcd, 0x32, 0x18, 0x47,
-  0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x4d, 0x5c, 0x94, 0xc4, 0x2b,
-  0xb4, 0xc2, 0x29, 0x98, 0x82, 0x2c, 0xc8, 0x02, 0x5a, 0xa0, 0x05, 0x49,
-  0xc8, 0xc2, 0x68, 0x42, 0x00, 0x58, 0x80, 0x0b, 0xf2, 0xb1, 0x40, 0x17,
-  0xe0, 0x33, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x4d, 0x5d, 0xa4, 0x04,
-  0x2d, 0xc8, 0x42, 0x70, 0x0b, 0xb6, 0x60, 0x0b, 0x6c, 0xc1, 0x16, 0x28,
-  0x61, 0x0b, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83,
-  0x30, 0x9a, 0x40, 0x0c, 0xb3, 0x04, 0xd1, 0x70, 0x44, 0x2b, 0xec, 0x43,
-  0xf0, 0xcd, 0x32, 0x20, 0x49, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06,
-  0x98, 0x5d, 0xc0, 0x84, 0x2d, 0xcc, 0xc5, 0x68, 0x42, 0x20, 0x8c, 0x26,
-  0x08, 0x83, 0x09, 0xb4, 0x20, 0x1f, 0x13, 0x68, 0x41, 0x3e, 0x26, 0x88,
-  0x03, 0x7c, 0x4c, 0x18, 0x07, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
-  0x41, 0x04, 0x1a, 0x3f, 0x21, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
-  0x14, 0x1a, 0x60, 0x21, 0x98, 0x40, 0x0f, 0xf0, 0x31, 0xa1, 0x1e, 0xe0,
-  0x33, 0x9a, 0xb0, 0x00, 0xa3, 0x09, 0x4c, 0x60, 0x02, 0x21, 0x1f, 0x13,
-  0x08, 0xf9, 0x18, 0xc2, 0x0e, 0xf0, 0x31, 0xa4, 0x1d, 0xe0, 0x63, 0x86,
-  0x20, 0x1f, 0x33, 0x04, 0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
-  0xc4, 0x1a, 0x6a, 0xe1, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xd4,
-  0x1a, 0x6b, 0xe1, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x03, 0x1b,
-  0x64, 0xe1, 0x0e, 0xec, 0x80, 0x1c, 0xf1, 0x10, 0x0f, 0xa7, 0x71, 0x1a,
-  0x63, 0x11, 0x0f, 0xa3, 0x09, 0x01, 0x60, 0xc1, 0x3d, 0xc8, 0xc7, 0x82,
-  0x7c, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xb4, 0x81,
-  0x16, 0xf3, 0x10, 0x0f, 0x81, 0x3d, 0xd4, 0x43, 0x3d, 0xac, 0xc6, 0x6a,
-  0x9c, 0x45, 0x3d, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26,
-  0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41,
-  0x93, 0x1b, 0x6d, 0x71, 0x0f, 0xf5, 0x10, 0x31, 0xfa, 0xa0, 0x0f, 0xb0,
-  0x01, 0x1b, 0x6c, 0xa1, 0x0f, 0xa3, 0x09, 0x01, 0x60, 0x01, 0x48, 0xc8,
-  0xc7, 0x02, 0x91, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34,
-  0xbd, 0x11, 0x17, 0xfc, 0xa0, 0x0f, 0xc1, 0x3f, 0xf8, 0x83, 0x3f, 0xd0,
-  0x06, 0x6d, 0xc0, 0x85, 0x3f, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10,
-  0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x3c, 0x00, 0x08,
-  0x82, 0x41, 0x23, 0x1e, 0x76, 0x01, 0x12, 0xfe, 0x60, 0x65, 0x23, 0x31,
-  0x12, 0xb9, 0x91, 0x1b, 0x75, 0x31, 0x12, 0xa3, 0x09, 0x01, 0x60, 0x41,
-  0x4a, 0xc8, 0xc7, 0x82, 0x95, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20,
-  0x18, 0x34, 0xe6, 0xa1, 0x17, 0x25, 0x31, 0x12, 0x01, 0x4a, 0x9c, 0xc4,
-  0x49, 0xf4, 0x46, 0x6f, 0xe4, 0xc5, 0x49, 0x8c, 0x26, 0x04, 0xc0, 0x68,
+  0x20, 0x0d, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x37, 0x05, 0x00, 0x00,
+  0x13, 0x04, 0xa3, 0x10, 0x0b, 0x04, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00,
+  0xc4, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x44, 0x94, 0x5f, 0x21, 0x15, 0x6a,
+  0x40, 0x99, 0x06, 0x94, 0x5c, 0x29, 0x94, 0x4d, 0xb1, 0x94, 0x5b, 0x19,
+  0x15, 0x42, 0x39, 0x94, 0x4a, 0xb9, 0x14, 0x57, 0xd9, 0x15, 0xde, 0x0c,
+  0x00, 0x0d, 0x63, 0x04, 0xeb, 0x88, 0xc7, 0x2c, 0x18, 0x8c, 0x11, 0x80,
+  0x20, 0x8c, 0x87, 0x63, 0x30, 0x46, 0x60, 0xde, 0xeb, 0x2a, 0x7b, 0x63,
+  0x04, 0x31, 0x0f, 0xf6, 0xb9, 0x37, 0x46, 0xe0, 0xf6, 0xb1, 0x68, 0x7b,
+  0x63, 0x04, 0xef, 0x9e, 0x96, 0xf7, 0x37, 0x46, 0xa0, 0xb3, 0xe6, 0x1c,
+  0x82, 0xc1, 0x18, 0x81, 0x98, 0x8b, 0x69, 0xff, 0x8d, 0x11, 0x80, 0x25,
+  0xcf, 0xc6, 0xbf, 0x30, 0x46, 0x30, 0xa6, 0xab, 0x9a, 0xfb, 0xc2, 0x18,
+  0xc1, 0x3f, 0x93, 0xfe, 0xef, 0x0b, 0x63, 0x04, 0x74, 0x0d, 0x8a, 0xf9,
+  0x37, 0x46, 0xd0, 0xc2, 0x71, 0x0c, 0xfa, 0xc2, 0x18, 0xc1, 0xdc, 0xb7,
+  0x69, 0xea, 0x0b, 0x63, 0x04, 0xad, 0x1b, 0xf2, 0xbc, 0x2f, 0x8c, 0x11,
+  0xf0, 0x39, 0xeb, 0xe3, 0xdf, 0x18, 0x01, 0x08, 0x82, 0x20, 0x0a, 0x06,
+  0x63, 0x04, 0x20, 0x08, 0x82, 0x2a, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08,
+  0xb2, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0xe8, 0x82, 0xc1, 0x18, 0x01,
+  0x08, 0x82, 0x20, 0x0c, 0x06, 0x63, 0x04, 0x2c, 0x7b, 0x86, 0xf2, 0x37,
+  0x46, 0x80, 0xfa, 0x65, 0xac, 0x7e, 0x63, 0x04, 0xf9, 0xa9, 0x8b, 0xb3,
+  0x37, 0x46, 0xa0, 0xd7, 0xe0, 0x8e, 0x7b, 0x63, 0x04, 0x2a, 0x9e, 0xdb,
+  0xf6, 0x37, 0x46, 0xf0, 0xf6, 0x29, 0x3d, 0x7a, 0x63, 0x04, 0xeb, 0x1c,
+  0xb3, 0xa8, 0x37, 0x46, 0x90, 0x86, 0x30, 0xba, 0x7b, 0x63, 0x04, 0x77,
+  0x1b, 0xab, 0xf6, 0x37, 0x46, 0x00, 0x82, 0x74, 0x9b, 0x83, 0xc1, 0x18,
+  0x01, 0x08, 0x82, 0x6b, 0x0e, 0x06, 0x63, 0x04, 0x20, 0x08, 0xb2, 0xf5,
+  0x2f, 0x8c, 0x11, 0xb0, 0xed, 0xfc, 0x93, 0xde, 0x18, 0x01, 0x08, 0x82,
+  0x20, 0xfc, 0x0b, 0x63, 0x04, 0x20, 0x08, 0x82, 0xf8, 0x2f, 0x8c, 0x11,
+  0xb0, 0x6d, 0xfc, 0xca, 0xdb, 0x18, 0x81, 0xdb, 0xc7, 0xa2, 0xed, 0x0b,
+  0x63, 0x04, 0x7d, 0x2c, 0xba, 0xf8, 0x37, 0x46, 0x50, 0xab, 0xb5, 0xda,
+  0x7e, 0x63, 0x04, 0xb2, 0xe8, 0xf6, 0x34, 0x18, 0x8c, 0x11, 0xf0, 0xf0,
+  0xaa, 0xd3, 0xdd, 0x18, 0x01, 0x08, 0x82, 0x20, 0x09, 0x06, 0x63, 0x04,
+  0x20, 0x08, 0x82, 0x20, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08, 0xc2, 0xdd,
+  0x18, 0x01, 0x08, 0x82, 0xfe, 0xfd, 0x8d, 0x00, 0x8c, 0x11, 0x80, 0x20,
+  0x08, 0xe2, 0xdf, 0x18, 0x01, 0x08, 0x82, 0x20, 0xfc, 0xcd, 0x00, 0x00,
+  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xd0, 0xe9, 0x02, 0x28, 0xb4, 0x42,
+  0x2d, 0xd4, 0x82, 0x29, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x41, 0xb7,
+  0x0b, 0xa1, 0xe0, 0x0a, 0xba, 0xa0, 0x0b, 0xa7, 0x30, 0x62, 0x90, 0x00,
+  0x20, 0x08, 0x06, 0x1d, 0x2f, 0x88, 0xc2, 0x2b, 0xe8, 0x82, 0x2e, 0xa0,
+  0xc2, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x74, 0xbd, 0x30, 0x0a, 0xb2,
+  0xc0, 0x0b, 0xbc, 0x90, 0x0a, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xd0,
+  0xf9, 0x02, 0x29, 0xcc, 0x02, 0x2f, 0xf0, 0x82, 0x2a, 0x8c, 0x18, 0x24,
+  0x00, 0x08, 0x82, 0x41, 0xf7, 0x0b, 0xa5, 0x10, 0x0b, 0xbd, 0xe0, 0x0b,
+  0xab, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x3a, 0x80, 0xc2,
+  0x2e, 0xf8, 0xc2, 0x2c, 0xe4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
+  0x18, 0xea, 0x10, 0x0a, 0xbc, 0xf0, 0x0b, 0xac, 0xa0, 0x07, 0x23, 0x06,
+  0x09, 0x00, 0x82, 0x60, 0x60, 0xac, 0x83, 0x28, 0xf4, 0x02, 0x38, 0xd0,
+  0xc2, 0x1e, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xc1, 0x0e, 0xa3,
+  0xe0, 0x0b, 0xe1, 0x80, 0x0b, 0x7c, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08,
+  0x06, 0x46, 0x3b, 0x90, 0xc2, 0x38, 0x88, 0xc3, 0x2d, 0xf4, 0xc1, 0x88,
+  0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0xee, 0x50, 0x0a, 0xe4, 0x30, 0x0e,
+  0xb0, 0xe0, 0x07, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0xa1, 0x43,
+  0x28, 0x1c, 0xe4, 0x30, 0x9a, 0x10, 0x04, 0xc3, 0x11, 0x81, 0x14, 0x7c,
+  0xb3, 0x0c, 0x51, 0x10, 0x0c, 0x47, 0x08, 0x52, 0xf0, 0xcd, 0x32, 0x08,
+  0x43, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x4d, 0x3c, 0x90, 0x82,
+  0xc3, 0x18, 0x45, 0x14, 0xa1, 0x03, 0x3a, 0x8c, 0x42, 0x34, 0x9a, 0x10,
+  0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30,
+  0x4b, 0x10, 0x0d, 0x47, 0x20, 0x5c, 0xf0, 0xcd, 0x32, 0x10, 0x45, 0x30,
+  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x51, 0x3d, 0xdc, 0x02, 0x33, 0x62,
+  0x60, 0x00, 0x20, 0x08, 0x06, 0x91, 0x3d, 0xe0, 0x02, 0x33, 0x62, 0x60,
+  0x00, 0x20, 0x08, 0x06, 0xd1, 0x3d, 0xb8, 0x83, 0x30, 0x62, 0x60, 0x00,
+  0x20, 0x08, 0x06, 0x11, 0x3e, 0xbc, 0x83, 0x30, 0x62, 0x60, 0x00, 0x20,
+  0x08, 0x06, 0x51, 0x3e, 0xf0, 0x02, 0x34, 0x62, 0x60, 0x00, 0x20, 0x08,
+  0x06, 0x91, 0x3e, 0xf4, 0x02, 0x34, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06,
+  0xd1, 0x3e, 0xc8, 0x83, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x11,
+  0x3f, 0xcc, 0x83, 0x60, 0x82, 0x01, 0x1f, 0x13, 0x0c, 0xf8, 0x8c, 0x18,
+  0x1c, 0x00, 0x08, 0x82, 0x01, 0xc6, 0x0f, 0xb5, 0xb0, 0xe5, 0xc3, 0x68,
+  0x42, 0x20, 0x8c, 0x26, 0x08, 0x83, 0x09, 0x85, 0x7c, 0x4c, 0x28, 0xe4,
+  0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x95, 0x48, 0x80, 0x83, 0x30,
+  0x07, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x50, 0x8d, 0x44, 0x38, 0x08,
+  0x74, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x15, 0x49, 0xa8, 0x83,
+  0xa0, 0x06, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x50, 0x95, 0xc4, 0x3a,
+  0x08, 0x6b, 0x60, 0xc8, 0x27, 0x1f, 0x43, 0x3e, 0xf9, 0x18, 0xd1, 0x06,
+  0xf2, 0x31, 0xc2, 0x0d, 0xe4, 0x63, 0x84, 0x10, 0x1f, 0x23, 0x84, 0xf8,
+  0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xe4, 0x12, 0xec, 0x20, 0x8c,
+  0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xf4, 0x12, 0xed, 0x20, 0x98, 0x02,
+  0x0a, 0xf0, 0xb1, 0x60, 0x80, 0x8f, 0x2d, 0xa2, 0x00, 0x1f, 0x0b, 0x08,
+  0xf8, 0xd8, 0xe0, 0xd0, 0xc7, 0x04, 0x87, 0x3e, 0x23, 0x06, 0x06, 0x00,
+  0x82, 0x60, 0x10, 0xd9, 0x04, 0x3c, 0x08, 0x23, 0x06, 0x06, 0x00, 0x82,
+  0x60, 0x10, 0xdd, 0x44, 0x3c, 0x08, 0x26, 0x80, 0x82, 0x7c, 0x4c, 0x08,
+  0x05, 0xf9, 0xd8, 0x28, 0x08, 0xf1, 0x31, 0x52, 0x10, 0xe2, 0x63, 0x86,
+  0x21, 0x1f, 0x0b, 0x06, 0xf9, 0xd8, 0x71, 0xc8, 0xc7, 0x02, 0x42, 0x3e,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0x81, 0xc5, 0x3f, 0x50, 0x23,
+  0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0x85, 0x05, 0x48, 0x50, 0x26, 0x94,
+  0x02, 0x7c, 0x4c, 0x30, 0x05, 0xf8, 0x98, 0x70, 0xc0, 0xc7, 0x04, 0x03,
+  0x3e, 0xa3, 0x09, 0x67, 0x00, 0x8c, 0x26, 0xa0, 0x41, 0x60, 0x84, 0x20,
+  0x1f, 0x23, 0x04, 0xf9, 0x8c, 0x18, 0x54, 0x00, 0x08, 0x82, 0xc1, 0xb3,
+  0x16, 0x2f, 0x91, 0x0a, 0xa7, 0x20, 0x04, 0xac, 0xc0, 0x0a, 0x63, 0x31,
+  0x16, 0xfe, 0x50, 0x07, 0x74, 0xc0, 0x0a, 0x71, 0x00, 0x07, 0xac, 0xc0,
+  0x0a, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30,
+  0x9a, 0x40, 0x0c, 0xb3, 0x04, 0xd1, 0x70, 0xc4, 0x28, 0xe0, 0x42, 0xf0,
+  0xcd, 0x32, 0x18, 0x47, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x8d,
+  0x5c, 0x94, 0xc4, 0x2b, 0xb4, 0xc2, 0x29, 0x98, 0x82, 0x2c, 0xc8, 0x42,
+  0x5a, 0xa4, 0x05, 0x49, 0xc8, 0xc2, 0x68, 0x42, 0x00, 0x58, 0x80, 0x0b,
+  0xf2, 0xb1, 0x40, 0x17, 0xe0, 0x33, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06,
+  0x8d, 0x5d, 0xa4, 0x04, 0x2d, 0xc8, 0x42, 0x70, 0x0b, 0xb6, 0x60, 0x0b,
+  0x6d, 0xd1, 0x16, 0x28, 0x61, 0x0b, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20,
+  0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0xb3, 0x04, 0xd1, 0x70,
+  0x44, 0x2b, 0xf0, 0x43, 0xf0, 0xcd, 0x32, 0x20, 0x49, 0x30, 0x62, 0x70,
+  0x00, 0x20, 0x08, 0x06, 0xd8, 0x5d, 0xc0, 0x84, 0x2d, 0xd0, 0xc5, 0x68,
+  0x42, 0x20, 0x8c, 0x26, 0x08, 0x83, 0x09, 0xb4, 0x20, 0x1f, 0x13, 0x68,
+  0x41, 0x3e, 0x26, 0x88, 0x03, 0x7c, 0x4c, 0x18, 0x07, 0xf8, 0x8c, 0x18,
+  0x18, 0x00, 0x08, 0x82, 0x41, 0x14, 0x1a, 0x60, 0x21, 0x8c, 0x18, 0x18,
+  0x00, 0x08, 0x82, 0x41, 0x24, 0x1a, 0x61, 0x21, 0x98, 0x40, 0x0f, 0xf0,
+  0x31, 0xa1, 0x1e, 0xe0, 0x33, 0x9a, 0xb0, 0x00, 0xa3, 0x09, 0x4c, 0x60,
+  0x84, 0x20, 0x1f, 0x23, 0x04, 0xf9, 0x18, 0xc2, 0x0e, 0xf0, 0x31, 0xa4,
+  0x1d, 0xe0, 0x63, 0x82, 0x21, 0x1f, 0x13, 0x0c, 0xf9, 0x8c, 0x18, 0x18,
+  0x00, 0x08, 0x82, 0x41, 0xd4, 0x1a, 0x6b, 0xe1, 0x8c, 0x18, 0x18, 0x00,
+  0x08, 0x82, 0x41, 0xe4, 0x1a, 0x6c, 0xe1, 0x8c, 0x18, 0x3c, 0x00, 0x08,
+  0x82, 0x41, 0x13, 0x1b, 0x64, 0xe1, 0x0e, 0xec, 0x80, 0x1c, 0xf1, 0x10,
+  0x0f, 0xa8, 0x81, 0x1a, 0x63, 0x11, 0x0f, 0xa3, 0x09, 0x01, 0x60, 0xc1,
+  0x3d, 0xc8, 0xc7, 0x82, 0x7c, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20,
+  0x18, 0x34, 0xb5, 0x81, 0x16, 0xf3, 0x10, 0x0f, 0x81, 0x3d, 0xd4, 0x43,
+  0x3d, 0xb0, 0x06, 0x6b, 0x9c, 0x45, 0x3d, 0x8c, 0x26, 0x04, 0xc0, 0x68,
   0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x3c,
-  0x00, 0x08, 0x82, 0x41, 0xb3, 0x1e, 0x7f, 0x91, 0x12, 0x27, 0xf1, 0x79,
-  0x2c, 0xc1, 0x12, 0xe2, 0x21, 0x1e, 0x7e, 0xc1, 0x12, 0xa3, 0x09, 0x01,
-  0x60, 0x81, 0x4c, 0xc8, 0xc7, 0x02, 0x9a, 0x80, 0xcf, 0x88, 0xc1, 0x03,
-  0x80, 0x20, 0x18, 0x34, 0xef, 0x31, 0x1a, 0x2e, 0xc1, 0x12, 0x41, 0x4c,
-  0xc0, 0x04, 0x4c, 0x98, 0x87, 0x79, 0x88, 0x06, 0x4c, 0x8c, 0x26, 0x04,
-  0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x18,
-  0xd1, 0xc4, 0xc7, 0x88, 0x26, 0x3e, 0x46, 0x34, 0xf1, 0x31, 0xa2, 0x89,
-  0x8f, 0x11, 0x69, 0x20, 0x1f, 0x23, 0xd4, 0x40, 0x3e, 0x46, 0xac, 0x81,
-  0x7c, 0x8c, 0x60, 0x03, 0xf9, 0x98, 0x77, 0x06, 0xf1, 0x31, 0xef, 0x0c,
-  0xe2, 0x63, 0xde, 0x19, 0xc4, 0xc7, 0xbc, 0x33, 0x88, 0x8f, 0x11, 0x71,
-  0x20, 0x1f, 0x23, 0xe4, 0x40, 0x3e, 0x46, 0xcc, 0x81, 0x7c, 0x8c, 0xa0,
-  0x03, 0xf9, 0x18, 0xf1, 0x06, 0xf0, 0x31, 0xe2, 0x0d, 0xe0, 0x63, 0xc4,
-  0x1b, 0xc0, 0xc7, 0x88, 0x37, 0x80, 0x8f, 0x85, 0x01, 0x11, 0x1f, 0x0b,
-  0x22, 0xf8, 0x98, 0x18, 0x14, 0xf1, 0xb1, 0x40, 0x82, 0x8f, 0x8d, 0x81,
-  0x11, 0x1f, 0x0b, 0x26, 0xf8, 0x18, 0x19, 0x1c, 0xf1, 0xb1, 0x80, 0x82,
-  0x8f, 0x1d, 0xa2, 0x20, 0x1f, 0x33, 0x46, 0x41, 0x3e, 0x56, 0x90, 0x82,
-  0x7c, 0x8c, 0x28, 0x05, 0xf9, 0x18, 0x01, 0xc1, 0xc7, 0x08, 0x08, 0x3e,
-  0x46, 0x40, 0xf0, 0x31, 0x02, 0x82, 0xcf, 0x2c, 0x41, 0x34, 0x1c, 0xb1,
-  0x16, 0xb8, 0x11, 0x7c, 0xb3, 0x0c, 0xca, 0x12, 0x8c, 0x18, 0x18, 0x00,
-  0x08, 0x82, 0x41, 0x74, 0x23, 0xf9, 0xf1, 0x16, 0x23, 0x06, 0x06, 0x00,
-  0x82, 0x60, 0x10, 0xe1, 0x88, 0x7e, 0xbc, 0xc5, 0x88, 0x81, 0x01, 0x80,
-  0x20, 0x18, 0x44, 0x39, 0x02, 0x23, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20,
-  0x18, 0x44, 0x3a, 0x12, 0x23, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18,
-  0x44, 0x3b, 0xe2, 0x1f, 0x73, 0x31, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06,
-  0x11, 0x8f, 0xfc, 0xc7, 0x5c, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
-  0xd4, 0x23, 0x34, 0x22, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xe4,
-  0x23, 0x35, 0x22, 0x98, 0x60, 0xc0, 0xc7, 0x04, 0x03, 0x3e, 0x23, 0x06,
-  0x07, 0x00, 0x82, 0x60, 0x80, 0xf9, 0x08, 0x7e, 0xf8, 0xc5, 0x8e, 0x8c,
-  0x26, 0x04, 0xc2, 0x68, 0x82, 0x30, 0x98, 0x50, 0xc8, 0xc7, 0x84, 0x42,
-  0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x50, 0x91, 0x89, 0x88, 0x08,
-  0xb6, 0x31, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x55, 0x99, 0x8c, 0x88,
-  0x70, 0x1b, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x50, 0x99, 0x09, 0x8b,
-  0x08, 0xad, 0x31, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0xd5, 0x99, 0xb4,
-  0x88, 0xe0, 0x1a, 0x86, 0x88, 0x86, 0x7c, 0x0c, 0x11, 0x0d, 0xf9, 0x18,
-  0x01, 0x1b, 0xf2, 0x31, 0x22, 0x36, 0xe4, 0x63, 0x84, 0x10, 0x1f, 0x23,
-  0x84, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x04, 0x27, 0x2e,
-  0x22, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x14, 0x27, 0x2f, 0x22,
-  0x98, 0x32, 0x1e, 0xf0, 0xb1, 0x60, 0x80, 0x8f, 0x2d, 0xe5, 0x01, 0x1f,
-  0x0b, 0x08, 0xf8, 0xd8, 0xe0, 0xd0, 0xc7, 0x04, 0x87, 0x3e, 0x23, 0x06,
-  0x06, 0x00, 0x82, 0x60, 0x10, 0xe1, 0x09, 0x9c, 0x08, 0x23, 0x06, 0x06,
-  0x00, 0x82, 0x60, 0x10, 0xe5, 0x49, 0x9c, 0x08, 0x26, 0x8c, 0x87, 0x7c,
-  0x4c, 0x20, 0x0f, 0xf9, 0x98, 0x79, 0x08, 0xf1, 0xb1, 0xf3, 0x10, 0xe2,
-  0x63, 0x86, 0x21, 0x1f, 0x0b, 0x06, 0xf9, 0xd8, 0x71, 0xc8, 0xc7, 0x02,
-  0x42, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0x89, 0x4a, 0x98,
-  0x50, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0x8d, 0x8a, 0x98, 0x50,
-  0x26, 0xa0, 0x07, 0x7c, 0x4c, 0x48, 0x0f, 0xf8, 0x98, 0x70, 0xc0, 0xc7,
-  0x04, 0x03, 0x3e, 0xa3, 0x09, 0x67, 0x00, 0x8c, 0x26, 0xa0, 0x41, 0x60,
-  0x02, 0x21, 0x1f, 0x23, 0x04, 0xf9, 0x98, 0xa0, 0x06, 0xf2, 0x31, 0x41,
-  0x0d, 0xe4, 0x63, 0x82, 0x7c, 0xc0, 0xc7, 0x84, 0xf9, 0x80, 0xcf, 0x88,
-  0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xb0, 0xf2, 0x26, 0xc2, 0x88, 0x81,
-  0x01, 0x80, 0x20, 0x18, 0x44, 0xb1, 0x02, 0x27, 0x82, 0x09, 0x24, 0x02,
-  0x1f, 0x13, 0x4a, 0x04, 0x3e, 0xc6, 0x08, 0xf2, 0x31, 0x46, 0x90, 0x8f,
-  0x19, 0xfa, 0x01, 0x1f, 0x33, 0xf6, 0x03, 0x3e, 0x06, 0x09, 0xf2, 0x31,
-  0x48, 0x90, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xba, 0x82,
-  0x27, 0xcc, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xbb, 0x92, 0x27,
-  0xcc, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xbe, 0x22, 0x27, 0xfc,
-  0xa1, 0x1f, 0xc8, 0xf1, 0x1f, 0xff, 0x51, 0x2b, 0xb5, 0x12, 0x27, 0xff,
-  0x31, 0x9a, 0x10, 0x00, 0x16, 0x94, 0x88, 0x7c, 0x2c, 0x38, 0x11, 0xf8,
-  0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x23, 0x2e, 0x76, 0x12, 0x22,
-  0xff, 0x11, 0x90, 0xc8, 0x88, 0x8c, 0x48, 0xae, 0xe4, 0x4a, 0x9d, 0x8c,
-  0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c,
-  0x26, 0x10, 0xc3, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xe7, 0xb2,
-  0x27, 0x25, 0x32, 0x22, 0x11, 0x83, 0x22, 0x28, 0xe2, 0x2b, 0xbe, 0xa2,
-  0x27, 0x28, 0x32, 0x9a, 0x10, 0x00, 0x16, 0xb8, 0x88, 0x7c, 0x2c, 0x80,
-  0x11, 0xf8, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0xb3, 0x2e, 0x7f,
-  0xa2, 0x22, 0x28, 0x12, 0xb4, 0x08, 0x8b, 0xb0, 0x88, 0xb8, 0x88, 0x8b,
-  0x9f, 0xb0, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2,
-  0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34,
-  0xf0, 0x42, 0x2a, 0x2e, 0xc2, 0x22, 0x56, 0x16, 0x23, 0x31, 0x72, 0x2e,
-  0xe7, 0x32, 0x2a, 0x31, 0x32, 0x9a, 0x10, 0x00, 0x16, 0xdc, 0x88, 0x7c,
-  0x2c, 0xc8, 0x11, 0xf8, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x43,
-  0x2f, 0xa8, 0x32, 0x23, 0x31, 0x12, 0xd8, 0x48, 0x8d, 0xd4, 0xc8, 0xba,
-  0xac, 0xcb, 0xa9, 0xd4, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1,
+  0x00, 0x08, 0x82, 0x41, 0xa3, 0x1b, 0x6d, 0x71, 0x0f, 0xf5, 0x10, 0x31,
+  0xfa, 0xa0, 0x0f, 0xb1, 0x11, 0x1b, 0x6c, 0xa1, 0x0f, 0xa3, 0x09, 0x01,
+  0x60, 0x01, 0x48, 0xc8, 0xc7, 0x02, 0x91, 0x80, 0xcf, 0x88, 0xc1, 0x03,
+  0x80, 0x20, 0x18, 0x34, 0xbe, 0x11, 0x17, 0xfc, 0xa0, 0x0f, 0xc1, 0x3f,
+  0xf8, 0x83, 0x3f, 0xd4, 0x46, 0x6d, 0xc0, 0x85, 0x3f, 0x8c, 0x26, 0x04,
+  0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c,
+  0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x1e, 0x76, 0x01, 0x12, 0xfe,
+  0x60, 0x65, 0x23, 0x31, 0x12, 0xba, 0xa1, 0x1b, 0x75, 0x31, 0x12, 0xa3,
+  0x09, 0x01, 0x60, 0x41, 0x4a, 0xc8, 0xc7, 0x82, 0x95, 0x80, 0xcf, 0x88,
+  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xe7, 0xa1, 0x17, 0x25, 0x31, 0x12,
+  0x01, 0x4a, 0x9c, 0xc4, 0x49, 0xf8, 0x86, 0x6f, 0xe4, 0xc5, 0x49, 0x8c,
+  0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02,
+  0x31, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0xc3, 0x1e, 0x7f, 0x91,
+  0x12, 0x27, 0xf1, 0x79, 0x2c, 0xc1, 0x12, 0xe3, 0x31, 0x1e, 0x7e, 0xc1,
+  0x12, 0xa3, 0x09, 0x01, 0x60, 0x81, 0x4c, 0xc8, 0xc7, 0x02, 0x9a, 0x80,
+  0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xf0, 0x31, 0x1a, 0x2e,
+  0xc1, 0x12, 0x41, 0x4c, 0xc0, 0x04, 0x4c, 0x9c, 0xc7, 0x79, 0x88, 0x06,
+  0x4c, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
+  0x68, 0x02, 0x31, 0x18, 0xd1, 0xc4, 0xc7, 0x88, 0x26, 0x3e, 0x46, 0x34,
+  0xf1, 0x31, 0xa2, 0x89, 0x8f, 0x11, 0x69, 0x20, 0x1f, 0x23, 0xd4, 0x40,
+  0x3e, 0x46, 0xac, 0x81, 0x7c, 0x8c, 0x60, 0x03, 0xf9, 0x98, 0x77, 0x06,
+  0xf1, 0x31, 0xef, 0x0c, 0xe2, 0x63, 0xde, 0x19, 0xc4, 0xc7, 0xbc, 0x33,
+  0x88, 0x8f, 0x11, 0x71, 0x20, 0x1f, 0x23, 0xe4, 0x40, 0x3e, 0x46, 0xcc,
+  0x81, 0x7c, 0x8c, 0xa0, 0x03, 0xf9, 0x18, 0xf1, 0x06, 0xf0, 0x31, 0xe2,
+  0x0d, 0xe0, 0x63, 0xc4, 0x1b, 0xc0, 0xc7, 0x88, 0x37, 0x80, 0x8f, 0x85,
+  0x01, 0x11, 0x1f, 0x0b, 0x22, 0xf8, 0x98, 0x18, 0x14, 0xf1, 0xb1, 0x40,
+  0x82, 0x8f, 0x8d, 0x81, 0x11, 0x1f, 0x0b, 0x26, 0xf8, 0x18, 0x19, 0x1c,
+  0xf1, 0xb1, 0x80, 0x82, 0x8f, 0x1d, 0xa2, 0x20, 0x1f, 0x33, 0x46, 0x41,
+  0x3e, 0x56, 0x90, 0x82, 0x7c, 0x8c, 0x28, 0x05, 0xf9, 0x18, 0x01, 0xc1,
+  0xc7, 0x08, 0x08, 0x3e, 0x46, 0x40, 0xf0, 0x31, 0x02, 0x82, 0xcf, 0x2c,
+  0x41, 0x34, 0x1c, 0xb1, 0x16, 0xb9, 0x11, 0x7c, 0xb3, 0x0c, 0xca, 0x12,
+  0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x84, 0x23, 0xfa, 0xf1, 0x16,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xe5, 0xc8, 0x7e, 0xbc, 0xc5,
+  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x3a, 0x12, 0x23, 0xc2, 0x88,
+  0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x3b, 0x22, 0x23, 0xc2, 0x88, 0x81,
+  0x01, 0x80, 0x20, 0x18, 0x44, 0x3c, 0xf2, 0x1f, 0x73, 0x31, 0x62, 0x60,
+  0x00, 0x20, 0x08, 0x06, 0x51, 0x8f, 0x80, 0xc8, 0x5c, 0x8c, 0x18, 0x18,
+  0x00, 0x08, 0x82, 0x41, 0xe4, 0x23, 0x35, 0x22, 0x8c, 0x18, 0x18, 0x00,
+  0x08, 0x82, 0x41, 0xf4, 0x23, 0x36, 0x22, 0x98, 0x60, 0xc0, 0xc7, 0x04,
+  0x03, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0xfd, 0x08, 0x7e,
+  0xf8, 0x05, 0x8f, 0x8c, 0x26, 0x04, 0xc2, 0x68, 0x82, 0x30, 0x98, 0x50,
+  0xc8, 0xc7, 0x84, 0x42, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x50,
+  0x95, 0xc9, 0x88, 0x08, 0xb6, 0x31, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06,
+  0x95, 0x99, 0x90, 0x88, 0x70, 0x1b, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60,
+  0x50, 0x9d, 0x49, 0x8b, 0x08, 0xad, 0x31, 0x62, 0x70, 0x00, 0x20, 0x08,
+  0x06, 0x15, 0x9a, 0xb8, 0x88, 0xe0, 0x1a, 0x86, 0x88, 0x86, 0x7c, 0x0c,
+  0x11, 0x0d, 0xf9, 0x18, 0x01, 0x1b, 0xf2, 0x31, 0x22, 0x36, 0xe4, 0x63,
+  0x84, 0x10, 0x1f, 0x23, 0x84, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
+  0x41, 0x14, 0x27, 0x2f, 0x22, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
+  0x24, 0x27, 0x30, 0x22, 0x98, 0x32, 0x1e, 0xf0, 0xb1, 0x60, 0x80, 0x8f,
+  0x2d, 0xe5, 0x01, 0x1f, 0x0b, 0x08, 0xf8, 0xd8, 0xe0, 0xd0, 0xc7, 0x04,
+  0x87, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xe5, 0xc9, 0x8c,
+  0x08, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xe9, 0x09, 0x8d, 0x08,
+  0x26, 0x8c, 0x87, 0x7c, 0x4c, 0x20, 0x0f, 0xf9, 0x98, 0x79, 0x08, 0xf1,
+  0xb1, 0xf3, 0x10, 0xe2, 0x63, 0x86, 0x21, 0x1f, 0x0b, 0x06, 0xf9, 0xd8,
+  0x71, 0xc8, 0xc7, 0x02, 0x42, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60,
+  0x10, 0x8d, 0x8a, 0x98, 0x50, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10,
+  0x91, 0xca, 0x98, 0x50, 0x26, 0xa0, 0x07, 0x7c, 0x4c, 0x48, 0x0f, 0xf8,
+  0x98, 0x70, 0xc0, 0xc7, 0x04, 0x03, 0x3e, 0xa3, 0x09, 0x67, 0x00, 0x8c,
+  0x26, 0xa0, 0x41, 0x60, 0x68, 0x20, 0xc8, 0xc7, 0x82, 0x42, 0x3e, 0x96,
+  0x06, 0x83, 0x7c, 0x2c, 0x30, 0xe4, 0x63, 0x83, 0x7c, 0xc0, 0xc7, 0x84,
+  0xf9, 0x80, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xb1, 0x02,
+  0x27, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xb2, 0x12, 0x27,
+  0x82, 0x09, 0x24, 0x02, 0x1f, 0x13, 0x4a, 0x04, 0x3e, 0x26, 0x30, 0xf2,
+  0x31, 0x81, 0x91, 0x8f, 0x19, 0xfa, 0x01, 0x1f, 0x33, 0xf6, 0x03, 0x3e,
+  0x26, 0x40, 0xf2, 0x31, 0x01, 0x92, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20,
+  0x18, 0x44, 0xbb, 0x92, 0x27, 0xcc, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18,
+  0x44, 0xbc, 0xa2, 0x27, 0xcc, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34,
+  0xbf, 0x22, 0x27, 0xfc, 0xa1, 0x1f, 0xc8, 0xf1, 0x1f, 0xff, 0x61, 0x2b,
+  0xb6, 0x12, 0x27, 0xff, 0x31, 0x9a, 0x10, 0x00, 0x16, 0x94, 0x88, 0x7c,
+  0x2c, 0x38, 0x11, 0xf8, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x33,
+  0x2e, 0x76, 0x12, 0x22, 0xff, 0x11, 0x90, 0xc8, 0x88, 0x8c, 0x88, 0xae,
+  0xe8, 0x4a, 0x9d, 0x8c, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1,
   0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x03, 0x80, 0x20,
-  0x18, 0x34, 0xf9, 0xd2, 0x2a, 0x37, 0x52, 0x23, 0x9f, 0xa7, 0x23, 0x3a,
-  0x02, 0x2f, 0xf0, 0xc2, 0x2a, 0x3a, 0x32, 0x9a, 0x10, 0x00, 0x16, 0x80,
-  0x89, 0x7c, 0x2c, 0x10, 0x13, 0xf8, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82,
-  0x41, 0xd3, 0x2f, 0xb1, 0xc2, 0x23, 0x3a, 0x12, 0xfc, 0x88, 0x8f, 0xf8,
-  0x08, 0xbd, 0xd0, 0x0b, 0xac, 0xf8, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26,
-  0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0x83, 0x11, 0x4d, 0x7c,
-  0x8c, 0x68, 0xe2, 0x63, 0x44, 0x13, 0x1f, 0x23, 0x9a, 0xf8, 0x18, 0x91,
-  0x06, 0xf2, 0x31, 0x42, 0x0d, 0xe4, 0x63, 0xc4, 0x1a, 0xc8, 0xc7, 0x08,
-  0x36, 0x90, 0x8f, 0x79, 0x67, 0x10, 0x1f, 0xf3, 0xce, 0x20, 0x3e, 0xe6,
-  0x9d, 0x41, 0x7c, 0xcc, 0x3b, 0x83, 0xf8, 0x18, 0x11, 0x07, 0xf2, 0x31,
-  0x42, 0x0e, 0xe4, 0x63, 0xc4, 0x1c, 0xc8, 0xc7, 0x08, 0x3a, 0x90, 0x8f,
-  0x11, 0x6f, 0x00, 0x1f, 0x23, 0xde, 0x00, 0x3e, 0x46, 0xbc, 0x01, 0x7c,
-  0x8c, 0x78, 0x03, 0xf8, 0x58, 0x18, 0x10, 0xf1, 0xb1, 0x20, 0x82, 0x8f,
-  0x89, 0x41, 0x11, 0x1f, 0x0b, 0x24, 0xf8, 0xd8, 0x18, 0x18, 0xf1, 0xb1,
-  0x60, 0x82, 0x8f, 0x91, 0xc1, 0x11, 0x1f, 0x0b, 0x28, 0xf8, 0xd8, 0x21,
-  0x0a, 0xf2, 0x31, 0x63, 0x14, 0xe4, 0x63, 0x05, 0x29, 0xc8, 0xc7, 0x88,
-  0x52, 0x90, 0x8f, 0x11, 0x10, 0x7c, 0x8c, 0x80, 0xe0, 0x63, 0x04, 0x04,
-  0x1f, 0x23, 0x20, 0xf8, 0xcc, 0x12, 0x44, 0xc3, 0x11, 0x79, 0x52, 0x2e,
-  0xc1, 0x37, 0xcb, 0xc0, 0x34, 0xc1, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18,
-  0x34, 0x67, 0xb3, 0x2f, 0xa5, 0x32, 0x2a, 0x7d, 0xc2, 0x27, 0xa8, 0x82,
-  0x2a, 0x3e, 0xe3, 0x33, 0xfa, 0x82, 0x2a, 0xa3, 0x09, 0x01, 0x30, 0x62,
-  0xf0, 0x00, 0x20, 0x08, 0x06, 0x4d, 0xda, 0xf4, 0x0b, 0xaa, 0x94, 0xca,
-  0x9f, 0xf8, 0x89, 0xaa, 0xa8, 0x0a, 0xd8, 0x80, 0x0d, 0xbf, 0xa8, 0xca,
-  0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x88, 0xc1, 0x01, 0x80, 0x20,
-  0x18, 0x60, 0x67, 0x13, 0x32, 0xa7, 0xd2, 0x33, 0xa3, 0x09, 0x01, 0x30,
-  0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x60, 0x03, 0x02, 0x1f, 0x1b, 0x0e,
-  0xf8, 0xd8, 0x70, 0xc0, 0x67, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0x30,
-  0xb7, 0x41, 0x19, 0x57, 0x61, 0x99, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10,
-  0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83, 0x89,
-  0x6e, 0x64, 0xe6, 0x30, 0x8a, 0x41, 0x08, 0x46, 0x0c, 0x0e, 0x00, 0x04,
-  0xc1, 0x00, 0x9b, 0x9b, 0x96, 0x99, 0x15, 0x9b, 0x19, 0x4d, 0x08, 0x80,
-  0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x84, 0x11, 0x83, 0x05, 0x00, 0x41,
-  0x30, 0x98, 0xf2, 0xe6, 0x66, 0x98, 0x45, 0x19, 0x84, 0x60, 0xc4, 0xe0,
-  0x00, 0x40, 0x10, 0x0c, 0x30, 0xbc, 0x91, 0x19, 0x5c, 0x91, 0x9b, 0xd1,
-  0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58,
-  0x00, 0x10, 0x04, 0x83, 0xc9, 0x6f, 0x78, 0x26, 0x82, 0x9e, 0x41, 0x08,
-  0x66, 0x09, 0xa2, 0xe1, 0x88, 0x5a, 0x01, 0x99, 0xe0, 0x9b, 0x65, 0x70,
-  0x9e, 0x60, 0xc4, 0xe0, 0x01, 0x40, 0x10, 0x0c, 0x9a, 0xd1, 0xb9, 0x99,
-  0x70, 0xf9, 0x95, 0x5c, 0xc1, 0x15, 0x72, 0x21, 0x17, 0xbd, 0xd1, 0x1b,
-  0x9b, 0x21, 0x97, 0xd1, 0x84, 0x00, 0x18, 0x31, 0x78, 0x00, 0x10, 0x04,
-  0x83, 0xa6, 0x74, 0x72, 0x86, 0x5c, 0xc2, 0x65, 0x57, 0x74, 0xc5, 0x5c,
-  0xcc, 0x85, 0x6f, 0xf8, 0x06, 0x67, 0xcc, 0x65, 0x34, 0x21, 0x00, 0x46,
-  0x13, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xb0, 0xd1, 0xe9,
-  0x99, 0x71, 0xc9, 0x9b, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1,
-  0x84, 0x41, 0xb0, 0x01, 0x81, 0x8f, 0x0d, 0x06, 0x7c, 0x6c, 0x40, 0xe0,
-  0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x98, 0xea, 0x90, 0x8d, 0xba,
-  0xa0, 0xcd, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20,
-  0x8c, 0x18, 0x2c, 0x00, 0x08, 0x82, 0xc1, 0x04, 0x3b, 0x6e, 0x73, 0x18,
-  0xc5, 0x20, 0x04, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0xbd, 0x4e,
-  0xda, 0xbc, 0x8b, 0xdc, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c,
-  0x26, 0x0c, 0xc2, 0x88, 0xc1, 0x02, 0x80, 0x20, 0x18, 0x4c, 0xb5, 0x33,
-  0x37, 0xcc, 0xa2, 0x0c, 0x42, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06,
-  0x18, 0xed, 0xb8, 0x0d, 0xbd, 0xb8, 0xce, 0x68, 0x42, 0x00, 0x8c, 0x26,
-  0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x18, 0x2c, 0x00, 0x08, 0x82, 0xc1,
-  0xa4, 0x3b, 0x78, 0x13, 0x41, 0xcf, 0x20, 0x04, 0xb3, 0x04, 0xd1, 0x70,
-  0x44, 0xbc, 0xec, 0x4c, 0xf0, 0xcd, 0x32, 0x40, 0x51, 0x30, 0x62, 0xf0,
-  0x00, 0x20, 0x08, 0x06, 0xcd, 0xef, 0xcc, 0x4d, 0xbf, 0xec, 0x4b, 0xbd,
-  0xd0, 0x0b, 0xc8, 0x80, 0x8c, 0xed, 0xd8, 0x8e, 0xdc, 0x80, 0xcc, 0x68,
-  0x42, 0x00, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x13, 0x3e, 0x75,
-  0x03, 0x32, 0xfd, 0x72, 0x2f, 0xf6, 0x22, 0x32, 0x22, 0x83, 0x3b, 0xb8,
-  0x43, 0x37, 0x22, 0x33, 0x9a, 0x10, 0x00, 0x23, 0x06, 0x0f, 0x00, 0x82,
-  0x60, 0xd0, 0x8c, 0xcf, 0xdd, 0x8c, 0xcc, 0xbf, 0xe4, 0x0b, 0xbe, 0x90,
-  0x0c, 0xc9, 0xe8, 0x8e, 0xee, 0xd8, 0x0d, 0xc9, 0x8c, 0x26, 0x04, 0xc0,
-  0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x60, 0xe0, 0xa3, 0x37, 0x20, 0x63,
-  0x3b, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x60,
-  0x43, 0x02, 0x1f, 0x1b, 0x10, 0xf8, 0xd8, 0x70, 0xc0, 0x67, 0xc4, 0xe0,
-  0x00, 0x40, 0x10, 0x0c, 0xb0, 0xf3, 0x09, 0x9d, 0x93, 0x29, 0x9d, 0xd1,
-  0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58,
-  0x00, 0x10, 0x04, 0x83, 0xa9, 0x7d, 0x56, 0xe7, 0x30, 0x8a, 0x41, 0x08,
-  0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0x63, 0x1f, 0xd3, 0x61, 0x99,
-  0xd7, 0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x84,
-  0x11, 0x83, 0x05, 0x00, 0x41, 0x30, 0x98, 0xe4, 0x07, 0x76, 0x98, 0x45,
-  0x19, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xb0, 0xf8, 0x59,
-  0x9d, 0x98, 0x59, 0x9f, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1,
-  0x84, 0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83, 0xe9, 0x7e, 0x6a,
-  0x27, 0x82, 0x9e, 0x41, 0x08, 0x66, 0x09, 0xa2, 0x81, 0xaa, 0x81, 0xc6,
-  0x04, 0x9f, 0x22, 0x54, 0xca, 0x70, 0x1d, 0x44, 0x2e, 0x14, 0x94, 0x60,
-  0x60, 0xc1, 0xb1, 0x20, 0x3e, 0x03, 0xf8, 0xec, 0x19, 0xa8, 0x1a, 0x68,
-  0x4c, 0xf0, 0x29, 0x42, 0xa5, 0x0c, 0xd7, 0x41, 0xe4, 0x42, 0x01, 0x09,
-  0x06, 0x15, 0x1c, 0x07, 0xf2, 0x33, 0x00, 0xd4, 0x9e, 0x81, 0xaa, 0x81,
-  0xc6, 0x04, 0x9f, 0x22, 0x54, 0xca, 0x70, 0x1d, 0x44, 0x2e, 0x14, 0x7c,
-  0x60, 0x40, 0xc1, 0x31, 0x20, 0x50, 0x03, 0x40, 0xed, 0x19, 0xa8, 0x1a,
-  0x68, 0x4c, 0xf0, 0x29, 0x42, 0xa5, 0x0c, 0xd7, 0x41, 0xe4, 0x42, 0x11,
-  0x35, 0x46, 0xd4, 0x1c, 0x51, 0x83, 0x44, 0x0d, 0x10, 0xb5, 0x67, 0x34,
-  0x61, 0x66, 0x84, 0xe1, 0x88, 0x00, 0x6d, 0x82, 0x6f, 0x96, 0x41, 0x9a,
-  0x82, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0xfe, 0xc7, 0x7e, 0x8c,
-  0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x40, 0xe8, 0x7e, 0x8c, 0x11,
-  0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x42, 0x08, 0x7f, 0x8c, 0x11, 0x03,
-  0x03, 0x00, 0x41, 0x30, 0x88, 0x44, 0x68, 0x77, 0x86, 0x11, 0x03, 0x03,
-  0x00, 0x41, 0x30, 0x88, 0x46, 0x88, 0x77, 0x86, 0x11, 0x03, 0x03, 0x00,
-  0x41, 0x30, 0x88, 0x48, 0xa8, 0x77, 0x06, 0x1b, 0xf0, 0x46, 0x3e, 0x36,
-  0xe4, 0x8d, 0x7c, 0x6c, 0xd0, 0x1b, 0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08,
-  0x82, 0x41, 0x84, 0x42, 0xe2, 0x33, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
-  0x41, 0x94, 0x42, 0xe3, 0x33, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
-  0xa4, 0x42, 0xe4, 0x33, 0xd8, 0xf0, 0x37, 0xf0, 0xb1, 0x01, 0x74, 0xe0,
-  0x63, 0x43, 0xe8, 0xc0, 0x67, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0x2a,
-  0x16, 0x52, 0x9f, 0x81, 0x6e, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0xa0,
-  0x6a, 0xa1, 0xf5, 0x19, 0xea, 0x66, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c,
-  0x2a, 0x17, 0x62, 0x9f, 0xc1, 0x6e, 0x2c, 0x31, 0x1d, 0xf9, 0x58, 0x72,
-  0x3a, 0xf2, 0xb1, 0x04, 0x75, 0xe4, 0x63, 0xe8, 0x33, 0xc4, 0xc7, 0xd2,
-  0x67, 0x88, 0x8f, 0xa9, 0xcf, 0x10, 0x1f, 0x4b, 0x06, 0xfa, 0x58, 0x32,
-  0xd0, 0xc7, 0x92, 0x81, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10,
-  0xe9, 0x50, 0x0c, 0x0d, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xed,
-  0x90, 0x0c, 0x0d, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xf1, 0xd0,
-  0x0c, 0x0d, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xf5, 0x90, 0xfd,
-  0x0c, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xf9, 0xd0, 0xfd, 0x0c,
-  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xfd, 0x10, 0xfe, 0x0c, 0x36,
-  0xcc, 0x8f, 0x7c, 0x6c, 0xa0, 0x1f, 0xf9, 0xd8, 0x50, 0x3f, 0xf2, 0x19,
-  0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x68, 0x8c, 0xfa, 0x67, 0x18, 0x31,
-  0x30, 0x00, 0x10, 0x04, 0x83, 0x88, 0x8c, 0xfc, 0x67, 0x18, 0x31, 0x30,
-  0x00, 0x10, 0x04, 0x83, 0xa8, 0x8c, 0xfe, 0x67, 0xb0, 0x01, 0x7f, 0xe4,
-  0x63, 0x43, 0xfe, 0xc8, 0xc7, 0x06, 0xfd, 0x91, 0xcf, 0x88, 0xc1, 0x01,
-  0x80, 0x20, 0x18, 0x60, 0x66, 0x04, 0x42, 0xa6, 0xf3, 0x43, 0xa3, 0x09,
-  0xc1, 0x60, 0x45, 0x40, 0x1f, 0x2b, 0x04, 0xfa, 0x58, 0x31, 0xd0, 0x67,
-  0x96, 0x60, 0x1a, 0xa8, 0x18, 0x0c, 0x49, 0x1d, 0xa2, 0x81, 0x8a, 0xc1,
-  0x90, 0xd4, 0x21, 0x1a, 0xa8, 0x18, 0x0c, 0x49, 0x1d, 0xa2, 0x11, 0x83,
-  0x03, 0x00, 0x41, 0x30, 0xc0, 0xdc, 0x08, 0x85, 0x5c, 0xe7, 0x8c, 0x46,
-  0x13, 0x02, 0x60, 0x38, 0x22, 0xc8, 0x1d, 0xe7, 0x9b, 0x65, 0xa0, 0xba,
-  0x60, 0x38, 0x42, 0xc8, 0x9d, 0xe0, 0x9b, 0x65, 0xa8, 0xac, 0x60, 0x34,
-  0x81, 0x08, 0x2c, 0x40, 0xe4, 0x63, 0x02, 0x22, 0x1f, 0x1b, 0x10, 0xf9,
-  0xcc, 0x12, 0x74, 0xc3, 0x11, 0x87, 0xf8, 0x04, 0xdf, 0x2c, 0xc3, 0xd5,
-  0x05, 0xc3, 0x11, 0x7d, 0x30, 0x3e, 0xc1, 0x37, 0xcb, 0x80, 0x65, 0x81,
-  0x35, 0xf9, 0x23, 0x9f, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0xd0, 0xf0,
-  0x88, 0x86, 0xf2, 0xa7, 0x09, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0x40,
-  0xcb, 0xa3, 0x1a, 0xca, 0x9f, 0x26, 0x30, 0x28, 0x7f, 0xe4, 0x33, 0x62,
-  0x80, 0x00, 0x20, 0x08, 0x06, 0xda, 0x1e, 0xdd, 0x50, 0xfe, 0x40, 0xc1,
-  0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x68, 0x7c, 0x84, 0x43, 0xf9, 0x03,
-  0x05, 0x36, 0xe5, 0x8f, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0x40,
-  0xf3, 0x23, 0x1d, 0xca, 0x9f, 0x29, 0x18, 0x31, 0x40, 0x00, 0x10, 0x04,
-  0x03, 0xed, 0x8f, 0x76, 0x28, 0x7f, 0xa6, 0x60, 0x96, 0x20, 0x1b, 0xa8,
-  0x18, 0x1c, 0x8c, 0x0d, 0xae, 0x81, 0x8a, 0x41, 0xc1, 0xd8, 0xe0, 0x1a,
-  0xa8, 0x18, 0x0c, 0x8c, 0x0d, 0xae, 0x11, 0x83, 0x03, 0x00, 0x41, 0x30,
-  0xa8, 0x4a, 0x69, 0x8c, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c,
-  0x2a, 0x53, 0x22, 0x23, 0x22, 0x18, 0x8e, 0x08, 0xde, 0x47, 0xf8, 0x66,
-  0x19, 0xb4, 0x2d, 0x18, 0x4d, 0xc8, 0x02, 0x0b, 0x06, 0xf9, 0x58, 0x10,
-  0x3f, 0xf0, 0x19, 0x4d, 0xe0, 0x04, 0x0b, 0x0c, 0xf9, 0x58, 0x40, 0x3f,
-  0xf0, 0x31, 0x22, 0xa0, 0x8f, 0x05, 0x8d, 0x7c, 0x4c, 0x68, 0xe4, 0x63,
-  0x43, 0x23, 0x9f, 0x59, 0x82, 0x6d, 0xa0, 0x62, 0x30, 0x34, 0x30, 0xc8,
-  0x06, 0x2a, 0x06, 0x43, 0x03, 0x83, 0x6c, 0xa0, 0x62, 0x30, 0x34, 0x30,
-  0xc8, 0x66, 0x19, 0xb8, 0xae, 0xb3, 0x61, 0x8c, 0xe4, 0x33, 0x62, 0x80,
-  0x00, 0x20, 0x08, 0x06, 0x1a, 0x2d, 0xc1, 0xd1, 0x18, 0x0d, 0xc1, 0x88,
-  0x01, 0x02, 0x80, 0x20, 0x18, 0x68, 0xb5, 0x14, 0x47, 0x63, 0x34, 0x04,
-  0x66, 0x8c, 0x91, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0x40, 0xbb,
-  0xa5, 0x39, 0x1a, 0x23, 0x23, 0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x03,
-  0x0d, 0x97, 0xe8, 0x68, 0x8c, 0x8c, 0xc0, 0x92, 0x31, 0x92, 0xcf, 0x88,
-  0x01, 0x02, 0x80, 0x20, 0x18, 0x68, 0xba, 0x64, 0x47, 0x63, 0x94, 0x04,
-  0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xa0, 0xed, 0xd2, 0x1d, 0x8d, 0x51,
-  0x12, 0xcc, 0x12, 0x74, 0x03, 0x2d, 0x03, 0x39, 0x4c, 0xb4, 0x50, 0x39,
-  0x1c, 0xb6, 0x91, 0x83, 0x35, 0xd0, 0x32, 0x90, 0xc3, 0x44, 0x0b, 0x95,
-  0xc2, 0x61, 0x1b, 0x39, 0x58, 0x03, 0x2d, 0x03, 0x39, 0x4c, 0xb4, 0x50,
-  0x19, 0x1c, 0xb6, 0x91, 0x83, 0x35, 0x1c, 0x61, 0x0e, 0x28, 0x14, 0x7c,
-  0xb3, 0x0c, 0x5e, 0x1a, 0x04, 0xa3, 0x09, 0xfa, 0x03, 0x0c, 0x47, 0x04,
-  0x2b, 0xe4, 0x7c, 0xb3, 0x0c, 0x1f, 0x1a, 0x04, 0xc3, 0x11, 0xc6, 0x1d,
-  0x29, 0xdf, 0x2c, 0x43, 0x18, 0x80, 0x41, 0x60, 0xc7, 0x1d, 0xc9, 0x67,
-  0x96, 0x40, 0x0c, 0x0c, 0xb9, 0x23, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08,
-  0x82, 0x41, 0x94, 0x4e, 0xe0, 0x14, 0x58, 0x80, 0x47, 0xf2, 0x19, 0x31,
-  0x30, 0x00, 0x10, 0x04, 0x83, 0x68, 0x9d, 0x48, 0x29, 0xb0, 0x20, 0x8f,
-  0xe4, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x51, 0x3b, 0x9d, 0x52,
-  0x30, 0x4b, 0x20, 0x06, 0x03, 0x15, 0x83, 0x03, 0x06, 0x42, 0x18, 0x0c,
-  0x47, 0x38, 0xa0, 0xa4, 0x7c, 0xb3, 0x0c, 0x64, 0x30, 0x06, 0x81, 0x3d,
-  0xa0, 0x24, 0x9f, 0x59, 0x82, 0x32, 0x30, 0x08, 0x94, 0xe0, 0x33, 0x62,
-  0x60, 0x00, 0x20, 0x08, 0x06, 0x91, 0x3c, 0xa5, 0x53, 0x60, 0x41, 0x28,
-  0xc9, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22, 0x7a, 0x6a, 0xa5,
-  0xc0, 0x02, 0x51, 0x92, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44,
-  0xf6, 0x04, 0x4b, 0xc1, 0x2c, 0x41, 0x19, 0x0c, 0x54, 0x0c, 0xce, 0x18,
-  0x08, 0x64, 0x30, 0x1c, 0x61, 0xa5, 0x92, 0xf2, 0xcd, 0x32, 0x9c, 0x81,
-  0x19, 0x04, 0x76, 0xa5, 0x92, 0x7c, 0x66, 0x09, 0xd0, 0xc0, 0xb0, 0x54,
-  0x82, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xfb, 0x24, 0x4f,
-  0x81, 0x05, 0xaa, 0x24, 0x9f, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88,
-  0xfa, 0xc9, 0x96, 0x02, 0x0b, 0x56, 0x49, 0x3e, 0x23, 0x06, 0x06, 0x00,
-  0x82, 0x60, 0x10, 0xfd, 0x53, 0x2e, 0x05, 0xb3, 0x04, 0x68, 0x30, 0xd0,
-  0x31, 0x80, 0x82, 0x47, 0x06, 0x67, 0x40, 0x06, 0x66, 0x30, 0xd0, 0x31,
-  0x80, 0x82, 0x47, 0x9d, 0x01, 0x65, 0x06, 0x03, 0x1d, 0x03, 0x28, 0x78,
-  0xc6, 0x19, 0x48, 0x66, 0x30, 0x9a, 0x90, 0x43, 0x83, 0x05, 0x84, 0x7c,
-  0x4c, 0x20, 0xe4, 0x63, 0x03, 0x21, 0x9f, 0x59, 0x02, 0x51, 0x18, 0x8e,
-  0x50, 0x09, 0x38, 0x0a, 0xbe, 0xd1, 0x04, 0x1f, 0x1a, 0x66, 0x19, 0xd4,
-  0xa0, 0x0e, 0x04, 0x0b, 0xd2, 0x40, 0x3e, 0x26, 0xa4, 0x81, 0x7c, 0x6c,
-  0x48, 0x03, 0xf9, 0x8c, 0x26, 0x88, 0x11, 0x30, 0x1c, 0x11, 0xcc, 0x91,
-  0xf3, 0xcd, 0x32, 0x88, 0xc2, 0x1a, 0x04, 0xc3, 0x11, 0x45, 0x1e, 0x29,
-  0xdf, 0x2c, 0x43, 0x1b, 0xb0, 0x41, 0x60, 0xc6, 0x1e, 0xc9, 0x67, 0x96,
-  0xc0, 0x0d, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x20, 0x82, 0xa9, 0x93,
-  0x3a, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x20, 0x8a, 0x29, 0x75, 0x0a,
-  0x2c, 0xf8, 0x23, 0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x34,
-  0x53, 0xed, 0x14, 0x58, 0x20, 0x4a, 0xf2, 0xb1, 0x80, 0x94, 0xe0, 0x33,
-  0x4b, 0xe0, 0x06, 0x03, 0x15, 0x83, 0xc3, 0x06, 0x42, 0x1b, 0x0c, 0x47,
-  0x34, 0xa2, 0xa4, 0x7c, 0xb3, 0x0c, 0x70, 0xf0, 0x06, 0x81, 0x39, 0xa4,
-  0x24, 0x9f, 0x59, 0x82, 0x38, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83,
-  0x28, 0xa7, 0x60, 0xea, 0x19, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x48,
-  0xa7, 0xe6, 0x29, 0xb0, 0x00, 0x95, 0xe4, 0x33, 0x62, 0x60, 0x00, 0x20,
-  0x08, 0x06, 0x11, 0x4f, 0xd9, 0x53, 0x60, 0xc1, 0x2a, 0xc9, 0xc7, 0x82,
-  0x56, 0x82, 0xcf, 0x2c, 0x41, 0x1c, 0x0c, 0x54, 0x0c, 0xce, 0x1b, 0x08,
-  0x70, 0x30, 0x1c, 0x51, 0xad, 0x92, 0xf2, 0xcd, 0x32, 0xcc, 0x81, 0x1c,
-  0x04, 0x66, 0xb5, 0x92, 0x7c, 0x66, 0x09, 0xe8, 0x60, 0xc4, 0xc0, 0x00,
-  0x40, 0x10, 0x0c, 0x22, 0xb1, 0xca, 0xa9, 0x6b, 0xc4, 0xc0, 0x00, 0x40,
-  0x10, 0x0c, 0xa2, 0xb1, 0xe2, 0xa7, 0xc0, 0x82, 0x58, 0x92, 0xcf, 0x88,
-  0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x65, 0xf5, 0x4f, 0x81, 0x05, 0xb4,
-  0x24, 0x1f, 0x0b, 0x6c, 0x09, 0x3e, 0xb3, 0x04, 0x74, 0x30, 0x50, 0x31,
-  0x38, 0x72, 0x20, 0xcc, 0xc1, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44,
-  0x69, 0x15, 0x56, 0xd3, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x6a,
-  0x25, 0x56, 0xcb, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x6b, 0x35,
-  0x56, 0xc3, 0x2c, 0x81, 0x28, 0xcc, 0x32, 0xd8, 0x41, 0x28, 0xb8, 0x85,
-  0xb1, 0x02, 0x3e, 0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0xb4,
-  0xb4, 0x2a, 0x29, 0x7c, 0x62, 0x85, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10,
-  0x0c, 0x34, 0xb5, 0x32, 0x29, 0x7c, 0x62, 0x85, 0xc0, 0x5e, 0x01, 0x9f,
-  0xe4, 0x33, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x1a, 0x5b, 0xa1, 0x14,
-  0x3e, 0xbd, 0x42, 0x30, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x5a, 0x5b,
-  0xa5, 0x14, 0x3e, 0xbd, 0x42, 0x60, 0xb2, 0x80, 0x4f, 0xf2, 0x19, 0x31,
-  0x40, 0x00, 0x10, 0x04, 0x03, 0xed, 0xad, 0x56, 0x0a, 0x9f, 0x64, 0x21,
-  0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x03, 0x0d, 0xae, 0x58, 0x0a, 0x9f,
-  0x64, 0x21, 0xb0, 0x36, 0x38, 0xe4, 0x63, 0x6e, 0x50, 0xc8, 0xc7, 0xde,
-  0x60, 0x90, 0xcf, 0x68, 0x82, 0x2b, 0x01, 0xc3, 0x11, 0xc1, 0x2f, 0x39,
-  0xdf, 0x2c, 0x83, 0x28, 0xdc, 0x41, 0x30, 0x1c, 0x51, 0x94, 0x93, 0xf2,
-  0xcd, 0x32, 0xe4, 0x01, 0x1e, 0x04, 0x66, 0x9c, 0x93, 0x7c, 0x66, 0x09,
-  0xf4, 0x60, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22, 0xbe, 0x9a, 0xab,
-  0x63, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0xa2, 0xbe, 0xb2, 0xa9, 0xc0,
-  0x82, 0x75, 0x92, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x7f,
-  0x95, 0x53, 0x81, 0x05, 0xee, 0x24, 0x1f, 0x0b, 0xe0, 0x09, 0x3e, 0xb3,
-  0x04, 0x7a, 0x30, 0x50, 0x31, 0x38, 0x78, 0x20, 0xe4, 0xc1, 0x70, 0x44,
-  0xe3, 0x4e, 0xca, 0x37, 0xcb, 0xc0, 0x07, 0x7b, 0x10, 0x98, 0x03, 0x4f,
-  0xf2, 0x99, 0x25, 0xe8, 0x83, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88,
-  0x4a, 0x8b, 0xaf, 0x9e, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x4c,
-  0xeb, 0xa7, 0x02, 0x0b, 0xe8, 0x49, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82,
-  0x60, 0x10, 0xa1, 0x96, 0x58, 0x05, 0x16, 0xdc, 0x93, 0x7c, 0x2c, 0xc8,
-  0x27, 0xf8, 0xcc, 0x12, 0xf4, 0xc1, 0x40, 0xc5, 0xe0, 0xec, 0x81, 0xc0,
-  0x07, 0xc3, 0x11, 0xd5, 0x3d, 0x29, 0xdf, 0x2c, 0xc3, 0x1f, 0xf8, 0x41,
-  0x60, 0x56, 0x3e, 0xc9, 0x67, 0x96, 0x00, 0x14, 0x46, 0x0c, 0x0c, 0x00,
-  0x04, 0xc1, 0x20, 0x72, 0xad, 0xd2, 0xba, 0x46, 0x0c, 0x0c, 0x00, 0x04,
-  0xc1, 0x20, 0x7a, 0x2d, 0xb4, 0x0a, 0x2c, 0xe8, 0x27, 0xf9, 0x8c, 0x18,
-  0x18, 0x00, 0x08, 0x82, 0x41, 0x14, 0x5b, 0x6b, 0x15, 0x58, 0x00, 0x52,
-  0xf2, 0xb1, 0x40, 0xa4, 0xe0, 0x33, 0x4b, 0x00, 0x0a, 0x03, 0x15, 0x83,
-  0xe3, 0x07, 0xc2, 0x1f, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x54,
-  0x5b, 0xad, 0x35, 0x8d, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x64, 0x5b,
-  0xae, 0xb5, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x74, 0x5b, 0xaf,
-  0x35, 0xcc, 0x12, 0x88, 0x82, 0xc1, 0x02, 0x3e, 0xc8, 0xc7, 0x62, 0x01,
-  0x1f, 0xe4, 0x63, 0xb2, 0x80, 0x0f, 0xf2, 0x99, 0x25, 0x10, 0x85, 0x81,
-  0x9a, 0xc1, 0x2d, 0xd0, 0xc0, 0x08, 0x05, 0xb2, 0x50, 0x03, 0x72, 0xa0,
-  0x03, 0x56, 0xb0, 0x03, 0x06, 0x14, 0x06, 0x6a, 0x06, 0xb7, 0x40, 0x03,
-  0x23, 0x14, 0xc8, 0x42, 0x0d, 0xc8, 0x81, 0x0e, 0x58, 0xc1, 0x0e, 0x18,
-  0x50, 0x18, 0xa8, 0x19, 0xdc, 0x02, 0x0d, 0x8c, 0x50, 0x20, 0x0b, 0x35,
-  0x20, 0x07, 0x3a, 0x60, 0x05, 0x3b, 0x60, 0x40, 0xc1, 0x06, 0x7d, 0x92,
-  0x8f, 0x0d, 0xfa, 0x24, 0x1f, 0x1b, 0xf4, 0x49, 0x3e, 0x56, 0x1e, 0xfa,
-  0x24, 0x9f, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xca, 0x4b, 0xb4,
-  0x76, 0x6b, 0xb7, 0x60, 0x8b, 0x18, 0x31, 0x48, 0x00, 0x10, 0x04, 0x03,
-  0xa4, 0xbc, 0x44, 0x6b, 0xb7, 0x76, 0x0b, 0xb5, 0x86, 0x11, 0x83, 0x04,
-  0x00, 0x41, 0x30, 0x40, 0xca, 0x4b, 0xb4, 0x76, 0x6b, 0xb7, 0x5e, 0x4b,
-  0x18, 0x31, 0x48, 0x00, 0x10, 0x04, 0x03, 0xa4, 0xbc, 0x44, 0x6b, 0xb7,
-  0x76, 0x4b, 0xb6, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+  0x18, 0x34, 0xe8, 0xb2, 0x27, 0x25, 0x32, 0x22, 0x11, 0x83, 0x22, 0x28,
+  0xf2, 0x2b, 0xbf, 0xa2, 0x27, 0x28, 0x32, 0x9a, 0x10, 0x00, 0x16, 0xb8,
+  0x88, 0x7c, 0x2c, 0x80, 0x11, 0xf8, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82,
+  0x41, 0xc3, 0x2e, 0x7f, 0xa2, 0x22, 0x28, 0x12, 0xb4, 0x08, 0x8b, 0xb0,
+  0xc8, 0xb8, 0x8c, 0x8b, 0x9f, 0xb0, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26,
+  0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x03,
+  0x80, 0x20, 0x18, 0x34, 0xf1, 0x42, 0x2a, 0x2e, 0xc2, 0x22, 0x56, 0x16,
+  0x23, 0x31, 0x82, 0x2e, 0xe8, 0x32, 0x2a, 0x31, 0x32, 0x9a, 0x10, 0x00,
+  0x16, 0xdc, 0x88, 0x7c, 0x2c, 0xc8, 0x11, 0xf8, 0x8c, 0x18, 0x3c, 0x00,
+  0x08, 0x82, 0x41, 0x53, 0x2f, 0xa8, 0x32, 0x23, 0x31, 0x12, 0xd8, 0x48,
+  0x8d, 0xd4, 0x08, 0xbb, 0xb0, 0xcb, 0xa9, 0xd4, 0xc8, 0x68, 0x42, 0x00,
+  0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88,
+  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xfa, 0xd2, 0x2a, 0x37, 0x52, 0x23,
+  0x9f, 0xa7, 0x23, 0x3a, 0x12, 0x2f, 0xf1, 0xc2, 0x2a, 0x3a, 0x32, 0x9a,
+  0x10, 0x00, 0x16, 0x80, 0x89, 0x7c, 0x2c, 0x10, 0x13, 0xf8, 0x8c, 0x18,
+  0x3c, 0x00, 0x08, 0x82, 0x41, 0xe3, 0x2f, 0xb1, 0xc2, 0x23, 0x3a, 0x12,
+  0xfc, 0x88, 0x8f, 0xf8, 0x48, 0xbd, 0xd4, 0x0b, 0xac, 0xf8, 0xc8, 0x68,
+  0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10,
+  0x83, 0x11, 0x4d, 0x7c, 0x8c, 0x68, 0xe2, 0x63, 0x44, 0x13, 0x1f, 0x23,
+  0x9a, 0xf8, 0x18, 0x91, 0x06, 0xf2, 0x31, 0x42, 0x0d, 0xe4, 0x63, 0xc4,
+  0x1a, 0xc8, 0xc7, 0x08, 0x36, 0x90, 0x8f, 0x79, 0x67, 0x10, 0x1f, 0xf3,
+  0xce, 0x20, 0x3e, 0xe6, 0x9d, 0x41, 0x7c, 0xcc, 0x3b, 0x83, 0xf8, 0x18,
+  0x11, 0x07, 0xf2, 0x31, 0x42, 0x0e, 0xe4, 0x63, 0xc4, 0x1c, 0xc8, 0xc7,
+  0x08, 0x3a, 0x90, 0x8f, 0x11, 0x6f, 0x00, 0x1f, 0x23, 0xde, 0x00, 0x3e,
+  0x46, 0xbc, 0x01, 0x7c, 0x8c, 0x78, 0x03, 0xf8, 0x58, 0x18, 0x10, 0xf1,
+  0xb1, 0x20, 0x82, 0x8f, 0x89, 0x41, 0x11, 0x1f, 0x0b, 0x24, 0xf8, 0xd8,
+  0x18, 0x18, 0xf1, 0xb1, 0x60, 0x82, 0x8f, 0x91, 0xc1, 0x11, 0x1f, 0x0b,
+  0x28, 0xf8, 0xd8, 0x21, 0x0a, 0xf2, 0x31, 0x63, 0x14, 0xe4, 0x63, 0x05,
+  0x29, 0xc8, 0xc7, 0x88, 0x52, 0x90, 0x8f, 0x11, 0x10, 0x7c, 0x8c, 0x80,
+  0xe0, 0x63, 0x04, 0x04, 0x1f, 0x23, 0x20, 0xf8, 0xcc, 0x12, 0x44, 0xc3,
+  0x11, 0x79, 0x62, 0x2e, 0xc1, 0x37, 0xcb, 0xc0, 0x34, 0xc1, 0x88, 0xc1,
+  0x03, 0x80, 0x20, 0x18, 0x34, 0x68, 0xb3, 0x2f, 0xa5, 0x32, 0x2a, 0x7d,
+  0xc2, 0x27, 0xa8, 0x82, 0x2a, 0x3f, 0xf3, 0x33, 0xfa, 0x82, 0x2a, 0xa3,
+  0x09, 0x01, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x8d, 0xda, 0xf4,
+  0x0b, 0xaa, 0x94, 0xca, 0x9f, 0xf8, 0x89, 0xaa, 0xa8, 0x4a, 0xd8, 0x84,
+  0x0d, 0xbf, 0xa8, 0xca, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x88,
+  0xc1, 0x01, 0x80, 0x20, 0x18, 0x60, 0x68, 0x13, 0x32, 0xa7, 0xe2, 0x33,
+  0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x60, 0x03,
+  0x02, 0x1f, 0x1b, 0x0e, 0xf8, 0xd8, 0x70, 0xc0, 0x67, 0xc4, 0xe0, 0x00,
+  0x40, 0x10, 0x0c, 0xb0, 0xb7, 0x41, 0x19, 0x57, 0x69, 0x99, 0xd1, 0x84,
+  0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00,
+  0x10, 0x04, 0x83, 0xa9, 0x6e, 0x66, 0xe6, 0x30, 0x8a, 0x41, 0x08, 0x46,
+  0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0xa3, 0x9b, 0x96, 0x99, 0x95, 0x9b,
+  0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x84, 0x11,
+  0x83, 0x05, 0x00, 0x41, 0x30, 0x98, 0xf4, 0x06, 0x67, 0x98, 0x45, 0x19,
+  0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xb0, 0xbc, 0x91, 0x19,
+  0x5c, 0x99, 0x9b, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84,
+  0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83, 0xe9, 0x6f, 0x7a, 0x26,
+  0x82, 0x9e, 0x41, 0x08, 0x66, 0x09, 0xa2, 0xe1, 0x88, 0x5a, 0x09, 0x99,
+  0xe0, 0x9b, 0x65, 0x70, 0x9e, 0x60, 0xc4, 0xe0, 0x01, 0x40, 0x10, 0x0c,
+  0x1a, 0xd2, 0xb9, 0x99, 0x70, 0xf9, 0x95, 0x5c, 0xc1, 0x15, 0x72, 0x21,
+  0x97, 0xbd, 0xd9, 0x1b, 0x9b, 0x21, 0x97, 0xd1, 0x84, 0x00, 0x18, 0x31,
+  0x78, 0x00, 0x10, 0x04, 0x83, 0xc6, 0x74, 0x72, 0x86, 0x5c, 0xc2, 0x65,
+  0x57, 0x74, 0xc5, 0x5c, 0xcc, 0xa5, 0x6f, 0xfa, 0x06, 0x67, 0xcc, 0x65,
+  0x34, 0x21, 0x00, 0x46, 0x13, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10,
+  0x0c, 0x30, 0xd2, 0xe9, 0x99, 0x71, 0xd1, 0x9b, 0xd1, 0x84, 0x00, 0x18,
+  0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0xb0, 0x01, 0x81, 0x8f, 0x0d, 0x06,
+  0x7c, 0x6c, 0x40, 0xe0, 0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0xd8,
+  0xea, 0x90, 0x8d, 0xba, 0xa4, 0xcd, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08,
+  0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x18, 0x2c, 0x00, 0x08, 0x82, 0xc1, 0x14,
+  0x3b, 0x6f, 0x73, 0x18, 0xc5, 0x20, 0x04, 0x23, 0x06, 0x07, 0x00, 0x82,
+  0x60, 0x80, 0xc1, 0x4e, 0xda, 0xbc, 0xcb, 0xdc, 0x8c, 0x26, 0x04, 0xc0,
+  0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x88, 0xc1, 0x02, 0x80, 0x20,
+  0x18, 0x4c, 0xb6, 0x43, 0x37, 0xcc, 0xa2, 0x0c, 0x42, 0x30, 0x62, 0x70,
+  0x00, 0x20, 0x08, 0x06, 0x58, 0xed, 0xb8, 0x0d, 0xbd, 0xbc, 0xce, 0x68,
+  0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x18, 0x2c,
+  0x00, 0x08, 0x82, 0xc1, 0xb4, 0x3b, 0x79, 0x13, 0x41, 0xcf, 0x20, 0x04,
+  0xb3, 0x04, 0xd1, 0x70, 0x44, 0xbc, 0xf0, 0x4c, 0xf0, 0xcd, 0x32, 0x40,
+  0x51, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x0d, 0xf8, 0xcc, 0x4d,
+  0xbf, 0xec, 0x4b, 0xbd, 0xd0, 0x0b, 0xc8, 0x80, 0xcc, 0xed, 0xdc, 0x8e,
+  0xdc, 0x80, 0xcc, 0x68, 0x42, 0x00, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82,
+  0x41, 0x23, 0x3e, 0x75, 0x03, 0x32, 0xfd, 0x72, 0x2f, 0xf6, 0x22, 0x32,
+  0x22, 0x93, 0x3b, 0xb9, 0x43, 0x37, 0x22, 0x33, 0x9a, 0x10, 0x00, 0x23,
+  0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0, 0x90, 0xcf, 0xdd, 0x8c, 0xcc, 0xbf,
+  0xe4, 0x0b, 0xbe, 0x90, 0x0c, 0xc9, 0xec, 0xce, 0xee, 0xd8, 0x0d, 0xc9,
+  0x8c, 0x26, 0x04, 0xc0, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x60, 0xe1,
+  0xa3, 0x37, 0x20, 0x73, 0x3b, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04,
+  0xa3, 0x09, 0x83, 0x60, 0x43, 0x02, 0x1f, 0x1b, 0x10, 0xf8, 0xd8, 0x70,
+  0xc0, 0x67, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0x30, 0xf4, 0x09, 0x9d,
+  0x93, 0x31, 0x9d, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84,
+  0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83, 0xc9, 0x7d, 0x58, 0xe7,
+  0x30, 0x8a, 0x41, 0x08, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0x6b,
+  0x1f, 0xd3, 0x61, 0x19, 0xd8, 0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21,
+  0x18, 0x4d, 0x18, 0x84, 0x11, 0x83, 0x05, 0x00, 0x41, 0x30, 0x98, 0xe6,
+  0x27, 0x76, 0x98, 0x45, 0x19, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10,
+  0x0c, 0x30, 0xf9, 0x59, 0x9d, 0x98, 0x61, 0x9f, 0xd1, 0x84, 0x00, 0x18,
+  0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04,
+  0x83, 0x09, 0x7f, 0x6c, 0x27, 0x82, 0x9e, 0x41, 0x08, 0x66, 0x09, 0xa2,
+  0x81, 0xaa, 0x81, 0xc6, 0x04, 0x9f, 0x22, 0x54, 0xca, 0x70, 0x1d, 0x44,
+  0x2e, 0x14, 0x94, 0x60, 0x60, 0xc1, 0xb1, 0x20, 0x3e, 0x03, 0xf8, 0xec,
+  0x19, 0xa8, 0x1a, 0x68, 0x4c, 0xf0, 0x29, 0x42, 0xa5, 0x0c, 0xd7, 0x41,
+  0xe4, 0x42, 0x01, 0x09, 0x06, 0x15, 0x1c, 0x07, 0xf2, 0x33, 0x00, 0xd4,
+  0x9e, 0x81, 0xaa, 0x81, 0xc6, 0x04, 0x9f, 0x22, 0x54, 0xca, 0x70, 0x1d,
+  0x44, 0x2e, 0x14, 0x7c, 0x60, 0x40, 0xc1, 0x31, 0x20, 0x50, 0x03, 0x40,
+  0xed, 0x19, 0xa8, 0x1a, 0x68, 0x4c, 0xf0, 0x29, 0x42, 0xa5, 0x0c, 0xd7,
+  0x41, 0xe4, 0x42, 0x11, 0x35, 0x46, 0xd4, 0x1c, 0x51, 0x83, 0x44, 0x0d,
+  0x10, 0xb5, 0x67, 0x34, 0x61, 0x66, 0x84, 0xe1, 0x88, 0x00, 0x6d, 0x82,
+  0x6f, 0x96, 0x41, 0x9a, 0x82, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88,
+  0x40, 0xe8, 0x7e, 0x8c, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x42,
+  0x08, 0x7f, 0x8c, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x44, 0x28,
+  0x7f, 0x8c, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x46, 0x68, 0x77,
+  0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x48, 0x88, 0x77, 0x86,
+  0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0x4a, 0xa8, 0x77, 0x06, 0x1b,
+  0xf0, 0x46, 0x3e, 0x36, 0xe4, 0x8d, 0x7c, 0x6c, 0xd0, 0x1b, 0xf9, 0x8c,
+  0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x94, 0x42, 0xe2, 0x33, 0x8c, 0x18,
+  0x18, 0x00, 0x08, 0x82, 0x41, 0xa4, 0x42, 0xe3, 0x33, 0x8c, 0x18, 0x18,
+  0x00, 0x08, 0x82, 0x41, 0xb4, 0x42, 0xe4, 0x33, 0xd8, 0xf0, 0x37, 0xf0,
+  0xb1, 0x01, 0x74, 0xe0, 0x63, 0x43, 0xe8, 0xc0, 0x67, 0xc4, 0xe0, 0x00,
+  0x40, 0x10, 0x0c, 0xaa, 0x16, 0x5a, 0x9f, 0x81, 0x6e, 0x46, 0x0c, 0x0e,
+  0x00, 0x04, 0xc1, 0xa0, 0x72, 0x21, 0xf6, 0x19, 0xea, 0x66, 0xc4, 0xe0,
+  0x00, 0x40, 0x10, 0x0c, 0xaa, 0x17, 0x6a, 0x9f, 0xc1, 0x6e, 0x2c, 0x31,
+  0x1d, 0xf9, 0x58, 0x72, 0x3a, 0xf2, 0xb1, 0x04, 0x75, 0xe4, 0x63, 0xaa,
+  0x33, 0xc4, 0xc7, 0x56, 0x67, 0x88, 0x8f, 0xb1, 0xce, 0x10, 0x1f, 0x4b,
+  0x06, 0xfa, 0x58, 0x32, 0xd0, 0xc7, 0x92, 0x81, 0x3e, 0x23, 0x06, 0x06,
+  0x00, 0x82, 0x60, 0x10, 0xed, 0x90, 0x0c, 0x0d, 0x23, 0x06, 0x06, 0x00,
+  0x82, 0x60, 0x10, 0xf1, 0xd0, 0x0c, 0x0d, 0x23, 0x06, 0x06, 0x00, 0x82,
+  0x60, 0x10, 0xf5, 0x10, 0x0d, 0x0d, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60,
+  0x10, 0xf9, 0x90, 0xfd, 0x0c, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10,
+  0xfd, 0xd0, 0xfd, 0x0c, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0x81,
+  0x11, 0xfe, 0x0c, 0x36, 0xd0, 0x8f, 0x7c, 0x6c, 0xa8, 0x1f, 0xf9, 0xd8,
+  0x60, 0x3f, 0xf2, 0x19, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x88, 0x8c,
+  0xfa, 0x67, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0xa8, 0x8c, 0xfc,
+  0x67, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0xc8, 0x8c, 0xfe, 0x67,
+  0xb0, 0x21, 0x7f, 0xe4, 0x63, 0x83, 0xfe, 0xc8, 0xc7, 0x86, 0xfd, 0x91,
+  0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x60, 0x67, 0x04, 0x42, 0xa6,
+  0x03, 0x46, 0xa3, 0x09, 0xc1, 0x60, 0x45, 0x40, 0x1f, 0x2b, 0x04, 0xfa,
+  0x58, 0x31, 0xd0, 0x67, 0x96, 0x60, 0x1a, 0xa8, 0x18, 0x0c, 0x49, 0x1d,
+  0xa2, 0x81, 0x8a, 0xc1, 0x90, 0xd4, 0x21, 0x1a, 0xa8, 0x18, 0x0c, 0x49,
+  0x1d, 0xa2, 0x11, 0x83, 0x03, 0x00, 0x41, 0x30, 0xc0, 0xde, 0x08, 0x85,
+  0x5c, 0x07, 0x8d, 0x46, 0x13, 0x02, 0x60, 0x38, 0x22, 0xc8, 0x1d, 0xe7,
+  0x9b, 0x65, 0xa0, 0xba, 0x60, 0x38, 0x42, 0xc8, 0x9d, 0xe0, 0x9b, 0x65,
+  0xa8, 0xac, 0x60, 0x34, 0x81, 0x08, 0x2c, 0x40, 0xe4, 0x63, 0x02, 0x22,
+  0x1f, 0x1b, 0x10, 0xf9, 0xcc, 0x12, 0x74, 0xc3, 0x11, 0x87, 0xf8, 0x04,
+  0xdf, 0x2c, 0xc3, 0xd5, 0x05, 0xc3, 0x11, 0x7d, 0x30, 0x3e, 0xc1, 0x37,
+  0xcb, 0x80, 0x65, 0x81, 0x35, 0xfa, 0x23, 0x9f, 0x11, 0x03, 0x04, 0x00,
+  0x41, 0x30, 0xd0, 0xf2, 0x88, 0x86, 0xf4, 0xa7, 0x09, 0x46, 0x0c, 0x10,
+  0x00, 0x04, 0xc1, 0x40, 0xd3, 0xa3, 0x1a, 0xd2, 0x9f, 0x26, 0x30, 0x48,
+  0x7f, 0xe4, 0x33, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x1a, 0x1f, 0xdd,
+  0x90, 0xfe, 0x40, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x68, 0x7d,
+  0x84, 0x43, 0xfa, 0x03, 0x05, 0x36, 0xe9, 0x8f, 0x7c, 0x46, 0x0c, 0x10,
+  0x00, 0x04, 0xc1, 0x40, 0xfb, 0x23, 0x1d, 0xd2, 0x9f, 0x29, 0x18, 0x31,
+  0x40, 0x00, 0x10, 0x04, 0x03, 0x0d, 0x94, 0x76, 0x48, 0x7f, 0xa6, 0x60,
+  0x96, 0x20, 0x1b, 0xa8, 0x18, 0x1c, 0x8c, 0x0d, 0xae, 0x81, 0x8a, 0x41,
+  0xc1, 0xd8, 0xe0, 0x1a, 0xa8, 0x18, 0x0c, 0x8c, 0x0d, 0xae, 0x11, 0x83,
+  0x03, 0x00, 0x41, 0x30, 0xa8, 0x4c, 0x89, 0x8c, 0x84, 0x60, 0xc4, 0xe0,
+  0x00, 0x40, 0x10, 0x0c, 0xaa, 0x53, 0x2a, 0x23, 0x22, 0x18, 0x8e, 0x08,
+  0xde, 0x47, 0xf8, 0x66, 0x19, 0xb4, 0x2d, 0x18, 0x4d, 0xc8, 0x02, 0x1b,
+  0x02, 0xf9, 0x58, 0x10, 0x3f, 0xf0, 0x19, 0x4d, 0xe0, 0x04, 0x33, 0x02,
+  0xf9, 0x58, 0x40, 0x3f, 0xf0, 0x31, 0x22, 0xa0, 0x8f, 0x05, 0x8d, 0x7c,
+  0x4c, 0x68, 0xe4, 0x63, 0x43, 0x23, 0x9f, 0x59, 0x82, 0x6d, 0xa0, 0x62,
+  0x30, 0x34, 0x30, 0xc8, 0x06, 0x2a, 0x06, 0x43, 0x03, 0x83, 0x6c, 0xa0,
+  0x62, 0x30, 0x34, 0x30, 0xc8, 0x66, 0x19, 0xb8, 0xae, 0xb3, 0x81, 0x8c,
+  0xe4, 0x33, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x5a, 0x2d, 0xc1, 0x11,
+  0x19, 0x0d, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x68, 0xb6, 0x14,
+  0x47, 0x64, 0x34, 0x04, 0x66, 0x90, 0x91, 0x7c, 0x46, 0x0c, 0x10, 0x00,
+  0x04, 0xc1, 0x40, 0xc3, 0xa5, 0x39, 0x22, 0x23, 0x23, 0x18, 0x31, 0x40,
+  0x00, 0x10, 0x04, 0x03, 0x2d, 0x97, 0xe8, 0x88, 0x8c, 0x8c, 0xc0, 0x12,
+  0x32, 0x92, 0xcf, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x68, 0xbb, 0x64,
+  0x47, 0x64, 0x94, 0x04, 0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xa0, 0xf1,
+  0xd2, 0x1d, 0x91, 0x51, 0x12, 0xcc, 0x12, 0x74, 0x03, 0x2d, 0x03, 0x39,
+  0x4c, 0xb4, 0x50, 0x39, 0x1c, 0xb6, 0x91, 0x83, 0x35, 0xd0, 0x32, 0x90,
+  0xc3, 0x44, 0x0b, 0x95, 0xc2, 0x61, 0x1b, 0x39, 0x58, 0x03, 0x2d, 0x03,
+  0x39, 0x4c, 0xb4, 0x50, 0x19, 0x1c, 0xb6, 0x91, 0x83, 0x35, 0x1c, 0x61,
+  0x0e, 0x28, 0x14, 0x7c, 0xb3, 0x0c, 0x5e, 0x1a, 0x04, 0xa3, 0x09, 0xfa,
+  0x03, 0x0c, 0x47, 0x04, 0x2b, 0xe4, 0x7c, 0xb3, 0x0c, 0x1f, 0x1a, 0x04,
+  0xc3, 0x11, 0x06, 0x1e, 0x29, 0xdf, 0x2c, 0x43, 0x18, 0x80, 0x41, 0x60,
+  0x07, 0x1e, 0xc9, 0x67, 0x96, 0x40, 0x0c, 0x0c, 0xc1, 0x23, 0xf8, 0x8c,
+  0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xa4, 0x4e, 0xe1, 0x14, 0x58, 0x90,
+  0x47, 0xf2, 0x19, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x88, 0x9d, 0x48,
+  0x29, 0xb0, 0x40, 0x8f, 0xe4, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06,
+  0x91, 0x3b, 0x9d, 0x52, 0x30, 0x4b, 0x20, 0x06, 0x03, 0x15, 0x83, 0x03,
+  0x06, 0x42, 0x18, 0x0c, 0x47, 0x38, 0xa1, 0xa4, 0x7c, 0xb3, 0x0c, 0x64,
+  0x30, 0x06, 0x81, 0x3d, 0xa1, 0x24, 0x9f, 0x59, 0x82, 0x32, 0x30, 0x28,
+  0x94, 0xe0, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1, 0x3c, 0xa9,
+  0x53, 0x60, 0x81, 0x28, 0xc9, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c,
+  0xa2, 0x7a, 0x6a, 0xa5, 0xc0, 0x82, 0x51, 0x92, 0xcf, 0x88, 0x81, 0x01,
+  0x80, 0x20, 0x18, 0x44, 0xf7, 0x04, 0x4b, 0xc1, 0x2c, 0x41, 0x19, 0x0c,
+  0x54, 0x0c, 0xce, 0x18, 0x08, 0x64, 0x30, 0x1c, 0x61, 0xa9, 0x92, 0xf2,
+  0xcd, 0x32, 0x9c, 0x81, 0x19, 0x04, 0x76, 0xa9, 0x92, 0x7c, 0x66, 0x09,
+  0xd0, 0xc0, 0x30, 0x55, 0x82, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18,
+  0x44, 0xfc, 0x34, 0x4f, 0x81, 0x05, 0xab, 0x24, 0x9f, 0x11, 0x03, 0x03,
+  0x00, 0x41, 0x30, 0x88, 0xfc, 0xc9, 0x96, 0x02, 0x0b, 0x58, 0x49, 0x3e,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0x81, 0x54, 0x2e, 0x05, 0xb3,
+  0x04, 0x68, 0x30, 0xd0, 0x31, 0x80, 0x82, 0x47, 0x06, 0x67, 0x40, 0x06,
+  0x66, 0x30, 0xd0, 0x31, 0x80, 0x82, 0x47, 0x9d, 0x01, 0x65, 0x06, 0x03,
+  0x1d, 0x03, 0x28, 0x78, 0xc6, 0x19, 0x48, 0x66, 0x30, 0x9a, 0x90, 0x43,
+  0x83, 0x11, 0x81, 0x7c, 0x8c, 0x10, 0xe4, 0x63, 0xc4, 0x20, 0x9f, 0x59,
+  0x02, 0x51, 0x18, 0x8e, 0x50, 0x09, 0x38, 0x0a, 0xbe, 0xd1, 0x04, 0x1f,
+  0x1a, 0x66, 0x19, 0xd4, 0xa0, 0x0e, 0x04, 0x4b, 0x83, 0x40, 0x3e, 0x96,
+  0x06, 0x82, 0x7c, 0x2c, 0x0d, 0x06, 0xf9, 0x8c, 0x26, 0x88, 0x11, 0x30,
+  0x1c, 0x11, 0xcc, 0x91, 0xf3, 0xcd, 0x32, 0x88, 0xc2, 0x1a, 0x04, 0xc3,
+  0x11, 0x45, 0x1e, 0x29, 0xdf, 0x2c, 0x43, 0x1b, 0xb0, 0x41, 0x60, 0xc6,
+  0x1e, 0xc9, 0x67, 0x96, 0xc0, 0x0d, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1,
+  0x20, 0x8a, 0x29, 0x94, 0x3a, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x20,
+  0x92, 0x29, 0x75, 0x0a, 0x2c, 0xf8, 0x23, 0xf9, 0x8c, 0x18, 0x18, 0x00,
+  0x08, 0x82, 0x41, 0x44, 0x53, 0xed, 0x14, 0x58, 0x20, 0x4a, 0xf2, 0xb1,
+  0x80, 0x94, 0xe0, 0x33, 0x4b, 0xe0, 0x06, 0x03, 0x15, 0x83, 0xc3, 0x06,
+  0x42, 0x1b, 0x0c, 0x47, 0x34, 0xa2, 0xa4, 0x7c, 0xb3, 0x0c, 0x70, 0xf0,
+  0x06, 0x81, 0x39, 0xa4, 0x24, 0x9f, 0x59, 0x82, 0x38, 0x18, 0x31, 0x30,
+  0x00, 0x10, 0x04, 0x83, 0x48, 0xa7, 0x62, 0xea, 0x19, 0x31, 0x30, 0x00,
+  0x10, 0x04, 0x83, 0x68, 0xa7, 0xe6, 0x29, 0xb0, 0x00, 0x95, 0xe4, 0x33,
+  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x51, 0x4f, 0xd9, 0x53, 0x60, 0xc1,
+  0x2a, 0xc9, 0xc7, 0x82, 0x56, 0x82, 0xcf, 0x2c, 0x41, 0x1c, 0x0c, 0x54,
+  0x0c, 0xce, 0x1b, 0x08, 0x70, 0x30, 0x1c, 0x51, 0xad, 0x92, 0xf2, 0xcd,
+  0x32, 0xcc, 0x81, 0x1c, 0x04, 0x66, 0xb5, 0x92, 0x7c, 0x66, 0x09, 0xe8,
+  0x60, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0xa2, 0xb1, 0xd2, 0xa9, 0x6b,
+  0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22, 0xb2, 0xe2, 0xa7, 0xc0, 0x82,
+  0x58, 0x92, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x66, 0xf5,
+  0x4f, 0x81, 0x05, 0xb4, 0x24, 0x1f, 0x0b, 0x6c, 0x09, 0x3e, 0xb3, 0x04,
+  0x74, 0x30, 0x50, 0x31, 0x38, 0x72, 0x20, 0xcc, 0xc1, 0x88, 0x81, 0x01,
+  0x80, 0x20, 0x18, 0x44, 0x6a, 0x45, 0x52, 0xd3, 0x88, 0x81, 0x01, 0x80,
+  0x20, 0x18, 0x44, 0x6b, 0x55, 0x52, 0xcb, 0x88, 0x81, 0x01, 0x80, 0x20,
+  0x18, 0x44, 0x6c, 0x65, 0x52, 0xc3, 0x2c, 0x81, 0x28, 0xcc, 0x32, 0xd8,
+  0x41, 0x28, 0xb8, 0x85, 0xb1, 0x42, 0x3e, 0xc9, 0x67, 0xc4, 0x00, 0x01,
+  0x40, 0x10, 0x0c, 0x34, 0xb5, 0x2a, 0xa9, 0x7c, 0x62, 0x85, 0x60, 0xc4,
+  0x00, 0x01, 0x40, 0x10, 0x0c, 0xb4, 0xb5, 0x32, 0xa9, 0x7c, 0x62, 0x85,
+  0xc0, 0x5e, 0x21, 0x9f, 0xe4, 0x33, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06,
+  0x5a, 0x5b, 0xa1, 0x54, 0x3e, 0xbd, 0x42, 0x30, 0x62, 0x80, 0x00, 0x20,
+  0x08, 0x06, 0x9a, 0x5b, 0xa5, 0x54, 0x3e, 0xbd, 0x42, 0x60, 0xb2, 0x90,
+  0x4f, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x03, 0x0d, 0xae, 0x56,
+  0x2a, 0x9f, 0x64, 0x21, 0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x03, 0x2d,
+  0xae, 0x58, 0x2a, 0x9f, 0x64, 0x21, 0xb0, 0xa3, 0x0d, 0xe4, 0x63, 0x85,
+  0x1b, 0xc8, 0xc7, 0x86, 0x37, 0x90, 0xcf, 0x68, 0x82, 0x2b, 0x01, 0xc3,
+  0x11, 0xc1, 0x2f, 0x39, 0xdf, 0x2c, 0x83, 0x28, 0xdc, 0x41, 0x30, 0x1c,
+  0x51, 0x94, 0x93, 0xf2, 0xcd, 0x32, 0xe4, 0x01, 0x1e, 0x04, 0x66, 0x9c,
+  0x93, 0x7c, 0x66, 0x09, 0xf4, 0x60, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c,
+  0xa2, 0xbe, 0xa2, 0xab, 0x63, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22,
+  0xbf, 0xb2, 0xa9, 0xc0, 0x82, 0x75, 0x92, 0xcf, 0x88, 0x81, 0x01, 0x80,
+  0x20, 0x18, 0x44, 0xa0, 0x95, 0x53, 0x81, 0x05, 0xee, 0x24, 0x1f, 0x0b,
+  0xe0, 0x09, 0x3e, 0xb3, 0x04, 0x7a, 0x30, 0x50, 0x31, 0x38, 0x78, 0x20,
+  0xe4, 0xc1, 0x70, 0x44, 0xe3, 0x4e, 0xca, 0x37, 0xcb, 0xc0, 0x07, 0x7b,
+  0x10, 0x98, 0x03, 0x4f, 0xf2, 0x99, 0x25, 0xe8, 0x83, 0x11, 0x03, 0x03,
+  0x00, 0x41, 0x30, 0x88, 0x4c, 0xab, 0xaf, 0x9e, 0x11, 0x03, 0x03, 0x00,
+  0x41, 0x30, 0x88, 0x4e, 0xeb, 0xa7, 0x02, 0x0b, 0xe8, 0x49, 0x3e, 0x23,
+  0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xa5, 0x96, 0x58, 0x05, 0x16, 0xdc,
+  0x93, 0x7c, 0x2c, 0xc8, 0x27, 0xf8, 0xcc, 0x12, 0xf4, 0xc1, 0x40, 0xc5,
+  0xe0, 0xec, 0x81, 0xc0, 0x07, 0xc3, 0x11, 0xd5, 0x3d, 0x29, 0xdf, 0x2c,
+  0xc3, 0x1f, 0xf8, 0x41, 0x60, 0x56, 0x3e, 0xc9, 0x67, 0x96, 0x00, 0x14,
+  0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x20, 0x7a, 0x2d, 0xd3, 0xba, 0x46,
+  0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x20, 0x82, 0x2d, 0xb4, 0x0a, 0x2c, 0xe8,
+  0x27, 0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x24, 0x5b, 0x6b,
+  0x15, 0x58, 0x00, 0x52, 0xf2, 0xb1, 0x40, 0xa4, 0xe0, 0x33, 0x4b, 0x00,
+  0x0a, 0x03, 0x15, 0x83, 0xe3, 0x07, 0xc2, 0x1f, 0x8c, 0x18, 0x18, 0x00,
+  0x08, 0x82, 0x41, 0x64, 0x5b, 0x70, 0x35, 0x8d, 0x18, 0x18, 0x00, 0x08,
+  0x82, 0x41, 0x74, 0x5b, 0x71, 0xb5, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
+  0x41, 0x84, 0x5b, 0x72, 0x35, 0xcc, 0x12, 0x88, 0x82, 0xe1, 0x03, 0x2c,
+  0xc8, 0xc7, 0xf0, 0x21, 0x16, 0xe4, 0x63, 0xf8, 0x20, 0x0b, 0xf2, 0x99,
+  0x25, 0x10, 0x85, 0x81, 0x9a, 0xc1, 0x2d, 0xd0, 0xc0, 0x08, 0x05, 0xb2,
+  0x50, 0x03, 0x72, 0xa0, 0x03, 0x56, 0xb0, 0x03, 0x06, 0x14, 0x06, 0x6a,
+  0x06, 0xb7, 0x40, 0x03, 0x23, 0x14, 0xc8, 0x42, 0x0d, 0xc8, 0x81, 0x0e,
+  0x58, 0xc1, 0x0e, 0x18, 0x50, 0x18, 0xa8, 0x19, 0xdc, 0x02, 0x0d, 0x8c,
+  0x50, 0x20, 0x0b, 0x35, 0x20, 0x07, 0x3a, 0x60, 0x05, 0x3b, 0x60, 0x40,
+  0xc1, 0x06, 0x7d, 0x92, 0x8f, 0x0d, 0xfa, 0x24, 0x1f, 0x1b, 0xf4, 0x49,
+  0x3e, 0x56, 0x1e, 0xfa, 0x24, 0x9f, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30,
+  0x40, 0xcc, 0x6b, 0xb4, 0x78, 0x8b, 0xb7, 0x62, 0x8b, 0x18, 0x31, 0x48,
+  0x00, 0x10, 0x04, 0x03, 0xc4, 0xbc, 0x46, 0x8b, 0xb7, 0x78, 0x2b, 0xb5,
+  0x86, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xcc, 0x6b, 0xb4, 0x78,
+  0x8b, 0xb7, 0x60, 0x4b, 0x18, 0x31, 0x48, 0x00, 0x10, 0x04, 0x03, 0xc4,
+  0xbc, 0x46, 0x8b, 0xb7, 0x78, 0x6b, 0xb6, 0x02, 0x04, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00
 };

+ 229 - 213
src/render/direct3d12/D3D12_PixelShader_Colors.h

@@ -15,13 +15,26 @@
 ; -------------------- ----- ------ -------- -------- ------- ------
 ; SV_Target                0   xyzw        0   TARGET   float   xyzw
 ;
-; shader hash: 8ae1603dec7cda8e7dc3dd934e8ac75b
+; shader hash: b1dd38d2e707cd1092687f6d690710e0
 ;
 ; Pipeline Runtime Information:
 ;
+;PSVRuntimeInfo:
 ; Pixel Shader
 ; DepthOutput=0
 ; SampleFrequency=0
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 1
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 1
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: main
 ;
 ;
 ; Input signature:
@@ -131,9 +144,9 @@ attributes #2 = { nounwind readonly }
 !dx.viewIdState = !{!7}
 !dx.entryPoints = !{!8}
 
-!0 = !{!"dxcoob 1.7.2308.16 (52da17e29)"}
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
 !1 = !{i32 1, i32 0}
-!2 = !{i32 1, i32 7}
+!2 = !{i32 1, i32 8}
 !3 = !{!"ps", i32 6, i32 0}
 !4 = !{null, null, !5, null}
 !5 = !{!6}
@@ -153,12 +166,12 @@ attributes #2 = { nounwind readonly }
 #endif
 
 const unsigned char g_main[] = {
-  0x44, 0x58, 0x42, 0x43, 0x2f, 0xc1, 0x95, 0xba, 0xb3, 0x28, 0xb3, 0x57,
-  0x1c, 0xb0, 0x48, 0x8a, 0x8b, 0xf0, 0x9c, 0x51, 0x01, 0x00, 0x00, 0x00,
-  0xcc, 0x0f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0xb5, 0x5a, 0x6a, 0x5a, 0xf5, 0x06, 0xd8, 0xa9,
+  0x15, 0x6a, 0x4e, 0x07, 0xcd, 0x34, 0xb8, 0x65, 0x01, 0x00, 0x00, 0x00,
+  0xe8, 0x0f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x50, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
-  0x04, 0x02, 0x00, 0x00, 0x54, 0x02, 0x00, 0x00, 0x9c, 0x09, 0x00, 0x00,
-  0xb8, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x10, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0xb8, 0x09, 0x00, 0x00,
+  0xd4, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
   0x84, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -176,16 +189,17 @@ const unsigned char g_main[] = {
   0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0xe4, 0x00, 0x00, 0x00,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0xf0, 0x00, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
-  0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
@@ -203,10 +217,10 @@ const unsigned char g_main[] = {
   0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54,
-  0x40, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xd0, 0x01, 0x00, 0x00,
+  0x50, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xd4, 0x01, 0x00, 0x00,
   0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x28, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
-  0xc7, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x38, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
+  0xcb, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49,
   0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19,
   0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
@@ -251,20 +265,20 @@ const unsigned char g_main[] = {
   0x16, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90,
   0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
   0x0c, 0x05, 0x1e, 0x50, 0x06, 0xe5, 0x50, 0x12, 0x85, 0x50, 0x10, 0x85,
-  0x51, 0x20, 0x05, 0x54, 0x48, 0x05, 0x55, 0x58, 0x05, 0x56, 0x80, 0x01,
-  0x05, 0x1a, 0x50, 0xc0, 0x01, 0x45, 0x50, 0x1e, 0x54, 0x4a, 0xa2, 0x0c,
-  0x0a, 0x61, 0x04, 0xa0, 0x08, 0x0a, 0x84, 0x5e, 0x0d, 0x10, 0x9d, 0x01,
-  0xa0, 0x3a, 0x03, 0x40, 0x76, 0x2c, 0x87, 0x21, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x81, 0x40, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0xcc, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45,
-  0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c,
-  0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
+  0x51, 0x20, 0xa5, 0x51, 0x40, 0x85, 0x54, 0x50, 0x85, 0x55, 0x60, 0x05,
+  0x18, 0x50, 0xa0, 0x01, 0x05, 0x1c, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24,
+  0xca, 0xa0, 0x10, 0x46, 0x00, 0x8a, 0xa0, 0x40, 0xe8, 0xd5, 0x00, 0xd1,
+  0x19, 0x00, 0xaa, 0x33, 0x00, 0x64, 0xc7, 0x72, 0x18, 0x02, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0xd0, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
+  0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27,
+  0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
   0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
   0xb8, 0xb9, 0x09, 0x02, 0x71, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x54,
-  0x62, 0xc0, 0x64, 0xe8, 0xcd, 0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0x6e,
+  0x63, 0xc0, 0x64, 0xe8, 0xcd, 0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0x6e,
   0x82, 0x40, 0x20, 0x1b, 0x10, 0x42, 0x59, 0x88, 0x61, 0x60, 0x80, 0x0d,
-  0x41, 0xb3, 0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x50, 0x61, 0x40, 0x66,
+  0x41, 0xb3, 0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x50, 0x62, 0x40, 0x66,
   0x6e, 0x4c, 0xea, 0x48, 0xe8, 0xeb, 0xad, 0x8e, 0x0e, 0xae, 0x8e, 0x6e,
   0x82, 0x40, 0x24, 0x13, 0x04, 0x42, 0x99, 0x20, 0x10, 0xcb, 0x06, 0x03,
   0x89, 0x24, 0x62, 0xa2, 0xc8, 0xd0, 0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95,
@@ -272,176 +286,60 @@ const unsigned char g_main[] = {
   0xd2, 0x35, 0x51, 0x54, 0xd2, 0xdc, 0xe0, 0xea, 0xe8, 0xbe, 0xe8, 0xf2,
   0xe0, 0xca, 0x26, 0x08, 0x44, 0xb3, 0xc1, 0x40, 0x32, 0x49, 0x9b, 0x28,
   0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65,
-  0x13, 0x04, 0xc2, 0x99, 0x20, 0x3c, 0x60, 0xb0, 0x01, 0x41, 0x38, 0xa9,
+  0x13, 0x04, 0xc2, 0x99, 0x20, 0x3c, 0x61, 0xb0, 0x01, 0x41, 0x38, 0xa9,
   0x9b, 0x28, 0xca, 0xa3, 0x42, 0x57, 0x86, 0x57, 0xc6, 0xf6, 0x35, 0x97,
-  0xa6, 0x57, 0x36, 0x41, 0x20, 0x9e, 0x0d, 0x06, 0x02, 0x06, 0x52, 0x18,
-  0x4c, 0x14, 0x1d, 0xba, 0x37, 0xb7, 0xb2, 0xb6, 0x30, 0xb8, 0xaf, 0xb6,
-  0x32, 0x3a, 0xb4, 0x37, 0xb2, 0x09, 0x02, 0x01, 0x6d, 0x30, 0x90, 0x31,
-  0x90, 0xc8, 0x60, 0xa2, 0xf8, 0xd0, 0xbd, 0xb9, 0x95, 0xb5, 0x85, 0xc1,
-  0x7d, 0x99, 0x85, 0x8d, 0xd1, 0xbd, 0xc9, 0xc5, 0x4c, 0x10, 0x88, 0x68,
-  0x83, 0x81, 0x98, 0x81, 0x74, 0x06, 0x13, 0xc5, 0x87, 0xee, 0xcd, 0xad,
-  0xac, 0x2d, 0x0c, 0xee, 0xcb, 0x2c, 0x6c, 0x8c, 0xee, 0x4d, 0x4e, 0x66,
-  0x82, 0x40, 0x48, 0x1b, 0x0c, 0x24, 0x0d, 0x24, 0x35, 0x98, 0x28, 0x3e,
-  0x73, 0x64, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x6f,
-  0x69, 0x6e, 0x74, 0x13, 0x04, 0x62, 0xda, 0x60, 0x20, 0x6c, 0x20, 0xb5,
-  0xc1, 0x44, 0xf1, 0xc8, 0x7a, 0x33, 0x33, 0x9b, 0x2b, 0xa3, 0x9b, 0x20,
-  0x10, 0xd4, 0x06, 0x03, 0x79, 0x03, 0x09, 0x0e, 0x26, 0x8a, 0x86, 0xd4,
-  0xd8, 0x5b, 0x99, 0x99, 0xd9, 0x04, 0x81, 0xa8, 0x36, 0x18, 0x88, 0x1c,
-  0x48, 0x73, 0x30, 0x51, 0x34, 0x8e, 0xc6, 0xde, 0xca, 0xcc, 0xcc, 0x26,
-  0x08, 0x84, 0xb5, 0xc1, 0x40, 0xea, 0x40, 0xb2, 0x83, 0x89, 0xa2, 0x21,
-  0x34, 0xf6, 0x56, 0x66, 0x66, 0x36, 0x41, 0x20, 0xae, 0x0d, 0x06, 0x82,
-  0x07, 0x52, 0x1e, 0x4c, 0xd4, 0x06, 0x87, 0xa9, 0xb0, 0xed, 0x13, 0x83,
-  0x32, 0x40, 0x83, 0x35, 0x70, 0x83, 0x38, 0xa0, 0x83, 0x3b, 0xd0, 0x83,
-  0x0d, 0x03, 0x01, 0xed, 0xc1, 0x04, 0x41, 0x00, 0x36, 0x00, 0x1b, 0x06,
-  0xc2, 0x0f, 0xfc, 0x60, 0x43, 0xf0, 0x07, 0x1b, 0x86, 0xa1, 0x0f, 0x40,
-  0x61, 0x82, 0x60, 0x8d, 0xc1, 0x86, 0x40, 0x14, 0x48, 0xb4, 0x85, 0xa5,
-  0xb9, 0x71, 0x99, 0xb2, 0xfa, 0x82, 0x7a, 0x9b, 0x4b, 0xa3, 0x4b, 0x7b,
-  0x73, 0x9b, 0x20, 0x14, 0xda, 0x04, 0xa1, 0xd8, 0x36, 0x04, 0xc4, 0x04,
-  0xa1, 0xe0, 0x26, 0x08, 0x45, 0xb7, 0x61, 0x21, 0x4a, 0xc1, 0x14, 0x4e,
-  0x01, 0x15, 0x52, 0x61, 0x48, 0x05, 0x42, 0x15, 0x00, 0x22, 0x54, 0x45,
-  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0xc2, 0xdb, 0xb0, 0x0c,
-  0xac, 0x60, 0x0a, 0xaa, 0x80, 0x0a, 0xad, 0x30, 0xb4, 0xc2, 0xa0, 0x0a,
-  0xc0, 0x04, 0x81, 0xc0, 0x58, 0x0c, 0x3d, 0x31, 0x3d, 0x49, 0x4d, 0x10,
-  0x88, 0x6c, 0x83, 0x20, 0xc5, 0xc2, 0x86, 0xe5, 0x15, 0x60, 0xc1, 0x14,
-  0x54, 0x01, 0x15, 0x5a, 0x61, 0x48, 0x85, 0x57, 0x50, 0x05, 0x59, 0xd8,
-  0x30, 0xac, 0x82, 0x2b, 0xcc, 0x02, 0x93, 0x29, 0xab, 0x2f, 0xaa, 0x30,
-  0xb9, 0xb3, 0x32, 0xba, 0x09, 0x42, 0xf1, 0x6d, 0x58, 0x88, 0x5a, 0x30,
-  0x05, 0x5b, 0x40, 0x05, 0x55, 0x18, 0x52, 0x81, 0x50, 0x05, 0x59, 0xd8,
-  0x10, 0xdc, 0xc2, 0x86, 0x81, 0x16, 0x70, 0x01, 0xd8, 0x50, 0xf4, 0x01,
-  0x29, 0xe4, 0xc2, 0x03, 0xd0, 0x30, 0x63, 0x7b, 0x0b, 0xa3, 0x9b, 0x63,
-  0x91, 0xe6, 0x36, 0x47, 0x37, 0x47, 0x63, 0x2e, 0xed, 0xec, 0x8b, 0x8d,
-  0x8c, 0xc6, 0x5c, 0xda, 0xd9, 0xd7, 0x1c, 0xdd, 0x06, 0x64, 0x17, 0x24,
-  0x5e, 0x88, 0x85, 0x5e, 0xb8, 0x7c, 0xe1, 0xaa, 0xc2, 0xc6, 0x66, 0xd7,
-  0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1,
-  0xb9, 0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26,
-  0x64, 0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x53, 0x82, 0xa2,
-  0x0e, 0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b,
-  0x59, 0x19, 0xdb, 0x94, 0x00, 0x29, 0x43, 0x86, 0xe7, 0x22, 0x57, 0x36,
-  0xf7, 0x56, 0x27, 0x37, 0x56, 0x36, 0x37, 0x25, 0x70, 0x2a, 0x91, 0xe1,
-  0xb9, 0xd0, 0xe5, 0xc1, 0x95, 0x05, 0xb9, 0xb9, 0xbd, 0xd1, 0x85, 0xd1,
-  0xa5, 0xbd, 0xb9, 0xcd, 0x4d, 0x11, 0xf6, 0x00, 0x14, 0xea, 0x90, 0xe1,
-  0xb9, 0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91, 0x4d, 0xd1, 0x85, 0xd1, 0x95,
-  0x4d, 0x09, 0x44, 0xa1, 0x0e, 0x19, 0x9e, 0x4b, 0x99, 0x1b, 0x9d, 0x5c,
-  0x1e, 0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc, 0x94, 0x20, 0x17, 0xba, 0x90,
-  0xe1, 0xb9, 0x8c, 0xbd, 0xd5, 0xb9, 0xd1, 0x95, 0xc9, 0xcd, 0x4d, 0x09,
-  0x7c, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
-  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
-  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
-  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
-  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
-  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
-  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
-  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
-  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
-  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
-  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
-  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
-  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
-  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
-  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
-  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
-  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
-  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
-  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
-  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
-  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
-  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
-  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4,
-  0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19,
-  0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06,
-  0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f,
-  0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-  0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44,
-  0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x04,
-  0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34,
-  0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c,
-  0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b,
-  0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc,
-  0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x8a, 0xe1, 0x60, 0x3d, 0xec, 0x7c, 0xda, 0x8e, 0x7d, 0xc3, 0xdd, 0x93,
-  0x4e, 0x8a, 0xc7, 0x5b, 0x44, 0x58, 0x49, 0x4c, 0x0c, 0x06, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xf4, 0x05, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x7a, 0x01, 0x00, 0x00,
-  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
-  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
-  0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14,
-  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20,
-  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
-  0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
-  0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
-  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
-  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
-  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84,
-  0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c,
-  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x5c, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66,
-  0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14,
-  0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f,
-  0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6,
-  0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42,
-  0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42,
-  0x6d, 0x8e, 0x20, 0x28, 0x06, 0x23, 0x85, 0x90, 0x47, 0x70, 0x20, 0x60,
-  0x18, 0x81, 0x18, 0x2e, 0xe1, 0x9c, 0x46, 0x9a, 0x80, 0x66, 0x92, 0x50,
-  0x33, 0xc6, 0x18, 0x73, 0x8c, 0x31, 0xe6, 0x9c, 0x93, 0x68, 0x3a, 0x10,
-  0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
-  0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50,
-  0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30,
-  0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
-  0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20,
-  0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0,
-  0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
-  0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10,
-  0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
-  0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
-  0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0e, 0xc5, 0x50, 0xe0,
-  0x01, 0x45, 0x50, 0x06, 0xe5, 0x41, 0xa5, 0x24, 0xca, 0xa0, 0x10, 0x46,
-  0x00, 0x8a, 0xa0, 0x40, 0xa8, 0xce, 0x00, 0x90, 0x1d, 0xcb, 0x61, 0x08,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00,
-  0x79, 0x18, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
-  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04,
-  0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43,
-  0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0x98,
-  0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08,
-  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xa1, 0x9a, 0x08, 0x4c, 0x10, 0x88,
-  0x64, 0x03, 0x42, 0x2c, 0x0c, 0x31, 0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36,
-  0x10, 0x00, 0xf0, 0x00, 0x13, 0x04, 0x8b, 0xda, 0x10, 0x44, 0x13, 0x04,
-  0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0xc6, 0x65, 0xca, 0xea, 0x0b, 0xea,
-  0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d, 0x82, 0x50, 0x34, 0x13, 0x84,
-  0xc2, 0xd9, 0x10, 0x10, 0x13, 0x84, 0xe2, 0x99, 0x20, 0x14, 0xd0, 0x86,
-  0x85, 0xa8, 0xac, 0x0b, 0xcb, 0x86, 0x8c, 0xd0, 0x00, 0x22, 0x54, 0x45,
-  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0x22, 0xda, 0xb0, 0x0c,
-  0x9c, 0xa5, 0x61, 0xdd, 0xd0, 0x0d, 0x1a, 0x30, 0x41, 0x20, 0x14, 0x16,
-  0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x04, 0x62, 0x99, 0x20, 0x10, 0xcc,
-  0x06, 0x21, 0x0c, 0xc4, 0x60, 0xc3, 0xf2, 0x81, 0x81, 0xa5, 0x61, 0xdd,
-  0x90, 0x7d, 0xda, 0x18, 0x6c, 0x18, 0x36, 0x8f, 0x0c, 0x98, 0x4c, 0x59,
-  0x7d, 0x51, 0x85, 0xc9, 0x9d, 0x95, 0xd1, 0x4d, 0x10, 0x0a, 0x69, 0xc3,
-  0x42, 0x98, 0x81, 0x75, 0x06, 0x98, 0x36, 0x64, 0x84, 0x36, 0x06, 0x1b,
-  0x02, 0x34, 0xd8, 0x30, 0x94, 0x41, 0x1a, 0x00, 0x1b, 0x8a, 0x89, 0x52,
-  0x03, 0x08, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6,
-  0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9, 0xd8, 0x95, 0xc9, 0xcd,
-  0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64, 0x78, 0x2e, 0x76, 0x61,
-  0x6c, 0x76, 0x65, 0x72, 0x53, 0x02, 0xa3, 0x0e, 0x19, 0x9e, 0xcb, 0x1c,
-  0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59, 0x19, 0xdb, 0x94, 0x20,
-  0x29, 0x43, 0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7, 0x56, 0x27, 0x37, 0x56,
-  0x36, 0x37, 0x25, 0x78, 0xea, 0x90, 0xe1, 0xb9, 0xd8, 0xa5, 0x95, 0xdd,
-  0x25, 0x91, 0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d, 0x09, 0xa2, 0x3a, 0x64,
-  0x78, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74,
-  0x73, 0x53, 0x02, 0x35, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0xa6, 0x57, 0x36, 0x41, 0x20, 0x9e, 0x09, 0x02, 0x01, 0x6d, 0x40, 0x10,
+  0x30, 0x90, 0xc2, 0x60, 0xa2, 0xc4, 0xe0, 0xa2, 0x43, 0xf7, 0xe6, 0x56,
+  0xd6, 0x16, 0x06, 0xf7, 0xd5, 0x56, 0x46, 0x87, 0xf6, 0x46, 0x36, 0x41,
+  0x20, 0xa2, 0x0d, 0x06, 0x42, 0x06, 0x52, 0x19, 0x4c, 0x14, 0x1f, 0xba,
+  0x37, 0xb7, 0xb2, 0xb6, 0x30, 0xb8, 0x2f, 0xb3, 0xb0, 0x31, 0xba, 0x37,
+  0xb9, 0x98, 0x09, 0x02, 0x21, 0x6d, 0x30, 0x90, 0x33, 0x90, 0xd0, 0x60,
+  0xa2, 0xf8, 0xd0, 0xbd, 0xb9, 0x95, 0xb5, 0x85, 0xc1, 0x7d, 0x99, 0x85,
+  0x8d, 0xd1, 0xbd, 0xc9, 0xc9, 0x4c, 0x10, 0x88, 0x69, 0x83, 0x81, 0xa8,
+  0x81, 0xb4, 0x06, 0x13, 0xc5, 0x67, 0x8e, 0x4c, 0xee, 0xeb, 0x0e, 0x2d,
+  0x8d, 0xae, 0xec, 0x0b, 0xee, 0x2d, 0xcd, 0x8d, 0x6e, 0x82, 0x40, 0x50,
+  0x1b, 0x0c, 0xa4, 0x0d, 0x24, 0x37, 0x98, 0x28, 0x1e, 0x59, 0x6f, 0x66,
+  0x66, 0x73, 0x65, 0x74, 0x13, 0x04, 0xa2, 0xda, 0x80, 0x20, 0x70, 0x20,
+  0xc5, 0xc1, 0x44, 0x89, 0xc1, 0x45, 0x43, 0x6a, 0xec, 0xad, 0xcc, 0xcc,
+  0x6c, 0x82, 0x40, 0x58, 0x1b, 0x10, 0x64, 0x0e, 0x24, 0x3a, 0x98, 0x28,
+  0x31, 0xb8, 0x68, 0x1c, 0x8d, 0xbd, 0x95, 0x99, 0x99, 0x4d, 0x10, 0x88,
+  0x6b, 0x03, 0x82, 0xd8, 0x81, 0x74, 0x07, 0x13, 0x25, 0x06, 0x17, 0x0d,
+  0xa1, 0xb1, 0xb7, 0x32, 0x33, 0xb3, 0x09, 0x02, 0x81, 0x6d, 0x40, 0x90,
+  0x3c, 0x90, 0xf4, 0x60, 0xa2, 0xc4, 0xe0, 0xda, 0xe0, 0x30, 0x15, 0xb6,
+  0x7d, 0x63, 0x60, 0x06, 0x69, 0xc0, 0x06, 0x6f, 0x20, 0x07, 0x75, 0x80,
+  0x07, 0x7b, 0xb0, 0x61, 0x20, 0x20, 0x3e, 0x98, 0x20, 0x08, 0xc0, 0x06,
+  0x60, 0xc3, 0x40, 0xfc, 0xc1, 0x1f, 0x6c, 0x08, 0x40, 0x61, 0xc3, 0x30,
+  0xf8, 0x41, 0x28, 0x4c, 0x10, 0x2c, 0x32, 0xd8, 0x10, 0x8c, 0x02, 0x89,
+  0xb6, 0xb0, 0x34, 0x37, 0x2e, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69,
+  0x74, 0x69, 0x6f, 0x6e, 0x13, 0x84, 0x62, 0x9b, 0x20, 0x14, 0xdc, 0x86,
+  0x80, 0x98, 0x20, 0x14, 0xdd, 0x04, 0xa1, 0xf0, 0x36, 0x2c, 0x84, 0x29,
+  0x9c, 0x02, 0x2a, 0xa4, 0x82, 0x2a, 0x0c, 0xaa, 0x40, 0xac, 0x02, 0x40,
+  0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49, 0x8a, 0x68, 0x82, 0x50, 0x7c,
+  0x1b, 0x96, 0xa1, 0x15, 0x4e, 0x61, 0x15, 0x52, 0xc1, 0x15, 0x06, 0x57,
+  0x18, 0x56, 0x01, 0x98, 0x20, 0x10, 0x19, 0x8b, 0xa1, 0x27, 0xa6, 0x27,
+  0xa9, 0x09, 0x02, 0xa1, 0x6d, 0x10, 0x24, 0x59, 0xd8, 0xb0, 0xc0, 0x42,
+  0x2c, 0x9c, 0xc2, 0x2a, 0xa4, 0x82, 0x2b, 0x0c, 0xaa, 0x00, 0x0b, 0xab,
+  0x30, 0x0b, 0x1b, 0x06, 0x56, 0x78, 0x05, 0x5a, 0x60, 0x32, 0x65, 0xf5,
+  0x45, 0x15, 0x26, 0x77, 0x56, 0x46, 0x37, 0x41, 0x28, 0xc0, 0x60, 0xc3,
+  0x42, 0xd8, 0xc2, 0x29, 0xdc, 0x42, 0x2a, 0xac, 0xc2, 0xa0, 0x0a, 0xc4,
+  0x2a, 0xcc, 0xc2, 0x86, 0x00, 0x17, 0x36, 0x0c, 0xb5, 0x90, 0x0b, 0xc0,
+  0x86, 0xc2, 0x0f, 0x4a, 0x41, 0x17, 0x1e, 0x80, 0x86, 0x19, 0xdb, 0x5b,
+  0x18, 0xdd, 0x1c, 0x8b, 0x34, 0xb7, 0x39, 0xba, 0x39, 0x1a, 0x73, 0x69,
+  0x67, 0x5f, 0x6c, 0x64, 0x34, 0xe6, 0xd2, 0xce, 0xbe, 0xe6, 0xe8, 0x36,
+  0x20, 0xbc, 0x20, 0xf5, 0x82, 0x2c, 0xf8, 0xc2, 0xf5, 0x0b, 0x57, 0x15,
+  0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41,
+  0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d,
+  0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93,
+  0x9b, 0x12, 0x14, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca,
+  0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x48, 0x19, 0x32, 0x3c,
+  0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0x81,
+  0x53, 0x89, 0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed,
+  0x8d, 0x2e, 0x8c, 0x2e, 0xed, 0xcd, 0x6d, 0x6e, 0x8a, 0xc0, 0x07, 0xa1,
+  0x50, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, 0x2e, 0x89, 0x6c, 0x8a,
+  0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0x30, 0x0a, 0x75, 0xc8, 0xf0, 0x5c, 0xca,
+  0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde, 0xd2, 0xdc, 0xe8, 0xe6, 0xa6, 0x04,
+  0xba, 0xd0, 0x85, 0x0c, 0xcf, 0x65, 0xec, 0xad, 0xce, 0x8d, 0xae, 0x4c,
+  0x6e, 0x6e, 0x4a, 0xf0, 0x0b, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
   0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
   0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
   0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
@@ -475,19 +373,137 @@ const unsigned char g_main[] = {
   0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09,
   0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
   0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
-  0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x44, 0x0a, 0x61, 0x06,
-  0xa0, 0x14, 0x4a, 0xae, 0xec, 0xa8, 0x94, 0x00, 0xbd, 0x11, 0x00, 0x00,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x61, 0xc4, 0x62, 0x5d, 0xc1,
-  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1c, 0x32, 0x5d, 0xcd, 0x31,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x97, 0x50, 0x18, 0x81, 0x8c,
-  0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xe1, 0x29, 0x55, 0xe6, 0x24, 0x23,
-  0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x7c, 0x8b, 0xa5, 0x49, 0xca, 0x88,
-  0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x1e, 0x52, 0x6c, 0xa3, 0x09, 0xc1,
-  0x60, 0x81, 0x21, 0x1f, 0x13, 0x0c, 0xf9, 0xd8, 0x60, 0xc8, 0x67, 0xc4,
-  0x20, 0x01, 0x40, 0x10, 0x0c, 0x10, 0x32, 0x78, 0xc0, 0x00, 0x0c, 0xac,
-  0x61, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10, 0x32, 0x78, 0xc0, 0x00,
-  0x0c, 0x18, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10, 0x32, 0x78,
-  0xc0, 0x00, 0x0c, 0xaa, 0x60, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10,
-  0x32, 0x78, 0xc0, 0x00, 0x0c, 0x30, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xb1, 0xdd, 0x38, 0xd2, 0xe7, 0x07, 0xcd, 0x10,
+  0x92, 0x68, 0x7f, 0x6d, 0x69, 0x07, 0x10, 0xe0, 0x44, 0x58, 0x49, 0x4c,
+  0x0c, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00,
+  0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xf4, 0x05, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
+  0x7a, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49,
+  0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19,
+  0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
+  0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88,
+  0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42,
+  0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c,
+  0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07,
+  0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20,
+  0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00,
+  0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42,
+  0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04,
+  0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14,
+  0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x5c, 0x23, 0x00,
+  0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29,
+  0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1,
+  0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95,
+  0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e,
+  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab,
+  0x10, 0x8a, 0x30, 0x42, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x23, 0x85, 0x90,
+  0x47, 0x70, 0x20, 0x60, 0x18, 0x81, 0x18, 0x2e, 0xe1, 0x9c, 0x46, 0x9a,
+  0x80, 0x66, 0x92, 0x50, 0x33, 0xc6, 0x18, 0x73, 0x8c, 0x31, 0xe6, 0x9c,
+  0x93, 0x68, 0x3a, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
+  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
+  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
+  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
+  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
+  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
+  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
+  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
+  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00, 0x18,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
+  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
+  0x10, 0xc5, 0x50, 0xe0, 0x01, 0x45, 0x50, 0x06, 0xe5, 0x41, 0xa5, 0x24,
+  0xca, 0xa0, 0x10, 0x46, 0x00, 0x8a, 0xa0, 0x40, 0xa8, 0xce, 0x00, 0x90,
+  0x1d, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
+  0x10, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00,
+  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18,
+  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0,
+  0xcd, 0x4d, 0x10, 0x08, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xa1, 0x9a,
+  0x08, 0x4c, 0x10, 0x88, 0x64, 0x03, 0x42, 0x2c, 0x0c, 0x31, 0x0c, 0x0d,
+  0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00, 0x13, 0x04, 0x8b, 0xda,
+  0x10, 0x44, 0x13, 0x04, 0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0xc6, 0x65,
+  0xca, 0xea, 0x0b, 0xea, 0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d, 0x82,
+  0x50, 0x34, 0x13, 0x84, 0xc2, 0xd9, 0x10, 0x10, 0x13, 0x84, 0xe2, 0x99,
+  0x20, 0x14, 0xd0, 0x86, 0x85, 0xa8, 0xac, 0x0b, 0xcb, 0x86, 0x8c, 0xd0,
+  0x00, 0x22, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84,
+  0x22, 0xda, 0xb0, 0x0c, 0x9c, 0xa5, 0x61, 0xdd, 0xd0, 0x0d, 0x1a, 0x30,
+  0x41, 0x20, 0x14, 0x16, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x04, 0x62,
+  0x99, 0x20, 0x10, 0xcc, 0x06, 0x21, 0x0c, 0xc4, 0x60, 0xc3, 0xf2, 0x81,
+  0x81, 0xa5, 0x61, 0xdd, 0x90, 0x7d, 0xda, 0x18, 0x6c, 0x18, 0x36, 0x8f,
+  0x0c, 0x98, 0x4c, 0x59, 0x7d, 0x51, 0x85, 0xc9, 0x9d, 0x95, 0xd1, 0x4d,
+  0x10, 0x0a, 0x69, 0xc3, 0x42, 0x98, 0x81, 0x75, 0x06, 0x98, 0x36, 0x64,
+  0x84, 0x36, 0x06, 0x1b, 0x02, 0x34, 0xd8, 0x30, 0x94, 0x41, 0x1a, 0x00,
+  0x1b, 0x8a, 0x89, 0x52, 0x03, 0x08, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6,
+  0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9,
+  0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64,
+  0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x53, 0x02, 0xa3, 0x0e,
+  0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59,
+  0x19, 0xdb, 0x94, 0x20, 0x29, 0x43, 0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7,
+  0x56, 0x27, 0x37, 0x56, 0x36, 0x37, 0x25, 0x78, 0xea, 0x90, 0xe1, 0xb9,
+  0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91, 0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d,
+  0x09, 0xa2, 0x3a, 0x64, 0x78, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50,
+  0x6f, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x02, 0x35, 0x00, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8,
+  0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2,
+  0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x04, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
+  0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c,
+  0x80, 0x34, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
+  0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x44, 0x0a, 0x61, 0x06, 0xa0, 0x14, 0x4a, 0xae, 0xec, 0xa8, 0x94, 0x00,
+  0xbd, 0x11, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x61,
+  0xc4, 0x62, 0x5d, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1c,
+  0x32, 0x5d, 0xcd, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x97,
+  0x50, 0x18, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xe1, 0x29,
+  0x55, 0xe6, 0x24, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x7c, 0x8b,
+  0xa5, 0x49, 0xca, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x1e, 0x52,
+  0x6c, 0xa3, 0x09, 0xc1, 0x60, 0x81, 0x21, 0x1f, 0x13, 0x0c, 0xf9, 0xd8,
+  0x60, 0xc8, 0x67, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10, 0x32, 0x78,
+  0xc0, 0x00, 0x0c, 0xac, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10,
+  0x32, 0x78, 0xc0, 0x00, 0x0c, 0x18, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10,
+  0x0c, 0x10, 0x32, 0x78, 0xc0, 0x00, 0x0c, 0xaa, 0x60, 0xc4, 0x20, 0x01,
+  0x40, 0x10, 0x0c, 0x10, 0x32, 0x78, 0xc0, 0x00, 0x0c, 0x30, 0x03, 0x01,
+  0x00, 0x00, 0x00, 0x00
 };

+ 592 - 0
src/render/direct3d12/D3D12_PixelShader_Colors_PQ.h

@@ -0,0 +1,592 @@
+#if 0
+;
+; Input signature:
+;
+; Name                 Index   Mask Register SysValue  Format   Used
+; -------------------- ----- ------ -------- -------- ------- ------
+; SV_Position              0   xyzw        0      POS   float
+; TEXCOORD                 0   xy          1     NONE   float
+; COLOR                    0   xyzw        2     NONE   float   xyzw
+;
+;
+; Output signature:
+;
+; Name                 Index   Mask Register SysValue  Format   Used
+; -------------------- ----- ------ -------- -------- ------- ------
+; SV_Target                0   xyzw        0   TARGET   float   xyzw
+;
+; shader hash: 9e2fd09d9c3b671020fd5a60c72c9db5
+;
+; Pipeline Runtime Information:
+;
+;PSVRuntimeInfo:
+; Pixel Shader
+; DepthOutput=0
+; SampleFrequency=0
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 1
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 1
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: main
+;
+;
+; Input signature:
+;
+; Name                 Index             InterpMode DynIdx
+; -------------------- ----- ---------------------- ------
+; SV_Position              0          noperspective
+; TEXCOORD                 0                 linear
+; COLOR                    0                 linear
+;
+; Output signature:
+;
+; Name                 Index             InterpMode DynIdx
+; -------------------- ----- ---------------------- ------
+; SV_Target                0
+;
+; Buffer Definitions:
+;
+; cbuffer Constants
+; {
+;
+;   struct Constants
+;   {
+;
+;       float scRGB_output;                           ; Offset:    0
+;       float texture_type;                           ; Offset:    4
+;       float input_type;                             ; Offset:    8
+;       float color_scale;                            ; Offset:   12
+;       float4 texel_size;                            ; Offset:   16
+;       float tonemap_method;                         ; Offset:   32
+;       float tonemap_factor1;                        ; Offset:   36
+;       float tonemap_factor2;                        ; Offset:   40
+;       float sdr_white_point;                        ; Offset:   44
+;       float4 Yoffset;                               ; Offset:   48
+;       float4 Rcoeff;                                ; Offset:   64
+;       float4 Gcoeff;                                ; Offset:   80
+;       float4 Bcoeff;                                ; Offset:   96
+;
+;   } Constants;                                      ; Offset:    0 Size:   112
+;
+; }
+;
+;
+; Resource Bindings:
+;
+; Name                                 Type  Format         Dim      ID      HLSL Bind  Count
+; ------------------------------ ---------- ------- ----------- ------- -------------- ------
+; Constants                         cbuffer      NA          NA     CB0            cb1     1
+;
+;
+; ViewId state:
+;
+; Number of inputs: 12, outputs: 4
+; Outputs dependent on ViewId: {  }
+; Inputs contributing to computation of Outputs:
+;   output 0 depends on inputs: { 8 }
+;   output 1 depends on inputs: { 9 }
+;   output 2 depends on inputs: { 10 }
+;   output 3 depends on inputs: { 11 }
+;
+target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
+target triple = "dxil-ms-dx"
+
+%dx.types.Handle = type { i8* }
+%dx.types.CBufRet.f32 = type { float, float, float, float }
+%Constants = type { float, float, float, float, <4 x float>, float, float, float, float, <4 x float>, <4 x float>, <4 x float>, <4 x float> }
+
+define void @main() {
+  %1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 1, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %2 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %6 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 0)  ; CBufferLoadLegacy(handle,regIndex)
+  %7 = extractvalue %dx.types.CBufRet.f32 %6, 3
+  %8 = fmul fast float %7, 0x3F80624DE0000000
+  %9 = fmul fast float %8, %2
+  %10 = fmul fast float %8, %3
+  %11 = fmul fast float %8, %4
+  %12 = call float @dx.op.unary.f32(i32 7, float %9)  ; Saturate(value)
+  %13 = call float @dx.op.unary.f32(i32 7, float %10)  ; Saturate(value)
+  %14 = call float @dx.op.unary.f32(i32 7, float %11)  ; Saturate(value)
+  %15 = call float @dx.op.unary.f32(i32 6, float %12)  ; FAbs(value)
+  %16 = call float @dx.op.unary.f32(i32 6, float %13)  ; FAbs(value)
+  %17 = call float @dx.op.unary.f32(i32 6, float %14)  ; FAbs(value)
+  %18 = call float @dx.op.unary.f32(i32 23, float %15)  ; Log(value)
+  %19 = call float @dx.op.unary.f32(i32 23, float %16)  ; Log(value)
+  %20 = call float @dx.op.unary.f32(i32 23, float %17)  ; Log(value)
+  %21 = fmul fast float %18, 0x3FC4640000000000
+  %22 = fmul fast float %19, 0x3FC4640000000000
+  %23 = fmul fast float %20, 0x3FC4640000000000
+  %24 = call float @dx.op.unary.f32(i32 21, float %21)  ; Exp(value)
+  %25 = call float @dx.op.unary.f32(i32 21, float %22)  ; Exp(value)
+  %26 = call float @dx.op.unary.f32(i32 21, float %23)  ; Exp(value)
+  %27 = fmul fast float %24, 0x4032DA0000000000
+  %28 = fmul fast float %25, 0x4032DA0000000000
+  %29 = fmul fast float %26, 0x4032DA0000000000
+  %30 = fadd fast float %27, 8.359375e-01
+  %31 = fadd fast float %28, 8.359375e-01
+  %32 = fadd fast float %29, 8.359375e-01
+  %33 = fmul fast float %24, 1.868750e+01
+  %34 = fmul fast float %25, 1.868750e+01
+  %35 = fmul fast float %26, 1.868750e+01
+  %36 = fadd fast float %33, 1.000000e+00
+  %37 = fadd fast float %34, 1.000000e+00
+  %38 = fadd fast float %35, 1.000000e+00
+  %39 = fdiv fast float %30, %36
+  %40 = fdiv fast float %31, %37
+  %41 = fdiv fast float %32, %38
+  %42 = call float @dx.op.unary.f32(i32 6, float %39)  ; FAbs(value)
+  %43 = call float @dx.op.unary.f32(i32 6, float %40)  ; FAbs(value)
+  %44 = call float @dx.op.unary.f32(i32 6, float %41)  ; FAbs(value)
+  %45 = call float @dx.op.unary.f32(i32 23, float %42)  ; Log(value)
+  %46 = call float @dx.op.unary.f32(i32 23, float %43)  ; Log(value)
+  %47 = call float @dx.op.unary.f32(i32 23, float %44)  ; Log(value)
+  %48 = fmul fast float %45, 7.884375e+01
+  %49 = fmul fast float %46, 7.884375e+01
+  %50 = fmul fast float %47, 7.884375e+01
+  %51 = call float @dx.op.unary.f32(i32 21, float %48)  ; Exp(value)
+  %52 = call float @dx.op.unary.f32(i32 21, float %49)  ; Exp(value)
+  %53 = call float @dx.op.unary.f32(i32 21, float %50)  ; Exp(value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %51)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %52)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %53)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %5)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  ret void
+}
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
+
+; Function Attrs: nounwind
+declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.unary.f32(i32, float) #0
+
+; Function Attrs: nounwind readonly
+declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
+
+; Function Attrs: nounwind readonly
+declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
+
+attributes #0 = { nounwind readnone }
+attributes #1 = { nounwind }
+attributes #2 = { nounwind readonly }
+
+!llvm.ident = !{!0}
+!dx.version = !{!1}
+!dx.valver = !{!2}
+!dx.shaderModel = !{!3}
+!dx.resources = !{!4}
+!dx.viewIdState = !{!7}
+!dx.entryPoints = !{!8}
+
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
+!1 = !{i32 1, i32 0}
+!2 = !{i32 1, i32 8}
+!3 = !{!"ps", i32 6, i32 0}
+!4 = !{null, null, !5, null}
+!5 = !{!6}
+!6 = !{i32 0, %Constants* undef, !"", i32 0, i32 1, i32 1, i32 112, null}
+!7 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
+!8 = !{void ()* @main, !"main", !9, !4, null}
+!9 = !{!10, !16, null}
+!10 = !{!11, !13, !14}
+!11 = !{i32 0, !"SV_Position", i8 9, i8 3, !12, i8 4, i32 1, i8 4, i32 0, i8 0, null}
+!12 = !{i32 0}
+!13 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 2, i32 1, i8 2, i32 1, i8 0, null}
+!14 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 2, i32 1, i8 4, i32 2, i8 0, !15}
+!15 = !{i32 3, i32 15}
+!16 = !{!17}
+!17 = !{i32 0, !"SV_Target", i8 9, i8 16, !12, i8 0, i32 1, i8 4, i32 0, i8 0, !15}
+
+#endif
+
+const unsigned char g_main[] = {
+  0x44, 0x58, 0x42, 0x43, 0x00, 0x25, 0xd4, 0xf2, 0x29, 0x8a, 0x3e, 0xc8,
+  0x34, 0x7e, 0x24, 0x22, 0x10, 0x6f, 0xa1, 0x17, 0x01, 0x00, 0x00, 0x00,
+  0xac, 0x11, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
+  0x10, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00,
+  0xfc, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
+  0x84, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
+  0x4f, 0x52, 0x00, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0xf0, 0x00, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x52, 0x54, 0x53, 0x30, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54,
+  0x78, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xde, 0x01, 0x00, 0x00,
+  0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x60, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
+  0xd5, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49,
+  0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19,
+  0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
+  0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88,
+  0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42,
+  0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c,
+  0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07,
+  0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20,
+  0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00,
+  0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42,
+  0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04,
+  0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14,
+  0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x64, 0x23, 0x00,
+  0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29,
+  0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1,
+  0x32, 0x0c, 0x32, 0x48, 0x1d, 0x35, 0x5c, 0xfe, 0x84, 0x3d, 0x84, 0xe4,
+  0x73, 0x1b, 0x55, 0xac, 0xc4, 0xe4, 0x17, 0xb7, 0x8d, 0x88, 0x31, 0xc6,
+  0xa0, 0x72, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd,
+  0xb0, 0x10, 0x28, 0x68, 0x85, 0x60, 0xc4, 0x11, 0x7a, 0x73, 0x04, 0x41,
+  0x31, 0x1c, 0x29, 0x84, 0x44, 0x92, 0x03, 0x01, 0xc3, 0x08, 0xc4, 0x70,
+  0x09, 0xe7, 0x34, 0xd2, 0x04, 0x34, 0x93, 0x84, 0x9a, 0x31, 0xc6, 0xa8,
+  0x63, 0x8c, 0x51, 0x6b, 0xad, 0x64, 0xd3, 0x81, 0x00, 0x00, 0x00, 0x00,
+  0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79,
+  0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e,
+  0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07,
+  0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
+  0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07,
+  0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
+  0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20,
+  0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x28,
+  0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
+  0x79, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+  0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x40, 0x16, 0x08, 0x00, 0x17, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18,
+  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
+  0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x1e, 0x50, 0x06, 0xe5, 0x50, 0x12,
+  0x85, 0x50, 0x10, 0x85, 0x51, 0x20, 0xa5, 0x51, 0x40, 0x85, 0x54, 0x50,
+  0x85, 0x55, 0x60, 0x05, 0x18, 0x50, 0xa0, 0x01, 0x05, 0x1c, 0x50, 0x04,
+  0xe5, 0x51, 0x5c, 0x45, 0x47, 0xa5, 0x24, 0xca, 0xa0, 0x10, 0x46, 0x00,
+  0x8a, 0xa0, 0x40, 0x28, 0xd6, 0x00, 0xd9, 0x19, 0x00, 0xba, 0x33, 0x00,
+  0x84, 0xc7, 0x72, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10,
+  0x08, 0x04, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00,
+  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
+  0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02,
+  0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x5c, 0x66, 0xc0, 0x64, 0xe8,
+  0xcd, 0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0x6e, 0x82, 0x40, 0x24, 0x1b,
+  0x10, 0x42, 0x59, 0x88, 0x61, 0x60, 0x80, 0x0d, 0x41, 0xb3, 0x81, 0x00,
+  0x00, 0x07, 0x98, 0x20, 0x58, 0x65, 0x40, 0x66, 0x6e, 0x4c, 0xea, 0x48,
+  0xe8, 0xeb, 0xad, 0x8e, 0x0e, 0xae, 0x8e, 0x6e, 0x82, 0x40, 0x28, 0x13,
+  0x04, 0x62, 0x99, 0x20, 0x10, 0xcc, 0x06, 0x03, 0x89, 0x24, 0x62, 0xa2,
+  0xc8, 0xd0, 0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95, 0x7d, 0xd1, 0xe5, 0xc1,
+  0x95, 0x4d, 0x10, 0x88, 0x66, 0x83, 0x81, 0x58, 0xd2, 0x35, 0x51, 0x54,
+  0xd2, 0xdc, 0xe0, 0xea, 0xe8, 0xbe, 0xe8, 0xf2, 0xe0, 0xca, 0x26, 0x08,
+  0x84, 0xb3, 0xc1, 0x40, 0x32, 0x49, 0x9b, 0x28, 0x2e, 0x63, 0x6f, 0x6c,
+  0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x13, 0x04, 0xe2, 0x99,
+  0x20, 0x44, 0x64, 0xb0, 0x01, 0x41, 0x38, 0xa9, 0x9b, 0x28, 0xca, 0xa3,
+  0x42, 0x57, 0x86, 0x57, 0xc6, 0xf6, 0x35, 0x97, 0xa6, 0x57, 0x36, 0x41,
+  0x20, 0xa0, 0x09, 0x02, 0x11, 0x6d, 0x40, 0x10, 0x30, 0x90, 0xc2, 0x60,
+  0xa2, 0xc4, 0xe0, 0xa2, 0x43, 0xf7, 0xe6, 0x56, 0xd6, 0x16, 0x06, 0xf7,
+  0xd5, 0x56, 0x46, 0x87, 0xf6, 0x46, 0x36, 0x41, 0x20, 0xa4, 0x0d, 0x06,
+  0x42, 0x06, 0x52, 0x19, 0x4c, 0x14, 0x1f, 0xba, 0x37, 0xb7, 0xb2, 0xb6,
+  0x30, 0xb8, 0x2f, 0xb3, 0xb0, 0x31, 0xba, 0x37, 0xb9, 0x98, 0x09, 0x02,
+  0x31, 0x6d, 0x30, 0x90, 0x33, 0x90, 0xd0, 0x60, 0xa2, 0xf8, 0xd0, 0xbd,
+  0xb9, 0x95, 0xb5, 0x85, 0xc1, 0x7d, 0x99, 0x85, 0x8d, 0xd1, 0xbd, 0xc9,
+  0xc9, 0x4c, 0x10, 0x08, 0x6a, 0x83, 0x81, 0xa8, 0x81, 0xb4, 0x06, 0x13,
+  0xc5, 0x67, 0x8e, 0x4c, 0xee, 0xeb, 0x0e, 0x2d, 0x8d, 0xae, 0xec, 0x0b,
+  0xee, 0x2d, 0xcd, 0x8d, 0x6e, 0x82, 0x40, 0x54, 0x1b, 0x0c, 0xa4, 0x0d,
+  0x24, 0x37, 0x98, 0x28, 0x1e, 0x59, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
+  0x13, 0x04, 0xc2, 0xda, 0x80, 0x20, 0x70, 0x20, 0xc5, 0xc1, 0x44, 0x89,
+  0xc1, 0x45, 0x43, 0x6a, 0xec, 0xad, 0xcc, 0xcc, 0x6c, 0x82, 0x40, 0x5c,
+  0x1b, 0x10, 0x64, 0x0e, 0x24, 0x3a, 0x98, 0x28, 0x31, 0xb8, 0x68, 0x1c,
+  0x8d, 0xbd, 0x95, 0x99, 0x99, 0x4d, 0x10, 0x08, 0x6c, 0x03, 0x82, 0xd8,
+  0x81, 0x74, 0x07, 0x13, 0x25, 0x06, 0x17, 0x0d, 0xa1, 0xb1, 0xb7, 0x32,
+  0x33, 0xb3, 0x09, 0x02, 0x91, 0x6d, 0x40, 0x90, 0x3c, 0x90, 0xf4, 0x60,
+  0xa2, 0xc4, 0xe0, 0xda, 0xe0, 0x30, 0x15, 0xb6, 0x7d, 0x63, 0x60, 0x06,
+  0x69, 0xc0, 0x06, 0x6f, 0x20, 0x07, 0x75, 0x80, 0x07, 0x7b, 0xb0, 0x61,
+  0x20, 0x20, 0x3e, 0x98, 0x20, 0x08, 0xc0, 0x06, 0x60, 0xc3, 0x40, 0xfc,
+  0xc1, 0x1f, 0x6c, 0x08, 0x40, 0x61, 0xc3, 0x30, 0xf8, 0x41, 0x28, 0x4c,
+  0x10, 0xb0, 0x33, 0xd8, 0x10, 0x8c, 0x02, 0x89, 0xb6, 0xb0, 0x34, 0x37,
+  0x2e, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+  0x13, 0x84, 0xc2, 0x9b, 0x20, 0x14, 0xdf, 0x86, 0x80, 0x98, 0x20, 0x14,
+  0x60, 0x30, 0x41, 0x28, 0xc2, 0x60, 0xc3, 0x42, 0x98, 0xc2, 0x29, 0xa0,
+  0x42, 0x2a, 0xa8, 0xc2, 0xa0, 0x0a, 0xc4, 0x2a, 0x00, 0x44, 0xa8, 0x8a,
+  0xb0, 0x86, 0x9e, 0x9e, 0xa4, 0x88, 0x26, 0x08, 0x85, 0x18, 0x6c, 0x58,
+  0x86, 0x56, 0x38, 0x85, 0x55, 0x48, 0x05, 0x57, 0x18, 0x5c, 0x61, 0x58,
+  0x05, 0x60, 0x82, 0x40, 0x68, 0x2c, 0x86, 0x9e, 0x98, 0x9e, 0xa4, 0x26,
+  0x08, 0xc4, 0xb6, 0x41, 0x90, 0x64, 0x61, 0xc3, 0x02, 0x0b, 0xb1, 0x70,
+  0x0a, 0xab, 0x90, 0x0a, 0xae, 0x30, 0xa8, 0x02, 0x2c, 0xac, 0xc2, 0x2c,
+  0x6c, 0x18, 0x58, 0xe1, 0x15, 0x68, 0x81, 0xc9, 0x94, 0xd5, 0x17, 0x55,
+  0x98, 0xdc, 0x59, 0x19, 0xdd, 0x04, 0xa1, 0x18, 0x83, 0x0d, 0x0b, 0x61,
+  0x0b, 0xa7, 0x70, 0x0b, 0xa9, 0xb0, 0x0a, 0x83, 0x2a, 0x10, 0xab, 0x30,
+  0x0b, 0x1b, 0x02, 0x5c, 0xd8, 0x30, 0xd4, 0x42, 0x2e, 0x00, 0x1b, 0x0a,
+  0x3f, 0x28, 0x05, 0x5d, 0x78, 0x00, 0x1a, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x73, 0x13, 0x04, 0x82, 0x63, 0x91, 0xe6, 0x36, 0x47, 0x37, 0x37, 0x41,
+  0x20, 0x3a, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x6c, 0x64, 0x34, 0xe6, 0xd2,
+  0xce, 0xbe, 0xe6, 0xe8, 0x36, 0x20, 0xbc, 0xd0, 0x0b, 0xbe, 0xf0, 0x0b,
+  0xe0, 0x70, 0x85, 0xc3, 0x55, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d,
+  0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b,
+  0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c,
+  0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x45, 0x1d, 0x32, 0x3c,
+  0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6,
+  0x29, 0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e,
+  0x6e, 0xac, 0x6c, 0x6e, 0x4a, 0xe0, 0x54, 0x22, 0xc3, 0x73, 0xa1, 0xcb,
+  0x83, 0x2b, 0x0b, 0x72, 0x73, 0x7b, 0xa3, 0x0b, 0xa3, 0x4b, 0x7b, 0x73,
+  0x9b, 0x9b, 0x22, 0xf0, 0x41, 0x28, 0xd4, 0x21, 0xc3, 0x73, 0xb1, 0x4b,
+  0x2b, 0xbb, 0x4b, 0x22, 0x9b, 0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12, 0x8c,
+  0x42, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7,
+  0x34, 0x37, 0xba, 0xb9, 0x29, 0x81, 0x2e, 0x74, 0x21, 0xc3, 0x73, 0x19,
+  0x7b, 0xab, 0x73, 0xa3, 0x2b, 0x93, 0x9b, 0x9b, 0x12, 0x84, 0x03, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8,
+  0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2,
+  0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
+  0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x3c, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x4f, 0x35, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0x00,
+  0xc1, 0x00, 0x48, 0x03, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48,
+  0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x2f, 0xd0, 0x9d,
+  0x9c, 0x3b, 0x67, 0x10, 0x20, 0xfd, 0x5a, 0x60, 0xc7, 0x2c, 0x9d, 0xb5,
+  0x44, 0x58, 0x49, 0x4c, 0xa8, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0xea, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0xe1, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
+  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
+  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
+  0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
+  0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
+  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50,
+  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06,
+  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
+  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
+  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
+  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
+  0x89, 0x20, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09,
+  0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3,
+  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c,
+  0x10, 0x64, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0,
+  0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80,
+  0x10, 0x52, 0x06, 0xa1, 0x32, 0x0c, 0x32, 0x48, 0x1d, 0x35, 0x5c, 0xfe,
+  0x84, 0x3d, 0x84, 0xe4, 0x73, 0x1b, 0x55, 0xac, 0xc4, 0xe4, 0x17, 0xb7,
+  0x8d, 0x88, 0x31, 0xc6, 0xa0, 0x72, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10,
+  0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x68, 0x85, 0x60, 0xc4, 0x11,
+  0x7a, 0x73, 0x04, 0x41, 0x31, 0x1c, 0x29, 0x84, 0x44, 0x92, 0x03, 0x01,
+  0xc3, 0x08, 0xc4, 0x70, 0x09, 0xe7, 0x34, 0xd2, 0x04, 0x34, 0x93, 0x84,
+  0x9a, 0x31, 0xc6, 0xa8, 0x63, 0x8c, 0x51, 0x6b, 0xad, 0x64, 0xd3, 0x81,
+  0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
+  0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50,
+  0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30,
+  0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
+  0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20,
+  0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0,
+  0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
+  0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10,
+  0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20,
+  0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
+  0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
+  0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
+  0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x18, 0xf2, 0x28, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
+  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x10, 0xc5, 0x50, 0xe0,
+  0x01, 0x45, 0x50, 0x06, 0xe5, 0x41, 0xa5, 0x24, 0xca, 0xa0, 0x10, 0x46,
+  0x00, 0x8a, 0xa0, 0x40, 0xe8, 0xce, 0x00, 0x10, 0x1e, 0xcb, 0x61, 0x08,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04,
+  0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98,
+  0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x88,
+  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xe1, 0xa2, 0x08, 0x4c, 0x10, 0x08,
+  0x65, 0x03, 0x42, 0x2c, 0x0c, 0x31, 0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36,
+  0x10, 0x00, 0xf0, 0x00, 0x13, 0x04, 0xac, 0xda, 0x10, 0x44, 0x13, 0x04,
+  0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0xc6, 0x65, 0xca, 0xea, 0x0b, 0xea,
+  0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d, 0x82, 0x50, 0x38, 0x13, 0x84,
+  0xe2, 0xd9, 0x10, 0x10, 0x13, 0x84, 0x02, 0x9a, 0x20, 0x14, 0xd1, 0x86,
+  0x85, 0xa8, 0xac, 0x0b, 0xcb, 0x86, 0x8c, 0xd0, 0x00, 0x22, 0x54, 0x45,
+  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0x42, 0xda, 0xb0, 0x0c,
+  0x9c, 0xa5, 0x61, 0xdd, 0xd0, 0x0d, 0x1a, 0x30, 0x41, 0x20, 0x16, 0x16,
+  0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x04, 0x82, 0x99, 0x20, 0x10, 0xcd,
+  0x06, 0x21, 0x0c, 0xc4, 0x60, 0xc3, 0xf2, 0x81, 0x81, 0xa5, 0x61, 0xdd,
+  0x90, 0x7d, 0xda, 0x18, 0x6c, 0x18, 0x36, 0x8f, 0x0c, 0x98, 0x4c, 0x59,
+  0x7d, 0x51, 0x85, 0xc9, 0x9d, 0x95, 0xd1, 0x4d, 0x10, 0x8a, 0x69, 0xc3,
+  0x42, 0x98, 0x81, 0x75, 0x06, 0x98, 0x36, 0x64, 0x84, 0x36, 0x06, 0x1b,
+  0x02, 0x34, 0xd8, 0x30, 0x94, 0x41, 0x1a, 0x00, 0x1b, 0x8a, 0x89, 0x52,
+  0x03, 0x08, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6,
+  0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9, 0xd8, 0x95, 0xc9, 0xcd,
+  0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64, 0x78, 0x2e, 0x76, 0x61,
+  0x6c, 0x76, 0x65, 0x72, 0x53, 0x02, 0xa3, 0x0e, 0x19, 0x9e, 0xcb, 0x1c,
+  0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59, 0x19, 0xdb, 0x94, 0x20,
+  0x29, 0x43, 0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7, 0x56, 0x27, 0x37, 0x56,
+  0x36, 0x37, 0x25, 0x78, 0xea, 0x90, 0xe1, 0xb9, 0xd8, 0xa5, 0x95, 0xdd,
+  0x25, 0x91, 0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d, 0x09, 0xa2, 0x3a, 0x64,
+  0x78, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+  0x73, 0x53, 0x02, 0x35, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
+  0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
+  0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
+  0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce,
+  0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b,
+  0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c,
+  0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07,
+  0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11,
+  0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0,
+  0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8,
+  0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b,
+  0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b,
+  0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87,
+  0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07,
+  0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87,
+  0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81,
+  0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30,
+  0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4,
+  0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca,
+  0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39,
+  0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b,
+  0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b,
+  0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87,
+  0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20,
+  0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90,
+  0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00,
+  0x17, 0x00, 0x00, 0x00, 0x46, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10,
+  0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6,
+  0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01,
+  0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3,
+  0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09,
+  0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
+  0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x3c, 0xc3, 0xe5, 0x3b, 0x8f, 0x4f,
+  0x35, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0x00, 0xc1, 0x00, 0x48, 0x03,
+  0x61, 0x20, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
+  0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x47, 0x00, 0xa8,
+  0x94, 0x00, 0x91, 0xb2, 0x2b, 0xb9, 0x72, 0x28, 0x85, 0x19, 0x80, 0x72,
+  0x29, 0x95, 0x42, 0xa0, 0x31, 0x46, 0xf0, 0xce, 0xa4, 0x09, 0x7a, 0x63,
+  0x04, 0x20, 0xc8, 0xee, 0x69, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08, 0xe2,
+  0xdf, 0x18, 0x01, 0x08, 0x82, 0x6b, 0x0e, 0x06, 0x63, 0x04, 0x20, 0x08,
+  0xb2, 0xf5, 0x37, 0x46, 0x00, 0x82, 0x74, 0x9b, 0x83, 0xc1, 0x18, 0x01,
+  0x08, 0xa2, 0xa6, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
+  0x82, 0x60, 0x20, 0x89, 0x81, 0x53, 0x81, 0x41, 0x18, 0x44, 0x23, 0x06,
+  0x09, 0x00, 0x82, 0x60, 0x60, 0x9c, 0x41, 0xd2, 0x85, 0xc1, 0xc5, 0x8c,
+  0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x81, 0x06, 0x8a, 0x27, 0x06, 0x52,
+  0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x1a, 0x2c, 0xdf, 0x18,
+  0x60, 0xce, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x6a, 0xc0, 0x80,
+  0x01, 0x19, 0x70, 0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x68,
+  0x40, 0x15, 0x65, 0x30, 0x9a, 0x10, 0x0c, 0x16, 0x38, 0xf2, 0xb1, 0xe0,
+  0x90, 0x8f, 0x09, 0x87, 0x7c, 0x6c, 0x38, 0xe4, 0x33, 0x62, 0x60, 0x00,
+  0x20, 0x08, 0x06, 0xca, 0x1b, 0x60, 0xc3, 0x88, 0x81, 0x01, 0x80, 0x20,
+  0x18, 0x28, 0x70, 0x90, 0x0d, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xa0,
+  0xc4, 0x81, 0x36, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x22, 0x07,
+  0x6c, 0x30, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x32, 0x07, 0x6d,
+  0x30, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x42, 0x07, 0x6e, 0x30,
+  0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x52, 0x07, 0xdb, 0x30, 0x62,
+  0x60, 0x00, 0x20, 0x08, 0x06, 0x8a, 0x1d, 0x70, 0xc3, 0x88, 0x81, 0x01,
+  0x80, 0x20, 0x18, 0x28, 0x77, 0xd0, 0x0d, 0x36, 0x54, 0xf2, 0xb1, 0xc1,
+  0x92, 0x8f, 0x0d, 0x97, 0x7c, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x40,
+  0xd9, 0x03, 0x30, 0x18, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x40, 0xe1,
+  0x83, 0x30, 0x18, 0x46, 0x0c, 0x0c, 0x00, 0x04, 0xc1, 0x40, 0xe9, 0x03,
+  0x31, 0x18, 0x6c, 0xe0, 0xe4, 0x63, 0x43, 0x27, 0x1f, 0x1b, 0x3c, 0xf9,
+  0xd8, 0x00, 0x06, 0xf0, 0xb1, 0x21, 0x0c, 0xe0, 0x63, 0x83, 0x18, 0xc0,
+  0xc7, 0x12, 0x32, 0x90, 0x8f, 0x25, 0x65, 0x20, 0x1f, 0x4b, 0xcc, 0x40,
+  0x3e, 0x36, 0xa0, 0x01, 0x7c, 0x6c, 0x48, 0x03, 0xf8, 0xd8, 0xa0, 0x06,
+  0xf0, 0xb1, 0x64, 0xa0, 0x8f, 0x25, 0x03, 0x7d, 0x2c, 0x19, 0xe8, 0x33,
+  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x2b, 0x9c, 0xc2, 0x30, 0x62,
+  0x60, 0x00, 0x20, 0x08, 0x06, 0x8a, 0x2b, 0xa0, 0xc2, 0x30, 0x62, 0x60,
+  0x00, 0x20, 0x08, 0x06, 0xca, 0x2b, 0xa4, 0xc2, 0x30, 0x62, 0x60, 0x00,
+  0x20, 0x08, 0x06, 0x0a, 0x2c, 0xd8, 0xc1, 0x30, 0x62, 0x60, 0x00, 0x20,
+  0x08, 0x06, 0x4a, 0x2c, 0xdc, 0xc1, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08,
+  0x06, 0x8a, 0x2c, 0xe0, 0xc1, 0x60, 0x43, 0x1d, 0xc8, 0xc7, 0x06, 0x3b,
+  0x90, 0x8f, 0x0d, 0x77, 0x20, 0x9f, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30,
+  0x50, 0x6c, 0x61, 0x0f, 0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x50,
+  0x6e, 0x81, 0x0f, 0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x50, 0x70,
+  0xa1, 0x0f, 0x86, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0x74, 0x21,
+  0x14, 0x6a, 0xa1, 0x16, 0x56, 0x61, 0x18, 0x31, 0x48, 0x00, 0x10, 0x04,
+  0x03, 0x44, 0x17, 0x42, 0xa1, 0x16, 0x6a, 0xa1, 0x14, 0x84, 0x11, 0x83,
+  0x04, 0x00, 0x41, 0x30, 0x40, 0x74, 0x21, 0x14, 0x6a, 0xa1, 0x16, 0x54,
+  0x21, 0x18, 0x31, 0x48, 0x00, 0x10, 0x04, 0x03, 0x44, 0x17, 0x42, 0xa1,
+  0x16, 0x6a, 0xa1, 0x15, 0xe2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
+};

+ 8 - 0
src/render/direct3d12/D3D12_PixelShader_Colors_PQ.hlsl

@@ -0,0 +1,8 @@
+
+#include "D3D12_PixelShader_Common.hlsli"
+
+[RootSignature(ColorRS)]
+float4 main(PixelShaderInput input) : SV_TARGET0
+{
+    return PQColorPixelShader(input);
+}

+ 110 - 9
src/render/direct3d12/D3D12_PixelShader_Common.hlsli

@@ -64,6 +64,16 @@ static const float3x3 mat2020to709 = {
     { -0.018154, -0.100597, 1.118751 }
 };
 
+float3 scRGBtoNits( float3 v )
+{
+    return v * 80.0;
+}
+
+float3 scRGBfromNits(float3 v)
+{
+    return v / 80.0;
+}
+
 float sRGBtoLinear(float v)
 {
     if (v <= 0.04045) {
@@ -74,6 +84,14 @@ float sRGBtoLinear(float v)
     return v;
 }
 
+float3 sRGBtoLinear(float3 v)
+{
+    v.r = sRGBtoLinear(v.r);
+    v.g = sRGBtoLinear(v.g);
+    v.b = sRGBtoLinear(v.b);
+    return v;
+}
+
 float sRGBfromLinear(float v)
 {
     if (v <= 0.0031308) {
@@ -84,7 +102,15 @@ float sRGBfromLinear(float v)
     return v;
 }
 
-float3 PQtoLinear(float3 v)
+float3 sRGBfromLinear(float3 v)
+{
+    v.r = sRGBfromLinear(v.r);
+    v.g = sRGBfromLinear(v.g);
+    v.b = sRGBfromLinear(v.b);
+    return v;
+}
+
+float3 PQtoNits(float3 v)
 {
     const float c1 = 0.8359375;
     const float c2 = 18.8515625;
@@ -94,7 +120,26 @@ float3 PQtoLinear(float3 v)
 
     float3 num = max(pow(abs(v), oo_m2) - c1, 0.0);
     float3 den = c2 - c3 * pow(abs(v), oo_m2);
-    return (10000.0 * pow(abs(num / den), oo_m1) / sdr_white_point);
+    return 10000.0 * pow(abs(num / den), oo_m1);
+}
+
+float3 PQtoLinear(float3 v)
+{
+    return PQtoNits(v) / sdr_white_point;
+}
+
+float3 PQFromNits(float3 v)
+{
+    const float c1 = 0.8359375;
+    const float c2 = 18.8515625;
+    const float c3 = 18.6875;
+    const float m1 = 0.1593017578125;
+    const float m2 = 78.84375;
+
+    float3 y = saturate( v / 10000.0 );
+    float3 num = c1 + c2 * pow( abs( y ), m1 );
+    float3 den = 1.0 + c3 * pow( abs( y ), m1 );
+    return pow( abs( num / den ), m2 );
 }
 
 float3 ApplyTonemap(float3 v)
@@ -121,6 +166,20 @@ float3 ApplyTonemap(float3 v)
     return v;
 }
 
+float3 ApplyTonemap2020(float3 v)
+{
+    if (tonemap_method == TONEMAP_LINEAR) {
+        v *= tonemap_factor1;
+    } else if (tonemap_method == TONEMAP_CHROME) {
+        float vmax = max(v.r, max(v.g, v.b));
+        if (vmax > 0.0) {
+            float scale = (1.0 + tonemap_factor1 * vmax) / (1.0 + tonemap_factor2 * vmax);
+            v *= scale;
+        }
+    }
+    return v;
+}
+
 float4 SamplePaletteNearest(float2 uv)
 {
     float index = texture0.Sample(sampler0, uv).r * 255;
@@ -239,9 +298,7 @@ float3 GetOutputColorFromSRGB(float3 rgb)
     float3 output;
 
     if (scRGB_output) {
-        rgb.r = sRGBtoLinear(rgb.r);
-        rgb.g = sRGBtoLinear(rgb.g);
-        rgb.b = sRGBtoLinear(rgb.b);
+        rgb = sRGBtoLinear(rgb);
     }
 
     output.rgb = rgb * color_scale;
@@ -256,15 +313,59 @@ float3 GetOutputColorFromLinear(float3 rgb)
     output.rgb = rgb * color_scale;
 
     if (!scRGB_output) {
-        output.r = sRGBfromLinear(output.r);
-        output.g = sRGBfromLinear(output.g);
-        output.b = sRGBfromLinear(output.b);
-        output.rgb = saturate(output.rgb);
+        output.rgb = saturate(sRGBfromLinear(output.rgb));
     }
 
     return output;
 }
 
+float4 PQColorPixelShader(PixelShaderInput input)
+{
+    float3 rgb = float3(1.0, 1.0, 1.0);
+    float4 output;
+
+    // Apply color scaling, which will include display SDR white level
+    rgb = rgb * input.color.rgb * color_scale;
+
+    // Convert to nits
+    rgb = scRGBtoNits(rgb);
+
+    output.rgb = PQFromNits(rgb);
+    output.a = input.color.a;
+
+    return output;
+}
+
+float4 PQTexturePixelShader(PixelShaderInput input)
+{
+    float4 rgba = GetInputColor(input);
+    float4 output;
+
+    if (input_type == INPUTTYPE_HDR10) {
+        rgba.rgb = PQtoLinear(rgba.rgb);
+    } else {
+        if (input_type == INPUTTYPE_SRGB) {
+            rgba.rgb = sRGBtoLinear(rgba.rgb);
+        }
+        rgba.rgb = mul(mat709to2020, rgba.rgb);
+    }
+
+    if (tonemap_method != TONEMAP_NONE) {
+        rgba.rgb = ApplyTonemap2020(rgba.rgb);
+    }
+
+    // Apply color scaling, which will include display SDR white level
+    rgba.rgb = rgba.rgb * input.color.rgb * color_scale;
+
+    // Convert to nits
+    rgba.rgb = scRGBtoNits(rgba.rgb);
+
+    output.rgb = PQFromNits(rgba.rgb);
+    output.a = rgba.a * input.color.a;
+
+    return output;
+}
+
 float4 AdvancedPixelShader(PixelShaderInput input)
 {
     float4 rgba = GetInputColor(input);

+ 269 - 254
src/render/direct3d12/D3D12_PixelShader_Textures.h

@@ -15,13 +15,26 @@
 ; -------------------- ----- ------ -------- -------- ------- ------
 ; SV_Target                0   xyzw        0   TARGET   float   xyzw
 ;
-; shader hash: 659264befb13335624a11d2c002170a6
+; shader hash: 8c489e82fc4f5904745378af0de33499
 ;
 ; Pipeline Runtime Information:
 ;
+;PSVRuntimeInfo:
 ; Pixel Shader
 ; DepthOutput=0
 ; SampleFrequency=0
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 1
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 1
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: main
 ;
 ;
 ; Input signature:
@@ -153,9 +166,9 @@ attributes #2 = { nounwind readonly }
 !dx.viewIdState = !{!12}
 !dx.entryPoints = !{!13}
 
-!0 = !{!"dxcoob 1.7.2308.16 (52da17e29)"}
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
 !1 = !{i32 1, i32 0}
-!2 = !{i32 1, i32 7}
+!2 = !{i32 1, i32 8}
 !3 = !{!"ps", i32 6, i32 0}
 !4 = !{!5, null, !8, !10}
 !5 = !{!6}
@@ -181,12 +194,12 @@ attributes #2 = { nounwind readonly }
 #endif
 
 const unsigned char g_main[] = {
-  0x44, 0x58, 0x42, 0x43, 0xb3, 0x69, 0x88, 0xa8, 0x1b, 0xbd, 0xf8, 0x6c,
-  0x94, 0xe3, 0xf8, 0x24, 0xa1, 0xa0, 0x04, 0x23, 0x01, 0x00, 0x00, 0x00,
-  0xf4, 0x12, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x03, 0x04, 0x9b, 0x50, 0xb9, 0x91, 0x64, 0xeb,
+  0x2e, 0xd7, 0x79, 0x48, 0x63, 0x36, 0x7e, 0x46, 0x01, 0x00, 0x00, 0x00,
+  0x10, 0x13, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x50, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
-  0x34, 0x02, 0x00, 0x00, 0xdc, 0x02, 0x00, 0x00, 0x48, 0x0b, 0x00, 0x00,
-  0x64, 0x0b, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x40, 0x02, 0x00, 0x00, 0xe8, 0x02, 0x00, 0x00, 0x64, 0x0b, 0x00, 0x00,
+  0x80, 0x0b, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
   0x84, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -204,20 +217,21 @@ const unsigned char g_main[] = {
   0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x14, 0x01, 0x00, 0x00,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x20, 0x01, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
-  0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
@@ -242,10 +256,10 @@ const unsigned char g_main[] = {
   0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
-  0x53, 0x54, 0x41, 0x54, 0x64, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
-  0x19, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x4c, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x53, 0x54, 0x41, 0x54, 0x74, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x1d, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x5c, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
   0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
   0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
@@ -306,26 +320,26 @@ const unsigned char g_main[] = {
   0x18, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90,
   0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
   0x0c, 0x45, 0x50, 0x12, 0x05, 0x1e, 0x50, 0x06, 0xe5, 0x50, 0x08, 0x05,
-  0x51, 0x18, 0x05, 0x52, 0x40, 0x85, 0x54, 0x50, 0x85, 0x55, 0x60, 0x05,
-  0x18, 0x50, 0xa0, 0x01, 0x05, 0x1c, 0x50, 0x1e, 0x85, 0x43, 0xa5, 0x24,
-  0xca, 0xa0, 0x10, 0x46, 0x00, 0x8a, 0xa0, 0x40, 0x48, 0xd6, 0x00, 0xe5,
-  0x19, 0x00, 0xd2, 0x33, 0x00, 0xb4, 0x67, 0x00, 0xa8, 0xcf, 0x00, 0x90,
-  0x1f, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe7, 0x01, 0x80, 0x40, 0x20,
-  0x10, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00,
+  0x51, 0x18, 0x05, 0x52, 0x1a, 0x05, 0x54, 0x48, 0x05, 0x55, 0x58, 0x05,
+  0x56, 0x80, 0x01, 0x05, 0x1a, 0x50, 0xc0, 0x01, 0xe5, 0x51, 0x38, 0x54,
+  0x4a, 0xa2, 0x0c, 0x0a, 0x61, 0x04, 0xa0, 0x08, 0x0a, 0x84, 0x64, 0x0d,
+  0x50, 0x9e, 0x01, 0x20, 0x3d, 0x03, 0x40, 0x7b, 0x06, 0x80, 0xfa, 0x0c,
+  0x00, 0xf9, 0xb1, 0x1c, 0x86, 0x00, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x08,
+  0x04, 0x02, 0x01, 0x00, 0x79, 0x18, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
   0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
-  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7,
-  0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c,
-  0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
   0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02,
-  0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x64, 0x63, 0x40, 0x84, 0xae,
+  0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x64, 0x64, 0x40, 0x84, 0xae,
   0x0c, 0x8f, 0xae, 0x4e, 0xae, 0x0c, 0x66, 0x82, 0x40, 0x24, 0x13, 0x04,
   0x42, 0xd9, 0x20, 0x10, 0xcd, 0x86, 0x84, 0x50, 0x16, 0x82, 0x18, 0x18,
-  0xc2, 0xd9, 0x10, 0x3c, 0x13, 0x84, 0xad, 0x0c, 0x98, 0x0c, 0xbd, 0xb9,
+  0xc2, 0xd9, 0x10, 0x3c, 0x13, 0x84, 0xcd, 0x0c, 0x98, 0x0c, 0xbd, 0xb9,
   0xcd, 0xd1, 0x85, 0xb9, 0xd1, 0xcd, 0x4d, 0x10, 0x88, 0x65, 0x03, 0x42,
-  0x44, 0x12, 0x31, 0x0c, 0x13, 0xb0, 0x21, 0xa0, 0x26, 0x08, 0x9d, 0x19,
+  0x44, 0x12, 0x31, 0x0c, 0x13, 0xb0, 0x21, 0xa0, 0x26, 0x08, 0xdd, 0x19,
   0x10, 0x99, 0x0b, 0x6b, 0x83, 0x63, 0x2b, 0x93, 0x83, 0xd9, 0x80, 0x10,
   0xd6, 0x45, 0x10, 0x03, 0x01, 0x6c, 0x08, 0xb0, 0x0d, 0x04, 0x04, 0x54,
-  0xd9, 0x04, 0x41, 0x23, 0x03, 0x32, 0x73, 0x63, 0x52, 0x47, 0x42, 0x5f,
+  0xd9, 0x04, 0x41, 0x2b, 0x03, 0x32, 0x73, 0x63, 0x52, 0x47, 0x42, 0x5f,
   0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x13, 0x04, 0x82, 0x99, 0x20, 0x10,
   0xcd, 0x06, 0x03, 0xe1, 0x3a, 0xc2, 0x6b, 0xc8, 0xd0, 0x95, 0xe1, 0xd1,
   0xd5, 0xc9, 0x95, 0x7d, 0xd1, 0xe5, 0xc1, 0x95, 0x4d, 0x10, 0x08, 0x67,
@@ -333,60 +347,201 @@ const unsigned char g_main[] = {
   0x8e, 0xee, 0x8b, 0x2e, 0x0f, 0xae, 0x6c, 0x82, 0x40, 0x3c, 0x1b, 0x0c,
   0x64, 0x0c, 0x3a, 0x32, 0xf0, 0x1a, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
   0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x13, 0x04, 0x02, 0x9a, 0x20, 0x48,
-  0x62, 0xb0, 0x01, 0x41, 0xcc, 0xa0, 0x3b, 0x03, 0xaf, 0x69, 0xd0, 0x80,
+  0x63, 0xb0, 0x01, 0x41, 0xcc, 0xa0, 0x3b, 0x03, 0xaf, 0x69, 0xd0, 0x80,
   0x0a, 0x5d, 0x19, 0x5e, 0x19, 0xdb, 0xd7, 0x5c, 0x9a, 0x5e, 0xd9, 0x04,
-  0x81, 0x88, 0x36, 0x18, 0x88, 0x1a, 0x74, 0x6b, 0xe0, 0x35, 0x74, 0xe8,
-  0xde, 0xdc, 0xca, 0xda, 0xc2, 0xe0, 0xbe, 0xda, 0xca, 0xe8, 0xd0, 0xde,
-  0xc8, 0x26, 0x08, 0x84, 0xb4, 0xc1, 0x40, 0xda, 0xa0, 0x73, 0x03, 0xaf,
-  0xe1, 0x43, 0xf7, 0xe6, 0x56, 0xd6, 0x16, 0x06, 0xf7, 0x65, 0x16, 0x36,
-  0x46, 0xf7, 0x26, 0x17, 0x33, 0x41, 0x20, 0xa6, 0x0d, 0x06, 0x02, 0x07,
-  0x5d, 0x1c, 0x78, 0x0d, 0x1f, 0xba, 0x37, 0xb7, 0xb2, 0xb6, 0x30, 0xb8,
-  0x2f, 0xb3, 0xb0, 0x31, 0xba, 0x37, 0x39, 0x99, 0x09, 0x02, 0x41, 0x6d,
-  0x30, 0x90, 0x39, 0xe8, 0xe8, 0xc0, 0x6b, 0xf8, 0xcc, 0x91, 0xc9, 0x7d,
-  0xdd, 0xa1, 0xa5, 0xd1, 0x95, 0x7d, 0xc1, 0xbd, 0xa5, 0xb9, 0xd1, 0x4d,
-  0x10, 0x88, 0x6a, 0x83, 0x81, 0xd8, 0x41, 0x77, 0x07, 0x5e, 0xc3, 0x23,
-  0xeb, 0xcd, 0xcc, 0x6c, 0xae, 0x8c, 0x6e, 0x82, 0x40, 0x58, 0x1b, 0x0c,
-  0x24, 0x0f, 0x3a, 0x3d, 0xf0, 0x1a, 0x1a, 0x52, 0x63, 0x6f, 0x65, 0x66,
-  0x66, 0x13, 0x04, 0xe2, 0xda, 0x60, 0x20, 0x7c, 0xd0, 0xf5, 0x81, 0xd7,
-  0xd0, 0x38, 0x1a, 0x7b, 0x2b, 0x33, 0x33, 0x9b, 0x20, 0x10, 0xd8, 0x06,
-  0x03, 0xf9, 0x83, 0x0e, 0x14, 0xbc, 0x86, 0x86, 0xd0, 0xd8, 0x5b, 0x99,
-  0x99, 0xd9, 0x04, 0x81, 0xc8, 0x36, 0x18, 0x88, 0x28, 0x74, 0xa3, 0xe0,
-  0x35, 0x1b, 0x9c, 0xe9, 0x13, 0x83, 0x32, 0x48, 0x03, 0x36, 0x78, 0x03,
-  0x39, 0xa8, 0x03, 0x3c, 0xd8, 0x03, 0x3f, 0x08, 0x05, 0x52, 0xd8, 0x30,
-  0x10, 0x5b, 0x29, 0x4c, 0x10, 0x04, 0x60, 0x03, 0xb0, 0x61, 0x20, 0x50,
-  0x01, 0x15, 0x36, 0x04, 0xa9, 0xb0, 0x61, 0x18, 0x4e, 0x41, 0x15, 0x26,
-  0x08, 0xde, 0x19, 0x6c, 0x08, 0x58, 0x81, 0x44, 0x5b, 0x58, 0x9a, 0x1b,
-  0x97, 0x29, 0xab, 0x2f, 0xa8, 0xb7, 0xb9, 0x34, 0xba, 0xb4, 0x37, 0xb7,
-  0x09, 0x42, 0xc1, 0x4d, 0x10, 0x8a, 0x6e, 0x43, 0x40, 0x4c, 0x10, 0x0a,
-  0x6f, 0x82, 0x50, 0x7c, 0x1b, 0x16, 0xe2, 0x15, 0x60, 0x21, 0x16, 0x64,
-  0x61, 0x16, 0x86, 0x59, 0x20, 0x68, 0x01, 0x20, 0x42, 0x55, 0x84, 0x35,
-  0xf4, 0xf4, 0x24, 0x45, 0x34, 0x41, 0x28, 0xc0, 0x60, 0x83, 0xd0, 0x75,
-  0x1b, 0x96, 0xc1, 0x16, 0x60, 0x81, 0x16, 0x64, 0xe1, 0x16, 0x86, 0x5b,
-  0x18, 0x68, 0x01, 0x17, 0x58, 0x0c, 0x3d, 0x31, 0x3d, 0x49, 0x4d, 0x10,
-  0x08, 0x6d, 0x83, 0xd0, 0xed, 0xc2, 0x86, 0x85, 0xd1, 0x05, 0x58, 0xa0,
-  0x05, 0x59, 0xb8, 0x85, 0x61, 0x16, 0x18, 0x5a, 0xe0, 0x85, 0x0d, 0x43,
-  0x2d, 0xe4, 0x42, 0x2f, 0x30, 0x99, 0xb2, 0xfa, 0xa2, 0x0a, 0x93, 0x3b,
-  0x2b, 0xa3, 0x9b, 0x20, 0x14, 0x61, 0xb0, 0x61, 0x21, 0x7e, 0x01, 0x16,
-  0xc0, 0x41, 0x16, 0x68, 0x61, 0x98, 0x05, 0x82, 0x16, 0x78, 0x61, 0x43,
-  0x10, 0x0e, 0x1b, 0x06, 0x5f, 0x10, 0x07, 0x60, 0x43, 0x71, 0x0a, 0xae,
-  0x30, 0x0e, 0x1a, 0x40, 0xc3, 0x8c, 0xed, 0x2d, 0x8c, 0x6e, 0x8e, 0x45,
-  0x9a, 0xdb, 0x1c, 0xdd, 0xdc, 0x04, 0x81, 0xd8, 0x68, 0xcc, 0xa5, 0x9d,
-  0x7d, 0xb1, 0x91, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x9a, 0xa3, 0x23, 0x42,
-  0x57, 0x86, 0xf7, 0xe5, 0xf6, 0x26, 0xd7, 0xb6, 0x41, 0x29, 0x07, 0xcf,
-  0x1c, 0xce, 0x01, 0x1d, 0x90, 0x74, 0x08, 0x03, 0x75, 0x18, 0xaa, 0xb0,
-  0xb1, 0xd9, 0xb5, 0xb9, 0xa4, 0x91, 0x95, 0xb9, 0xd1, 0x4d, 0x09, 0x82,
-  0x2a, 0x64, 0x78, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53,
-  0x02, 0xa2, 0x09, 0x19, 0x9e, 0x8b, 0x5d, 0x18, 0x9b, 0x5d, 0x99, 0xdc,
-  0x94, 0xa0, 0xa8, 0x43, 0x86, 0xe7, 0x32, 0x87, 0x16, 0x46, 0x56, 0x26,
-  0xd7, 0xf4, 0x46, 0x56, 0xc6, 0x36, 0x25, 0x40, 0xca, 0x90, 0xe1, 0xb9,
-  0xc8, 0x95, 0xcd, 0xbd, 0xd5, 0xc9, 0x8d, 0x95, 0xcd, 0x4d, 0x09, 0xb2,
-  0x4a, 0x64, 0x78, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x6e, 0x6f,
-  0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x84, 0x52, 0x50, 0x85,
-  0x3a, 0x64, 0x78, 0x2e, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x53, 0x74,
-  0x61, 0x74, 0x65, 0x53, 0x02, 0x56, 0xa8, 0x43, 0x86, 0xe7, 0x52, 0xe6,
-  0x46, 0x27, 0x97, 0x07, 0xf5, 0x96, 0xe6, 0x46, 0x37, 0x37, 0x25, 0x18,
-  0x87, 0x2e, 0x64, 0x78, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72,
-  0x73, 0x53, 0x02, 0x75, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x81, 0x88, 0x26, 0x08, 0x84, 0xb4, 0x01, 0x41, 0xd4, 0xa0, 0x5b, 0x03,
+  0xaf, 0x61, 0x83, 0x30, 0xa0, 0x43, 0xf7, 0xe6, 0x56, 0xd6, 0x16, 0x06,
+  0xf7, 0xd5, 0x56, 0x46, 0x87, 0xf6, 0x46, 0x36, 0x41, 0x20, 0xa6, 0x0d,
+  0x06, 0xe2, 0x06, 0xdd, 0x1b, 0x78, 0x0d, 0x1f, 0xba, 0x37, 0xb7, 0xb2,
+  0xb6, 0x30, 0xb8, 0x2f, 0xb3, 0xb0, 0x31, 0xba, 0x37, 0xb9, 0x98, 0x09,
+  0x02, 0x41, 0x6d, 0x30, 0x90, 0x38, 0xe8, 0xe4, 0xc0, 0x6b, 0xf8, 0xd0,
+  0xbd, 0xb9, 0x95, 0xb5, 0x85, 0xc1, 0x7d, 0x99, 0x85, 0x8d, 0xd1, 0xbd,
+  0xc9, 0xc9, 0x4c, 0x10, 0x88, 0x6a, 0x83, 0x81, 0xd0, 0x41, 0x57, 0x07,
+  0x5e, 0xc3, 0x67, 0x8e, 0x4c, 0xee, 0xeb, 0x0e, 0x2d, 0x8d, 0xae, 0xec,
+  0x0b, 0xee, 0x2d, 0xcd, 0x8d, 0x6e, 0x82, 0x40, 0x58, 0x1b, 0x0c, 0xe4,
+  0x0e, 0x3a, 0x3c, 0xf0, 0x1a, 0x1e, 0x59, 0x6f, 0x66, 0x66, 0x73, 0x65,
+  0x74, 0x13, 0x04, 0xe2, 0xda, 0x80, 0x20, 0x7a, 0xd0, 0xed, 0x81, 0xd7,
+  0xb0, 0x41, 0x18, 0xd0, 0x90, 0x1a, 0x7b, 0x2b, 0x33, 0x33, 0x9b, 0x20,
+  0x10, 0xd8, 0x06, 0x04, 0xe9, 0x83, 0xce, 0x0f, 0xbc, 0x86, 0x0d, 0xc2,
+  0x80, 0xc6, 0xd1, 0xd8, 0x5b, 0x99, 0x99, 0xd9, 0x04, 0x81, 0xc8, 0x36,
+  0x20, 0x08, 0x28, 0x74, 0xa1, 0xe0, 0x35, 0x6c, 0x10, 0x06, 0x34, 0x84,
+  0xc6, 0xde, 0xca, 0xcc, 0xcc, 0x26, 0x08, 0x84, 0xb6, 0x01, 0x41, 0x46,
+  0xa1, 0x23, 0x05, 0xaf, 0x61, 0x83, 0x30, 0xd8, 0xe0, 0x4c, 0x9f, 0x18,
+  0x94, 0x41, 0x1a, 0xb4, 0x01, 0x1c, 0xcc, 0x81, 0x1d, 0xe4, 0x01, 0x1f,
+  0xfc, 0x81, 0x28, 0x94, 0xc2, 0x86, 0x81, 0xd8, 0x4c, 0x61, 0x82, 0x20,
+  0x00, 0x1b, 0x80, 0x0d, 0x03, 0x91, 0x0a, 0xa9, 0xb0, 0x21, 0x50, 0x85,
+  0x0d, 0xc3, 0x80, 0x0a, 0xab, 0x30, 0x41, 0xf0, 0xd0, 0x60, 0x43, 0xd0,
+  0x0a, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd,
+  0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x4d, 0x10, 0x8a, 0x6e, 0x82, 0x50,
+  0x78, 0x1b, 0x02, 0x62, 0x82, 0x50, 0x7c, 0x13, 0x84, 0x02, 0x0c, 0x36,
+  0x2c, 0x04, 0x2c, 0xc4, 0x82, 0x2c, 0xcc, 0x02, 0x2d, 0x0c, 0xb4, 0x40,
+  0xd4, 0x02, 0x40, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49, 0x8a, 0x68,
+  0x82, 0x50, 0x84, 0xc1, 0x06, 0xa1, 0xeb, 0x36, 0x2c, 0xc3, 0x2d, 0xc4,
+  0x42, 0x2d, 0xcc, 0x02, 0x2e, 0x0c, 0xb8, 0x30, 0xd4, 0x42, 0x2e, 0xb0,
+  0x18, 0x7a, 0x62, 0x7a, 0x92, 0x9a, 0x20, 0x10, 0xdb, 0x06, 0xa1, 0xe3,
+  0x85, 0x0d, 0x0b, 0xb3, 0x0b, 0xb1, 0x50, 0x0b, 0xb3, 0x80, 0x0b, 0x03,
+  0x2d, 0x30, 0xb5, 0xd0, 0x0b, 0x1b, 0x06, 0x5b, 0xd0, 0x05, 0x5f, 0x60,
+  0x32, 0x65, 0xf5, 0x45, 0x15, 0x26, 0x77, 0x56, 0x46, 0x37, 0x41, 0x28,
+  0xc4, 0x60, 0xc3, 0x42, 0x80, 0x43, 0x2c, 0x84, 0xc3, 0x2c, 0xd4, 0xc2,
+  0x40, 0x0b, 0x44, 0x2d, 0xf4, 0xc2, 0x86, 0x40, 0x1c, 0x36, 0x0c, 0xbf,
+  0x30, 0x0e, 0xc0, 0x86, 0x02, 0x15, 0x5e, 0x81, 0x1c, 0x34, 0x80, 0x86,
+  0x19, 0xdb, 0x5b, 0x18, 0xdd, 0x1c, 0x8b, 0x34, 0xb7, 0x39, 0xba, 0xb9,
+  0x09, 0x02, 0xc1, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x62, 0x23, 0xa3, 0x31,
+  0x97, 0x76, 0xf6, 0x35, 0x47, 0x47, 0x84, 0xae, 0x0c, 0xef, 0xcb, 0xed,
+  0x4d, 0xae, 0x6d, 0x83, 0x62, 0x0e, 0xde, 0x39, 0xa0, 0x43, 0x3a, 0x20,
+  0xea, 0x10, 0x06, 0xeb, 0x30, 0x54, 0x61, 0x63, 0xb3, 0x6b, 0x73, 0x49,
+  0x23, 0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, 0x55, 0xc8, 0xf0, 0x5c, 0xec,
+  0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, 0x3c,
+  0x17, 0xbb, 0x30, 0x36, 0xbb, 0x32, 0xb9, 0x29, 0x41, 0x51, 0x87, 0x0c,
+  0xcf, 0x65, 0x0e, 0x2d, 0x8c, 0xac, 0x4c, 0xae, 0xe9, 0x8d, 0xac, 0x8c,
+  0x6d, 0x4a, 0x80, 0x94, 0x21, 0xc3, 0x73, 0x91, 0x2b, 0x9b, 0x7b, 0xab,
+  0x93, 0x1b, 0x2b, 0x9b, 0x9b, 0x12, 0x64, 0x95, 0xc8, 0xf0, 0x5c, 0xe8,
+  0xf2, 0xe0, 0xca, 0x82, 0xdc, 0xdc, 0xde, 0xe8, 0xc2, 0xe8, 0xd2, 0xde,
+  0xdc, 0xe6, 0xa6, 0x08, 0xa6, 0xb0, 0x0a, 0x75, 0xc8, 0xf0, 0x5c, 0xec,
+  0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04,
+  0xad, 0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea,
+  0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0x40, 0x0e, 0x5d, 0xc8, 0xf0, 0x5c,
+  0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xeb, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8,
+  0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2,
+  0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc,
+  0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x26, 0x50, 0x0d, 0x97, 0xef, 0x3c, 0xbe,
+  0x34, 0x39, 0x11, 0x81, 0x52, 0xd3, 0x43, 0x4d, 0x7e, 0x71, 0xdb, 0x06,
+  0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x8c, 0x48, 0x9e, 0x82, 0xfc, 0x4f, 0x59, 0x04, 0x74, 0x53, 0x78, 0xaf,
+  0x0d, 0xe3, 0x34, 0x99, 0x44, 0x58, 0x49, 0x4c, 0x88, 0x07, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0xe2, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xd9, 0x01, 0x00, 0x00,
+  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
+  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
+  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
+  0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14,
+  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20,
+  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
+  0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
+  0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
+  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
+  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00,
+  0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84,
+  0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c,
+  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x7c, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66,
+  0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14,
+  0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0x9b, 0x86, 0xcb, 0x9f,
+  0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46,
+  0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21,
+  0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b,
+  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x76, 0xd4, 0x70, 0xf9, 0x13, 0xf6, 0x10,
+  0x92, 0xcf, 0x6d, 0x54, 0xb1, 0x12, 0x93, 0x5f, 0xdc, 0x36, 0x22, 0xc6,
+  0x18, 0xa3, 0x10, 0x8f, 0x30, 0x42, 0x70, 0x8e, 0x20, 0x28, 0x06, 0x23,
+  0x85, 0x10, 0x49, 0x73, 0x20, 0x60, 0x18, 0x81, 0x18, 0x66, 0x6a, 0x83,
+  0x71, 0x60, 0x87, 0x70, 0x98, 0x87, 0x79, 0x70, 0x03, 0x5a, 0x28, 0x07,
+  0x7c, 0xa0, 0x87, 0x7a, 0x90, 0x87, 0x72, 0x90, 0x03, 0x52, 0xe0, 0x03,
+  0x7b, 0x28, 0x87, 0x71, 0xa0, 0x87, 0x77, 0x90, 0x07, 0x3e, 0x30, 0x07,
+  0x76, 0x78, 0x87, 0x70, 0xa0, 0x07, 0x36, 0x00, 0x03, 0x3a, 0xf0, 0x03,
+  0x30, 0xf0, 0x03, 0x3d, 0xd0, 0x83, 0x76, 0x48, 0x07, 0x78, 0x98, 0x87,
+  0x5f, 0xa0, 0x87, 0x7c, 0x80, 0x87, 0x72, 0x40, 0x01, 0x99, 0x49, 0x0c,
+  0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c,
+  0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f,
+  0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c,
+  0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f,
+  0xc0, 0xc0, 0x0f, 0x90, 0x60, 0x2f, 0xe1, 0x4b, 0x38, 0xa7, 0x91, 0x26,
+  0xa0, 0x99, 0x24, 0xd4, 0x8c, 0x31, 0x86, 0x1d, 0x63, 0x0c, 0x6b, 0xad,
+  0x25, 0x7d, 0x93, 0x34, 0x45, 0x94, 0x30, 0xf9, 0x2c, 0xc0, 0x3c, 0x0b,
+  0x11, 0xb1, 0x13, 0x30, 0x11, 0x28, 0x20, 0xc4, 0xd3, 0x81, 0x00, 0x00,
+  0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79,
+  0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e,
+  0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07,
+  0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
+  0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07,
+  0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
+  0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20,
+  0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34,
+  0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
+  0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+  0xc8, 0x33, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x40, 0x16, 0x08, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
+  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
+  0x25, 0x30, 0x02, 0x50, 0x10, 0xc5, 0x50, 0x04, 0x25, 0x51, 0xe0, 0x01,
+  0x65, 0x50, 0x1e, 0x54, 0x4a, 0xa2, 0x0c, 0x0a, 0x61, 0x04, 0xa0, 0x08,
+  0x0a, 0x84, 0xf2, 0x0c, 0x00, 0xed, 0x19, 0x00, 0xea, 0x33, 0x00, 0xe4,
+  0xc7, 0x72, 0x18, 0x02, 0x00, 0x00, 0xe0, 0x79, 0x00, 0x20, 0x10, 0x08,
+  0x04, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
+  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
+  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xc0,
+  0xcd, 0x4d, 0x10, 0x88, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x21, 0xab,
+  0x08, 0x4c, 0x10, 0x08, 0x65, 0x82, 0x40, 0x2c, 0x1b, 0x04, 0xc2, 0xd9,
+  0x90, 0x10, 0x0b, 0x43, 0x10, 0x43, 0x43, 0x3c, 0x1b, 0x02, 0x68, 0x82,
+  0xb0, 0x59, 0x13, 0x04, 0x82, 0xd9, 0x80, 0x10, 0x12, 0x43, 0x0c, 0xc3,
+  0x04, 0x6c, 0x08, 0xa8, 0x09, 0x42, 0x77, 0x6d, 0x40, 0x08, 0x8b, 0x21,
+  0x88, 0x81, 0x00, 0x36, 0x04, 0xd7, 0x06, 0x22, 0x02, 0x2a, 0x6c, 0x82,
+  0xe0, 0x61, 0x1b, 0x02, 0x6d, 0x82, 0x20, 0x00, 0x24, 0xda, 0xc2, 0xd2,
+  0xdc, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd,
+  0xb9, 0x4d, 0x10, 0x8a, 0x67, 0x82, 0x50, 0x40, 0x1b, 0x02, 0x62, 0x82,
+  0x50, 0x44, 0x13, 0x84, 0x42, 0xda, 0xb0, 0x10, 0xde, 0x07, 0x06, 0x61,
+  0x20, 0x06, 0x83, 0x18, 0x10, 0x63, 0x00, 0x10, 0xa1, 0x2a, 0xc2, 0x1a,
+  0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, 0xd3, 0x04, 0x81, 0x68, 0x36,
+  0x08, 0x67, 0x70, 0x06, 0x1b, 0x96, 0xa1, 0x0c, 0xbe, 0x31, 0x08, 0x03,
+  0x33, 0x18, 0xcc, 0x60, 0x18, 0x03, 0x34, 0x60, 0x31, 0xf4, 0xc4, 0xf4,
+  0x24, 0x35, 0x41, 0x20, 0x9c, 0x0d, 0xc2, 0x19, 0xac, 0xc1, 0x86, 0xa5,
+  0x51, 0x83, 0x6f, 0x0c, 0xc2, 0xc0, 0x0c, 0x06, 0x31, 0x68, 0xc6, 0x80,
+  0x0d, 0x36, 0x0c, 0x64, 0x90, 0x06, 0x6d, 0xc0, 0x64, 0xca, 0xea, 0x8b,
+  0x2a, 0x4c, 0xee, 0xac, 0x8c, 0x6e, 0x82, 0x50, 0x50, 0x1b, 0x16, 0xe2,
+  0x0d, 0x3e, 0x38, 0x08, 0x83, 0x31, 0x18, 0xc4, 0x80, 0x18, 0x03, 0x36,
+  0xd8, 0x10, 0xc4, 0xc1, 0x86, 0xc1, 0x0d, 0xe4, 0x00, 0xd8, 0x50, 0x70,
+  0xdd, 0x1c, 0x64, 0x40, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2,
+  0x32, 0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c,
+  0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1,
+  0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x18, 0x75, 0xc8, 0xf0, 0x5c,
+  0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6,
+  0x04, 0x49, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9,
+  0xb1, 0xb2, 0xb9, 0x29, 0x01, 0x56, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad,
+  0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xa0, 0xd5,
+  0x21, 0xc3, 0x73, 0x29, 0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73,
+  0xa3, 0x9b, 0x9b, 0x12, 0xcc, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
   0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
   0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
   0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
@@ -421,169 +576,29 @@ const unsigned char g_main[] = {
   0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71,
   0xdb, 0x26, 0x50, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x34, 0x39, 0x11, 0x81,
   0x52, 0xd3, 0x43, 0x4d, 0x7e, 0x71, 0xdb, 0x06, 0x40, 0x30, 0x00, 0xd2,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48,
-  0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x92, 0x64, 0xbe,
-  0xfb, 0x13, 0x33, 0x56, 0x24, 0xa1, 0x1d, 0x2c, 0x00, 0x21, 0x70, 0xa6,
-  0x44, 0x58, 0x49, 0x4c, 0x88, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
-  0xe2, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0xd9, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
-  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
-  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
-  0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
-  0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
-  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50,
-  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06,
-  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
-  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
-  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
-  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
-  0x89, 0x20, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09,
-  0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3,
-  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c,
-  0x10, 0x7c, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0,
-  0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80,
-  0x10, 0x52, 0x06, 0xa1, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc,
-  0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10,
-  0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c,
-  0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8,
-  0xa0, 0x76, 0xd4, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92, 0xcf, 0x6d, 0x54,
-  0xb1, 0x12, 0x93, 0x5f, 0xdc, 0x36, 0x22, 0xc6, 0x18, 0xa3, 0x10, 0x8f,
-  0x30, 0x42, 0x70, 0x8e, 0x20, 0x28, 0x06, 0x23, 0x85, 0x10, 0x49, 0x73,
-  0x20, 0x60, 0x18, 0x81, 0x18, 0x66, 0x6a, 0x83, 0x71, 0x60, 0x87, 0x70,
-  0x98, 0x87, 0x79, 0x70, 0x03, 0x5a, 0x28, 0x07, 0x7c, 0xa0, 0x87, 0x7a,
-  0x90, 0x87, 0x72, 0x90, 0x03, 0x52, 0xe0, 0x03, 0x7b, 0x28, 0x87, 0x71,
-  0xa0, 0x87, 0x77, 0x90, 0x07, 0x3e, 0x30, 0x07, 0x76, 0x78, 0x87, 0x70,
-  0xa0, 0x07, 0x36, 0x00, 0x03, 0x3a, 0xf0, 0x03, 0x30, 0xf0, 0x03, 0x3d,
-  0xd0, 0x83, 0x76, 0x48, 0x07, 0x78, 0x98, 0x87, 0x5f, 0xa0, 0x87, 0x7c,
-  0x80, 0x87, 0x72, 0x40, 0x01, 0x99, 0x49, 0x0c, 0xc6, 0x81, 0x1d, 0xc2,
-  0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e, 0xea,
-  0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c, 0xc6,
-  0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d, 0xc2,
-  0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f, 0x90,
-  0x60, 0x2f, 0xe1, 0x4b, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0xd4,
-  0x8c, 0x31, 0x86, 0x1d, 0x63, 0x0c, 0x6b, 0xad, 0x25, 0x7d, 0x93, 0x34,
-  0x45, 0x94, 0x30, 0xf9, 0x2c, 0xc0, 0x3c, 0x0b, 0x11, 0xb1, 0x13, 0x30,
-  0x11, 0x28, 0x20, 0xc4, 0xd3, 0x81, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
-  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
-  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
-  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
-  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
-  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
-  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
-  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
-  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
-  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
-  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
-  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
-  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00, 0x18,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x33, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
-  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
-  0x0e, 0xc5, 0x50, 0x04, 0x25, 0x51, 0xe0, 0x01, 0x65, 0x50, 0x1e, 0x54,
-  0x4a, 0xa2, 0x0c, 0x0a, 0x61, 0x04, 0xa0, 0x08, 0x0a, 0x84, 0xf2, 0x0c,
-  0x00, 0xed, 0x19, 0x00, 0xea, 0x33, 0x00, 0xe4, 0xc7, 0x72, 0x18, 0x02,
-  0x00, 0x00, 0xe0, 0x79, 0x00, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00,
-  0x79, 0x18, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
-  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04,
-  0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43,
-  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98,
-  0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x88,
-  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x21, 0xab, 0x08, 0x4c, 0x10, 0x08,
-  0x65, 0x82, 0x40, 0x2c, 0x1b, 0x04, 0xc2, 0xd9, 0x90, 0x10, 0x0b, 0x43,
-  0x10, 0x43, 0x43, 0x3c, 0x1b, 0x02, 0x68, 0x82, 0xb0, 0x59, 0x13, 0x04,
-  0x82, 0xd9, 0x80, 0x10, 0x12, 0x43, 0x0c, 0xc3, 0x04, 0x6c, 0x08, 0xa8,
-  0x09, 0x42, 0x77, 0x6d, 0x40, 0x08, 0x8b, 0x21, 0x88, 0x81, 0x00, 0x36,
-  0x04, 0xd7, 0x06, 0x22, 0x02, 0x2a, 0x6c, 0x82, 0xe0, 0x61, 0x1b, 0x02,
-  0x6d, 0x82, 0x20, 0x00, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0xb8, 0x4c, 0x59,
-  0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x4d, 0x10, 0x8a,
-  0x67, 0x82, 0x50, 0x40, 0x1b, 0x02, 0x62, 0x82, 0x50, 0x44, 0x13, 0x84,
-  0x42, 0xda, 0xb0, 0x10, 0xde, 0x07, 0x06, 0x61, 0x20, 0x06, 0x83, 0x18,
-  0x10, 0x63, 0x00, 0x10, 0xa1, 0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, 0x22,
-  0x9a, 0x20, 0x14, 0xd3, 0x04, 0x81, 0x68, 0x36, 0x08, 0x67, 0x70, 0x06,
-  0x1b, 0x96, 0xa1, 0x0c, 0xbe, 0x31, 0x08, 0x03, 0x33, 0x18, 0xcc, 0x60,
-  0x18, 0x03, 0x34, 0x60, 0x31, 0xf4, 0xc4, 0xf4, 0x24, 0x35, 0x41, 0x20,
-  0x9c, 0x0d, 0xc2, 0x19, 0xac, 0xc1, 0x86, 0xa5, 0x51, 0x83, 0x6f, 0x0c,
-  0xc2, 0xc0, 0x0c, 0x06, 0x31, 0x68, 0xc6, 0x80, 0x0d, 0x36, 0x0c, 0x64,
-  0x90, 0x06, 0x6d, 0xc0, 0x64, 0xca, 0xea, 0x8b, 0x2a, 0x4c, 0xee, 0xac,
-  0x8c, 0x6e, 0x82, 0x50, 0x50, 0x1b, 0x16, 0xe2, 0x0d, 0x3e, 0x38, 0x08,
-  0x83, 0x31, 0x18, 0xc4, 0x80, 0x18, 0x03, 0x36, 0xd8, 0x10, 0xc4, 0xc1,
-  0x86, 0xc1, 0x0d, 0xe4, 0x00, 0xd8, 0x50, 0x70, 0xdd, 0x1c, 0x64, 0x40,
-  0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29,
-  0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd,
-  0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b,
-  0x93, 0x9b, 0x12, 0x18, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8,
-  0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x49, 0x19, 0x32,
-  0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29,
-  0x01, 0x56, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, 0x2e, 0x89, 0x6c,
-  0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xa0, 0xd5, 0x21, 0xc3, 0x73, 0x29,
-  0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73, 0xa3, 0x9b, 0x9b, 0x12,
-  0xcc, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
-  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
-  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
-  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
-  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
-  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
-  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
-  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
-  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
-  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
-  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
-  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
-  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
-  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
-  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
-  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
-  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
-  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
-  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
-  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
-  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
-  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
-  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4,
-  0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19,
-  0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06,
-  0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f,
-  0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-  0x46, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44,
-  0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05,
-  0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34,
-  0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c,
-  0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b,
-  0x8f, 0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x26, 0x50, 0x0d,
-  0x97, 0xef, 0x3c, 0xbe, 0x34, 0x39, 0x11, 0x81, 0x52, 0xd3, 0x43, 0x4d,
-  0x7e, 0x71, 0xdb, 0x06, 0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
-  0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x24, 0x47, 0x00, 0x88,
-  0xcc, 0x00, 0x14, 0x42, 0x29, 0x94, 0x5c, 0xe1, 0x95, 0x1d, 0x95, 0x12,
-  0xa0, 0x31, 0x03, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x30, 0x75,
-  0x05, 0xb4, 0x6d, 0xc9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x4c, 0x9e,
-  0x31, 0x71, 0x9c, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xd3, 0x77,
-  0x44, 0x9d, 0xb7, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x41, 0x06,
-  0xca, 0xe6, 0x4d, 0xcb, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x65,
-  0xb0, 0x70, 0x9f, 0xc1, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61,
-  0x06, 0x4c, 0x07, 0x06, 0x54, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
-  0xc6, 0x19, 0x34, 0x5e, 0x18, 0x60, 0xce, 0x88, 0x41, 0x02, 0x80, 0x20,
-  0x18, 0x18, 0x68, 0xe0, 0x8c, 0x81, 0x18, 0x5c, 0xcf, 0x88, 0x41, 0x02,
-  0x80, 0x20, 0x18, 0x18, 0x69, 0xf0, 0x90, 0xc1, 0x18, 0x28, 0xd0, 0x88,
-  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0x68, 0xd0, 0x24, 0x88, 0x10, 0x28,
-  0x0a, 0x19, 0x90, 0x41, 0xa4, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10,
-  0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08,
-  0x82, 0x01, 0xc4, 0x06, 0x11, 0x93, 0x06, 0xa3, 0x09, 0xc1, 0x60, 0x46,
-  0x23, 0x1f, 0x0b, 0x04, 0xf9, 0xd8, 0xe1, 0xc8, 0xc7, 0x02, 0x42, 0x3e,
-  0x86, 0x3c, 0xf2, 0xb1, 0xc0, 0x90, 0x8f, 0x25, 0x90, 0x7c, 0x46, 0x0c,
-  0x12, 0x00, 0x04, 0xc1, 0x00, 0xb9, 0x83, 0x4e, 0x0e, 0xe4, 0xe0, 0x0c,
-  0x8c, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xee, 0xa0, 0x93, 0x03,
-  0x39, 0xc8, 0x88, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xee, 0xa0,
-  0x93, 0x03, 0x39, 0x30, 0x03, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c,
-  0x90, 0x3b, 0xe8, 0xe4, 0x40, 0x0e, 0xd2, 0x20, 0x40, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00
+  0x00, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00,
+  0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x24, 0x47, 0x00, 0x88, 0xcc, 0x00, 0x14, 0x42, 0x29, 0x94, 0x5c, 0xe1,
+  0x95, 0x1d, 0x95, 0x12, 0xa0, 0x31, 0x03, 0x00, 0x23, 0x06, 0x09, 0x00,
+  0x82, 0x60, 0x30, 0x75, 0x05, 0xb4, 0x6d, 0xc9, 0x88, 0x41, 0x02, 0x80,
+  0x20, 0x18, 0x4c, 0x9e, 0x31, 0x71, 0x9c, 0x32, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0xd3, 0x77, 0x44, 0x9d, 0xb7, 0x8c, 0x18, 0x24, 0x00, 0x08,
+  0x82, 0x81, 0x41, 0x06, 0xca, 0xe6, 0x4d, 0xcb, 0x88, 0x41, 0x02, 0x80,
+  0x20, 0x18, 0x18, 0x65, 0xb0, 0x70, 0x9f, 0xc1, 0x8c, 0x18, 0x24, 0x00,
+  0x08, 0x82, 0x81, 0x61, 0x06, 0x4c, 0x07, 0x06, 0x54, 0x33, 0x62, 0x90,
+  0x00, 0x20, 0x08, 0x06, 0xc6, 0x19, 0x34, 0x5e, 0x18, 0x60, 0xce, 0x88,
+  0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x68, 0xe0, 0x8c, 0x81, 0x18, 0x5c,
+  0xcf, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x69, 0xf0, 0x90, 0xc1,
+  0x18, 0x28, 0xd0, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0x68, 0xd0,
+  0x24, 0x88, 0x10, 0x28, 0x0a, 0x19, 0x90, 0x41, 0xa4, 0x8c, 0x26, 0x04,
+  0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c,
+  0x18, 0x1c, 0x00, 0x08, 0x82, 0x01, 0xc4, 0x06, 0x11, 0x93, 0x06, 0xa3,
+  0x09, 0xc1, 0x60, 0x46, 0x23, 0x1f, 0x0b, 0x04, 0xf9, 0xd8, 0xe1, 0xc8,
+  0xc7, 0x02, 0x42, 0x3e, 0x86, 0x3c, 0xf2, 0xb1, 0xc0, 0x90, 0x8f, 0x25,
+  0x90, 0x7c, 0x46, 0x0c, 0x12, 0x00, 0x04, 0xc1, 0x00, 0xb9, 0x83, 0x4e,
+  0x0e, 0xe4, 0xe0, 0x0c, 0x8c, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40,
+  0xee, 0xa0, 0x93, 0x03, 0x39, 0xc8, 0x88, 0x11, 0x83, 0x04, 0x00, 0x41,
+  0x30, 0x40, 0xee, 0xa0, 0x93, 0x03, 0x39, 0x30, 0x03, 0x61, 0xc4, 0x20,
+  0x01, 0x40, 0x10, 0x0c, 0x90, 0x3b, 0xe8, 0xe4, 0x40, 0x0e, 0xd2, 0x20,
+  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };

+ 1725 - 0
src/render/direct3d12/D3D12_PixelShader_Textures_PQ.h

@@ -0,0 +1,1725 @@
+#if 0
+;
+; Input signature:
+;
+; Name                 Index   Mask Register SysValue  Format   Used
+; -------------------- ----- ------ -------- -------- ------- ------
+; SV_Position              0   xyzw        0      POS   float
+; TEXCOORD                 0   xy          1     NONE   float   xy
+; COLOR                    0   xyzw        2     NONE   float   xyzw
+;
+;
+; Output signature:
+;
+; Name                 Index   Mask Register SysValue  Format   Used
+; -------------------- ----- ------ -------- -------- ------- ------
+; SV_Target                0   xyzw        0   TARGET   float   xyzw
+;
+; shader hash: c435b5051c1cce90d732d9ea46b61550
+;
+; Pipeline Runtime Information:
+;
+;PSVRuntimeInfo:
+; Pixel Shader
+; DepthOutput=0
+; SampleFrequency=0
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 1
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 1
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: main
+;
+;
+; Input signature:
+;
+; Name                 Index             InterpMode DynIdx
+; -------------------- ----- ---------------------- ------
+; SV_Position              0          noperspective
+; TEXCOORD                 0                 linear
+; COLOR                    0                 linear
+;
+; Output signature:
+;
+; Name                 Index             InterpMode DynIdx
+; -------------------- ----- ---------------------- ------
+; SV_Target                0
+;
+; Buffer Definitions:
+;
+; cbuffer Constants
+; {
+;
+;   struct Constants
+;   {
+;
+;       float scRGB_output;                           ; Offset:    0
+;       float texture_type;                           ; Offset:    4
+;       float input_type;                             ; Offset:    8
+;       float color_scale;                            ; Offset:   12
+;       float4 texel_size;                            ; Offset:   16
+;       float tonemap_method;                         ; Offset:   32
+;       float tonemap_factor1;                        ; Offset:   36
+;       float tonemap_factor2;                        ; Offset:   40
+;       float sdr_white_point;                        ; Offset:   44
+;       float4 Yoffset;                               ; Offset:   48
+;       float4 Rcoeff;                                ; Offset:   64
+;       float4 Gcoeff;                                ; Offset:   80
+;       float4 Bcoeff;                                ; Offset:   96
+;
+;   } Constants;                                      ; Offset:    0 Size:   112
+;
+; }
+;
+;
+; Resource Bindings:
+;
+; Name                                 Type  Format         Dim      ID      HLSL Bind  Count
+; ------------------------------ ---------- ------- ----------- ------- -------------- ------
+; Constants                         cbuffer      NA          NA     CB0            cb1     1
+; sampler0                          sampler      NA          NA      S0             s0     1
+; sampler1                          sampler      NA          NA      S1             s1     1
+; texture0                          texture     f32          2d      T0             t0     1
+; texture1                          texture     f32          2d      T1             t1     1
+; texture2                          texture     f32          2d      T2             t2     1
+;
+;
+; ViewId state:
+;
+; Number of inputs: 12, outputs: 4
+; Outputs dependent on ViewId: {  }
+; Inputs contributing to computation of Outputs:
+;   output 0 depends on inputs: { 4, 5, 8 }
+;   output 1 depends on inputs: { 4, 5, 9 }
+;   output 2 depends on inputs: { 4, 5, 10 }
+;   output 3 depends on inputs: { 4, 5, 11 }
+;
+target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
+target triple = "dxil-ms-dx"
+
+%dx.types.Handle = type { i8* }
+%dx.types.CBufRet.f32 = type { float, float, float, float }
+%dx.types.ResRet.f32 = type { float, float, float, float, i32 }
+%"class.Texture2D<vector<float, 4> >" = type { <4 x float>, %"class.Texture2D<vector<float, 4> >::mips_type" }
+%"class.Texture2D<vector<float, 4> >::mips_type" = type { i32 }
+%Constants = type { float, float, float, float, <4 x float>, float, float, float, float, <4 x float>, <4 x float>, <4 x float>, <4 x float> }
+%struct.SamplerState = type { i32 }
+
+define void @main() {
+  %1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 2, i32 2, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 1, i32 1, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %3 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 0, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %4 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 1, i32 1, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %5 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 0, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %6 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 1, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %7 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %8 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %9 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %10 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %11 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %12 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %13 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 0)  ; CBufferLoadLegacy(handle,regIndex)
+  %14 = extractvalue %dx.types.CBufRet.f32 %13, 1
+  %15 = fcmp fast oeq float %14, 0.000000e+00
+  br i1 %15, label %428, label %16
+
+; <label>:16                                      ; preds = %0
+  %17 = fcmp fast oeq float %14, 1.000000e+00
+  br i1 %17, label %18, label %24
+
+; <label>:18                                      ; preds = %16
+  %19 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %20 = extractvalue %dx.types.ResRet.f32 %19, 0
+  %21 = extractvalue %dx.types.ResRet.f32 %19, 1
+  %22 = extractvalue %dx.types.ResRet.f32 %19, 2
+  %23 = extractvalue %dx.types.ResRet.f32 %19, 3
+  br label %428
+
+; <label>:24                                      ; preds = %16
+  %25 = fcmp fast oeq float %14, 2.000000e+00
+  br i1 %25, label %26, label %85
+
+; <label>:26                                      ; preds = %24
+  %27 = call float @dx.op.unary.f32(i32 83, float %11)  ; DerivCoarseX(value)
+  %28 = call float @dx.op.unary.f32(i32 83, float %12)  ; DerivCoarseX(value)
+  %29 = call float @dx.op.unary.f32(i32 6, float %27)  ; FAbs(value)
+  %30 = call float @dx.op.unary.f32(i32 6, float %28)  ; FAbs(value)
+  %31 = call float @dx.op.unary.f32(i32 84, float %11)  ; DerivCoarseY(value)
+  %32 = call float @dx.op.unary.f32(i32 84, float %12)  ; DerivCoarseY(value)
+  %33 = call float @dx.op.unary.f32(i32 6, float %31)  ; FAbs(value)
+  %34 = call float @dx.op.unary.f32(i32 6, float %32)  ; FAbs(value)
+  %35 = fadd fast float %33, %29
+  %36 = fadd fast float %34, %30
+  %37 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 1)  ; CBufferLoadLegacy(handle,regIndex)
+  %38 = extractvalue %dx.types.CBufRet.f32 %37, 2
+  %39 = extractvalue %dx.types.CBufRet.f32 %37, 3
+  %40 = fmul fast float %38, %35
+  %41 = fmul fast float %39, %36
+  %42 = call float @dx.op.binary.f32(i32 35, float %40, float 0x3EE4F8B580000000)  ; FMax(a,b)
+  %43 = call float @dx.op.binary.f32(i32 35, float %41, float 0x3EE4F8B580000000)  ; FMax(a,b)
+  %44 = call float @dx.op.binary.f32(i32 36, float %42, float 1.000000e+00)  ; FMin(a,b)
+  %45 = call float @dx.op.binary.f32(i32 36, float %43, float 1.000000e+00)  ; FMin(a,b)
+  %46 = fmul fast float %38, %11
+  %47 = fmul fast float %39, %12
+  %48 = fmul fast float %44, 5.000000e-01
+  %49 = fmul fast float %45, 5.000000e-01
+  %50 = fsub fast float %46, %48
+  %51 = fsub fast float %47, %49
+  %52 = call float @dx.op.unary.f32(i32 22, float %50)  ; Frc(value)
+  %53 = call float @dx.op.unary.f32(i32 22, float %51)  ; Frc(value)
+  %54 = fadd fast float %44, -1.000000e+00
+  %55 = fadd fast float %54, %52
+  %56 = fadd fast float %45, -1.000000e+00
+  %57 = fadd fast float %56, %53
+  %58 = fdiv fast float %55, %44
+  %59 = fdiv fast float %57, %45
+  %60 = call float @dx.op.unary.f32(i32 7, float %58)  ; Saturate(value)
+  %61 = call float @dx.op.unary.f32(i32 7, float %59)  ; Saturate(value)
+  %62 = fmul fast float %60, 2.000000e+00
+  %63 = fmul fast float %61, 2.000000e+00
+  %64 = fsub fast float 3.000000e+00, %62
+  %65 = fsub fast float 3.000000e+00, %63
+  %66 = fmul fast float %60, %60
+  %67 = fmul fast float %66, %64
+  %68 = fmul fast float %61, %61
+  %69 = fmul fast float %68, %65
+  %70 = call float @dx.op.unary.f32(i32 27, float %50)  ; Round_ni(value)
+  %71 = call float @dx.op.unary.f32(i32 27, float %51)  ; Round_ni(value)
+  %72 = fadd fast float %70, 5.000000e-01
+  %73 = fadd fast float %71, 5.000000e-01
+  %74 = fadd fast float %72, %67
+  %75 = fadd fast float %73, %69
+  %76 = extractvalue %dx.types.CBufRet.f32 %37, 0
+  %77 = extractvalue %dx.types.CBufRet.f32 %37, 1
+  %78 = fmul fast float %74, %76
+  %79 = fmul fast float %75, %77
+  %80 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %3, %dx.types.Handle %5, float %78, float %79, float undef, float undef, i32 0, i32 0, i32 undef, float %27, float %28, float undef, float %31, float %32, float undef, float undef)  ; SampleGrad(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,ddx0,ddx1,ddx2,ddy0,ddy1,ddy2,clamp)
+  %81 = extractvalue %dx.types.ResRet.f32 %80, 0
+  %82 = extractvalue %dx.types.ResRet.f32 %80, 1
+  %83 = extractvalue %dx.types.ResRet.f32 %80, 2
+  %84 = extractvalue %dx.types.ResRet.f32 %80, 3
+  br label %428
+
+; <label>:85                                      ; preds = %24
+  %86 = fcmp fast oeq float %14, 3.000000e+00
+  br i1 %86, label %87, label %97
+
+; <label>:87                                      ; preds = %85
+  %88 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %89 = extractvalue %dx.types.ResRet.f32 %88, 0
+  %90 = fmul fast float %89, 0x3FEFE00000000000
+  %91 = fadd fast float %90, 1.953125e-03
+  %92 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %91, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %93 = extractvalue %dx.types.ResRet.f32 %92, 0
+  %94 = extractvalue %dx.types.ResRet.f32 %92, 1
+  %95 = extractvalue %dx.types.ResRet.f32 %92, 2
+  %96 = extractvalue %dx.types.ResRet.f32 %92, 3
+  br label %428
+
+; <label>:97                                      ; preds = %85
+  %98 = fcmp fast oeq float %14, 4.000000e+00
+  br i1 %98, label %99, label %193
+
+; <label>:99                                      ; preds = %97
+  %100 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 1)  ; CBufferLoadLegacy(handle,regIndex)
+  %101 = extractvalue %dx.types.CBufRet.f32 %100, 2
+  %102 = extractvalue %dx.types.CBufRet.f32 %100, 3
+  %103 = fmul fast float %101, %11
+  %104 = fmul fast float %102, %12
+  %105 = fadd fast float %103, 5.000000e-01
+  %106 = fadd fast float %104, 5.000000e-01
+  %107 = call float @dx.op.unary.f32(i32 27, float %105)  ; Round_ni(value)
+  %108 = call float @dx.op.unary.f32(i32 27, float %106)  ; Round_ni(value)
+  %109 = fadd fast float %107, -5.000000e-01
+  %110 = fadd fast float %108, -5.000000e-01
+  %111 = extractvalue %dx.types.CBufRet.f32 %100, 0
+  %112 = extractvalue %dx.types.CBufRet.f32 %100, 1
+  %113 = fmul fast float %109, %111
+  %114 = fmul fast float %110, %112
+  %115 = fadd fast float %107, 5.000000e-01
+  %116 = fadd fast float %108, 5.000000e-01
+  %117 = fmul fast float %115, %111
+  %118 = fmul fast float %116, %112
+  %119 = call float @dx.op.unary.f32(i32 22, float %105)  ; Frc(value)
+  %120 = call float @dx.op.unary.f32(i32 22, float %106)  ; Frc(value)
+  %121 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %113, float %114, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %122 = extractvalue %dx.types.ResRet.f32 %121, 0
+  %123 = fmul fast float %122, 0x3FEFE00000000000
+  %124 = fadd fast float %123, 1.953125e-03
+  %125 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %124, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %126 = extractvalue %dx.types.ResRet.f32 %125, 0
+  %127 = extractvalue %dx.types.ResRet.f32 %125, 1
+  %128 = extractvalue %dx.types.ResRet.f32 %125, 2
+  %129 = extractvalue %dx.types.ResRet.f32 %125, 3
+  %130 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %113, float %118, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %131 = extractvalue %dx.types.ResRet.f32 %130, 0
+  %132 = fmul fast float %131, 0x3FEFE00000000000
+  %133 = fadd fast float %132, 1.953125e-03
+  %134 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %133, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %135 = extractvalue %dx.types.ResRet.f32 %134, 0
+  %136 = extractvalue %dx.types.ResRet.f32 %134, 1
+  %137 = extractvalue %dx.types.ResRet.f32 %134, 2
+  %138 = extractvalue %dx.types.ResRet.f32 %134, 3
+  %139 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %117, float %114, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %140 = extractvalue %dx.types.ResRet.f32 %139, 0
+  %141 = fmul fast float %140, 0x3FEFE00000000000
+  %142 = fadd fast float %141, 1.953125e-03
+  %143 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %142, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %144 = extractvalue %dx.types.ResRet.f32 %143, 0
+  %145 = extractvalue %dx.types.ResRet.f32 %143, 1
+  %146 = extractvalue %dx.types.ResRet.f32 %143, 2
+  %147 = extractvalue %dx.types.ResRet.f32 %143, 3
+  %148 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %117, float %118, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %149 = extractvalue %dx.types.ResRet.f32 %148, 0
+  %150 = fmul fast float %149, 0x3FEFE00000000000
+  %151 = fadd fast float %150, 1.953125e-03
+  %152 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %151, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %153 = extractvalue %dx.types.ResRet.f32 %152, 0
+  %154 = extractvalue %dx.types.ResRet.f32 %152, 1
+  %155 = extractvalue %dx.types.ResRet.f32 %152, 2
+  %156 = extractvalue %dx.types.ResRet.f32 %152, 3
+  %157 = fsub fast float %153, %144
+  %158 = fsub fast float %154, %145
+  %159 = fsub fast float %155, %146
+  %160 = fsub fast float %156, %147
+  %161 = fmul fast float %157, %120
+  %162 = fmul fast float %158, %120
+  %163 = fmul fast float %159, %120
+  %164 = fmul fast float %160, %120
+  %165 = fsub fast float %135, %126
+  %166 = fsub fast float %136, %127
+  %167 = fsub fast float %137, %128
+  %168 = fsub fast float %138, %129
+  %169 = fmul fast float %165, %120
+  %170 = fmul fast float %166, %120
+  %171 = fmul fast float %167, %120
+  %172 = fmul fast float %168, %120
+  %173 = fadd fast float %169, %126
+  %174 = fadd fast float %170, %127
+  %175 = fadd fast float %171, %128
+  %176 = fadd fast float %172, %129
+  %177 = fsub fast float %144, %173
+  %178 = fadd fast float %177, %161
+  %179 = fsub fast float %145, %174
+  %180 = fadd fast float %179, %162
+  %181 = fsub fast float %146, %175
+  %182 = fadd fast float %181, %163
+  %183 = fsub fast float %147, %176
+  %184 = fadd fast float %183, %164
+  %185 = fmul fast float %178, %119
+  %186 = fmul fast float %180, %119
+  %187 = fmul fast float %182, %119
+  %188 = fmul fast float %184, %119
+  %189 = fadd fast float %185, %173
+  %190 = fadd fast float %186, %174
+  %191 = fadd fast float %187, %175
+  %192 = fadd fast float %188, %176
+  br label %428
+
+; <label>:193                                     ; preds = %97
+  %194 = fcmp fast oeq float %14, 5.000000e+00
+  br i1 %194, label %195, label %337
+
+; <label>:195                                     ; preds = %193
+  %196 = call float @dx.op.unary.f32(i32 83, float %11)  ; DerivCoarseX(value)
+  %197 = call float @dx.op.unary.f32(i32 83, float %12)  ; DerivCoarseX(value)
+  %198 = call float @dx.op.unary.f32(i32 6, float %196)  ; FAbs(value)
+  %199 = call float @dx.op.unary.f32(i32 6, float %197)  ; FAbs(value)
+  %200 = call float @dx.op.unary.f32(i32 84, float %11)  ; DerivCoarseY(value)
+  %201 = call float @dx.op.unary.f32(i32 84, float %12)  ; DerivCoarseY(value)
+  %202 = call float @dx.op.unary.f32(i32 6, float %200)  ; FAbs(value)
+  %203 = call float @dx.op.unary.f32(i32 6, float %201)  ; FAbs(value)
+  %204 = fadd fast float %202, %198
+  %205 = fadd fast float %203, %199
+  %206 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 1)  ; CBufferLoadLegacy(handle,regIndex)
+  %207 = extractvalue %dx.types.CBufRet.f32 %206, 2
+  %208 = extractvalue %dx.types.CBufRet.f32 %206, 3
+  %209 = fmul fast float %207, %204
+  %210 = fmul fast float %208, %205
+  %211 = call float @dx.op.binary.f32(i32 35, float %209, float 0x3EE4F8B580000000)  ; FMax(a,b)
+  %212 = call float @dx.op.binary.f32(i32 35, float %210, float 0x3EE4F8B580000000)  ; FMax(a,b)
+  %213 = call float @dx.op.binary.f32(i32 36, float %211, float 1.000000e+00)  ; FMin(a,b)
+  %214 = call float @dx.op.binary.f32(i32 36, float %212, float 1.000000e+00)  ; FMin(a,b)
+  %215 = fmul fast float %207, %11
+  %216 = fmul fast float %208, %12
+  %217 = fmul fast float %213, 5.000000e-01
+  %218 = fmul fast float %214, 5.000000e-01
+  %219 = fsub fast float %215, %217
+  %220 = fsub fast float %216, %218
+  %221 = call float @dx.op.unary.f32(i32 22, float %219)  ; Frc(value)
+  %222 = call float @dx.op.unary.f32(i32 22, float %220)  ; Frc(value)
+  %223 = fadd fast float %213, -1.000000e+00
+  %224 = fadd fast float %223, %221
+  %225 = fadd fast float %214, -1.000000e+00
+  %226 = fadd fast float %225, %222
+  %227 = fdiv fast float %224, %213
+  %228 = fdiv fast float %226, %214
+  %229 = call float @dx.op.unary.f32(i32 7, float %227)  ; Saturate(value)
+  %230 = call float @dx.op.unary.f32(i32 7, float %228)  ; Saturate(value)
+  %231 = fmul fast float %229, 2.000000e+00
+  %232 = fmul fast float %230, 2.000000e+00
+  %233 = fsub fast float 3.000000e+00, %231
+  %234 = fsub fast float 3.000000e+00, %232
+  %235 = fmul fast float %229, %229
+  %236 = fmul fast float %235, %233
+  %237 = fmul fast float %230, %230
+  %238 = fmul fast float %237, %234
+  %239 = call float @dx.op.unary.f32(i32 27, float %219)  ; Round_ni(value)
+  %240 = call float @dx.op.unary.f32(i32 27, float %220)  ; Round_ni(value)
+  %241 = fadd fast float %239, 5.000000e-01
+  %242 = fadd fast float %240, 5.000000e-01
+  %243 = fadd fast float %241, %236
+  %244 = fadd fast float %242, %238
+  %245 = extractvalue %dx.types.CBufRet.f32 %206, 0
+  %246 = extractvalue %dx.types.CBufRet.f32 %206, 1
+  %247 = fmul fast float %207, %245
+  %248 = fmul fast float %247, %243
+  %249 = fmul fast float %208, %246
+  %250 = fmul fast float %249, %244
+  %251 = fadd fast float %248, 5.000000e-01
+  %252 = fadd fast float %250, 5.000000e-01
+  %253 = call float @dx.op.unary.f32(i32 27, float %251)  ; Round_ni(value)
+  %254 = call float @dx.op.unary.f32(i32 27, float %252)  ; Round_ni(value)
+  %255 = fadd fast float %253, -5.000000e-01
+  %256 = fadd fast float %254, -5.000000e-01
+  %257 = fmul fast float %255, %245
+  %258 = fmul fast float %256, %246
+  %259 = fadd fast float %253, 5.000000e-01
+  %260 = fadd fast float %254, 5.000000e-01
+  %261 = fmul fast float %259, %245
+  %262 = fmul fast float %260, %246
+  %263 = call float @dx.op.unary.f32(i32 22, float %251)  ; Frc(value)
+  %264 = call float @dx.op.unary.f32(i32 22, float %252)  ; Frc(value)
+  %265 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %257, float %258, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %266 = extractvalue %dx.types.ResRet.f32 %265, 0
+  %267 = fmul fast float %266, 0x3FEFE00000000000
+  %268 = fadd fast float %267, 1.953125e-03
+  %269 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %268, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %270 = extractvalue %dx.types.ResRet.f32 %269, 0
+  %271 = extractvalue %dx.types.ResRet.f32 %269, 1
+  %272 = extractvalue %dx.types.ResRet.f32 %269, 2
+  %273 = extractvalue %dx.types.ResRet.f32 %269, 3
+  %274 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %257, float %262, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %275 = extractvalue %dx.types.ResRet.f32 %274, 0
+  %276 = fmul fast float %275, 0x3FEFE00000000000
+  %277 = fadd fast float %276, 1.953125e-03
+  %278 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %277, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %279 = extractvalue %dx.types.ResRet.f32 %278, 0
+  %280 = extractvalue %dx.types.ResRet.f32 %278, 1
+  %281 = extractvalue %dx.types.ResRet.f32 %278, 2
+  %282 = extractvalue %dx.types.ResRet.f32 %278, 3
+  %283 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %261, float %258, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %284 = extractvalue %dx.types.ResRet.f32 %283, 0
+  %285 = fmul fast float %284, 0x3FEFE00000000000
+  %286 = fadd fast float %285, 1.953125e-03
+  %287 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %286, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %288 = extractvalue %dx.types.ResRet.f32 %287, 0
+  %289 = extractvalue %dx.types.ResRet.f32 %287, 1
+  %290 = extractvalue %dx.types.ResRet.f32 %287, 2
+  %291 = extractvalue %dx.types.ResRet.f32 %287, 3
+  %292 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %261, float %262, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %293 = extractvalue %dx.types.ResRet.f32 %292, 0
+  %294 = fmul fast float %293, 0x3FEFE00000000000
+  %295 = fadd fast float %294, 1.953125e-03
+  %296 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %295, float 5.000000e-01, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %297 = extractvalue %dx.types.ResRet.f32 %296, 0
+  %298 = extractvalue %dx.types.ResRet.f32 %296, 1
+  %299 = extractvalue %dx.types.ResRet.f32 %296, 2
+  %300 = extractvalue %dx.types.ResRet.f32 %296, 3
+  %301 = fsub fast float %297, %288
+  %302 = fsub fast float %298, %289
+  %303 = fsub fast float %299, %290
+  %304 = fsub fast float %300, %291
+  %305 = fmul fast float %301, %264
+  %306 = fmul fast float %302, %264
+  %307 = fmul fast float %303, %264
+  %308 = fmul fast float %304, %264
+  %309 = fsub fast float %279, %270
+  %310 = fsub fast float %280, %271
+  %311 = fsub fast float %281, %272
+  %312 = fsub fast float %282, %273
+  %313 = fmul fast float %309, %264
+  %314 = fmul fast float %310, %264
+  %315 = fmul fast float %311, %264
+  %316 = fmul fast float %312, %264
+  %317 = fadd fast float %313, %270
+  %318 = fadd fast float %314, %271
+  %319 = fadd fast float %315, %272
+  %320 = fadd fast float %316, %273
+  %321 = fsub fast float %288, %317
+  %322 = fadd fast float %321, %305
+  %323 = fsub fast float %289, %318
+  %324 = fadd fast float %323, %306
+  %325 = fsub fast float %290, %319
+  %326 = fadd fast float %325, %307
+  %327 = fsub fast float %291, %320
+  %328 = fadd fast float %327, %308
+  %329 = fmul fast float %322, %263
+  %330 = fmul fast float %324, %263
+  %331 = fmul fast float %326, %263
+  %332 = fmul fast float %328, %263
+  %333 = fadd fast float %329, %317
+  %334 = fadd fast float %330, %318
+  %335 = fadd fast float %331, %319
+  %336 = fadd fast float %332, %320
+  br label %428
+
+; <label>:337                                     ; preds = %193
+  %338 = fcmp fast oeq float %14, 6.000000e+00
+  br i1 %338, label %339, label %367
+
+; <label>:339                                     ; preds = %337
+  %340 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %341 = extractvalue %dx.types.ResRet.f32 %340, 0
+  %342 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %343 = extractvalue %dx.types.ResRet.f32 %342, 0
+  %344 = extractvalue %dx.types.ResRet.f32 %342, 1
+  %345 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 3)  ; CBufferLoadLegacy(handle,regIndex)
+  %346 = extractvalue %dx.types.CBufRet.f32 %345, 0
+  %347 = extractvalue %dx.types.CBufRet.f32 %345, 1
+  %348 = extractvalue %dx.types.CBufRet.f32 %345, 2
+  %349 = fadd fast float %346, %341
+  %350 = fadd fast float %347, %343
+  %351 = fadd fast float %348, %344
+  %352 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 4)  ; CBufferLoadLegacy(handle,regIndex)
+  %353 = extractvalue %dx.types.CBufRet.f32 %352, 0
+  %354 = extractvalue %dx.types.CBufRet.f32 %352, 1
+  %355 = extractvalue %dx.types.CBufRet.f32 %352, 2
+  %356 = call float @dx.op.dot3.f32(i32 55, float %349, float %350, float %351, float %353, float %354, float %355)  ; Dot3(ax,ay,az,bx,by,bz)
+  %357 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 5)  ; CBufferLoadLegacy(handle,regIndex)
+  %358 = extractvalue %dx.types.CBufRet.f32 %357, 0
+  %359 = extractvalue %dx.types.CBufRet.f32 %357, 1
+  %360 = extractvalue %dx.types.CBufRet.f32 %357, 2
+  %361 = call float @dx.op.dot3.f32(i32 55, float %349, float %350, float %351, float %358, float %359, float %360)  ; Dot3(ax,ay,az,bx,by,bz)
+  %362 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 6)  ; CBufferLoadLegacy(handle,regIndex)
+  %363 = extractvalue %dx.types.CBufRet.f32 %362, 0
+  %364 = extractvalue %dx.types.CBufRet.f32 %362, 1
+  %365 = extractvalue %dx.types.CBufRet.f32 %362, 2
+  %366 = call float @dx.op.dot3.f32(i32 55, float %349, float %350, float %351, float %363, float %364, float %365)  ; Dot3(ax,ay,az,bx,by,bz)
+  br label %428
+
+; <label>:367                                     ; preds = %337
+  %368 = fcmp fast oeq float %14, 7.000000e+00
+  br i1 %368, label %369, label %397
+
+; <label>:369                                     ; preds = %367
+  %370 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %371 = extractvalue %dx.types.ResRet.f32 %370, 0
+  %372 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %373 = extractvalue %dx.types.ResRet.f32 %372, 0
+  %374 = extractvalue %dx.types.ResRet.f32 %372, 1
+  %375 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 3)  ; CBufferLoadLegacy(handle,regIndex)
+  %376 = extractvalue %dx.types.CBufRet.f32 %375, 0
+  %377 = extractvalue %dx.types.CBufRet.f32 %375, 1
+  %378 = extractvalue %dx.types.CBufRet.f32 %375, 2
+  %379 = fadd fast float %376, %371
+  %380 = fadd fast float %377, %374
+  %381 = fadd fast float %378, %373
+  %382 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 4)  ; CBufferLoadLegacy(handle,regIndex)
+  %383 = extractvalue %dx.types.CBufRet.f32 %382, 0
+  %384 = extractvalue %dx.types.CBufRet.f32 %382, 1
+  %385 = extractvalue %dx.types.CBufRet.f32 %382, 2
+  %386 = call float @dx.op.dot3.f32(i32 55, float %379, float %380, float %381, float %383, float %384, float %385)  ; Dot3(ax,ay,az,bx,by,bz)
+  %387 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 5)  ; CBufferLoadLegacy(handle,regIndex)
+  %388 = extractvalue %dx.types.CBufRet.f32 %387, 0
+  %389 = extractvalue %dx.types.CBufRet.f32 %387, 1
+  %390 = extractvalue %dx.types.CBufRet.f32 %387, 2
+  %391 = call float @dx.op.dot3.f32(i32 55, float %379, float %380, float %381, float %388, float %389, float %390)  ; Dot3(ax,ay,az,bx,by,bz)
+  %392 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 6)  ; CBufferLoadLegacy(handle,regIndex)
+  %393 = extractvalue %dx.types.CBufRet.f32 %392, 0
+  %394 = extractvalue %dx.types.CBufRet.f32 %392, 1
+  %395 = extractvalue %dx.types.CBufRet.f32 %392, 2
+  %396 = call float @dx.op.dot3.f32(i32 55, float %379, float %380, float %381, float %393, float %394, float %395)  ; Dot3(ax,ay,az,bx,by,bz)
+  br label %428
+
+; <label>:397                                     ; preds = %367
+  %398 = fcmp fast oeq float %14, 8.000000e+00
+  br i1 %398, label %399, label %428
+
+; <label>:399                                     ; preds = %397
+  %400 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %401 = extractvalue %dx.types.ResRet.f32 %400, 0
+  %402 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %403 = extractvalue %dx.types.ResRet.f32 %402, 0
+  %404 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %1, %dx.types.Handle %5, float %11, float %12, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %405 = extractvalue %dx.types.ResRet.f32 %404, 0
+  %406 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 3)  ; CBufferLoadLegacy(handle,regIndex)
+  %407 = extractvalue %dx.types.CBufRet.f32 %406, 0
+  %408 = extractvalue %dx.types.CBufRet.f32 %406, 1
+  %409 = extractvalue %dx.types.CBufRet.f32 %406, 2
+  %410 = fadd fast float %407, %401
+  %411 = fadd fast float %408, %403
+  %412 = fadd fast float %409, %405
+  %413 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 4)  ; CBufferLoadLegacy(handle,regIndex)
+  %414 = extractvalue %dx.types.CBufRet.f32 %413, 0
+  %415 = extractvalue %dx.types.CBufRet.f32 %413, 1
+  %416 = extractvalue %dx.types.CBufRet.f32 %413, 2
+  %417 = call float @dx.op.dot3.f32(i32 55, float %410, float %411, float %412, float %414, float %415, float %416)  ; Dot3(ax,ay,az,bx,by,bz)
+  %418 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 5)  ; CBufferLoadLegacy(handle,regIndex)
+  %419 = extractvalue %dx.types.CBufRet.f32 %418, 0
+  %420 = extractvalue %dx.types.CBufRet.f32 %418, 1
+  %421 = extractvalue %dx.types.CBufRet.f32 %418, 2
+  %422 = call float @dx.op.dot3.f32(i32 55, float %410, float %411, float %412, float %419, float %420, float %421)  ; Dot3(ax,ay,az,bx,by,bz)
+  %423 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 6)  ; CBufferLoadLegacy(handle,regIndex)
+  %424 = extractvalue %dx.types.CBufRet.f32 %423, 0
+  %425 = extractvalue %dx.types.CBufRet.f32 %423, 1
+  %426 = extractvalue %dx.types.CBufRet.f32 %423, 2
+  %427 = call float @dx.op.dot3.f32(i32 55, float %410, float %411, float %412, float %424, float %425, float %426)  ; Dot3(ax,ay,az,bx,by,bz)
+  br label %428
+
+; <label>:428                                     ; preds = %399, %397, %369, %339, %195, %99, %87, %26, %18, %0
+  %429 = phi float [ %20, %18 ], [ %81, %26 ], [ %93, %87 ], [ %189, %99 ], [ %333, %195 ], [ %356, %339 ], [ %386, %369 ], [ %417, %399 ], [ 1.000000e+00, %0 ], [ 1.000000e+00, %397 ]
+  %430 = phi float [ %21, %18 ], [ %82, %26 ], [ %94, %87 ], [ %190, %99 ], [ %334, %195 ], [ %361, %339 ], [ %391, %369 ], [ %422, %399 ], [ 1.000000e+00, %0 ], [ 0.000000e+00, %397 ]
+  %431 = phi float [ %22, %18 ], [ %83, %26 ], [ %95, %87 ], [ %191, %99 ], [ %335, %195 ], [ %366, %339 ], [ %396, %369 ], [ %427, %399 ], [ 1.000000e+00, %0 ], [ 1.000000e+00, %397 ]
+  %432 = phi float [ %23, %18 ], [ %84, %26 ], [ %96, %87 ], [ %192, %99 ], [ %336, %195 ], [ 1.000000e+00, %339 ], [ 1.000000e+00, %369 ], [ 1.000000e+00, %399 ], [ 1.000000e+00, %0 ], [ 1.000000e+00, %397 ]
+  %433 = extractvalue %dx.types.CBufRet.f32 %13, 2
+  %434 = fcmp fast oeq float %433, 3.000000e+00
+  br i1 %434, label %435, label %483
+
+; <label>:435                                     ; preds = %428
+  %436 = call float @dx.op.unary.f32(i32 6, float %429)  ; FAbs(value)
+  %437 = call float @dx.op.unary.f32(i32 6, float %430)  ; FAbs(value)
+  %438 = call float @dx.op.unary.f32(i32 6, float %431)  ; FAbs(value)
+  %439 = call float @dx.op.unary.f32(i32 23, float %436)  ; Log(value)
+  %440 = call float @dx.op.unary.f32(i32 23, float %437)  ; Log(value)
+  %441 = call float @dx.op.unary.f32(i32 23, float %438)  ; Log(value)
+  %442 = fmul fast float %439, 0x3F89F9B580000000
+  %443 = fmul fast float %440, 0x3F89F9B580000000
+  %444 = fmul fast float %441, 0x3F89F9B580000000
+  %445 = call float @dx.op.unary.f32(i32 21, float %442)  ; Exp(value)
+  %446 = call float @dx.op.unary.f32(i32 21, float %443)  ; Exp(value)
+  %447 = call float @dx.op.unary.f32(i32 21, float %444)  ; Exp(value)
+  %448 = fadd fast float %445, -8.359375e-01
+  %449 = fadd fast float %446, -8.359375e-01
+  %450 = fadd fast float %447, -8.359375e-01
+  %451 = call float @dx.op.binary.f32(i32 35, float %448, float 0.000000e+00)  ; FMax(a,b)
+  %452 = call float @dx.op.binary.f32(i32 35, float %449, float 0.000000e+00)  ; FMax(a,b)
+  %453 = call float @dx.op.binary.f32(i32 35, float %450, float 0.000000e+00)  ; FMax(a,b)
+  %454 = fmul fast float %445, 1.868750e+01
+  %455 = fmul fast float %446, 1.868750e+01
+  %456 = fmul fast float %447, 1.868750e+01
+  %457 = fsub fast float 0x4032DA0000000000, %454
+  %458 = fsub fast float 0x4032DA0000000000, %455
+  %459 = fsub fast float 0x4032DA0000000000, %456
+  %460 = fdiv fast float %451, %457
+  %461 = fdiv fast float %452, %458
+  %462 = fdiv fast float %453, %459
+  %463 = call float @dx.op.unary.f32(i32 6, float %460)  ; FAbs(value)
+  %464 = call float @dx.op.unary.f32(i32 6, float %461)  ; FAbs(value)
+  %465 = call float @dx.op.unary.f32(i32 6, float %462)  ; FAbs(value)
+  %466 = call float @dx.op.unary.f32(i32 23, float %463)  ; Log(value)
+  %467 = call float @dx.op.unary.f32(i32 23, float %464)  ; Log(value)
+  %468 = call float @dx.op.unary.f32(i32 23, float %465)  ; Log(value)
+  %469 = fmul fast float %466, 0x40191C0D60000000
+  %470 = fmul fast float %467, 0x40191C0D60000000
+  %471 = fmul fast float %468, 0x40191C0D60000000
+  %472 = call float @dx.op.unary.f32(i32 21, float %469)  ; Exp(value)
+  %473 = call float @dx.op.unary.f32(i32 21, float %470)  ; Exp(value)
+  %474 = call float @dx.op.unary.f32(i32 21, float %471)  ; Exp(value)
+  %475 = fmul fast float %472, 1.000000e+04
+  %476 = fmul fast float %473, 1.000000e+04
+  %477 = fmul fast float %474, 1.000000e+04
+  %478 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 2)  ; CBufferLoadLegacy(handle,regIndex)
+  %479 = extractvalue %dx.types.CBufRet.f32 %478, 3
+  %480 = fdiv fast float %475, %479
+  %481 = fdiv fast float %476, %479
+  %482 = fdiv fast float %477, %479
+  br label %533
+
+; <label>:483                                     ; preds = %428
+  %484 = fcmp fast oeq float %433, 1.000000e+00
+  br i1 %484, label %485, label %520
+
+; <label>:485                                     ; preds = %483
+  %486 = fcmp fast ugt float %429, 0x3FA4B5DCC0000000
+  br i1 %486, label %489, label %487
+
+; <label>:487                                     ; preds = %485
+  %488 = fmul fast float %429, 0x3FB3D07220000000
+  br label %496
+
+; <label>:489                                     ; preds = %485
+  %490 = fadd fast float %429, 0x3FAC28F5C0000000
+  %491 = call float @dx.op.unary.f32(i32 6, float %490)  ; FAbs(value)
+  %492 = fmul fast float %491, 0x3FEE54EDE0000000
+  %493 = call float @dx.op.unary.f32(i32 23, float %492)  ; Log(value)
+  %494 = fmul fast float %493, 0x4003333340000000
+  %495 = call float @dx.op.unary.f32(i32 21, float %494)  ; Exp(value)
+  br label %496
+
+; <label>:496                                     ; preds = %489, %487
+  %497 = phi float [ %488, %487 ], [ %495, %489 ]
+  %498 = fcmp fast ugt float %430, 0x3FA4B5DCC0000000
+  br i1 %498, label %501, label %499
+
+; <label>:499                                     ; preds = %496
+  %500 = fmul fast float %430, 0x3FB3D07220000000
+  br label %508
+
+; <label>:501                                     ; preds = %496
+  %502 = fadd fast float %430, 0x3FAC28F5C0000000
+  %503 = call float @dx.op.unary.f32(i32 6, float %502)  ; FAbs(value)
+  %504 = fmul fast float %503, 0x3FEE54EDE0000000
+  %505 = call float @dx.op.unary.f32(i32 23, float %504)  ; Log(value)
+  %506 = fmul fast float %505, 0x4003333340000000
+  %507 = call float @dx.op.unary.f32(i32 21, float %506)  ; Exp(value)
+  br label %508
+
+; <label>:508                                     ; preds = %501, %499
+  %509 = phi float [ %500, %499 ], [ %507, %501 ]
+  %510 = fcmp fast ugt float %431, 0x3FA4B5DCC0000000
+  br i1 %510, label %513, label %511
+
+; <label>:511                                     ; preds = %508
+  %512 = fmul fast float %431, 0x3FB3D07220000000
+  br label %520
+
+; <label>:513                                     ; preds = %508
+  %514 = fadd fast float %431, 0x3FAC28F5C0000000
+  %515 = call float @dx.op.unary.f32(i32 6, float %514)  ; FAbs(value)
+  %516 = fmul fast float %515, 0x3FEE54EDE0000000
+  %517 = call float @dx.op.unary.f32(i32 23, float %516)  ; Log(value)
+  %518 = fmul fast float %517, 0x4003333340000000
+  %519 = call float @dx.op.unary.f32(i32 21, float %518)  ; Exp(value)
+  br label %520
+
+; <label>:520                                     ; preds = %513, %511, %483
+  %521 = phi float [ %429, %483 ], [ %497, %513 ], [ %497, %511 ]
+  %522 = phi float [ %430, %483 ], [ %509, %513 ], [ %509, %511 ]
+  %523 = phi float [ %431, %483 ], [ %519, %513 ], [ %512, %511 ]
+  %524 = fmul fast float %521, 0x3FE413B180000000
+  %525 = call float @dx.op.tertiary.f32(i32 46, float 0x3FD512F900000000, float %522, float %524)  ; FMad(a,b,c)
+  %526 = call float @dx.op.tertiary.f32(i32 46, float 0x3FA62D1F20000000, float %523, float %525)  ; FMad(a,b,c)
+  %527 = fmul fast float %521, 0x3FB1B05740000000
+  %528 = call float @dx.op.tertiary.f32(i32 46, float 0x3FED6CE140000000, float %522, float %527)  ; FMad(a,b,c)
+  %529 = call float @dx.op.tertiary.f32(i32 46, float 0x3F8744F5E0000000, float %523, float %528)  ; FMad(a,b,c)
+  %530 = fmul fast float %521, 0x3F90C8CD60000000
+  %531 = call float @dx.op.tertiary.f32(i32 46, float 0x3FB6880520000000, float %522, float %530)  ; FMad(a,b,c)
+  %532 = call float @dx.op.tertiary.f32(i32 46, float 0x3FECA8B6E0000000, float %523, float %531)  ; FMad(a,b,c)
+  br label %533
+
+; <label>:533                                     ; preds = %520, %435
+  %534 = phi float [ %480, %435 ], [ %526, %520 ]
+  %535 = phi float [ %481, %435 ], [ %529, %520 ]
+  %536 = phi float [ %482, %435 ], [ %532, %520 ]
+  %537 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %6, i32 2)  ; CBufferLoadLegacy(handle,regIndex)
+  %538 = extractvalue %dx.types.CBufRet.f32 %537, 0
+  %539 = fcmp fast une float %538, 0.000000e+00
+  br i1 %539, label %540, label %564
+
+; <label>:540                                     ; preds = %533
+  %541 = fcmp fast oeq float %538, 1.000000e+00
+  br i1 %541, label %542, label %547
+
+; <label>:542                                     ; preds = %540
+  %543 = extractvalue %dx.types.CBufRet.f32 %537, 1
+  %544 = fmul fast float %543, %534
+  %545 = fmul fast float %543, %535
+  %546 = fmul fast float %543, %536
+  br label %564
+
+; <label>:547                                     ; preds = %540
+  %548 = fcmp fast oeq float %538, 2.000000e+00
+  br i1 %548, label %549, label %564
+
+; <label>:549                                     ; preds = %547
+  %550 = call float @dx.op.binary.f32(i32 35, float %535, float %536)  ; FMax(a,b)
+  %551 = call float @dx.op.binary.f32(i32 35, float %534, float %550)  ; FMax(a,b)
+  %552 = fcmp fast ogt float %551, 0.000000e+00
+  br i1 %552, label %553, label %564
+
+; <label>:553                                     ; preds = %549
+  %554 = extractvalue %dx.types.CBufRet.f32 %537, 1
+  %555 = fmul fast float %551, %554
+  %556 = fadd fast float %555, 1.000000e+00
+  %557 = extractvalue %dx.types.CBufRet.f32 %537, 2
+  %558 = fmul fast float %551, %557
+  %559 = fadd fast float %558, 1.000000e+00
+  %560 = fdiv fast float %556, %559
+  %561 = fmul fast float %560, %534
+  %562 = fmul fast float %560, %535
+  %563 = fmul fast float %560, %536
+  br label %564
+
+; <label>:564                                     ; preds = %553, %549, %547, %542, %533
+  %565 = phi float [ %534, %533 ], [ %544, %542 ], [ %561, %553 ], [ %534, %549 ], [ %534, %547 ]
+  %566 = phi float [ %535, %533 ], [ %545, %542 ], [ %562, %553 ], [ %535, %549 ], [ %535, %547 ]
+  %567 = phi float [ %536, %533 ], [ %546, %542 ], [ %563, %553 ], [ %536, %549 ], [ %536, %547 ]
+  %568 = extractvalue %dx.types.CBufRet.f32 %13, 3
+  %569 = fmul fast float %568, 0x3F80624DE0000000
+  %570 = fmul fast float %569, %7
+  %571 = fmul fast float %570, %565
+  %572 = fmul fast float %569, %8
+  %573 = fmul fast float %572, %566
+  %574 = fmul fast float %569, %9
+  %575 = fmul fast float %574, %567
+  %576 = call float @dx.op.unary.f32(i32 7, float %571)  ; Saturate(value)
+  %577 = call float @dx.op.unary.f32(i32 7, float %573)  ; Saturate(value)
+  %578 = call float @dx.op.unary.f32(i32 7, float %575)  ; Saturate(value)
+  %579 = call float @dx.op.unary.f32(i32 6, float %576)  ; FAbs(value)
+  %580 = call float @dx.op.unary.f32(i32 6, float %577)  ; FAbs(value)
+  %581 = call float @dx.op.unary.f32(i32 6, float %578)  ; FAbs(value)
+  %582 = call float @dx.op.unary.f32(i32 23, float %579)  ; Log(value)
+  %583 = call float @dx.op.unary.f32(i32 23, float %580)  ; Log(value)
+  %584 = call float @dx.op.unary.f32(i32 23, float %581)  ; Log(value)
+  %585 = fmul fast float %582, 0x3FC4640000000000
+  %586 = fmul fast float %583, 0x3FC4640000000000
+  %587 = fmul fast float %584, 0x3FC4640000000000
+  %588 = call float @dx.op.unary.f32(i32 21, float %585)  ; Exp(value)
+  %589 = call float @dx.op.unary.f32(i32 21, float %586)  ; Exp(value)
+  %590 = call float @dx.op.unary.f32(i32 21, float %587)  ; Exp(value)
+  %591 = fmul fast float %588, 0x4032DA0000000000
+  %592 = fmul fast float %589, 0x4032DA0000000000
+  %593 = fmul fast float %590, 0x4032DA0000000000
+  %594 = fadd fast float %591, 8.359375e-01
+  %595 = fadd fast float %592, 8.359375e-01
+  %596 = fadd fast float %593, 8.359375e-01
+  %597 = fmul fast float %588, 1.868750e+01
+  %598 = fmul fast float %589, 1.868750e+01
+  %599 = fmul fast float %590, 1.868750e+01
+  %600 = fadd fast float %597, 1.000000e+00
+  %601 = fadd fast float %598, 1.000000e+00
+  %602 = fadd fast float %599, 1.000000e+00
+  %603 = fdiv fast float %594, %600
+  %604 = fdiv fast float %595, %601
+  %605 = fdiv fast float %596, %602
+  %606 = call float @dx.op.unary.f32(i32 6, float %603)  ; FAbs(value)
+  %607 = call float @dx.op.unary.f32(i32 6, float %604)  ; FAbs(value)
+  %608 = call float @dx.op.unary.f32(i32 6, float %605)  ; FAbs(value)
+  %609 = call float @dx.op.unary.f32(i32 23, float %606)  ; Log(value)
+  %610 = call float @dx.op.unary.f32(i32 23, float %607)  ; Log(value)
+  %611 = call float @dx.op.unary.f32(i32 23, float %608)  ; Log(value)
+  %612 = fmul fast float %609, 7.884375e+01
+  %613 = fmul fast float %610, 7.884375e+01
+  %614 = fmul fast float %611, 7.884375e+01
+  %615 = call float @dx.op.unary.f32(i32 21, float %612)  ; Exp(value)
+  %616 = call float @dx.op.unary.f32(i32 21, float %613)  ; Exp(value)
+  %617 = call float @dx.op.unary.f32(i32 21, float %614)  ; Exp(value)
+  %618 = fmul fast float %432, %10
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %615)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %616)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %617)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %618)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  ret void
+}
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
+
+; Function Attrs: nounwind
+declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
+
+; Function Attrs: nounwind readonly
+declare %dx.types.ResRet.f32 @dx.op.sample.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #2
+
+; Function Attrs: nounwind readonly
+declare %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float, float, float, float, float, float, float) #2
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.unary.f32(i32, float) #0
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.dot3.f32(i32, float, float, float, float, float, float) #0
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.binary.f32(i32, float, float) #0
+
+; Function Attrs: nounwind readonly
+declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.tertiary.f32(i32, float, float, float) #0
+
+; Function Attrs: nounwind readonly
+declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
+
+attributes #0 = { nounwind readnone }
+attributes #1 = { nounwind }
+attributes #2 = { nounwind readonly }
+
+!llvm.ident = !{!0}
+!dx.version = !{!1}
+!dx.valver = !{!2}
+!dx.shaderModel = !{!3}
+!dx.resources = !{!4}
+!dx.viewIdState = !{!15}
+!dx.entryPoints = !{!16}
+
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
+!1 = !{i32 1, i32 0}
+!2 = !{i32 1, i32 8}
+!3 = !{!"ps", i32 6, i32 0}
+!4 = !{!5, null, !10, !12}
+!5 = !{!6, !8, !9}
+!6 = !{i32 0, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 0, i32 1, i32 2, i32 0, !7}
+!7 = !{i32 0, i32 9}
+!8 = !{i32 1, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 1, i32 1, i32 2, i32 0, !7}
+!9 = !{i32 2, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 2, i32 1, i32 2, i32 0, !7}
+!10 = !{!11}
+!11 = !{i32 0, %Constants* undef, !"", i32 0, i32 1, i32 1, i32 112, null}
+!12 = !{!13, !14}
+!13 = !{i32 0, %struct.SamplerState* undef, !"", i32 0, i32 0, i32 1, i32 0, null}
+!14 = !{i32 1, %struct.SamplerState* undef, !"", i32 0, i32 1, i32 1, i32 0, null}
+!15 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 15, i32 15, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
+!16 = !{void ()* @main, !"main", !17, !4, null}
+!17 = !{!18, !25, null}
+!18 = !{!19, !21, !23}
+!19 = !{i32 0, !"SV_Position", i8 9, i8 3, !20, i8 4, i32 1, i8 4, i32 0, i8 0, null}
+!20 = !{i32 0}
+!21 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !20, i8 2, i32 1, i8 2, i32 1, i8 0, !22}
+!22 = !{i32 3, i32 3}
+!23 = !{i32 2, !"COLOR", i8 9, i8 0, !20, i8 2, i32 1, i8 4, i32 2, i8 0, !24}
+!24 = !{i32 3, i32 15}
+!25 = !{!26}
+!26 = !{i32 0, !"SV_Target", i8 9, i8 16, !20, i8 0, i32 1, i8 4, i32 0, i8 0, !24}
+
+#endif
+
+const unsigned char g_main[] = {
+  0x44, 0x58, 0x42, 0x43, 0x26, 0xf9, 0x42, 0x7c, 0xfc, 0x89, 0xca, 0x47,
+  0xc7, 0x56, 0x29, 0xec, 0x04, 0x4c, 0xfb, 0x3b, 0x01, 0x00, 0x00, 0x00,
+  0x60, 0x27, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
+  0x88, 0x02, 0x00, 0x00, 0xb4, 0x03, 0x00, 0x00, 0xa4, 0x0d, 0x00, 0x00,
+  0xc0, 0x0d, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
+  0x84, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
+  0x4f, 0x52, 0x00, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x68, 0x01, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x52, 0x54, 0x53, 0x30, 0x24, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x24, 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+  0x01, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
+  0xec, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+  0x53, 0x54, 0x41, 0x54, 0xe8, 0x09, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x7a, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd0, 0x09, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
+  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
+  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02,
+  0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
+  0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
+  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4, 0x50,
+  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46, 0x06,
+  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
+  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
+  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
+  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
+  0x89, 0x20, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x32, 0x22, 0x88, 0x09,
+  0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23, 0xe3,
+  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4, 0x4c,
+  0x10, 0xa4, 0xc1, 0x08, 0x40, 0x09, 0x00, 0x0a, 0x66, 0x00, 0xe6, 0x08,
+  0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10, 0x44, 0x41, 0x90, 0x51,
+  0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4, 0xa6, 0xe1, 0xf2, 0x27, 0xec,
+  0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x51, 0x31,
+  0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92,
+  0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a, 0xa3, 0x10, 0x0c, 0x33,
+  0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x91, 0x14, 0x82, 0x61, 0x86,
+  0x61, 0x18, 0x08, 0x82, 0x18, 0x86, 0x61, 0x18, 0x86, 0x81, 0x9e, 0x32,
+  0x0c, 0xc4, 0x40, 0x51, 0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0x68,
+  0x2a, 0xc4, 0x40, 0x0c, 0x03, 0x55, 0x47, 0x0d, 0x97, 0x3f, 0x61, 0x0f,
+  0x21, 0xf9, 0xdc, 0x46, 0x15, 0x2b, 0x31, 0xf9, 0xc5, 0x6d, 0x23, 0x62,
+  0x18, 0x86, 0xa1, 0x10, 0x17, 0xc1, 0x10, 0x84, 0x95, 0x62, 0x20, 0x86,
+  0x61, 0x20, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0xc1, 0x51,
+  0x37, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43,
+  0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43,
+  0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3,
+  0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43,
+  0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81,
+  0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43,
+  0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d,
+  0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e,
+  0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c,
+  0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d,
+  0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f,
+  0x90, 0x00, 0x86, 0x24, 0x5e, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24,
+  0xa1, 0x66, 0x18, 0x86, 0x01, 0x1c, 0x86, 0x61, 0x00, 0x41, 0x10, 0x24,
+  0xf2, 0x26, 0x69, 0x8a, 0x28, 0x61, 0xf2, 0x59, 0x80, 0x79, 0x16, 0x22,
+  0x62, 0x27, 0x60, 0x22, 0x50, 0x40, 0x90, 0x99, 0x0e, 0x04, 0x00, 0x00,
+  0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79,
+  0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e,
+  0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07,
+  0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
+  0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07,
+  0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
+  0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20,
+  0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34,
+  0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
+  0x79, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+  0xc8, 0x13, 0x01, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xc0, 0x90, 0x67, 0x02, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x80, 0x21, 0x4f, 0x05, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x43, 0x1e, 0x0c, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x1a, 0x10, 0x00, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x3a, 0x20, 0x00, 0x06, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x01, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90,
+  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0,
+  0x18, 0x8a, 0xa0, 0x24, 0x0a, 0x3c, 0xa0, 0x0c, 0xca, 0xa1, 0x10, 0x0a,
+  0xa2, 0x30, 0x0a, 0xa4, 0x34, 0x0a, 0xa8, 0x90, 0x0a, 0xaa, 0xb0, 0x0a,
+  0xac, 0x00, 0x03, 0x0a, 0x34, 0xa0, 0x80, 0x03, 0xca, 0xa3, 0x48, 0x8a,
+  0xbe, 0xa0, 0xbc, 0x13, 0x8a, 0x86, 0x8a, 0x92, 0x28, 0x83, 0x42, 0x18,
+  0x01, 0x28, 0x82, 0x02, 0x21, 0xae, 0x06, 0x68, 0x9c, 0x01, 0x20, 0x72,
+  0x06, 0x80, 0xca, 0x19, 0x00, 0x3a, 0x67, 0x00, 0x08, 0x1d, 0xcb, 0x61,
+  0x08, 0x00, 0x00, 0x80, 0xe7, 0x01, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04,
+  0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x88, 0x65, 0x82, 0x40, 0x30, 0x1b, 0x84, 0x81, 0xd8,
+  0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02, 0xd1, 0x6c, 0x18, 0x0e,
+  0x84, 0x98, 0x20, 0x8c, 0x01, 0x1b, 0x10, 0xa1, 0x2b, 0xc3, 0xa3, 0xab,
+  0x93, 0x2b, 0x83, 0x99, 0x20, 0x10, 0xce, 0x04, 0x81, 0x78, 0x36, 0x08,
+  0x44, 0xb3, 0x21, 0x21, 0x94, 0x85, 0x20, 0x06, 0x86, 0x70, 0x88, 0xd0,
+  0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95, 0xc5, 0x6c, 0x48, 0x06, 0x05, 0x22,
+  0x86, 0x81, 0x21, 0x1c, 0x22, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+  0x32, 0x1b, 0x12, 0x46, 0x91, 0x08, 0x66, 0x60, 0x08, 0x67, 0xc3, 0xf0,
+  0x44, 0xd3, 0x04, 0xa1, 0x0c, 0xdc, 0x80, 0xc9, 0xd0, 0x9b, 0xdb, 0x1c,
+  0x5d, 0x98, 0x1b, 0xdd, 0xdc, 0x04, 0x81, 0x80, 0x36, 0x20, 0x44, 0x65,
+  0x11, 0xc3, 0x70, 0x01, 0x1b, 0x02, 0x6c, 0x82, 0x70, 0x06, 0x6f, 0x40,
+  0x64, 0x2e, 0xac, 0x0d, 0x8e, 0xad, 0x4c, 0x0e, 0x66, 0x03, 0x42, 0x68,
+  0x1b, 0x41, 0x0c, 0x04, 0x40, 0x64, 0x2e, 0xac, 0x0d, 0x8e, 0xad, 0x4c,
+  0x2e, 0x66, 0x03, 0x32, 0x68, 0x1d, 0x31, 0x0c, 0x04, 0xb0, 0x41, 0xe0,
+  0xbc, 0x0d, 0x04, 0x05, 0x64, 0xdf, 0x04, 0x81, 0x0c, 0xda, 0x80, 0xcc,
+  0xdc, 0x98, 0xd4, 0x91, 0xd0, 0xd7, 0x5b, 0x1d, 0x1d, 0x5c, 0x1d, 0xdd,
+  0x04, 0x81, 0x88, 0x26, 0x08, 0x84, 0xb4, 0xc1, 0x40, 0xc4, 0x60, 0x0c,
+  0x08, 0x32, 0x68, 0xc8, 0xd0, 0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95, 0x7d,
+  0xd1, 0xe5, 0xc1, 0x95, 0x4d, 0x10, 0x88, 0x69, 0x82, 0xc0, 0xad, 0xc1,
+  0x06, 0x04, 0x31, 0x83, 0x31, 0x38, 0x03, 0x32, 0x68, 0x1a, 0x34, 0xa0,
+  0x92, 0xe6, 0x06, 0x57, 0x47, 0xf7, 0x45, 0x97, 0x07, 0x57, 0x36, 0x41,
+  0x20, 0xa8, 0x0d, 0x08, 0xa2, 0x06, 0x63, 0xb0, 0x06, 0x64, 0xd0, 0x34,
+  0x68, 0xc0, 0x65, 0xec, 0x8d, 0xed, 0x4d, 0xee, 0x6b, 0x6e, 0x2c, 0x8c,
+  0xad, 0x6c, 0x82, 0x40, 0x54, 0x1b, 0x10, 0xa4, 0x0d, 0xc6, 0xc0, 0x0d,
+  0xc8, 0xa0, 0x69, 0xd0, 0x80, 0x0a, 0x5d, 0x19, 0x5e, 0x19, 0xdb, 0xd7,
+  0x5c, 0x9a, 0x5e, 0xd9, 0x04, 0x81, 0xb0, 0x26, 0x08, 0xc4, 0xb5, 0x41,
+  0x41, 0xe0, 0x60, 0x0c, 0xe2, 0x80, 0x0c, 0x9a, 0x06, 0x0d, 0xe4, 0xe0,
+  0x0c, 0xe8, 0xd0, 0xbd, 0xb9, 0x95, 0xb5, 0x85, 0xc1, 0x7d, 0xb5, 0x95,
+  0xd1, 0xa1, 0xbd, 0x91, 0x4d, 0x10, 0x08, 0x6c, 0x03, 0x82, 0xd0, 0xc1,
+  0x18, 0xd4, 0x01, 0x19, 0x34, 0x0d, 0x1a, 0xf0, 0xa1, 0x7b, 0x73, 0x2b,
+  0x6b, 0x0b, 0x83, 0xfb, 0x32, 0x0b, 0x1b, 0xa3, 0x7b, 0x93, 0x8b, 0x99,
+  0x20, 0x10, 0xd9, 0x06, 0x04, 0xb9, 0x83, 0x31, 0xc0, 0x03, 0x32, 0x68,
+  0x1a, 0x34, 0xe0, 0x43, 0xf7, 0xe6, 0x56, 0xd6, 0x16, 0x06, 0xf7, 0x65,
+  0x16, 0x36, 0x46, 0xf7, 0x26, 0x27, 0x33, 0x41, 0x20, 0xb4, 0x0d, 0x08,
+  0xa2, 0x07, 0x63, 0xb0, 0x07, 0x64, 0xd0, 0x34, 0x68, 0xc0, 0x67, 0x8e,
+  0x4c, 0xee, 0xeb, 0x0e, 0x2d, 0x8d, 0xae, 0xec, 0x0b, 0xee, 0x2d, 0xcd,
+  0x8d, 0x6e, 0x82, 0x40, 0x6c, 0x1b, 0x10, 0xa4, 0x0f, 0xc6, 0xc0, 0x0f,
+  0xc8, 0xa0, 0x69, 0xd0, 0x80, 0x47, 0xd6, 0x9b, 0x99, 0xd9, 0x5c, 0x19,
+  0xdd, 0x04, 0x81, 0xe0, 0x36, 0x28, 0x08, 0x28, 0x8c, 0x41, 0x28, 0x90,
+  0x41, 0xd3, 0xa0, 0x81, 0x1c, 0x9c, 0x01, 0x0d, 0xa9, 0xb1, 0xb7, 0x32,
+  0x33, 0xb3, 0x09, 0x02, 0xd1, 0x6d, 0x50, 0x90, 0x51, 0x18, 0x03, 0x52,
+  0x20, 0x83, 0xa6, 0x41, 0x03, 0x39, 0x38, 0x03, 0x1a, 0x47, 0x63, 0x6f,
+  0x65, 0x66, 0x66, 0x13, 0x04, 0xc2, 0xdb, 0xa0, 0x20, 0xa6, 0x30, 0x06,
+  0xa7, 0x40, 0x06, 0x4d, 0x83, 0x06, 0x72, 0x70, 0x06, 0x34, 0x84, 0xc6,
+  0xde, 0xca, 0xcc, 0xcc, 0x26, 0x08, 0xc4, 0xb7, 0x41, 0x41, 0x52, 0x61,
+  0x0c, 0x54, 0x81, 0x0c, 0x9a, 0x06, 0x0d, 0xe4, 0xe0, 0x0c, 0x36, 0x38,
+  0x57, 0x19, 0xa4, 0x01, 0x1b, 0xbc, 0xc1, 0x1c, 0xd8, 0x41, 0x1e, 0xf0,
+  0xc1, 0x1f, 0x88, 0x42, 0x29, 0xa0, 0xc2, 0x2a, 0x6c, 0x18, 0x88, 0x30,
+  0x60, 0x85, 0x09, 0x82, 0x00, 0x6c, 0x00, 0x36, 0x0c, 0xc4, 0x2b, 0xbc,
+  0xc2, 0x86, 0x00, 0x16, 0x36, 0x0c, 0x83, 0x2b, 0xc4, 0xc2, 0x04, 0x01,
+  0x0d, 0xe0, 0x60, 0x43, 0x30, 0x0b, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0xb8,
+  0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x4d,
+  0x10, 0x8a, 0x32, 0x98, 0x20, 0x14, 0x66, 0xb0, 0x21, 0x20, 0x26, 0x08,
+  0xc5, 0x19, 0x4c, 0x10, 0x0a, 0x34, 0xd8, 0xb0, 0x10, 0xb6, 0x70, 0x0b,
+  0xb8, 0x90, 0x0b, 0xba, 0x30, 0xe8, 0x02, 0xb1, 0x0b, 0x00, 0x11, 0xaa,
+  0x22, 0xac, 0xa1, 0xa7, 0x27, 0x29, 0xa2, 0x09, 0x42, 0x91, 0x06, 0x1b,
+  0x84, 0x31, 0x18, 0x83, 0x0d, 0xcb, 0xd0, 0x0b, 0xb7, 0xb0, 0x0b, 0xb9,
+  0xe0, 0x0b, 0x83, 0x2f, 0x0c, 0xbb, 0xf0, 0x0b, 0x2c, 0x86, 0x9e, 0x98,
+  0x9e, 0xa4, 0x26, 0x08, 0x04, 0x18, 0x6c, 0x10, 0xc6, 0x40, 0x1c, 0x36,
+  0x2c, 0x4c, 0x38, 0xdc, 0xc2, 0x2e, 0xe4, 0x82, 0x2f, 0x0c, 0xba, 0xc0,
+  0xec, 0xc2, 0x38, 0x6c, 0x18, 0x78, 0x01, 0x1c, 0xc8, 0x81, 0xc9, 0x94,
+  0xd5, 0x17, 0x55, 0x98, 0xdc, 0x59, 0x19, 0xdd, 0x04, 0xa1, 0x50, 0x83,
+  0x0d, 0x0b, 0x61, 0x0e, 0xb7, 0x70, 0x0e, 0xb9, 0xb0, 0x0b, 0x83, 0x2e,
+  0x10, 0xbb, 0x30, 0x0e, 0x1b, 0x02, 0x74, 0xd8, 0x30, 0x94, 0x43, 0x3a,
+  0x00, 0x1b, 0x0a, 0x57, 0xa8, 0x05, 0x75, 0x00, 0x03, 0x80, 0x88, 0x98,
+  0x5c, 0x98, 0xdb, 0x18, 0x5a, 0xd9, 0xdc, 0x04, 0x81, 0x08, 0x03, 0x1a,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x13, 0x04, 0x42, 0x0c, 0x58, 0xa4,
+  0xb9, 0xcd, 0xd1, 0xcd, 0x4d, 0x10, 0x88, 0x31, 0xa0, 0x31, 0x97, 0x76,
+  0xf6, 0xc5, 0x46, 0x46, 0x63, 0x2e, 0xed, 0xec, 0x6b, 0x8e, 0x8e, 0x08,
+  0x5d, 0x19, 0xde, 0xd7, 0x99, 0x5c, 0x18, 0x19, 0x11, 0xba, 0x32, 0xbc,
+  0x2f, 0xb7, 0x37, 0xb9, 0xb6, 0x09, 0x02, 0x41, 0x06, 0x1b, 0x1c, 0x76,
+  0x68, 0x07, 0x77, 0x78, 0x07, 0x78, 0x88, 0x07, 0x79, 0x40, 0xe6, 0xe1,
+  0x0c, 0xe8, 0x61, 0xa8, 0x07, 0x7b, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6,
+  0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9,
+  0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64,
+  0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x53, 0x82, 0xa2, 0x0e,
+  0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59,
+  0x19, 0xdb, 0x94, 0x00, 0x29, 0x43, 0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7,
+  0x56, 0x27, 0x37, 0x56, 0x36, 0x37, 0x25, 0xf8, 0x2a, 0x91, 0xe1, 0xb9,
+  0xd0, 0xe5, 0xc1, 0x95, 0x05, 0xb9, 0xb9, 0xbd, 0xd1, 0x85, 0xd1, 0xa5,
+  0xbd, 0xb9, 0xcd, 0x4d, 0x11, 0x58, 0x21, 0x16, 0xea, 0x90, 0xe1, 0xb9,
+  0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91, 0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d,
+  0x09, 0x66, 0xa1, 0x0e, 0x19, 0x9e, 0x4b, 0x99, 0x1b, 0x9d, 0x5c, 0x1e,
+  0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc, 0x94, 0x40, 0x1d, 0xba, 0x90, 0xe1,
+  0xb9, 0x8c, 0xbd, 0xd5, 0xb9, 0xd1, 0x95, 0xc9, 0xcd, 0x4d, 0x09, 0xec,
+  0x01, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00,
+  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
+  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
+  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
+  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
+  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
+  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
+  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
+  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
+  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
+  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
+  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
+  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
+  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
+  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
+  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
+  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
+  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
+  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
+  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
+  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
+  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
+  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4,
+  0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19,
+  0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06,
+  0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f,
+  0xf4, 0x30, 0x83, 0x81, 0xc8, 0x01, 0x1f, 0xdc, 0x40, 0x1c, 0xe4, 0xa1,
+  0x1c, 0xc2, 0x61, 0x1d, 0xdc, 0x40, 0x1c, 0xe4, 0x01, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x76, 0x00, 0x0d, 0x97,
+  0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0xc2,
+  0x36, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e,
+  0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x29, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x2f, 0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b,
+  0x61, 0x06, 0xce, 0x70, 0xf9, 0xce, 0xe3, 0x0f, 0xce, 0x74, 0xfb, 0xc5,
+  0x6d, 0x5b, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62,
+  0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f,
+  0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x46, 0x40, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42, 0x80, 0x11, 0x30, 0xf8, 0xc5,
+  0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04,
+  0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x5b, 0x82, 0x34, 0x5c, 0xbe,
+  0xf3, 0xf8, 0x13, 0x11, 0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x56,
+  0xf0, 0x0c, 0x97, 0xef, 0x3c, 0x3e, 0xd5, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xc4, 0x35, 0xb5, 0x05, 0x1c, 0x1c, 0xce, 0x90, 0xd7, 0x32, 0xd9, 0xea,
+  0x46, 0xb6, 0x15, 0x50, 0x44, 0x58, 0x49, 0x4c, 0x98, 0x19, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0x66, 0x06, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x19, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x5d, 0x06, 0x00, 0x00,
+  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
+  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
+  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
+  0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14,
+  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20,
+  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
+  0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
+  0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
+  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
+  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00,
+  0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84,
+  0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c, 0x8c,
+  0x0b, 0x84, 0xc4, 0x4c, 0x10, 0xa8, 0xc1, 0x08, 0x40, 0x09, 0x00, 0x0a,
+  0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10,
+  0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4, 0xa6,
+  0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc,
+  0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9,
+  0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a,
+  0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x91,
+  0x14, 0x82, 0x61, 0x86, 0x61, 0x18, 0x08, 0x82, 0x18, 0x86, 0x61, 0x18,
+  0x86, 0x81, 0x9e, 0x32, 0x0c, 0xc4, 0x40, 0x51, 0x41, 0x06, 0x62, 0x18,
+  0x86, 0x61, 0x18, 0x68, 0x2a, 0xc4, 0x40, 0x0c, 0x03, 0x55, 0x47, 0x0d,
+  0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0xdc, 0x46, 0x15, 0x2b, 0x31, 0xf9,
+  0xc5, 0x6d, 0x23, 0x62, 0x18, 0x86, 0xa1, 0x10, 0x17, 0xc1, 0x10, 0x84,
+  0x95, 0x62, 0x20, 0x86, 0x61, 0x20, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x43,
+  0x14, 0x04, 0xc1, 0x51, 0x37, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5,
+  0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94,
+  0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0,
+  0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98,
+  0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8,
+  0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc,
+  0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49,
+  0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1,
+  0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81,
+  0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0,
+  0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0,
+  0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x00, 0x86, 0x24, 0x5e, 0xc2, 0x39, 0x8d,
+  0x34, 0x01, 0xcd, 0x24, 0xa1, 0x66, 0x18, 0x86, 0x01, 0x1c, 0x86, 0x61,
+  0x00, 0x41, 0x10, 0x24, 0xf2, 0x26, 0x69, 0x8a, 0x28, 0x61, 0xf2, 0x59,
+  0x80, 0x79, 0x16, 0x22, 0x62, 0x27, 0x60, 0x22, 0x50, 0x40, 0x90, 0x99,
+  0x0e, 0xc4, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
+  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
+  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
+  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
+  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
+  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
+  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
+  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
+  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x18,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x01,
+  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02,
+  0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x4f,
+  0x05, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43,
+  0x1e, 0x0c, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x86, 0x3c, 0x1a, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x0c, 0x79, 0x3a, 0x20, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0xc8, 0x02, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
+  0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0, 0x20, 0x8a, 0xa1, 0x08,
+  0x4a, 0xa2, 0xc0, 0x03, 0xca, 0xa0, 0x3c, 0xa8, 0x28, 0x89, 0x32, 0x28,
+  0x84, 0x11, 0x80, 0x22, 0x28, 0x10, 0x1a, 0x67, 0x00, 0xa8, 0x9c, 0x01,
+  0xa0, 0x73, 0x06, 0x80, 0xd0, 0xb1, 0x1c, 0x86, 0x00, 0x00, 0x00, 0x78,
+  0x1e, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x71, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
+  0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27,
+  0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
+  0x65, 0x82, 0x40, 0x30, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xcd, 0x06,
+  0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08, 0x67, 0xc3, 0x80, 0x24,
+  0xc4, 0x04, 0x61, 0x0c, 0x34, 0x02, 0x13, 0x04, 0xe2, 0x99, 0x20, 0x10,
+  0xd0, 0x06, 0x81, 0x70, 0x36, 0x24, 0xc4, 0xc2, 0x10, 0xc4, 0xd0, 0x10,
+  0xcf, 0x86, 0x64, 0x58, 0x18, 0x62, 0x18, 0x1a, 0xe2, 0xd9, 0x90, 0x34,
+  0x0b, 0x43, 0x34, 0x43, 0x43, 0x3c, 0x1b, 0x06, 0x28, 0x92, 0x26, 0x08,
+  0x65, 0xb0, 0x4d, 0x10, 0x88, 0x68, 0x03, 0x42, 0x50, 0x0c, 0x31, 0x0c,
+  0x15, 0xb0, 0x21, 0xb0, 0x26, 0x08, 0x67, 0xc0, 0x6d, 0x40, 0x08, 0x8c,
+  0x21, 0x88, 0x81, 0x00, 0x36, 0x20, 0x03, 0xc6, 0x10, 0xc3, 0x40, 0x00,
+  0x1b, 0x84, 0x4c, 0xdb, 0x40, 0x4c, 0xc0, 0xb5, 0x4d, 0x10, 0xd0, 0xa0,
+  0xdb, 0x10, 0x74, 0x13, 0x04, 0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0xc6,
+  0x65, 0xca, 0xea, 0x0b, 0xea, 0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d,
+  0x82, 0x50, 0x50, 0x13, 0x84, 0xa2, 0xda, 0x10, 0x10, 0x13, 0x84, 0xc2,
+  0x9a, 0x20, 0x14, 0xd7, 0x86, 0x85, 0x08, 0x03, 0x31, 0x18, 0x03, 0x32,
+  0x28, 0x83, 0xa1, 0x0c, 0x08, 0x33, 0x00, 0x88, 0x50, 0x15, 0x61, 0x0d,
+  0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x0a, 0x6c, 0x82, 0x40, 0x48, 0x1b,
+  0x04, 0x35, 0x50, 0x83, 0x0d, 0xcb, 0x80, 0x06, 0x62, 0x60, 0x06, 0x64,
+  0x90, 0x06, 0x43, 0x1a, 0x0c, 0x66, 0xb0, 0x06, 0x2c, 0x86, 0x9e, 0x98,
+  0x9e, 0xa4, 0x26, 0x08, 0xc4, 0xb4, 0x41, 0x50, 0x03, 0x37, 0xd8, 0xb0,
+  0x34, 0x6d, 0x20, 0x06, 0x66, 0x40, 0x06, 0x69, 0x30, 0x94, 0x41, 0x63,
+  0x06, 0x6f, 0xb0, 0x61, 0x38, 0x03, 0x36, 0x80, 0x03, 0x26, 0x53, 0x56,
+  0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x13, 0x84, 0x22, 0xdb, 0xb0,
+  0x10, 0x72, 0x20, 0x06, 0x73, 0x40, 0x06, 0x66, 0x30, 0x94, 0x01, 0x61,
+  0x06, 0x6f, 0xb0, 0x21, 0xa0, 0x83, 0x0d, 0x43, 0x1c, 0xd4, 0x01, 0xb0,
+  0xa1, 0xf8, 0xc0, 0xc0, 0x0e, 0x38, 0xa0, 0x0a, 0x1b, 0x9b, 0x5d, 0x9b,
+  0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42, 0x86, 0xe7,
+  0x62, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90,
+  0xe1, 0xb9, 0xd8, 0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a,
+  0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64,
+  0x65, 0x6c, 0x53, 0x82, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9, 0xdc,
+  0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0x60, 0xab, 0x43, 0x86, 0xe7,
+  0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36,
+  0x25, 0xe8, 0xea, 0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41,
+  0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09, 0xec, 0x00, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8,
+  0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2,
+  0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x30, 0x83, 0x81,
+  0xc8, 0x01, 0x1f, 0xdc, 0x40, 0x1c, 0xe4, 0xa1, 0x1c, 0xc2, 0x61, 0x1d,
+  0xdc, 0x40, 0x1c, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00,
+  0x2a, 0x00, 0x00, 0x00, 0x76, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0x7e, 0x80,
+  0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0xc2, 0x36, 0x5c, 0xbe, 0xf3,
+  0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e, 0x30, 0x94, 0x84, 0x01,
+  0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x29, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
+  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x06, 0xce, 0x70,
+  0xf9, 0xce, 0xe3, 0x0f, 0xce, 0x74, 0xfb, 0xc5, 0x6d, 0x5b, 0xc0, 0x34,
+  0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f,
+  0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc, 0xb3,
+  0x10, 0x7e, 0x71, 0xdb, 0x46, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04,
+  0x30, 0xcf, 0x42, 0x80, 0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35,
+  0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35,
+  0xf9, 0xc5, 0x6d, 0x5b, 0x82, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x13, 0x11,
+  0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x56, 0xf0, 0x0c, 0x97, 0xef,
+  0x3c, 0x3e, 0xd5, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03,
+  0x20, 0x0d, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x8b, 0x04, 0x00, 0x00,
+  0x13, 0x04, 0x65, 0x10, 0x0b, 0x04, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
+  0xc4, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x44, 0x94, 0x5f, 0x21, 0x15, 0x6a,
+  0x40, 0x99, 0x06, 0x14, 0x57, 0xc9, 0x95, 0x42, 0x39, 0x94, 0x4d, 0xb1,
+  0x94, 0x5b, 0x19, 0x15, 0x42, 0xa9, 0x94, 0x4b, 0xd9, 0x15, 0xde, 0x0c,
+  0x00, 0x0d, 0x63, 0x04, 0xef, 0x9e, 0x96, 0xf7, 0x37, 0x46, 0xa0, 0xb3,
+  0xe6, 0x1c, 0x82, 0xc1, 0x18, 0x01, 0x08, 0xa2, 0xa6, 0xf8, 0x8d, 0x11,
+  0x80, 0x20, 0xc8, 0xd6, 0xdf, 0x18, 0x01, 0x08, 0xb2, 0x7b, 0x1a, 0x06,
+  0x63, 0x04, 0x20, 0x08, 0x82, 0x28, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08,
+  0xaa, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0xc8, 0x82, 0xc1, 0x18, 0x01,
+  0x08, 0x82, 0xa0, 0x0b, 0x06, 0x63, 0x04, 0x20, 0x08, 0x82, 0x30, 0x18,
+  0x8c, 0x11, 0xb0, 0xec, 0x19, 0xca, 0xdf, 0x18, 0x01, 0xea, 0x97, 0xb1,
+  0xfa, 0x8d, 0x11, 0xe4, 0xa7, 0x2e, 0xce, 0xde, 0x18, 0x81, 0x5e, 0x83,
+  0x3b, 0xee, 0x8d, 0x11, 0xa8, 0x78, 0x6e, 0xdb, 0xdf, 0x18, 0xc1, 0xdb,
+  0xa7, 0xf4, 0xe8, 0x8d, 0x11, 0xac, 0x73, 0xcc, 0xa2, 0xde, 0x18, 0x41,
+  0x1a, 0xc2, 0xe8, 0xee, 0x8d, 0x11, 0xdc, 0x6d, 0xac, 0xda, 0xdf, 0x18,
+  0xc1, 0x3b, 0x93, 0x26, 0xe8, 0x8d, 0x11, 0xb8, 0x7d, 0x2c, 0xda, 0xde,
+  0x18, 0x41, 0xcc, 0x83, 0x7d, 0xee, 0x8d, 0x11, 0x98, 0xf7, 0xba, 0xca,
+  0xde, 0x18, 0x01, 0x08, 0xc2, 0x78, 0x38, 0x06, 0x63, 0x04, 0xeb, 0x88,
+  0xc7, 0x2c, 0x18, 0x8c, 0x11, 0x80, 0x20, 0xc8, 0xd6, 0xbf, 0x30, 0x46,
+  0xc0, 0xb6, 0xf3, 0x4f, 0x7a, 0x63, 0x04, 0x20, 0x08, 0x82, 0xf0, 0x2f,
+  0x8c, 0x11, 0x80, 0x20, 0x08, 0xe2, 0xbf, 0x30, 0x46, 0xc0, 0xb6, 0xf1,
+  0x2b, 0x6f, 0x63, 0x04, 0x20, 0x48, 0xb7, 0x39, 0x18, 0x8c, 0x11, 0x80,
+  0x20, 0xb8, 0xe6, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0x48, 0x82, 0xc1,
+  0x18, 0x01, 0x08, 0x82, 0x20, 0x08, 0x06, 0x23, 0x00, 0x63, 0x04, 0x20,
+  0x08, 0x82, 0x70, 0x37, 0x46, 0x00, 0x82, 0xa0, 0x7f, 0x7f, 0x63, 0x04,
+  0x20, 0x08, 0x82, 0xf8, 0x37, 0x46, 0x00, 0x82, 0x20, 0x08, 0x7f, 0x33,
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xd0, 0xc1,
+  0x42, 0x1d, 0x8c, 0xc2, 0x2a, 0xac, 0x02, 0x1f, 0x8c, 0x18, 0x24, 0x00,
+  0x08, 0x82, 0x41, 0x17, 0x0b, 0x76, 0x40, 0x0a, 0xb0, 0x00, 0x0b, 0x7d,
+  0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x9d, 0x2c, 0xdc, 0x41, 0x29,
+  0xc0, 0x02, 0x2c, 0xf8, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x74,
+  0xb3, 0x80, 0x07, 0xa8, 0x20, 0x0b, 0xb2, 0xf0, 0x07, 0x23, 0x06, 0x09,
+  0x00, 0x82, 0x60, 0xd0, 0xd1, 0x42, 0x1e, 0xa4, 0x82, 0x2c, 0xc8, 0x02,
+  0x28, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x41, 0x57, 0x0b, 0x7a, 0x70,
+  0x0a, 0xb3, 0x40, 0x0b, 0xa1, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
+  0xc6, 0x2f, 0xd0, 0x41, 0x2c, 0xd0, 0x42, 0x2a, 0xbc, 0xc1, 0x88, 0x41,
+  0x02, 0x80, 0x20, 0x18, 0x18, 0xe0, 0x50, 0x07, 0xb2, 0x50, 0x0b, 0xa2,
+  0x00, 0x07, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x84, 0x83, 0x1d,
+  0xcc, 0x82, 0x2d, 0xa8, 0x42, 0x1c, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
+  0x81, 0x21, 0x0e, 0x77, 0x40, 0x0b, 0xb7, 0xe0, 0x0a, 0x72, 0x30, 0x62,
+  0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x38, 0xe0, 0x41, 0x2e, 0xe0, 0x42,
+  0x2b, 0xcc, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0xe4, 0x90,
+  0x07, 0xba, 0x90, 0x0b, 0xa6, 0x40, 0x07, 0x23, 0x06, 0x07, 0x00, 0x82,
+  0x60, 0x80, 0xf9, 0xc2, 0x1d, 0x1c, 0xba, 0x30, 0x9a, 0x10, 0x04, 0xc3,
+  0x11, 0x01, 0x15, 0x7c, 0xb3, 0x0c, 0x51, 0x10, 0x0c, 0x47, 0x08, 0x52,
+  0xf0, 0xcd, 0x32, 0x08, 0x43, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06,
+  0xcd, 0x39, 0xe8, 0x81, 0xc3, 0x18, 0x45, 0x14, 0xf9, 0x82, 0x2f, 0xe4,
+  0x41, 0x34, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08,
+  0xa3, 0x09, 0xc4, 0x30, 0x4b, 0x10, 0x0d, 0x47, 0x20, 0x5c, 0xf0, 0xcd,
+  0x32, 0x10, 0x45, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1, 0x3a,
+  0xb4, 0x02, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x11, 0x3b, 0xb8,
+  0x02, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x51, 0x3b, 0x90, 0x83,
+  0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x91, 0x3b, 0x94, 0x83, 0x30,
+  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1, 0x3b, 0xc8, 0x02, 0x34, 0x62,
+  0x60, 0x00, 0x20, 0x08, 0x06, 0x11, 0x3c, 0xcc, 0x02, 0x34, 0x62, 0x60,
+  0x00, 0x20, 0x08, 0x06, 0x51, 0x3c, 0xa0, 0x83, 0x30, 0x62, 0x60, 0x00,
+  0x20, 0x08, 0x06, 0x91, 0x3c, 0xa4, 0x83, 0x60, 0x82, 0x01, 0x1f, 0x13,
+  0x0c, 0xf8, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x01, 0x26, 0x0f, 0xab,
+  0xb0, 0xbd, 0xc3, 0x68, 0x42, 0x20, 0x8c, 0x26, 0x08, 0x83, 0x09, 0x85,
+  0x7c, 0x4c, 0x28, 0xe4, 0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x15,
+  0x3e, 0xd0, 0x82, 0x00, 0x07, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x50,
+  0xe5, 0x43, 0x2d, 0x08, 0x71, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06,
+  0x95, 0x3e, 0x80, 0x83, 0xa0, 0x06, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60,
+  0x50, 0xed, 0x43, 0x38, 0x08, 0x6b, 0x60, 0xc8, 0x27, 0x1f, 0x43, 0x3e,
+  0xf9, 0x18, 0xd1, 0x06, 0xf2, 0x31, 0xc2, 0x0d, 0xe4, 0x63, 0x84, 0x10,
+  0x1f, 0x23, 0x84, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x44,
+  0x12, 0xe0, 0x20, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x54, 0x12,
+  0xe1, 0x20, 0x98, 0xd2, 0x07, 0xf0, 0xb1, 0x60, 0x80, 0x8f, 0x2d, 0x7f,
+  0x00, 0x1f, 0x0b, 0x08, 0xf8, 0xd8, 0xe0, 0xd0, 0xc7, 0x04, 0x87, 0x3e,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xb1, 0x84, 0x3a, 0x08, 0x23,
+  0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xb5, 0xc4, 0x3a, 0x08, 0x26, 0x80,
+  0x82, 0x7c, 0x4c, 0x08, 0x05, 0xf9, 0xd8, 0x28, 0x08, 0xf1, 0x31, 0x52,
+  0x10, 0xe2, 0x63, 0x86, 0x21, 0x1f, 0x0b, 0x06, 0xf9, 0xd8, 0x71, 0xc8,
+  0xc7, 0x02, 0x42, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xd9,
+  0xc4, 0x3c, 0x50, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xdd, 0x04,
+  0x3d, 0x50, 0x26, 0x94, 0x02, 0x7c, 0x4c, 0x30, 0x05, 0xf8, 0x98, 0x70,
+  0xc0, 0xc7, 0x04, 0x03, 0x3e, 0xa3, 0x09, 0x67, 0x00, 0x8c, 0x26, 0xa0,
+  0x41, 0x60, 0x84, 0x20, 0x1f, 0x23, 0x04, 0xf9, 0x8c, 0x18, 0x54, 0x00,
+  0x08, 0x82, 0xc1, 0x13, 0x16, 0x25, 0x91, 0x0a, 0xa7, 0x20, 0x04, 0xac,
+  0xc0, 0x0a, 0x39, 0x91, 0x13, 0xf4, 0x50, 0x07, 0x74, 0xc0, 0x0a, 0x71,
+  0x00, 0x07, 0xac, 0xc0, 0x0a, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04,
+  0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0xb3, 0x04, 0xd1, 0x70, 0xc4,
+  0x28, 0xe0, 0x42, 0xf0, 0xcd, 0x32, 0x18, 0x47, 0x30, 0x62, 0xf0, 0x00,
+  0x20, 0x08, 0x06, 0x0d, 0x5a, 0xec, 0xc3, 0x2b, 0xb4, 0xc2, 0x29, 0x98,
+  0x82, 0x2c, 0xc8, 0xc2, 0x4f, 0xfc, 0x84, 0x3e, 0xc8, 0xc2, 0x68, 0x42,
+  0x00, 0x58, 0x70, 0x0b, 0xf2, 0xb1, 0x20, 0x17, 0xe0, 0x33, 0x62, 0xf0,
+  0x00, 0x20, 0x08, 0x06, 0x0d, 0x5b, 0xfc, 0x03, 0x2d, 0xc8, 0x42, 0x70,
+  0x0b, 0xb6, 0x60, 0x0b, 0x63, 0x31, 0x16, 0xfe, 0x60, 0x0b, 0xa3, 0x09,
+  0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c,
+  0xb3, 0x04, 0xd1, 0x70, 0x44, 0x2b, 0xf4, 0x43, 0xf0, 0xcd, 0x32, 0x20,
+  0x49, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x58, 0x5b, 0x98, 0x84,
+  0x2d, 0xa8, 0xc5, 0x68, 0x42, 0x20, 0x8c, 0x26, 0x08, 0x83, 0x09, 0xb4,
+  0x20, 0x1f, 0x13, 0x68, 0x41, 0x3e, 0x26, 0x88, 0x03, 0x7c, 0x4c, 0x18,
+  0x07, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x74, 0x17, 0x34,
+  0x21, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x84, 0x17, 0x35, 0x21,
+  0x98, 0x10, 0x0f, 0xf0, 0x31, 0x41, 0x1e, 0xe0, 0x33, 0x9a, 0xb0, 0x00,
+  0xa3, 0x09, 0x4c, 0x60, 0x84, 0x20, 0x1f, 0x23, 0x04, 0xf9, 0x18, 0xc2,
+  0x0e, 0xf0, 0x31, 0xa4, 0x1d, 0xe0, 0x63, 0x82, 0x21, 0x1f, 0x13, 0x0c,
+  0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x34, 0x1a, 0x3f, 0xe1,
+  0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x44, 0x1a, 0x60, 0xe1, 0x8c,
+  0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x73, 0x1a, 0x3a, 0xe1, 0x0e, 0xec,
+  0x80, 0x1c, 0xf1, 0x10, 0x0f, 0x7e, 0xe1, 0x17, 0x39, 0x11, 0x0f, 0xa3,
+  0x09, 0x01, 0x60, 0x81, 0x3d, 0xc8, 0xc7, 0x02, 0x7c, 0x80, 0xcf, 0x88,
+  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xab, 0xe1, 0x13, 0xf3, 0x10, 0x0f,
+  0x81, 0x3d, 0xd4, 0x43, 0x3d, 0x88, 0x86, 0x68, 0xf4, 0x44, 0x3d, 0x8c,
+  0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02,
+  0x31, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x03, 0x1b, 0x63, 0x71,
+  0x0f, 0xf5, 0x10, 0x31, 0xfa, 0xa0, 0x0f, 0xa7, 0x71, 0x1a, 0x62, 0xa1,
+  0x0f, 0xa3, 0x09, 0x01, 0x60, 0xc1, 0x3f, 0xc8, 0xc7, 0x82, 0x90, 0x80,
+  0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xb4, 0x71, 0x16, 0xfc,
+  0xa0, 0x0f, 0xc1, 0x3f, 0xf8, 0x83, 0x3f, 0xac, 0xc6, 0x6a, 0x98, 0x85,
+  0x3f, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
+  0x68, 0x02, 0x31, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x93, 0x1b,
+  0x6c, 0x01, 0x12, 0xfe, 0x60, 0x65, 0x23, 0x31, 0x12, 0xb0, 0x01, 0x1b,
+  0x6b, 0x31, 0x12, 0xa3, 0x09, 0x01, 0x60, 0x01, 0x4a, 0xc8, 0xc7, 0x02,
+  0x95, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xbd, 0x01,
+  0x17, 0x25, 0x31, 0x12, 0x01, 0x4a, 0x9c, 0xc4, 0x49, 0xd0, 0x06, 0x6d,
+  0xbc, 0xc5, 0x49, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26,
+  0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41,
+  0x23, 0x1e, 0x75, 0x91, 0x12, 0x27, 0xf1, 0x79, 0x2c, 0xc1, 0x12, 0xb9,
+  0x91, 0x1b, 0x74, 0xc1, 0x12, 0xa3, 0x09, 0x01, 0x60, 0x41, 0x4c, 0xc8,
+  0xc7, 0x82, 0x99, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34,
+  0xe6, 0x91, 0x17, 0x2e, 0xc1, 0x12, 0x41, 0x4c, 0xc0, 0x04, 0x4c, 0xf4,
+  0x46, 0x6f, 0xe0, 0x05, 0x4c, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10,
+  0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x18, 0xd1, 0xc4, 0xc7, 0x88,
+  0x26, 0x3e, 0x46, 0x34, 0xf1, 0x31, 0xa2, 0x89, 0x8f, 0x11, 0x69, 0x20,
+  0x1f, 0x23, 0xd4, 0x40, 0x3e, 0x46, 0xac, 0x81, 0x7c, 0x8c, 0x60, 0x03,
+  0xf9, 0x98, 0x77, 0x06, 0xf1, 0x31, 0xef, 0x0c, 0xe2, 0x63, 0xde, 0x19,
+  0xc4, 0xc7, 0xbc, 0x33, 0x88, 0x8f, 0x11, 0x71, 0x20, 0x1f, 0x23, 0xe4,
+  0x40, 0x3e, 0x46, 0xcc, 0x81, 0x7c, 0x8c, 0xa0, 0x03, 0xf9, 0x18, 0xf1,
+  0x06, 0xf0, 0x31, 0xe2, 0x0d, 0xe0, 0x63, 0xc4, 0x1b, 0xc0, 0xc7, 0x88,
+  0x37, 0x80, 0x8f, 0x85, 0x01, 0x11, 0x1f, 0x0b, 0x22, 0xf8, 0x98, 0x18,
+  0x14, 0xf1, 0xb1, 0x40, 0x82, 0x8f, 0x8d, 0x81, 0x11, 0x1f, 0x0b, 0x26,
+  0xf8, 0x18, 0x19, 0x1c, 0xf1, 0xb1, 0x80, 0x82, 0x8f, 0x1d, 0xa2, 0x20,
+  0x1f, 0x33, 0x46, 0x41, 0x3e, 0x56, 0x90, 0x82, 0x7c, 0x8c, 0x28, 0x05,
+  0xf9, 0x18, 0x01, 0xc1, 0xc7, 0x08, 0x08, 0x3e, 0x46, 0x40, 0xf0, 0x31,
+  0x02, 0x82, 0xcf, 0x2c, 0x41, 0x34, 0x1c, 0xb1, 0x16, 0xba, 0x11, 0x7c,
+  0xb3, 0x0c, 0xca, 0x12, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xe4,
+  0x22, 0xf0, 0xf1, 0x16, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xbd,
+  0x48, 0x7c, 0xbc, 0xc5, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x30,
+  0x72, 0x22, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x31, 0x82,
+  0x22, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0x32, 0x52, 0x1f,
+  0x73, 0x31, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1, 0x8c, 0xd8, 0xc7,
+  0x5c, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x44, 0x23, 0x2b, 0x22,
+  0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x54, 0x23, 0x2c, 0x22, 0x98,
+  0x60, 0xc0, 0xc7, 0x04, 0x03, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60,
+  0x80, 0xd5, 0x88, 0x7b, 0xf8, 0x85, 0x8c, 0x8c, 0x26, 0x04, 0xc2, 0x68,
+  0x82, 0x30, 0x98, 0x50, 0xc8, 0xc7, 0x84, 0x42, 0x3e, 0x23, 0x06, 0x07,
+  0x00, 0x82, 0x60, 0x50, 0xed, 0xc8, 0x7d, 0x08, 0xb3, 0x31, 0x62, 0x70,
+  0x00, 0x20, 0x08, 0x06, 0x15, 0x8f, 0xe0, 0x87, 0x40, 0x1b, 0x23, 0x06,
+  0x07, 0x00, 0x82, 0x60, 0x50, 0xf5, 0xc8, 0x88, 0x08, 0xad, 0x31, 0x62,
+  0x70, 0x00, 0x20, 0x08, 0x06, 0x95, 0x8f, 0x90, 0x88, 0xe0, 0x1a, 0x86,
+  0x88, 0x86, 0x7c, 0x0c, 0x11, 0x0d, 0xf9, 0x18, 0x01, 0x1b, 0xf2, 0x31,
+  0x22, 0x36, 0xe4, 0x63, 0x84, 0x10, 0x1f, 0x23, 0x84, 0xf8, 0x8c, 0x18,
+  0x18, 0x00, 0x08, 0x82, 0x41, 0x74, 0x26, 0x23, 0x22, 0x8c, 0x18, 0x18,
+  0x00, 0x08, 0x82, 0x41, 0x84, 0x26, 0x24, 0x22, 0x98, 0x02, 0x1e, 0xf0,
+  0xb1, 0x60, 0x80, 0x8f, 0x2d, 0xe2, 0x01, 0x1f, 0x0b, 0x08, 0xf8, 0xd8,
+  0xe0, 0xd0, 0xc7, 0x04, 0x87, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60,
+  0x10, 0xbd, 0x49, 0x8b, 0x08, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10,
+  0xc1, 0x89, 0x8b, 0x08, 0x26, 0x8c, 0x87, 0x7c, 0x4c, 0x20, 0x0f, 0xf9,
+  0x98, 0x79, 0x08, 0xf1, 0xb1, 0xf3, 0x10, 0xe2, 0x63, 0x86, 0x21, 0x1f,
+  0x0b, 0x06, 0xf9, 0xd8, 0x71, 0xc8, 0xc7, 0x02, 0x42, 0x3e, 0x23, 0x06,
+  0x06, 0x00, 0x82, 0x60, 0x10, 0xe5, 0x89, 0x8d, 0x50, 0x23, 0x06, 0x06,
+  0x00, 0x82, 0x60, 0x10, 0xe9, 0xc9, 0x8d, 0x50, 0x26, 0xa0, 0x07, 0x7c,
+  0x4c, 0x48, 0x0f, 0xf8, 0x98, 0x70, 0xc0, 0xc7, 0x04, 0x03, 0x3e, 0xa3,
+  0x09, 0x67, 0x00, 0x8c, 0x26, 0xa0, 0x41, 0x60, 0x68, 0x20, 0xc8, 0xc7,
+  0x82, 0x42, 0x3e, 0x96, 0x06, 0x83, 0x7c, 0x2c, 0x30, 0xe4, 0x63, 0x83,
+  0x7c, 0xc0, 0xc7, 0x84, 0xf9, 0x80, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20,
+  0x18, 0x44, 0xa7, 0x42, 0x26, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18,
+  0x44, 0xa8, 0x52, 0x26, 0x82, 0x09, 0x21, 0x02, 0x1f, 0x13, 0x44, 0x04,
+  0x3e, 0x26, 0x30, 0xf2, 0x31, 0x81, 0x91, 0x8f, 0x19, 0xfa, 0x01, 0x1f,
+  0x33, 0xf6, 0x03, 0x3e, 0x26, 0x40, 0xf2, 0x31, 0x01, 0x92, 0xcf, 0x88,
+  0x81, 0x01, 0x80, 0x20, 0x18, 0x44, 0xb1, 0xd2, 0x26, 0xcc, 0x88, 0x81,
+  0x01, 0x80, 0x20, 0x18, 0x44, 0xb2, 0xe2, 0x26, 0xcc, 0x88, 0xc1, 0x03,
+  0x80, 0x20, 0x18, 0x34, 0xb5, 0x82, 0x26, 0xfc, 0xa1, 0x1f, 0xc8, 0xf1,
+  0x1f, 0xff, 0xc1, 0x2a, 0xac, 0x72, 0x26, 0xff, 0x31, 0x9a, 0x10, 0x00,
+  0x16, 0x90, 0x88, 0x7c, 0x2c, 0x30, 0x11, 0xf8, 0x8c, 0x18, 0x3c, 0x00,
+  0x08, 0x82, 0x41, 0x93, 0x2b, 0x6c, 0x12, 0x22, 0xff, 0x11, 0x90, 0xc8,
+  0x88, 0x8c, 0x08, 0xac, 0xc0, 0xca, 0x9a, 0x8c, 0xc8, 0x68, 0x42, 0x00,
+  0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88,
+  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xbe, 0x12, 0x27, 0x25, 0x32, 0x22,
+  0x11, 0x83, 0x22, 0x28, 0x52, 0x2b, 0xb5, 0x02, 0x27, 0x28, 0x32, 0x9a,
+  0x10, 0x00, 0x16, 0xb4, 0x88, 0x7c, 0x2c, 0x78, 0x11, 0xf8, 0x8c, 0x18,
+  0x3c, 0x00, 0x08, 0x82, 0x41, 0x23, 0x2e, 0x75, 0xa2, 0x22, 0x28, 0x12,
+  0xb4, 0x08, 0x8b, 0xb0, 0x48, 0xae, 0xe4, 0x0a, 0x9d, 0xb0, 0xc8, 0x68,
+  0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10,
+  0xc3, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xe7, 0xa2, 0x27, 0x2e,
+  0xc2, 0x22, 0x56, 0x16, 0x23, 0x31, 0xe2, 0x2b, 0xbe, 0x92, 0x27, 0x31,
+  0x32, 0x9a, 0x10, 0x00, 0x16, 0xd8, 0x88, 0x7c, 0x2c, 0xc0, 0x11, 0xf8,
+  0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0xb3, 0x2e, 0x7e, 0x32, 0x23,
+  0x31, 0x12, 0xd8, 0x48, 0x8d, 0xd4, 0x88, 0xb8, 0x88, 0x4b, 0x9f, 0xd4,
+  0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c,
+  0x26, 0x10, 0xc3, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xf0, 0x32,
+  0x2a, 0x37, 0x52, 0x23, 0x9f, 0xa7, 0x23, 0x3a, 0x72, 0x2e, 0xe7, 0x22,
+  0x2a, 0x3a, 0x32, 0x9a, 0x10, 0x00, 0x16, 0xfc, 0x88, 0x7c, 0x2c, 0x08,
+  0x13, 0xf8, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x43, 0x2f, 0xa7,
+  0xc2, 0x23, 0x3a, 0x12, 0xfc, 0x88, 0x8f, 0xf8, 0xc8, 0xba, 0xac, 0x8b,
+  0xa9, 0xf8, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2,
+  0x20, 0x8c, 0x26, 0x10, 0x83, 0x11, 0x4d, 0x7c, 0x8c, 0x68, 0xe2, 0x63,
+  0x44, 0x13, 0x1f, 0x23, 0x9a, 0xf8, 0x18, 0x91, 0x06, 0xf2, 0x31, 0x42,
+  0x0d, 0xe4, 0x63, 0xc4, 0x1a, 0xc8, 0xc7, 0x08, 0x36, 0x90, 0x8f, 0x79,
+  0x67, 0x10, 0x1f, 0xf3, 0xce, 0x20, 0x3e, 0xe6, 0x9d, 0x41, 0x7c, 0xcc,
+  0x3b, 0x83, 0xf8, 0x18, 0x11, 0x07, 0xf2, 0x31, 0x42, 0x0e, 0xe4, 0x63,
+  0xc4, 0x1c, 0xc8, 0xc7, 0x08, 0x3a, 0x90, 0x8f, 0x11, 0x6f, 0x00, 0x1f,
+  0x23, 0xde, 0x00, 0x3e, 0x46, 0xbc, 0x01, 0x7c, 0x8c, 0x78, 0x03, 0xf8,
+  0x58, 0x18, 0x10, 0xf1, 0xb1, 0x20, 0x82, 0x8f, 0x89, 0x41, 0x11, 0x1f,
+  0x0b, 0x24, 0xf8, 0xd8, 0x18, 0x18, 0xf1, 0xb1, 0x60, 0x82, 0x8f, 0x91,
+  0xc1, 0x11, 0x1f, 0x0b, 0x28, 0xf8, 0xd8, 0x21, 0x0a, 0xf2, 0x31, 0x63,
+  0x14, 0xe4, 0x63, 0x05, 0x29, 0xc8, 0xc7, 0x88, 0x52, 0x90, 0x8f, 0x11,
+  0x10, 0x7c, 0x8c, 0x80, 0xe0, 0x63, 0x04, 0x04, 0x1f, 0x23, 0x20, 0xf8,
+  0xcc, 0x12, 0x44, 0xc3, 0x11, 0x79, 0x72, 0x2e, 0xc1, 0x37, 0xcb, 0xc0,
+  0x34, 0xc1, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0x3e, 0x13, 0x2f,
+  0xa5, 0x32, 0x2a, 0x7d, 0xc2, 0x27, 0xa8, 0x82, 0x2a, 0x35, 0x53, 0x33,
+  0xf0, 0x82, 0x2a, 0xa3, 0x09, 0x01, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08,
+  0x06, 0x0d, 0xd8, 0xcc, 0x0b, 0xaa, 0x94, 0xca, 0x9f, 0xf8, 0x89, 0xaa,
+  0xa8, 0xca, 0xcd, 0xdc, 0x8c, 0xbc, 0xa8, 0xca, 0x68, 0x42, 0x00, 0x8c,
+  0x26, 0x08, 0xc1, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x60, 0x3e, 0x73,
+  0x2f, 0xa7, 0x42, 0x33, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3,
+  0x09, 0x83, 0x60, 0x03, 0x02, 0x1f, 0x1b, 0x0e, 0xf8, 0xd8, 0x70, 0xc0,
+  0x67, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xb0, 0xb2, 0xf1, 0x17, 0x57,
+  0x09, 0x99, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41,
+  0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83, 0x69, 0x6d, 0x4e, 0xe6, 0x30,
+  0x8a, 0x41, 0x08, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0x53, 0x9b,
+  0x91, 0x99, 0x15, 0x96, 0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18,
+  0x4d, 0x18, 0x84, 0x11, 0x83, 0x05, 0x00, 0x41, 0x30, 0x98, 0xe0, 0x86,
+  0x65, 0x98, 0x45, 0x19, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c,
+  0xb0, 0xb7, 0x41, 0x19, 0x5c, 0x49, 0x9b, 0xd1, 0x84, 0x00, 0x18, 0x4d,
+  0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83,
+  0xa9, 0x6e, 0x62, 0x26, 0x82, 0x9e, 0x41, 0x08, 0x66, 0x09, 0xa2, 0xe1,
+  0x88, 0x5a, 0x11, 0x99, 0xe0, 0x9b, 0x65, 0x70, 0x9e, 0x60, 0xc4, 0xe0,
+  0x01, 0x40, 0x10, 0x0c, 0x1a, 0xbd, 0x69, 0x99, 0x70, 0xf9, 0x95, 0x5c,
+  0xc1, 0x15, 0x72, 0x21, 0x97, 0xb8, 0x89, 0x1b, 0x96, 0x21, 0x97, 0xd1,
+  0x84, 0x00, 0x18, 0x31, 0x78, 0x00, 0x10, 0x04, 0x83, 0x86, 0x6f, 0x5e,
+  0x86, 0x5c, 0xc2, 0x65, 0x57, 0x74, 0xc5, 0x5c, 0xcc, 0x65, 0x6e, 0xe6,
+  0xc6, 0x65, 0xcc, 0x65, 0x34, 0x21, 0x00, 0x46, 0x13, 0x84, 0x60, 0xc4,
+  0xe0, 0x00, 0x40, 0x10, 0x0c, 0x30, 0xbd, 0x99, 0x99, 0x71, 0x81, 0x9b,
+  0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0xb0, 0x01,
+  0x81, 0x8f, 0x0d, 0x06, 0x7c, 0x6c, 0x40, 0xe0, 0x33, 0x62, 0x70, 0x00,
+  0x20, 0x08, 0x06, 0x58, 0xe8, 0xe8, 0x8c, 0xba, 0xf4, 0xcc, 0x68, 0x42,
+  0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x18, 0x2c, 0x00,
+  0x08, 0x82, 0xc1, 0x74, 0x3a, 0x63, 0x73, 0x18, 0xc5, 0x20, 0x04, 0x23,
+  0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0x99, 0xce, 0xcf, 0xbc, 0x0b, 0xda,
+  0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x88,
+  0xc1, 0x02, 0x80, 0x20, 0x18, 0x4c, 0xac, 0x83, 0x36, 0xcc, 0xa2, 0x0c,
+  0x42, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0xd8, 0xea, 0x90, 0x0d,
+  0xbd, 0x94, 0xce, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2,
+  0x20, 0x8c, 0x18, 0x2c, 0x00, 0x08, 0x82, 0xc1, 0x14, 0x3b, 0x6d, 0x13,
+  0x41, 0xcf, 0x20, 0x04, 0xb3, 0x04, 0xd1, 0x70, 0x44, 0xbc, 0xf4, 0x4c,
+  0xf0, 0xcd, 0x32, 0x40, 0x51, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06,
+  0x8d, 0xed, 0xa4, 0x4d, 0xbf, 0xec, 0x4b, 0xbd, 0xd0, 0x0b, 0xc8, 0x80,
+  0x4c, 0xeb, 0xb4, 0x0e, 0xda, 0x80, 0xcc, 0x68, 0x42, 0x00, 0x8c, 0x18,
+  0x3c, 0x00, 0x08, 0x82, 0x41, 0x83, 0x3b, 0x6b, 0x03, 0x32, 0xfd, 0x72,
+  0x2f, 0xf6, 0x22, 0x32, 0x22, 0xf3, 0x3a, 0xaf, 0xa3, 0x36, 0x22, 0x33,
+  0x9a, 0x10, 0x00, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0, 0xe8, 0x4e,
+  0xdb, 0x8c, 0xcc, 0xbf, 0xe4, 0x0b, 0xbe, 0x90, 0x0c, 0xc9, 0xc4, 0x4e,
+  0xec, 0xb0, 0x0d, 0xc9, 0x8c, 0x26, 0x04, 0xc0, 0x88, 0xc1, 0x01, 0x80,
+  0x20, 0x18, 0x60, 0xb7, 0x03, 0x37, 0x20, 0xd3, 0x3a, 0xa3, 0x09, 0x01,
+  0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x60, 0x43, 0x02, 0x1f, 0x1b,
+  0x10, 0xf8, 0xd8, 0x70, 0xc0, 0x67, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c,
+  0x30, 0xdf, 0xb9, 0x9b, 0x93, 0xd1, 0x9b, 0xd1, 0x84, 0x00, 0x18, 0x4d,
+  0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83,
+  0x89, 0x7c, 0x40, 0xe7, 0x30, 0x8a, 0x41, 0x08, 0x46, 0x0c, 0x0e, 0x00,
+  0x04, 0xc1, 0x00, 0x1b, 0x1f, 0xbe, 0x61, 0x99, 0xd2, 0x19, 0x4d, 0x08,
+  0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x84, 0x11, 0x83, 0x05, 0x00,
+  0x41, 0x30, 0x98, 0xd2, 0xa7, 0x74, 0x98, 0x45, 0x19, 0x84, 0x60, 0xc4,
+  0xe0, 0x00, 0x40, 0x10, 0x0c, 0x30, 0xf4, 0x09, 0x9d, 0x98, 0x11, 0x9f,
+  0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31,
+  0x58, 0x00, 0x10, 0x04, 0x83, 0xc9, 0x7d, 0x54, 0x27, 0x82, 0x9e, 0x41,
+  0x08, 0x66, 0x09, 0xa2, 0x81, 0xaa, 0x81, 0xc6, 0x04, 0x9f, 0x22, 0x54,
+  0xca, 0x70, 0x1d, 0x44, 0x2e, 0x14, 0x94, 0x60, 0x60, 0xc1, 0xb1, 0x20,
+  0x3e, 0x03, 0xf8, 0xec, 0x19, 0xa8, 0x1a, 0x68, 0x4c, 0xf0, 0x29, 0x42,
+  0xa5, 0x0c, 0xd7, 0x41, 0xe4, 0x42, 0x01, 0x09, 0x06, 0x15, 0x1c, 0x07,
+  0xf2, 0x33, 0x80, 0xd4, 0x9e, 0x81, 0xaa, 0x81, 0xc6, 0x04, 0x9f, 0x22,
+  0x54, 0xca, 0x70, 0x1d, 0x44, 0x2e, 0x14, 0x7c, 0x60, 0x40, 0xc1, 0x31,
+  0x20, 0x50, 0x03, 0x40, 0xed, 0x19, 0xa8, 0x1a, 0x68, 0x4c, 0xf0, 0x29,
+  0x42, 0xa5, 0x0c, 0xd7, 0x41, 0xe4, 0x42, 0x11, 0x35, 0x46, 0xd4, 0x1c,
+  0x51, 0x83, 0x44, 0x0d, 0x10, 0xb5, 0x67, 0x34, 0x61, 0x66, 0x84, 0xe1,
+  0x88, 0x00, 0x6d, 0x82, 0x6f, 0x96, 0x41, 0x9a, 0x82, 0x11, 0x03, 0x03,
+  0x00, 0x41, 0x30, 0x88, 0xec, 0xa7, 0x7d, 0x8c, 0x11, 0x03, 0x03, 0x00,
+  0x41, 0x30, 0x88, 0xee, 0xc7, 0x7d, 0x8c, 0x11, 0x03, 0x03, 0x00, 0x41,
+  0x30, 0x88, 0xf0, 0xe7, 0x7d, 0x8c, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30,
+  0x88, 0xf2, 0x07, 0x76, 0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88,
+  0xf4, 0x27, 0x76, 0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x88, 0xf6,
+  0x47, 0x76, 0x06, 0x1b, 0xea, 0x46, 0x3e, 0x36, 0xd8, 0x8d, 0x7c, 0x6c,
+  0xb8, 0x1b, 0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0xf4, 0x3f,
+  0xb7, 0x33, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x04, 0x42, 0xb8,
+  0x33, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x14, 0x42, 0xb9, 0x33,
+  0xd8, 0xc0, 0x37, 0xf0, 0xb1, 0xa1, 0x6f, 0xe0, 0x63, 0x83, 0xdf, 0xc0,
+  0x67, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xaa, 0x11, 0xfa, 0x9d, 0xc1,
+  0x6e, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0xa0, 0x22, 0x21, 0xf0, 0x19,
+  0xee, 0x66, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xaa, 0x12, 0x0a, 0x9f,
+  0x01, 0x6f, 0x2c, 0xe1, 0x1b, 0xf9, 0x58, 0xd2, 0x37, 0xf2, 0xb1, 0xc4,
+  0x6f, 0xe4, 0x63, 0xa0, 0x33, 0xc4, 0xc7, 0x42, 0x67, 0x88, 0x8f, 0x89,
+  0xce, 0x10, 0x1f, 0x4b, 0x06, 0xfa, 0x58, 0x32, 0xd0, 0xc7, 0x92, 0x81,
+  0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xc5, 0x10, 0x0a, 0x0d,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xc9, 0x50, 0x0a, 0x0d, 0x23,
+  0x06, 0x06, 0x00, 0x82, 0x60, 0x10, 0xcd, 0x90, 0x0a, 0x0d, 0x23, 0x06,
+  0x06, 0x00, 0x82, 0x60, 0x10, 0xd1, 0xd0, 0xfa, 0x0c, 0x23, 0x06, 0x06,
+  0x00, 0x82, 0x60, 0x10, 0xd5, 0x10, 0xfb, 0x0c, 0x23, 0x06, 0x06, 0x00,
+  0x82, 0x60, 0x10, 0xd9, 0x50, 0xfb, 0x0c, 0x36, 0xc8, 0x8e, 0x7c, 0x6c,
+  0x98, 0x1d, 0xf9, 0xd8, 0x40, 0x3b, 0xf2, 0x19, 0x31, 0x30, 0x00, 0x10,
+  0x04, 0x83, 0x48, 0x87, 0xe4, 0x67, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04,
+  0x83, 0x68, 0x87, 0xe6, 0x67, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83,
+  0x88, 0x87, 0xe8, 0x67, 0xb0, 0x21, 0x77, 0xe4, 0x63, 0x83, 0xee, 0xc8,
+  0xc7, 0x86, 0xdd, 0x91, 0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x60,
+  0x3d, 0x64, 0x3f, 0xa6, 0x63, 0x43, 0xa3, 0x09, 0xc1, 0x60, 0x45, 0x40,
+  0x1f, 0x2b, 0x04, 0xfa, 0x58, 0x31, 0xd0, 0x67, 0x96, 0xc0, 0x1b, 0x8e,
+  0x88, 0x83, 0xd9, 0x09, 0xbe, 0x59, 0x06, 0xaa, 0x0b, 0x86, 0x23, 0xec,
+  0x60, 0x7c, 0x94, 0x6f, 0x96, 0xc1, 0xaa, 0x02, 0xbb, 0x83, 0xf2, 0x91,
+  0xcf, 0x2c, 0xc1, 0x65, 0x78, 0x70, 0x3e, 0xf0, 0x19, 0x31, 0x30, 0x00,
+  0x10, 0x04, 0x83, 0x28, 0x8d, 0xc0, 0x28, 0xb0, 0xa0, 0x7f, 0xe4, 0x33,
+  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xd1, 0x1a, 0x89, 0x50, 0x60, 0x81,
+  0xff, 0xc8, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0xa2, 0x36, 0x2a,
+  0xa1, 0x60, 0x96, 0xe0, 0x1a, 0xa8, 0x18, 0x9c, 0x4a, 0xb0, 0x86, 0x23,
+  0xfc, 0x80, 0x7d, 0x94, 0x6f, 0x96, 0x21, 0xc3, 0x02, 0xfb, 0x03, 0xf7,
+  0x91, 0xcf, 0x2c, 0x81, 0x66, 0xa0, 0x00, 0x3f, 0xf0, 0x19, 0x31, 0x30,
+  0x00, 0x10, 0x04, 0x83, 0x48, 0x8e, 0xd2, 0x28, 0xb0, 0xc0, 0x84, 0xe4,
+  0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x11, 0x1d, 0xad, 0x50, 0x60,
+  0xc1, 0x09, 0xc9, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22, 0x3b,
+  0x72, 0xa1, 0x60, 0x96, 0x40, 0x1b, 0xa8, 0x18, 0x1c, 0x4c, 0xc8, 0x86,
+  0x23, 0x4c, 0xa1, 0x7e, 0x94, 0x6f, 0x96, 0x81, 0xdb, 0x02, 0x3b, 0x85,
+  0xfb, 0x91, 0xcf, 0x2c, 0x41, 0x67, 0xa8, 0x90, 0x3f, 0xf0, 0x19, 0x31,
+  0x30, 0x00, 0x10, 0x04, 0x83, 0x68, 0x8f, 0xe4, 0x28, 0xb0, 0xe0, 0x85,
+  0xe4, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x51, 0x1f, 0xd1, 0x50,
+  0x60, 0x01, 0x0c, 0xc9, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0xa2,
+  0x3f, 0xba, 0xa1, 0x60, 0x96, 0xa0, 0x1b, 0xe8, 0x18, 0xc0, 0x62, 0x22,
+  0x03, 0x8e, 0x0c, 0xb6, 0x81, 0x8e, 0x01, 0x2c, 0x26, 0x8a, 0xa3, 0xb6,
+  0x81, 0x8e, 0x01, 0x2c, 0x26, 0x83, 0x93, 0x36, 0x1b, 0x58, 0x48, 0x3e,
+  0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xa0, 0x81, 0x52, 0x19, 0xb1, 0xd0,
+  0x10, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0x81, 0x16, 0x4a, 0x66, 0xc4,
+  0x42, 0x43, 0x60, 0x06, 0x0b, 0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0xb4, 0x51, 0x42, 0x23, 0x16, 0x32, 0x82, 0x11, 0x03, 0x04, 0x00,
+  0x41, 0x30, 0xd0, 0x48, 0x29, 0x8d, 0x58, 0xc8, 0x08, 0x2c, 0x61, 0x21,
+  0xf9, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0x81, 0x66, 0x4a, 0x6b, 0xc4,
+  0x42, 0x49, 0x30, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0xda, 0x29, 0xb1,
+  0x11, 0x0b, 0x25, 0xc1, 0x2c, 0x81, 0x37, 0x50, 0x31, 0xd0, 0x82, 0xe4,
+  0x74, 0x03, 0x15, 0x03, 0x2d, 0x48, 0x4a, 0x37, 0x50, 0x31, 0xd0, 0x82,
+  0x64, 0x74, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0xb1, 0x52, 0x19,
+  0xd5, 0x4f, 0x29, 0x8d, 0x26, 0x04, 0xc0, 0x70, 0x44, 0x20, 0x42, 0xce,
+  0x37, 0xcb, 0xf0, 0x91, 0x41, 0x30, 0x1c, 0x21, 0x80, 0x50, 0xf0, 0xcd,
+  0x32, 0x80, 0x41, 0x18, 0x04, 0xa3, 0x09, 0x44, 0x60, 0x01, 0x22, 0x1f,
+  0x13, 0x10, 0xf9, 0xd8, 0x80, 0xc8, 0x67, 0x96, 0x80, 0x0c, 0x86, 0x23,
+  0x8e, 0x14, 0x0a, 0xbe, 0x59, 0x06, 0x31, 0x20, 0x83, 0x60, 0xc4, 0xe0,
+  0x00, 0x40, 0x10, 0x0c, 0x2a, 0x5b, 0x92, 0xa3, 0x45, 0x19, 0x31, 0x38,
+  0x00, 0x10, 0x04, 0x83, 0xea, 0x96, 0xe6, 0xa8, 0x09, 0x86, 0x23, 0x82,
+  0x15, 0x12, 0xbe, 0x59, 0x86, 0x31, 0x20, 0x83, 0x60, 0x34, 0x81, 0x09,
+  0x6c, 0x08, 0xe4, 0x63, 0xc1, 0x0a, 0xc1, 0x67, 0x34, 0xe1, 0x11, 0xcc,
+  0x08, 0xe4, 0x63, 0x81, 0x0b, 0xc1, 0xc7, 0x88, 0x80, 0x3e, 0x16, 0x58,
+  0xf2, 0x31, 0xc1, 0x92, 0x8f, 0x0d, 0x96, 0x7c, 0x66, 0x09, 0xc8, 0x60,
+  0xa0, 0x65, 0x90, 0x03, 0x4f, 0x0c, 0xc0, 0xc0, 0x18, 0x03, 0x39, 0x10,
+  0x03, 0x39, 0x08, 0x83, 0x81, 0x96, 0x41, 0x0e, 0x3c, 0x31, 0x00, 0x03,
+  0x63, 0x0c, 0xe4, 0x40, 0x0c, 0xe4, 0x20, 0x0c, 0x06, 0x5a, 0x06, 0x39,
+  0xf0, 0xc4, 0x00, 0x0c, 0x8c, 0x31, 0x90, 0x03, 0x31, 0x90, 0x83, 0x30,
+  0x18, 0x4d, 0x38, 0xa1, 0xc1, 0x82, 0x34, 0x92, 0x8f, 0x05, 0x2f, 0x24,
+  0x1f, 0x0b, 0x0c, 0xf9, 0xd8, 0x00, 0x43, 0xf2, 0xb1, 0xe0, 0x90, 0x8f,
+  0x15, 0x31, 0x24, 0x1f, 0x0b, 0x10, 0xf9, 0x8c, 0x18, 0x18, 0x00, 0x08,
+  0x82, 0x41, 0x04, 0x4f, 0xae, 0x54, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
+  0x41, 0x14, 0x4f, 0xaf, 0x44, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
+  0x24, 0x4f, 0xb0, 0x34, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x34,
+  0x4f, 0xea, 0x34, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x44, 0x4f,
+  0xeb, 0x34, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x54, 0x4f, 0xec,
+  0x34, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x64, 0x4f, 0xad, 0x34,
+  0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x74, 0x4f, 0xae, 0x34, 0x8c,
+  0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x84, 0x4f, 0xaf, 0x34, 0xd8, 0xa0,
+  0x4a, 0xf2, 0xb1, 0x61, 0x95, 0xe4, 0x63, 0x03, 0x2b, 0xc9, 0x67, 0xc4,
+  0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22, 0x7e, 0xa2, 0xa5, 0x61, 0xc4, 0xc0,
+  0x00, 0x40, 0x10, 0x0c, 0xa2, 0x7e, 0xaa, 0xa5, 0x61, 0xc4, 0xc0, 0x00,
+  0x40, 0x10, 0x0c, 0x22, 0x7f, 0xb2, 0xa5, 0xc1, 0x06, 0x3a, 0x92, 0x8f,
+  0x0d, 0x75, 0x24, 0x1f, 0x1b, 0xec, 0x48, 0x3e, 0x36, 0xc8, 0x12, 0x7c,
+  0x6c, 0x98, 0x25, 0xf8, 0xd8, 0x40, 0x4b, 0xf0, 0xb1, 0x24, 0x8f, 0xe4,
+  0x63, 0x89, 0x1e, 0xc9, 0xc7, 0x92, 0x3d, 0x92, 0x8f, 0x0d, 0x76, 0x04,
+  0x1f, 0x1b, 0xee, 0x08, 0x3e, 0x36, 0xe0, 0x11, 0x7c, 0x2c, 0x19, 0xe8,
+  0x63, 0xc9, 0x40, 0x1f, 0x4b, 0x06, 0xfa, 0x8c, 0x18, 0x18, 0x00, 0x08,
+  0x82, 0x41, 0xe4, 0x52, 0x25, 0x35, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
+  0x41, 0xf4, 0x52, 0x26, 0x35, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41,
+  0x04, 0x53, 0x27, 0x35, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x14,
+  0x53, 0xe8, 0x34, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x24, 0x53,
+  0xe9, 0x34, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x41, 0x34, 0x53, 0xea,
+  0x34, 0xd8, 0x30, 0x4e, 0xf2, 0xb1, 0x81, 0x9c, 0xe4, 0x63, 0x43, 0x39,
+  0xc9, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0xa2, 0x9b, 0x7a, 0xa7,
+  0x61, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x22, 0x9c, 0x82, 0xa7, 0x61,
+  0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0xa2, 0x9c, 0x8a, 0xa7, 0xc1, 0xce,
+  0x82, 0x8f, 0xe4, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x4f,
+  0xe9, 0x13, 0x4d, 0xd1, 0x54, 0x4a, 0x11, 0x23, 0x06, 0x09, 0x00, 0x82,
+  0x60, 0x80, 0xf8, 0x94, 0x3e, 0xd1, 0x14, 0x4d, 0x85, 0xd4, 0x30, 0x62,
+  0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x4f, 0xe9, 0x13, 0x4d, 0xd1, 0x14,
+  0x4a, 0x09, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xf8, 0x94, 0x3e,
+  0xd1, 0x14, 0x4d, 0xad, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};

+ 8 - 0
src/render/direct3d12/D3D12_PixelShader_Textures_PQ.hlsl

@@ -0,0 +1,8 @@
+
+#include "D3D12_PixelShader_Common.hlsli"
+
+[RootSignature(AdvancedRS)]
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+    return PQTexturePixelShader(input);
+}

+ 494 - 0
src/render/direct3d12/D3D12_PixelShader_Textures_Simple.h

@@ -0,0 +1,494 @@
+#if 0
+;
+; Input signature:
+;
+; Name                 Index   Mask Register SysValue  Format   Used
+; -------------------- ----- ------ -------- -------- ------- ------
+; SV_Position              0   xyzw        0      POS   float
+; TEXCOORD                 0   xy          1     NONE   float   xy
+; COLOR                    0   xyzw        2     NONE   float
+;
+;
+; Output signature:
+;
+; Name                 Index   Mask Register SysValue  Format   Used
+; -------------------- ----- ------ -------- -------- ------- ------
+; SV_Target                0   xyzw        0   TARGET   float   xyzw
+;
+; shader hash: a8266cfe7135fa710f718b555210fa33
+;
+; Pipeline Runtime Information:
+;
+;PSVRuntimeInfo:
+; Pixel Shader
+; DepthOutput=0
+; SampleFrequency=0
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 1
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 1
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: main
+;
+;
+; Input signature:
+;
+; Name                 Index             InterpMode DynIdx
+; -------------------- ----- ---------------------- ------
+; SV_Position              0          noperspective
+; TEXCOORD                 0                 linear
+; COLOR                    0                 linear
+;
+; Output signature:
+;
+; Name                 Index             InterpMode DynIdx
+; -------------------- ----- ---------------------- ------
+; SV_Target                0
+;
+; Buffer Definitions:
+;
+;
+; Resource Bindings:
+;
+; Name                                 Type  Format         Dim      ID      HLSL Bind  Count
+; ------------------------------ ---------- ------- ----------- ------- -------------- ------
+; sampler0                          sampler      NA          NA      S0             s0     1
+; texture0                          texture     f32          2d      T0             t0     1
+;
+;
+; ViewId state:
+;
+; Number of inputs: 12, outputs: 4
+; Outputs dependent on ViewId: {  }
+; Inputs contributing to computation of Outputs:
+;   output 0 depends on inputs: { 4, 5 }
+;   output 1 depends on inputs: { 4, 5 }
+;   output 2 depends on inputs: { 4, 5 }
+;   output 3 depends on inputs: { 4, 5 }
+;
+target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
+target triple = "dxil-ms-dx"
+
+%dx.types.Handle = type { i8* }
+%dx.types.ResRet.f32 = type { float, float, float, float, i32 }
+%"class.Texture2D<vector<float, 4> >" = type { <4 x float>, %"class.Texture2D<vector<float, 4> >::mips_type" }
+%"class.Texture2D<vector<float, 4> >::mips_type" = type { i32 }
+%struct.SamplerState = type { i32 }
+
+define void @main() {
+  %1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 0, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 0, i1 false)  ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
+  %3 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %4 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef)  ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
+  %5 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %1, %dx.types.Handle %2, float %3, float %4, float undef, float undef, i32 0, i32 0, i32 undef, float undef)  ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
+  %6 = extractvalue %dx.types.ResRet.f32 %5, 0
+  %7 = extractvalue %dx.types.ResRet.f32 %5, 1
+  %8 = extractvalue %dx.types.ResRet.f32 %5, 2
+  %9 = extractvalue %dx.types.ResRet.f32 %5, 3
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %6)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %7)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %8)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %9)  ; StoreOutput(outputSigId,rowIndex,colIndex,value)
+  ret void
+}
+
+; Function Attrs: nounwind readnone
+declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
+
+; Function Attrs: nounwind
+declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
+
+; Function Attrs: nounwind readonly
+declare %dx.types.ResRet.f32 @dx.op.sample.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #2
+
+; Function Attrs: nounwind readonly
+declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
+
+attributes #0 = { nounwind readnone }
+attributes #1 = { nounwind }
+attributes #2 = { nounwind readonly }
+
+!llvm.ident = !{!0}
+!dx.version = !{!1}
+!dx.valver = !{!2}
+!dx.shaderModel = !{!3}
+!dx.resources = !{!4}
+!dx.viewIdState = !{!10}
+!dx.entryPoints = !{!11}
+
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
+!1 = !{i32 1, i32 0}
+!2 = !{i32 1, i32 8}
+!3 = !{!"ps", i32 6, i32 0}
+!4 = !{!5, null, null, !8}
+!5 = !{!6}
+!6 = !{i32 0, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 0, i32 1, i32 2, i32 0, !7}
+!7 = !{i32 0, i32 9}
+!8 = !{!9}
+!9 = !{i32 0, %struct.SamplerState* undef, !"", i32 0, i32 0, i32 1, i32 0, null}
+!10 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 15, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0]}
+!11 = !{void ()* @main, !"main", !12, !4, null}
+!12 = !{!13, !19, null}
+!13 = !{!14, !16, !18}
+!14 = !{i32 0, !"SV_Position", i8 9, i8 3, !15, i8 4, i32 1, i8 4, i32 0, i8 0, null}
+!15 = !{i32 0}
+!16 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !15, i8 2, i32 1, i8 2, i32 1, i8 0, !17}
+!17 = !{i32 3, i32 3}
+!18 = !{i32 2, !"COLOR", i8 9, i8 0, !15, i8 2, i32 1, i8 4, i32 2, i8 0, null}
+!19 = !{!20}
+!20 = !{i32 0, !"SV_Target", i8 9, i8 16, !15, i8 0, i32 1, i8 4, i32 0, i8 0, !21}
+!21 = !{i32 3, i32 15}
+
+#endif
+
+const unsigned char g_main[] = {
+  0x44, 0x58, 0x42, 0x43, 0xf9, 0x30, 0x68, 0x7a, 0x0e, 0x94, 0x2f, 0xbb,
+  0x28, 0x90, 0x2d, 0x44, 0x77, 0xad, 0xf6, 0x99, 0x01, 0x00, 0x00, 0x00,
+  0x14, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
+  0x28, 0x02, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0x4c, 0x09, 0x00, 0x00,
+  0x68, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
+  0x84, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
+  0x4f, 0x52, 0x00, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x08, 0x01, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x52, 0x54, 0x53, 0x30, 0xa0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xa0, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+  0x53, 0x54, 0x41, 0x54, 0x74, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x9d, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x5c, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
+  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
+  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
+  0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
+  0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
+  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50,
+  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06,
+  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
+  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
+  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
+  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
+  0x89, 0x20, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09,
+  0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3,
+  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c,
+  0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0,
+  0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80,
+  0x10, 0x52, 0x06, 0xa1, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc,
+  0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10,
+  0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c,
+  0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8,
+  0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42, 0xc8, 0x23, 0x38, 0x10,
+  0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc,
+  0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8,
+  0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0,
+  0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0,
+  0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8,
+  0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0,
+  0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3, 0xc0, 0x0e, 0xe1, 0x30,
+  0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8, 0x40, 0x0f, 0xf5, 0x20,
+  0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6, 0x50, 0x0e, 0xe3, 0x40,
+  0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec, 0xf0, 0x0e, 0xe1, 0x40,
+  0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60, 0xe0, 0x07, 0x48, 0x98,
+  0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c,
+  0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0, 0x4d, 0x07, 0x02, 0x00,
+  0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79,
+  0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e,
+  0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07,
+  0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
+  0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07,
+  0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
+  0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20,
+  0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34,
+  0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
+  0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+  0x0b, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
+  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
+  0x25, 0x30, 0x02, 0x50, 0x0c, 0x45, 0x50, 0x12, 0x65, 0x50, 0x1e, 0xc5,
+  0x51, 0x08, 0x54, 0x4a, 0xa2, 0x0c, 0x0a, 0x61, 0x04, 0xa0, 0x08, 0x0a,
+  0x84, 0xec, 0x0c, 0x00, 0xe1, 0x19, 0x00, 0xca, 0x63, 0x39, 0x0c, 0x01,
+  0x00, 0x00, 0xf0, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04,
+  0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0xd8,
+  0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02, 0x71, 0x6c, 0x18, 0x0e,
+  0x84, 0x98, 0x20, 0x58, 0x14, 0x11, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9,
+  0x32, 0x98, 0x09, 0x02, 0x81, 0x4c, 0x10, 0x88, 0x64, 0x83, 0x40, 0x34,
+  0x1b, 0x12, 0x42, 0x59, 0x08, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c,
+  0x10, 0xb0, 0x8a, 0xc8, 0x5c, 0x58, 0x1b, 0x1c, 0x5b, 0x99, 0x1c, 0xcc,
+  0x06, 0x84, 0x88, 0x24, 0x82, 0x18, 0x08, 0x60, 0x43, 0x30, 0x6d, 0x20,
+  0x20, 0x00, 0xa0, 0x26, 0x08, 0x02, 0xb0, 0x01, 0xd8, 0x30, 0x10, 0xd7,
+  0xb5, 0x21, 0xc0, 0x36, 0x0c, 0x83, 0x95, 0x4d, 0x10, 0x32, 0x6b, 0x43,
+  0xb0, 0x91, 0x68, 0x0b, 0x4b, 0x73, 0xe3, 0x32, 0x65, 0xf5, 0x05, 0xf5,
+  0x36, 0x97, 0x46, 0x97, 0xf6, 0xe6, 0x36, 0x41, 0x28, 0x9c, 0x09, 0x42,
+  0xf1, 0x6c, 0x08, 0x88, 0x09, 0x42, 0x01, 0x4d, 0x10, 0x8a, 0x68, 0xc3,
+  0x42, 0x78, 0x1f, 0x18, 0x84, 0x81, 0x18, 0x0c, 0x62, 0x40, 0x8c, 0x01,
+  0x40, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49, 0x8a, 0x68, 0x82, 0x50,
+  0x48, 0x13, 0x04, 0x42, 0xd9, 0x20, 0x9c, 0xc1, 0x19, 0x6c, 0x58, 0x86,
+  0x32, 0xf8, 0xc6, 0x20, 0x0c, 0xcc, 0x60, 0x30, 0x83, 0x61, 0x0c, 0xd0,
+  0x80, 0xc5, 0xd0, 0x13, 0xd3, 0x93, 0xd4, 0x86, 0x85, 0x51, 0x83, 0x6f,
+  0x0c, 0xc2, 0xc0, 0x0c, 0x06, 0x31, 0x60, 0xc6, 0x00, 0xd8, 0x30, 0x90,
+  0x41, 0x1a, 0xac, 0x01, 0x93, 0x29, 0xab, 0x2f, 0xaa, 0x30, 0xb9, 0xb3,
+  0x32, 0xba, 0x09, 0x42, 0x31, 0x4d, 0x10, 0x88, 0x65, 0x83, 0x70, 0x06,
+  0x6f, 0xb0, 0x61, 0x21, 0xda, 0xe0, 0x73, 0x83, 0x30, 0x18, 0x83, 0x41,
+  0x0c, 0x88, 0x31, 0x80, 0x83, 0x0d, 0x41, 0x1c, 0x6c, 0x18, 0xd8, 0x40,
+  0x0e, 0x80, 0x0d, 0x85, 0xd5, 0xcd, 0x41, 0x05, 0xb0, 0x48, 0x73, 0x9b,
+  0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x0c, 0x8d, 0xb9, 0xb4, 0xb3, 0x2f, 0x36,
+  0x32, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x13, 0x04, 0xa2, 0x21,
+  0x42, 0x57, 0x86, 0xf7, 0xe5, 0xf6, 0x26, 0xd7, 0xb6, 0x01, 0xa9, 0x03,
+  0x3b, 0xb8, 0x03, 0x06, 0x0f, 0xf2, 0x40, 0x0f, 0x86, 0x2a, 0x6c, 0x6c,
+  0x76, 0x6d, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x82, 0xa0, 0x0a,
+  0x19, 0x9e, 0x8b, 0x5d, 0x99, 0xdc, 0x5c, 0xda, 0x9b, 0xdb, 0x94, 0x80,
+  0x68, 0x42, 0x86, 0xe7, 0x62, 0x17, 0xc6, 0x66, 0x57, 0x26, 0x37, 0x25,
+  0x28, 0xea, 0x90, 0xe1, 0xb9, 0xcc, 0xa1, 0x85, 0x91, 0x95, 0xc9, 0x35,
+  0xbd, 0x91, 0x95, 0xb1, 0x4d, 0x09, 0x90, 0x32, 0x64, 0x78, 0x2e, 0x72,
+  0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x02, 0xaa, 0x12,
+  0x19, 0x9e, 0x0b, 0x5d, 0x1e, 0x5c, 0x59, 0x90, 0x9b, 0xdb, 0x1b, 0x5d,
+  0x18, 0x5d, 0xda, 0x9b, 0xdb, 0xdc, 0x94, 0x20, 0xab, 0x43, 0x86, 0xe7,
+  0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36,
+  0x25, 0xd8, 0xea, 0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41,
+  0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09, 0xe6, 0xa0, 0x0b, 0x19, 0x9e,
+  0xcb, 0xd8, 0x5b, 0x9d, 0x1b, 0x5d, 0x99, 0xdc, 0xdc, 0x94, 0x40, 0x0f,
+  0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
+  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
+  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
+  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
+  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
+  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
+  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
+  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
+  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
+  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
+  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
+  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
+  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
+  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
+  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
+  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
+  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
+  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
+  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
+  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
+  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
+  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
+  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4,
+  0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19,
+  0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06,
+  0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f,
+  0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x46, 0x20, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84,
+  0x40, 0x33, 0x2c, 0x84, 0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38,
+  0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c,
+  0xbe, 0xf3, 0xf8, 0x12, 0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02,
+  0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d,
+  0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xa8, 0x26, 0x6c, 0xfe, 0x71, 0x35, 0xfa, 0x71,
+  0x0f, 0x71, 0x8b, 0x55, 0x52, 0x10, 0xfa, 0x33, 0x44, 0x58, 0x49, 0x4c,
+  0xa4, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xa9, 0x01, 0x00, 0x00,
+  0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x8c, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
+  0xa0, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49,
+  0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19,
+  0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
+  0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88,
+  0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42,
+  0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c,
+  0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07,
+  0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20,
+  0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00,
+  0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42,
+  0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00,
+  0x43, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04,
+  0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14,
+  0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00,
+  0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29,
+  0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1,
+  0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62,
+  0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97,
+  0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55,
+  0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47, 0x10,
+  0x14, 0x83, 0x91, 0x42, 0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40, 0x0c,
+  0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01,
+  0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01,
+  0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03,
+  0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01,
+  0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03,
+  0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80,
+  0xcc, 0x24, 0x06, 0xe3, 0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0, 0x06,
+  0xb4, 0x50, 0x0e, 0xf8, 0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20, 0x07,
+  0xa4, 0xc0, 0x07, 0xf6, 0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20, 0x0f,
+  0x7c, 0x60, 0x0e, 0xec, 0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00, 0x06,
+  0x74, 0xe0, 0x07, 0x60, 0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d, 0xd2,
+  0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0,
+  0x44, 0xa0, 0x80, 0xd0, 0x4d, 0x07, 0x02, 0x00, 0x13, 0x14, 0x72, 0xc0,
+  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
+  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
+  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
+  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
+  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
+  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
+  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
+  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00, 0x18,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
+  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
+  0x10, 0xc5, 0x50, 0x04, 0x25, 0x51, 0x06, 0xe5, 0x41, 0xa5, 0x24, 0xca,
+  0xa0, 0x10, 0x46, 0x00, 0x8a, 0xa0, 0x40, 0xc8, 0xce, 0x00, 0x10, 0x9e,
+  0x01, 0xa0, 0x3c, 0x96, 0xc3, 0x10, 0x00, 0x00, 0x00, 0xcf, 0x03, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00,
+  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18,
+  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0,
+  0xcd, 0x4d, 0x10, 0x08, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xc1, 0x9a,
+  0x08, 0x4c, 0x10, 0x88, 0x64, 0x82, 0x40, 0x28, 0x1b, 0x04, 0xc2, 0xd9,
+  0x90, 0x10, 0x0b, 0x43, 0x10, 0x43, 0x43, 0x3c, 0x1b, 0x02, 0x68, 0x82,
+  0x80, 0x51, 0x1b, 0x10, 0x42, 0x62, 0x08, 0x62, 0x20, 0x80, 0x0d, 0xc1,
+  0xb4, 0x81, 0x88, 0x00, 0x80, 0x9a, 0x20, 0x64, 0xd5, 0x86, 0xc0, 0x9a,
+  0x20, 0x08, 0x00, 0x89, 0xb6, 0xb0, 0x34, 0x37, 0x2e, 0x53, 0x56, 0x5f,
+  0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x13, 0x84, 0xa2, 0x99,
+  0x20, 0x14, 0xce, 0x86, 0x80, 0x98, 0x20, 0x14, 0xcf, 0x04, 0xa1, 0x80,
+  0x36, 0x2c, 0x84, 0xb6, 0x71, 0x9d, 0x37, 0x78, 0xc4, 0x07, 0x10, 0xa1,
+  0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, 0xd1, 0x04,
+  0x81, 0x58, 0x36, 0x08, 0x63, 0x30, 0x06, 0x1b, 0x96, 0x21, 0x0c, 0xb6,
+  0xaf, 0x13, 0x83, 0x41, 0x0c, 0x86, 0x8f, 0x0c, 0x58, 0x0c, 0x3d, 0x31,
+  0x3d, 0x49, 0x6d, 0x58, 0x1a, 0x33, 0xd8, 0xbe, 0x4e, 0x0c, 0x06, 0xaf,
+  0xf9, 0x80, 0x0d, 0x03, 0x18, 0x94, 0xc1, 0x19, 0x30, 0x99, 0xb2, 0xfa,
+  0xa2, 0x0a, 0x93, 0x3b, 0x2b, 0xa3, 0x9b, 0x20, 0x14, 0xd2, 0x04, 0x81,
+  0x60, 0x36, 0x08, 0x63, 0xb0, 0x06, 0x1b, 0x16, 0x22, 0x0d, 0x36, 0x35,
+  0xe8, 0xbe, 0xc1, 0x23, 0x3e, 0x36, 0xd8, 0x10, 0xb4, 0xc1, 0x86, 0x01,
+  0x0d, 0xdc, 0x00, 0xd8, 0x50, 0x60, 0xd9, 0x1b, 0x54, 0x40, 0x15, 0x36,
+  0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50,
+  0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a,
+  0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b,
+  0x12, 0x18, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4,
+  0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x49, 0x19, 0x32, 0x3c, 0x17,
+  0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0x01, 0x55,
+  0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e,
+  0x8c, 0xae, 0x6c, 0x4a, 0x60, 0xd5, 0x21, 0xc3, 0x73, 0x29, 0x73, 0xa3,
+  0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73, 0xa3, 0x9b, 0x9b, 0x12, 0xbc, 0x01,
+  0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
+  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
+  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
+  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
+  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
+  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
+  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
+  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
+  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
+  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
+  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
+  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
+  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
+  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
+  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
+  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
+  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
+  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
+  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
+  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
+  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
+  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
+  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4,
+  0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19,
+  0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06,
+  0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f,
+  0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x46, 0x20, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84,
+  0x40, 0x33, 0x2c, 0x84, 0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38,
+  0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c,
+  0xbe, 0xf3, 0xf8, 0x12, 0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02,
+  0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d,
+  0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00,
+  0x61, 0x20, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
+  0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xf4, 0x46, 0x00, 0x88,
+  0x94, 0xc2, 0x0c, 0x40, 0xc9, 0x15, 0x42, 0xe1, 0x51, 0x29, 0x01, 0x1a,
+  0x33, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x69,
+  0x85, 0x83, 0x61, 0xc8, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x40, 0x9b,
+  0x11, 0x65, 0x59, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x67,
+  0x6c, 0x1a, 0x84, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x01, 0x06,
+  0x07, 0xb7, 0x15, 0xc9, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xdf,
+  0x41, 0x0c, 0x42, 0x50, 0x14, 0x1c, 0xa7, 0x14, 0xa3, 0x09, 0x01, 0x30,
+  0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23, 0x06,
+  0x09, 0x00, 0x82, 0x60, 0x80, 0x94, 0x01, 0x14, 0x06, 0x61, 0x70, 0x11,
+  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0x94, 0x01, 0x14, 0x06, 0x61,
+  0xb0, 0x0c, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0x94, 0x01, 0x14,
+  0x06, 0x61, 0x60, 0x09, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0x94,
+  0x01, 0x14, 0x06, 0x61, 0x90, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00
+};

+ 8 - 0
src/render/direct3d12/D3D12_PixelShader_Textures_Simple.hlsl

@@ -0,0 +1,8 @@
+
+#include "D3D12_PixelShader_Common.hlsli"
+
+[RootSignature(TextureRS)]
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+    return texture0.Sample(sampler0, input.tex);
+}

+ 296 - 281
src/render/direct3d12/D3D12_VertexShader_Advanced.h

@@ -17,12 +17,25 @@
 ; TEXCOORD                 0   xy          1     NONE   float   xy
 ; COLOR                    0   xyzw        2     NONE   float   xyzw
 ;
-; shader hash: d7bcf20f2a5db21d5ba810d89983d7fd
+; shader hash: 752654cedb179856e8b8359cbd711158
 ;
 ; Pipeline Runtime Information:
 ;
+;PSVRuntimeInfo:
 ; Vertex Shader
 ; OutputPositionPresent=1
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 3
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 3
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: mainAdvanced
 ;
 ;
 ; Input signature:
@@ -173,9 +186,9 @@ attributes #2 = { nounwind readonly }
 !dx.viewIdState = !{!7}
 !dx.entryPoints = !{!8}
 
-!0 = !{!"dxcoob 1.7.2308.16 (52da17e29)"}
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
 !1 = !{i32 1, i32 0}
-!2 = !{i32 1, i32 7}
+!2 = !{i32 1, i32 8}
 !3 = !{!"vs", i32 6, i32 0}
 !4 = !{null, null, !5, null}
 !5 = !{!6}
@@ -199,12 +212,12 @@ attributes #2 = { nounwind readonly }
 #endif
 
 const unsigned char g_mainAdvanced[] = {
-  0x44, 0x58, 0x42, 0x43, 0x1f, 0xd8, 0x69, 0x8c, 0xf9, 0x3f, 0xcb, 0x59,
-  0x93, 0xbb, 0x79, 0x04, 0x43, 0x1d, 0xeb, 0xe3, 0x01, 0x00, 0x00, 0x00,
-  0x44, 0x12, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0xcc, 0xf7, 0xfe, 0xc2, 0x5f, 0x5c, 0xb5, 0x65,
+  0x70, 0x26, 0xb1, 0xc8, 0xa7, 0x7d, 0xbe, 0x9a, 0x01, 0x00, 0x00, 0x00,
+  0x60, 0x12, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00,
-  0x88, 0x02, 0x00, 0x00, 0xb4, 0x03, 0x00, 0x00, 0x38, 0x0a, 0x00, 0x00,
-  0x54, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x9c, 0x02, 0x00, 0x00, 0xc8, 0x03, 0x00, 0x00, 0x4c, 0x0a, 0x00, 0x00,
+  0x68, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
   0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -229,59 +242,202 @@ const unsigned char g_mainAdvanced[] = {
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
   0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
   0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30,
-  0x1c, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x30, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
   0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53,
-  0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f,
-  0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58,
-  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03,
-  0x03, 0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
-  0x52, 0x54, 0x53, 0x30, 0x24, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x24, 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
+  0x00, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45,
+  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
+  0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f,
+  0x4c, 0x4f, 0x52, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x76, 0x61,
+  0x6e, 0x63, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00,
+  0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+  0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x52, 0x54, 0x53, 0x30,
+  0x24, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x01, 0x00, 0x00,
+  0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x6c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
-  0x01, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
-  0xec, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
-  0x53, 0x54, 0x41, 0x54, 0x7c, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00,
-  0x9f, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x64, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0x96, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x53, 0x54, 0x41, 0x54,
+  0x7c, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x9f, 0x01, 0x00, 0x00,
+  0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x64, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
+  0x96, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49,
+  0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19,
+  0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
+  0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88,
+  0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42,
+  0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c,
+  0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07,
+  0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20,
+  0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00,
+  0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42,
+  0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00,
+  0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04,
+  0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14,
+  0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00,
+  0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29,
+  0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1,
+  0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95,
+  0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e,
+  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab,
+  0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11,
+  0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10,
+  0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a,
+  0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7,
+  0x91, 0x26, 0xa0, 0x99, 0x24, 0x14, 0x58, 0xba, 0xe9, 0x40, 0x00, 0x00,
+  0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79,
+  0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e,
+  0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07,
+  0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
+  0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07,
+  0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07,
+  0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
+  0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07,
+  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20,
+  0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34,
+  0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
+  0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+  0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x40, 0x16, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
+  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
+  0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x18, 0x50, 0x04, 0x85, 0x50, 0x06,
+  0xe5, 0x50, 0x12, 0xe5, 0x51, 0x10, 0x25, 0x57, 0x14, 0x54, 0x4a, 0x62,
+  0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10, 0xe8, 0xce, 0x00, 0x10, 0x9e, 0x01,
+  0xa0, 0x3c, 0x96, 0xc3, 0x30, 0xcf, 0xf3, 0x00, 0x10, 0x18, 0x00, 0x00,
+  0x88, 0x80, 0x10, 0x08, 0x06, 0x20, 0x28, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x92, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
+  0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27,
+  0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
+  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
+  0xbb, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x60,
+  0x19, 0x2b, 0xab, 0x32, 0x39, 0xba, 0x32, 0xbc, 0x29, 0xb4, 0x30, 0xb2,
+  0x32, 0xb9, 0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30, 0x37, 0xba, 0xb9, 0x09,
+  0x02, 0x91, 0x6c, 0x40, 0x08, 0x65, 0x21, 0x88, 0x81, 0x01, 0x36, 0x04,
+  0xcd, 0x06, 0x02, 0x00, 0x1c, 0x60, 0x82, 0x70, 0x61, 0x1c, 0xda, 0xe0,
+  0xec, 0x26, 0x08, 0x84, 0x32, 0x41, 0x20, 0x96, 0x0d, 0xc3, 0x34, 0x0d,
+  0x13, 0x04, 0x82, 0x99, 0x20, 0x10, 0xcd, 0x04, 0x81, 0x70, 0x36, 0x20,
+  0x48, 0x24, 0x51, 0x15, 0x61, 0x5d, 0x1b, 0x04, 0x06, 0xdb, 0x30, 0x10,
+  0x50, 0x36, 0x41, 0x10, 0x80, 0x0d, 0xc0, 0x86, 0x81, 0xe0, 0xb8, 0x0d,
+  0x41, 0xb7, 0x61, 0x18, 0x36, 0x6f, 0x82, 0x90, 0x69, 0x1b, 0x02, 0x30,
+  0x20, 0xd3, 0x16, 0x96, 0xe6, 0x16, 0x44, 0x66, 0x17, 0xe6, 0x36, 0x56,
+  0x46, 0x46, 0x04, 0xea, 0x69, 0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82,
+  0x50, 0x4c, 0x13, 0x84, 0x82, 0xda, 0x10, 0x10, 0x13, 0x84, 0xa2, 0xda,
+  0x20, 0x54, 0xd6, 0x86, 0x85, 0x18, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28,
+  0x83, 0xe1, 0x0c, 0x88, 0x32, 0x40, 0x03, 0x22, 0x54, 0x45, 0x58, 0x43,
+  0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0xc2, 0xda, 0x20, 0x54, 0xd5, 0x86,
+  0x65, 0x50, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28, 0x83, 0x61, 0x0d, 0x86,
+  0x32, 0x60, 0x03, 0x16, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x84, 0xe2,
+  0x9a, 0x20, 0x10, 0xcf, 0x06, 0xa1, 0x82, 0x83, 0x0d, 0x8b, 0xe4, 0x06,
+  0x64, 0x50, 0x06, 0x66, 0x50, 0x06, 0xc3, 0x1b, 0x48, 0x65, 0x10, 0x07,
+  0x1b, 0x86, 0x34, 0x68, 0x03, 0x39, 0xe0, 0x32, 0x65, 0xf5, 0x05, 0xf5,
+  0x36, 0x97, 0x46, 0x97, 0xf6, 0xe6, 0xb6, 0x61, 0x21, 0xe8, 0x80, 0x0c,
+  0xce, 0xc0, 0x0c, 0xde, 0x60, 0x78, 0x03, 0xa2, 0x0c, 0xe2, 0x60, 0xc3,
+  0x32, 0xa8, 0x01, 0x19, 0x94, 0x81, 0x19, 0xac, 0xc1, 0xb0, 0x06, 0x43,
+  0x19, 0xb0, 0xc1, 0x86, 0x45, 0x72, 0x03, 0x32, 0x28, 0x03, 0x33, 0x58,
+  0x83, 0xe1, 0x0d, 0xa4, 0x32, 0x88, 0x83, 0x0d, 0x43, 0x1d, 0xd8, 0xc1,
+  0x1d, 0x6c, 0x18, 0xe6, 0x00, 0x0f, 0x80, 0x0d, 0xc5, 0x26, 0x06, 0x79,
+  0xf0, 0x00, 0x34, 0xcc, 0xd8, 0xde, 0xc2, 0xe8, 0xe6, 0x26, 0x08, 0x04,
+  0xc4, 0x22, 0xcd, 0x6d, 0x8e, 0x6e, 0x6e, 0x82, 0x40, 0x44, 0x34, 0xe6,
+  0xd2, 0xce, 0xbe, 0xd8, 0xc8, 0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xcd, 0xd1,
+  0x4d, 0x10, 0x08, 0x69, 0x03, 0xb2, 0x07, 0x7c, 0xd0, 0x07, 0x7e, 0xf0,
+  0x07, 0x17, 0x28, 0x84, 0x42, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34,
+  0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae,
+  0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73,
+  0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x14, 0x75, 0xc8, 0xf0,
+  0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8,
+  0xa6, 0x04, 0x48, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a,
+  0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0x81, 0x53, 0x89, 0x0c, 0xcf, 0x85, 0x2e,
+  0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e, 0x8c, 0x2e, 0xed, 0xcd,
+  0x6d, 0x6e, 0x8a, 0x90, 0x79, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca,
+  0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x60, 0x50,
+  0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d, 0xcd,
+  0x8d, 0x6e, 0x6e, 0x4a, 0x90, 0x07, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6, 0xde,
+  0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xa1, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60,
+  0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4,
+  0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
+  0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x0c, 0x03, 0x20, 0x8d, 0x36, 0x54, 0x40, 0x23, 0x10, 0x03,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48,
+  0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x26, 0x54, 0xce,
+  0xdb, 0x17, 0x98, 0x56, 0xe8, 0xb8, 0x35, 0x9c, 0xbd, 0x71, 0x11, 0x58,
+  0x44, 0x58, 0x49, 0x4c, 0xf0, 0x07, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00,
+  0xfc, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd8, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
   0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
   0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
@@ -319,194 +475,53 @@ const unsigned char g_mainAdvanced[] = {
   0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
   0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
   0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
-  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
   0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00,
   0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x18, 0x50,
-  0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0xe5, 0x51, 0x10, 0x25, 0x57,
-  0x14, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10, 0xe8, 0xce,
-  0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x96, 0xc3, 0x30, 0xcf, 0xf3, 0x00,
-  0x10, 0x18, 0x00, 0x00, 0x88, 0x80, 0x10, 0x08, 0x06, 0x20, 0x28, 0x00,
-  0x79, 0x18, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
-  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04,
-  0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43,
-  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8,
-  0x20, 0x10, 0x04, 0x05, 0xbb, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e,
-  0x84, 0x98, 0x20, 0x60, 0x19, 0x2b, 0xab, 0x32, 0x39, 0xba, 0x32, 0xbc,
-  0x29, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30,
-  0x37, 0xba, 0xb9, 0x09, 0x02, 0x91, 0x6c, 0x40, 0x08, 0x65, 0x21, 0x88,
-  0x81, 0x01, 0x36, 0x04, 0xcd, 0x06, 0x02, 0x00, 0x1c, 0x60, 0x82, 0x70,
-  0x61, 0x1c, 0xda, 0xe0, 0xec, 0x26, 0x08, 0x84, 0x32, 0x41, 0x20, 0x96,
-  0x0d, 0xc3, 0x34, 0x0d, 0x13, 0x04, 0x82, 0x99, 0x20, 0x10, 0xcd, 0x04,
-  0x81, 0x70, 0x36, 0x20, 0x48, 0x24, 0x51, 0x15, 0x61, 0x5d, 0x1b, 0x04,
-  0x06, 0xdb, 0x30, 0x10, 0x50, 0x36, 0x41, 0x10, 0x80, 0x0d, 0xc0, 0x86,
-  0x81, 0xe0, 0xb8, 0x0d, 0x41, 0xb7, 0x61, 0x18, 0x36, 0x6f, 0x82, 0x90,
-  0x69, 0x1b, 0x02, 0x30, 0x20, 0xd3, 0x16, 0x96, 0xe6, 0x16, 0x44, 0x66,
-  0x17, 0xe6, 0x36, 0x56, 0x46, 0x46, 0x04, 0xea, 0x69, 0x2a, 0x89, 0x2a,
-  0xe9, 0xc9, 0x69, 0x82, 0x50, 0x4c, 0x13, 0x84, 0x82, 0xda, 0x10, 0x10,
-  0x13, 0x84, 0xa2, 0xda, 0x20, 0x54, 0xd6, 0x86, 0x85, 0x18, 0x03, 0x32,
-  0x28, 0x03, 0x33, 0x28, 0x83, 0xe1, 0x0c, 0x88, 0x32, 0x40, 0x03, 0x22,
-  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0xc2, 0xda,
-  0x20, 0x54, 0xd5, 0x86, 0x65, 0x50, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28,
-  0x83, 0x61, 0x0d, 0x86, 0x32, 0x60, 0x03, 0x16, 0x43, 0x4f, 0x4c, 0x4f,
-  0x52, 0x13, 0x84, 0xe2, 0x9a, 0x20, 0x10, 0xcf, 0x06, 0xa1, 0x82, 0x83,
-  0x0d, 0x8b, 0xe4, 0x06, 0x64, 0x50, 0x06, 0x66, 0x50, 0x06, 0xc3, 0x1b,
-  0x48, 0x65, 0x10, 0x07, 0x1b, 0x86, 0x34, 0x68, 0x03, 0x39, 0xe0, 0x32,
-  0x65, 0xf5, 0x05, 0xf5, 0x36, 0x97, 0x46, 0x97, 0xf6, 0xe6, 0xb6, 0x61,
-  0x21, 0xe8, 0x80, 0x0c, 0xce, 0xc0, 0x0c, 0xde, 0x60, 0x78, 0x03, 0xa2,
-  0x0c, 0xe2, 0x60, 0xc3, 0x32, 0xa8, 0x01, 0x19, 0x94, 0x81, 0x19, 0xac,
-  0xc1, 0xb0, 0x06, 0x43, 0x19, 0xb0, 0xc1, 0x86, 0x45, 0x72, 0x03, 0x32,
-  0x28, 0x03, 0x33, 0x58, 0x83, 0xe1, 0x0d, 0xa4, 0x32, 0x88, 0x83, 0x0d,
-  0x43, 0x1d, 0xd8, 0xc1, 0x1d, 0x6c, 0x18, 0xe6, 0x00, 0x0f, 0x80, 0x0d,
-  0xc5, 0x26, 0x06, 0x79, 0xf0, 0x00, 0x34, 0xcc, 0xd8, 0xde, 0xc2, 0xe8,
-  0xe6, 0x26, 0x08, 0x04, 0xc4, 0x22, 0xcd, 0x6d, 0x8e, 0x6e, 0x6e, 0x82,
-  0x40, 0x44, 0x34, 0xe6, 0xd2, 0xce, 0xbe, 0xd8, 0xc8, 0x68, 0xcc, 0xa5,
-  0x9d, 0x7d, 0xcd, 0xd1, 0x4d, 0x10, 0x08, 0x69, 0x03, 0xb2, 0x07, 0x7c,
-  0xd0, 0x07, 0x7e, 0xf0, 0x07, 0x17, 0x28, 0x84, 0x42, 0x15, 0x36, 0x36,
-  0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50, 0x85,
-  0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a, 0x40,
-  0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12,
-  0x14, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a,
-  0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x48, 0x19, 0x32, 0x3c, 0x17, 0xb9,
-  0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0x81, 0x53, 0x89,
-  0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e,
-  0x8c, 0x2e, 0xed, 0xcd, 0x6d, 0x6e, 0x8a, 0x90, 0x79, 0x75, 0xc8, 0xf0,
-  0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca,
-  0xa6, 0x04, 0x60, 0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e,
-  0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0x90, 0x07, 0x5d, 0xc8,
-  0xf0, 0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04,
-  0xa1, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
-  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
-  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
-  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
-  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
-  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
-  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
-  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
-  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
-  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
-  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
-  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
-  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
-  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
-  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
-  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
-  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
-  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
-  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
-  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
-  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
-  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
-  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8,
-  0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b,
-  0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a,
-  0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e,
-  0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44,
-  0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05,
-  0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34,
-  0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c,
-  0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b,
-  0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc,
-  0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00,
-  0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0c, 0x03, 0x20, 0x8d, 0x36, 0x54,
-  0x40, 0x23, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xd7, 0xbc, 0xf2, 0x0f, 0x2a, 0x5d, 0xb2, 0x1d, 0x5b, 0xa8, 0x10, 0xd8,
-  0x99, 0x83, 0xd7, 0xfd, 0x44, 0x58, 0x49, 0x4c, 0xe8, 0x07, 0x00, 0x00,
-  0x60, 0x00, 0x01, 0x00, 0xfa, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xf1, 0x01, 0x00, 0x00,
-  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
-  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
-  0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14,
-  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20,
-  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
-  0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
-  0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
-  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
-  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
-  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
-  0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84,
-  0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c,
-  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66,
-  0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14,
-  0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f,
-  0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6,
-  0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42,
-  0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42,
-  0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4,
-  0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03,
-  0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a,
-  0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99,
-  0x24, 0x14, 0x58, 0xba, 0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
-  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
-  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
-  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
-  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
-  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
-  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
-  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
-  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
-  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
-  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
-  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
-  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
-  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
-  0x0e, 0xc5, 0x50, 0x80, 0x01, 0x65, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24,
-  0x46, 0x00, 0xca, 0xa0, 0x08, 0x0a, 0x81, 0xf0, 0x0c, 0x00, 0xe5, 0xb1,
-  0x1c, 0x86, 0x79, 0x9e, 0x07, 0x80, 0xc0, 0x00, 0x00, 0x40, 0x04, 0x84,
-  0x40, 0x30, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x64, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45,
-  0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c,
-  0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc8, 0x06,
-  0x61, 0x30, 0x28, 0xd8, 0xcd, 0x4d, 0x10, 0x88, 0x64, 0xc3, 0x80, 0x24,
-  0xc4, 0x04, 0x01, 0x9b, 0x08, 0x4c, 0x10, 0x08, 0x65, 0x03, 0x42, 0x2c,
-  0x0c, 0x41, 0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00,
-  0x13, 0x84, 0x8c, 0xda, 0x10, 0x44, 0x13, 0x04, 0x01, 0x20, 0xd3, 0x16,
-  0x96, 0xe6, 0x16, 0x44, 0x66, 0x17, 0xe6, 0x36, 0x56, 0x46, 0x46, 0x04,
-  0xea, 0x69, 0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x38, 0x13,
-  0x84, 0xe2, 0xd9, 0x10, 0x10, 0x13, 0x84, 0x02, 0x9a, 0x20, 0x10, 0xcb,
-  0x06, 0x41, 0x33, 0x36, 0x2c, 0x44, 0x65, 0x5d, 0xd8, 0x35, 0x64, 0xc4,
-  0xb5, 0x11, 0xa1, 0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20,
-  0x14, 0xd1, 0x06, 0x41, 0xd3, 0x36, 0x2c, 0x43, 0x67, 0x5d, 0xd8, 0x35,
-  0x78, 0xc3, 0xf5, 0x4d, 0x10, 0x08, 0x86, 0xc5, 0xd0, 0x13, 0xd3, 0x93,
-  0xd4, 0x04, 0xa1, 0x90, 0x26, 0x08, 0x44, 0xb3, 0x41, 0xd0, 0xc8, 0x60,
-  0xc3, 0x12, 0x06, 0x62, 0x60, 0x5d, 0xd8, 0x35, 0x8c, 0x41, 0x18, 0x5c,
-  0x65, 0xb0, 0x61, 0xe0, 0xc0, 0xc0, 0x0c, 0xb8, 0x4c, 0x59, 0x7d, 0x41,
-  0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x6d, 0x58, 0x08, 0x34, 0xb0,
-  0x32, 0x6c, 0x0c, 0x86, 0x31, 0x20, 0xae, 0x32, 0xd8, 0xb0, 0x0c, 0x9d,
-  0x75, 0x61, 0xde, 0xe0, 0x0d, 0xd7, 0xb7, 0x61, 0x09, 0x03, 0x31, 0xb0,
-  0x2e, 0xcc, 0x1b, 0xc6, 0x20, 0x0c, 0xae, 0x32, 0xd8, 0x30, 0xa4, 0x81,
-  0x1a, 0xac, 0xc1, 0x86, 0xe1, 0x0c, 0xd8, 0x00, 0xd8, 0x50, 0x4c, 0x54,
-  0x1b, 0x40, 0x40, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32,
-  0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e,
-  0x2e, 0xed, 0xcd, 0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b,
-  0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x18, 0x75, 0xc8, 0xf0, 0x5c, 0xe6,
-  0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04,
-  0x49, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1,
-  0xb2, 0xb9, 0x29, 0xc1, 0x53, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec,
-  0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0x10, 0xd5, 0x21,
-  0xc3, 0x73, 0x29, 0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73, 0xa3,
-  0x9b, 0x9b, 0x12, 0xb4, 0x01, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x10, 0xc5, 0x50, 0x80,
+  0x01, 0x65, 0x50, 0x0e, 0x45, 0x50, 0x1e, 0x54, 0x4a, 0x62, 0x04, 0xa0,
+  0x0c, 0x8a, 0xa0, 0x10, 0x08, 0xcf, 0x00, 0x50, 0x1e, 0xcb, 0x61, 0x98,
+  0xe7, 0x79, 0x00, 0x08, 0x0c, 0x00, 0x00, 0x44, 0x40, 0x08, 0x04, 0x03,
+  0x10, 0x14, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00,
+  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
+  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xd8,
+  0xcd, 0x4d, 0x10, 0x88, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x01, 0xa3,
+  0x08, 0x4c, 0x10, 0x08, 0x65, 0x03, 0x42, 0x2c, 0x0c, 0x41, 0x0c, 0x0d,
+  0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00, 0x13, 0x84, 0xac, 0xda,
+  0x10, 0x44, 0x13, 0x04, 0x01, 0x20, 0xd3, 0x16, 0x96, 0xe6, 0x16, 0x44,
+  0x66, 0x17, 0xe6, 0x36, 0x56, 0x46, 0x46, 0x04, 0xea, 0x69, 0x2a, 0x89,
+  0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x3c, 0x13, 0x84, 0x02, 0xda, 0x10,
+  0x10, 0x13, 0x84, 0x22, 0x9a, 0x20, 0x10, 0xcb, 0x04, 0x81, 0x60, 0x36,
+  0x08, 0xda, 0xb6, 0x61, 0x21, 0x2a, 0xeb, 0xc2, 0xae, 0x21, 0x23, 0x2e,
+  0x8e, 0x08, 0x55, 0x11, 0xd6, 0xd0, 0xd3, 0x93, 0x14, 0xd1, 0x04, 0xa1,
+  0x90, 0x36, 0x08, 0x9a, 0xb6, 0x61, 0x19, 0x3c, 0xeb, 0xc2, 0xae, 0xe1,
+  0x1b, 0x2e, 0x30, 0x98, 0x20, 0x10, 0x0d, 0x8b, 0xa1, 0x27, 0xa6, 0x27,
+  0xa9, 0x09, 0x42, 0x31, 0x4d, 0x10, 0x08, 0x67, 0x83, 0xa0, 0x95, 0xc1,
+  0x86, 0x45, 0x0c, 0xc6, 0xc0, 0xba, 0xb0, 0x6b, 0x20, 0x03, 0x31, 0xb8,
+  0xcc, 0x60, 0xc3, 0xd0, 0x85, 0xc1, 0x19, 0x70, 0x99, 0xb2, 0xfa, 0x82,
+  0x7a, 0x9b, 0x4b, 0xa3, 0x4b, 0x7b, 0x73, 0xdb, 0xb0, 0x10, 0x69, 0x60,
+  0x65, 0x18, 0x19, 0x0c, 0x64, 0x40, 0x5c, 0x66, 0xb0, 0x61, 0x19, 0x3c,
+  0xeb, 0xc2, 0xbe, 0xe1, 0x1b, 0x2e, 0x30, 0xd8, 0xb0, 0x88, 0xc1, 0x18,
+  0x58, 0x17, 0xf6, 0x0d, 0x64, 0x20, 0x06, 0x97, 0x19, 0x6c, 0x18, 0xd4,
+  0x60, 0x0d, 0xd8, 0x60, 0xc3, 0x80, 0x06, 0x6d, 0x00, 0x6c, 0x28, 0x26,
+  0xca, 0x0d, 0x20, 0xa0, 0x0a, 0x1b, 0x9b, 0x5d, 0x9b, 0x4b, 0x1a, 0x59,
+  0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42, 0x86, 0xe7, 0x62, 0x57, 0x26,
+  0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90, 0xe1, 0xb9, 0xd8,
+  0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a, 0x64, 0x78, 0x2e,
+  0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53,
+  0x82, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9, 0xdc, 0x5b, 0x9d, 0xdc,
+  0x58, 0xd9, 0xdc, 0x94, 0xe0, 0xa9, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56,
+  0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0x88, 0xea,
+  0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9,
+  0xd1, 0xcd, 0x4d, 0x09, 0xdc, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
   0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
   0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
   0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
@@ -542,51 +557,51 @@ const unsigned char g_mainAdvanced[] = {
   0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f,
   0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0c, 0x03,
   0x20, 0x8d, 0x36, 0x54, 0x40, 0x23, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
+  0x61, 0x20, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
   0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x44, 0x4a, 0xa1, 0x10,
   0x66, 0x00, 0x8a, 0xab, 0xec, 0x4a, 0x8e, 0x4a, 0x09, 0x50, 0x1c, 0x01,
-  0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x61,
-  0x03, 0x63, 0x59, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1d,
-  0x22, 0x5d, 0xcf, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x97,
-  0x4c, 0x18, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xf1, 0x29,
-  0x54, 0xf6, 0x24, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x80, 0xc1,
-  0x52, 0x69, 0x91, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x18,
-  0x30, 0xdc, 0x36, 0x2d, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x88,
-  0x41, 0xd3, 0x71, 0x08, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6,
-  0x18, 0x38, 0x5d, 0x57, 0x35, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60,
-  0x90, 0xc1, 0xe3, 0x79, 0x8a, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
-  0x46, 0x19, 0x40, 0xdf, 0x57, 0x3d, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60,
-  0xd0, 0x90, 0x81, 0xa3, 0x80, 0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08,
-  0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80,
-  0x20, 0x18, 0x34, 0x69, 0x30, 0x3d, 0x66, 0x30, 0x9a, 0x10, 0x00, 0xa3,
-  0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30, 0x62, 0x70,
-  0x00, 0x20, 0x08, 0x06, 0x8d, 0x1b, 0x60, 0x54, 0x19, 0x8c, 0x26, 0x04,
-  0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c,
-  0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x07, 0x5d, 0xb6, 0x06, 0xa3,
-  0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40,
-  0x0c, 0x36, 0x5d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x07,
-  0x0f, 0xc8, 0xe0, 0x7a, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78,
-  0xf2, 0xa0, 0x0c, 0xae, 0x25, 0xb0, 0xe0, 0x80, 0x8e, 0x59, 0x9b, 0x7c,
-  0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, 0xe1, 0x03, 0x34, 0xd8, 0xa4,
-  0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x3e, 0x48, 0x83, 0xcd,
-  0x09, 0x2c, 0x50, 0xa0, 0x63, 0xd9, 0x27, 0x9f, 0x11, 0x03, 0x04, 0x00,
-  0x41, 0x30, 0x78, 0x40, 0x81, 0x0d, 0xbe, 0x2a, 0x18, 0x31, 0x40, 0x00,
-  0x10, 0x04, 0x83, 0x27, 0x14, 0xda, 0xe0, 0x8b, 0x02, 0x0b, 0x1a, 0xe8,
-  0x18, 0x37, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x87,
-  0x14, 0xe0, 0x60, 0x0c, 0xb0, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c,
-  0x9e, 0x52, 0x88, 0x83, 0x31, 0xa0, 0x02, 0x0b, 0x20, 0xe8, 0x8c, 0x18,
-  0x24, 0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76, 0x40, 0x0a, 0xa4, 0xc0,
-  0x07, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07,
-  0xa4, 0x40, 0x0a, 0x70, 0x90, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01,
-  0x92, 0x0a, 0x76, 0x40, 0x0a, 0xa4, 0xa0, 0x07, 0xc5, 0x88, 0x41, 0x02,
-  0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07, 0xa4, 0x40, 0x0a, 0x7b, 0x10,
-  0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76, 0x50, 0x0a,
-  0xa4, 0xc0, 0x07, 0x69, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48,
-  0x2a, 0xd8, 0x41, 0x29, 0x90, 0x02, 0x1c, 0xa0, 0xc1, 0x88, 0x41, 0x02,
-  0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07, 0x7f, 0x40, 0x0a, 0x7c, 0xd0,
-  0x06, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa4, 0x82, 0x1d, 0xfc,
-  0x01, 0x29, 0xc0, 0x01, 0x1b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01,
-  0x92, 0x0a, 0x76, 0xf0, 0x07, 0xa4, 0xa0, 0x07, 0x6b, 0x30, 0x62, 0x90,
-  0x00, 0x20, 0x08, 0x06, 0x48, 0x2a, 0xd8, 0xc1, 0x1f, 0x90, 0xc2, 0x1e,
-  0xa8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x65,
+  0x03, 0x73, 0x5d, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1e,
+  0x22, 0x61, 0xcf, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x97,
+  0x4c, 0x19, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x01, 0x06,
+  0x0a, 0xa5, 0x3d, 0xc9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x61,
+  0xb0, 0x54, 0x5b, 0xa4, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21,
+  0x06, 0x4c, 0xc7, 0x4d, 0xcb, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18,
+  0x63, 0xd0, 0x78, 0x1d, 0xc2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81,
+  0x41, 0x06, 0x8e, 0xe7, 0x55, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
+  0x18, 0x65, 0xf0, 0x7c, 0x9f, 0xe2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
+  0x81, 0x61, 0x06, 0x10, 0x18, 0x80, 0x41, 0xf5, 0x8c, 0x18, 0x1c, 0x00,
+  0x08, 0x82, 0x41, 0x53, 0x06, 0x8e, 0x12, 0x06, 0xa3, 0x09, 0x01, 0x30,
+  0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23, 0x06,
+  0x07, 0x00, 0x82, 0x60, 0xd0, 0xa8, 0xc1, 0xf4, 0x9c, 0xc1, 0x68, 0x42,
+  0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3,
+  0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x6f, 0x80, 0x51, 0x65, 0x30,
+  0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09,
+  0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x0d, 0x1d, 0x74, 0x19,
+  0x1b, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
+  0x68, 0x02, 0x31, 0xd8, 0x74, 0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0x9e, 0x3c, 0x20, 0x83, 0xeb, 0x09, 0x46, 0x0c, 0x10, 0x00, 0x04,
+  0xc1, 0xe0, 0xd1, 0x83, 0x32, 0xb8, 0x96, 0xc0, 0x82, 0x03, 0x3a, 0x66,
+  0x6d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0xa7, 0x0f, 0xd0,
+  0x60, 0x93, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0xfc, 0x20,
+  0x0d, 0x36, 0x27, 0xb0, 0x40, 0x81, 0x8e, 0x65, 0x9f, 0x7c, 0x46, 0x0c,
+  0x10, 0x00, 0x04, 0xc1, 0xe0, 0x09, 0x05, 0x36, 0xf8, 0xaa, 0x60, 0xc4,
+  0x00, 0x01, 0x40, 0x10, 0x0c, 0x1e, 0x51, 0x68, 0x83, 0x2f, 0x0a, 0x2c,
+  0x68, 0xa0, 0x63, 0xdc, 0x18, 0xc8, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0x9e, 0x52, 0x80, 0x83, 0x31, 0xc0, 0x82, 0x11, 0x03, 0x04, 0x00,
+  0x41, 0x30, 0x78, 0x4c, 0x21, 0x0e, 0xc6, 0x80, 0x0a, 0x2c, 0x80, 0xa0,
+  0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x2a, 0xd8, 0x41, 0x29,
+  0x94, 0x02, 0x1f, 0x34, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8,
+  0x82, 0x1d, 0x94, 0x42, 0x29, 0xc0, 0x41, 0x32, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0x88, 0x2a, 0xd8, 0x41, 0x29, 0x94, 0x82, 0x1e, 0x14, 0x23,
+  0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8, 0x82, 0x1d, 0x94, 0x42, 0x29,
+  0xec, 0x41, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x2a, 0xd8,
+  0x81, 0x29, 0x94, 0x02, 0x1f, 0xa4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
+  0x18, 0x20, 0xaa, 0x60, 0x07, 0xa6, 0x50, 0x0a, 0x70, 0x80, 0x06, 0x23,
+  0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8, 0x82, 0x1d, 0xfc, 0x41, 0x29,
+  0xf0, 0x41, 0x1b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xa2, 0x0a,
+  0x76, 0xf0, 0x07, 0xa5, 0x00, 0x07, 0x6c, 0x30, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0x88, 0x2a, 0xd8, 0xc1, 0x1f, 0x94, 0x82, 0x1e, 0xac, 0xc1,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xaa, 0x60, 0x07, 0x7f, 0x50,
+  0x0a, 0x7b, 0xa0, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };

+ 314 - 299
src/render/direct3d12/D3D12_VertexShader_Color.h

@@ -17,12 +17,25 @@
 ; TEXCOORD                 0   xy          1     NONE   float   xy
 ; COLOR                    0   xyzw        2     NONE   float   xyzw
 ;
-; shader hash: 6855ad6b0e7d04a14cff9d3ae06dc84d
+; shader hash: cbe7d9b1986d6ddacf69c18b71879746
 ;
 ; Pipeline Runtime Information:
 ;
+;PSVRuntimeInfo:
 ; Vertex Shader
 ; OutputPositionPresent=1
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 3
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 3
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: mainColor
 ;
 ;
 ; Input signature:
@@ -173,9 +186,9 @@ attributes #2 = { nounwind readonly }
 !dx.viewIdState = !{!7}
 !dx.entryPoints = !{!8}
 
-!0 = !{!"dxcoob 1.7.2308.16 (52da17e29)"}
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
 !1 = !{i32 1, i32 0}
-!2 = !{i32 1, i32 7}
+!2 = !{i32 1, i32 8}
 !3 = !{!"vs", i32 6, i32 0}
 !4 = !{null, null, !5, null}
 !5 = !{!6}
@@ -199,12 +212,12 @@ attributes #2 = { nounwind readonly }
 #endif
 
 const unsigned char g_mainColor[] = {
-  0x44, 0x58, 0x42, 0x43, 0x6f, 0x4d, 0x80, 0xc9, 0x37, 0xa3, 0xc4, 0xa6,
-  0x8c, 0x16, 0xdc, 0xdb, 0x15, 0x5f, 0x4e, 0x30, 0x01, 0x00, 0x00, 0x00,
-  0x58, 0x11, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x47, 0xed, 0xdb, 0xb8, 0x43, 0x34, 0x8d, 0x0f,
+  0x2b, 0x3b, 0x32, 0x8f, 0xbf, 0xb3, 0xcd, 0x22, 0x01, 0x00, 0x00, 0x00,
+  0x70, 0x11, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00,
-  0x88, 0x02, 0x00, 0x00, 0xd8, 0x02, 0x00, 0x00, 0x54, 0x09, 0x00, 0x00,
-  0x70, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x98, 0x02, 0x00, 0x00, 0xe8, 0x02, 0x00, 0x00, 0x64, 0x09, 0x00, 0x00,
+  0x80, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
   0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -229,41 +242,183 @@ const unsigned char g_mainColor[] = {
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
   0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
   0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30,
-  0x1c, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x2c, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
   0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53,
-  0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f,
-  0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58,
-  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03,
-  0x03, 0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
-  0x52, 0x54, 0x53, 0x30, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54,
-  0x74, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x9d, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
+  0x00, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45,
+  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
+  0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f,
+  0x4c, 0x4f, 0x52, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6f,
+  0x72, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x08, 0x00, 0x00, 0x52, 0x54, 0x53, 0x30, 0x48, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
+  0x53, 0x54, 0x41, 0x54, 0x74, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00,
+  0x9d, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x5c, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
+  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
+  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
+  0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
+  0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
+  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50,
+  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06,
+  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
+  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
+  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
+  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
+  0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09,
+  0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3,
+  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c,
+  0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0,
+  0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80,
+  0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c,
+  0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18,
+  0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19,
+  0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c,
+  0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e,
+  0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6,
+  0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80,
+  0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x14, 0x58, 0xba,
+  0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
+  0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50,
+  0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30,
+  0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
+  0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20,
+  0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0,
+  0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
+  0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10,
+  0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20,
+  0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
+  0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
+  0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
+  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
+  0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
+  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x18, 0x50,
+  0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0xe5, 0x51, 0x10, 0x25, 0x57,
+  0x14, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10, 0xe8, 0xce,
+  0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x96, 0xc3, 0x30, 0xcf, 0xf3, 0x00,
+  0x10, 0x18, 0x00, 0x00, 0x88, 0x80, 0x10, 0x08, 0x06, 0x20, 0x28, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04,
+  0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8,
+  0x20, 0x10, 0x04, 0x05, 0xbb, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e,
+  0x84, 0x98, 0x20, 0x60, 0x19, 0x2b, 0xab, 0x32, 0x39, 0xba, 0x32, 0xbc,
+  0x29, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30,
+  0x37, 0xba, 0xb9, 0x09, 0x02, 0x91, 0x6c, 0x40, 0x08, 0x65, 0x21, 0x88,
+  0x81, 0x01, 0x36, 0x04, 0xcd, 0x06, 0x02, 0x00, 0x1c, 0x60, 0x82, 0x70,
+  0x61, 0x1c, 0xda, 0xe0, 0xec, 0x26, 0x08, 0x84, 0x32, 0x41, 0x20, 0x96,
+  0x0d, 0xc3, 0x34, 0x0d, 0x13, 0x04, 0x82, 0x99, 0x20, 0x10, 0xcd, 0x04,
+  0x81, 0x70, 0x36, 0x20, 0x48, 0x24, 0x51, 0x15, 0x61, 0x5d, 0x1b, 0x04,
+  0x06, 0xdb, 0x30, 0x10, 0x50, 0x36, 0x41, 0x10, 0x80, 0x0d, 0xc0, 0x86,
+  0x81, 0xe0, 0xb8, 0x0d, 0x41, 0xb7, 0x61, 0x18, 0x36, 0x6f, 0x82, 0x90,
+  0x69, 0x1b, 0x02, 0x30, 0x60, 0xd2, 0x16, 0x96, 0xe6, 0x36, 0xf4, 0xc6,
+  0xf6, 0x26, 0x47, 0x04, 0xea, 0x69, 0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69,
+  0x82, 0x50, 0x4c, 0x13, 0x84, 0x82, 0xda, 0x10, 0x10, 0x13, 0x84, 0xa2,
+  0xda, 0x20, 0x54, 0xd6, 0x86, 0x85, 0x18, 0x03, 0x32, 0x28, 0x03, 0x33,
+  0x28, 0x83, 0xe1, 0x0c, 0x88, 0x32, 0x40, 0x03, 0x22, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0xc2, 0xda, 0x20, 0x54, 0xd5,
+  0x86, 0x65, 0x50, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28, 0x83, 0x61, 0x0d,
+  0x86, 0x32, 0x60, 0x03, 0x16, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x84,
+  0xe2, 0x9a, 0x20, 0x10, 0xcf, 0x06, 0xa1, 0x82, 0x83, 0x0d, 0x8b, 0xe4,
+  0x06, 0x64, 0x50, 0x06, 0x66, 0x50, 0x06, 0xc3, 0x1b, 0x48, 0x65, 0x10,
+  0x07, 0x1b, 0x86, 0x34, 0x68, 0x03, 0x39, 0xe0, 0x32, 0x65, 0xf5, 0x05,
+  0xf5, 0x36, 0x97, 0x46, 0x97, 0xf6, 0xe6, 0xb6, 0x61, 0x21, 0xe8, 0x80,
+  0x0c, 0xce, 0xc0, 0x0c, 0xde, 0x60, 0x78, 0x03, 0xa2, 0x0c, 0xe2, 0x60,
+  0xc3, 0x32, 0xa8, 0x01, 0x19, 0x94, 0x81, 0x19, 0xac, 0xc1, 0xb0, 0x06,
+  0x43, 0x19, 0xb0, 0xc1, 0x86, 0x45, 0x72, 0x03, 0x32, 0x28, 0x03, 0x33,
+  0x58, 0x83, 0xe1, 0x0d, 0xa4, 0x32, 0x88, 0x83, 0x0d, 0x43, 0x1d, 0xd8,
+  0xc1, 0x1d, 0x6c, 0x18, 0xe6, 0x00, 0x0f, 0x80, 0x0d, 0xc5, 0x26, 0x06,
+  0x79, 0xf0, 0x00, 0x34, 0xcc, 0xd8, 0xde, 0xc2, 0xe8, 0xe6, 0x26, 0x08,
+  0x04, 0xc4, 0x22, 0xcd, 0x6d, 0x8e, 0x6e, 0x6e, 0x82, 0x40, 0x44, 0x34,
+  0xe6, 0xd2, 0xce, 0xbe, 0xd8, 0xc8, 0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xcd,
+  0xd1, 0x4d, 0x10, 0x08, 0x69, 0x03, 0xb2, 0x07, 0x7c, 0xd0, 0x07, 0x7e,
+  0xf0, 0x07, 0x17, 0x28, 0x84, 0x42, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97,
+  0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5,
+  0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3,
+  0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x14, 0x75, 0xc8,
+  0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca,
+  0xd8, 0xa6, 0x04, 0x48, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7,
+  0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0x81, 0x53, 0x89, 0x0c, 0xcf, 0x85,
+  0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e, 0x8c, 0x2e, 0xed,
+  0xcd, 0x6d, 0x6e, 0x8a, 0x90, 0x79, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2,
+  0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x60,
+  0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d,
+  0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0x90, 0x07, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6,
+  0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xa1, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60,
+  0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4,
+  0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
+  0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x09, 0x03, 0x20, 0x0d, 0xe7, 0x2c, 0x4e, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xcb, 0xe7, 0xd9, 0xb1, 0x98, 0x6d, 0x6d, 0xda,
+  0xcf, 0x69, 0xc1, 0x8b, 0x71, 0x87, 0x97, 0x46, 0x44, 0x58, 0x49, 0x4c,
+  0xe8, 0x07, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xfa, 0x01, 0x00, 0x00,
   0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x5c, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
-  0x94, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0xd0, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
+  0xf1, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49,
   0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19,
   0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
@@ -300,273 +455,133 @@ const unsigned char g_mainColor[] = {
   0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
   0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
   0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07,
-  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00,
+  0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20,
   0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34,
   0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
   0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
   0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x40, 0x16, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
+  0x40, 0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
   0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x18, 0x50, 0x04, 0x85, 0x50, 0x06,
-  0xe5, 0x50, 0x12, 0xe5, 0x51, 0x10, 0x25, 0x57, 0x14, 0x54, 0x4a, 0x62,
-  0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10, 0xe8, 0xce, 0x00, 0x10, 0x9e, 0x01,
-  0xa0, 0x3c, 0x96, 0xc3, 0x30, 0xcf, 0xf3, 0x00, 0x10, 0x18, 0x00, 0x00,
-  0x88, 0x80, 0x10, 0x08, 0x06, 0x20, 0x28, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x91, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45,
-  0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c,
-  0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
-  0xbb, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x60,
-  0x19, 0x2b, 0xab, 0x32, 0x39, 0xba, 0x32, 0xbc, 0x29, 0xb4, 0x30, 0xb2,
-  0x32, 0xb9, 0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30, 0x37, 0xba, 0xb9, 0x09,
-  0x02, 0x91, 0x6c, 0x40, 0x08, 0x65, 0x21, 0x88, 0x81, 0x01, 0x36, 0x04,
-  0xcd, 0x06, 0x02, 0x00, 0x1c, 0x60, 0x82, 0x70, 0x61, 0x1c, 0xda, 0xe0,
-  0xec, 0x26, 0x08, 0x84, 0x32, 0x41, 0x20, 0x96, 0x0d, 0xc3, 0x34, 0x0d,
-  0x13, 0x04, 0x82, 0x99, 0x20, 0x10, 0xcd, 0x04, 0x81, 0x70, 0x36, 0x20,
-  0x48, 0x24, 0x51, 0x15, 0x61, 0x5d, 0x1b, 0x04, 0x06, 0xdb, 0x30, 0x10,
-  0x50, 0x36, 0x41, 0x10, 0x80, 0x0d, 0xc0, 0x86, 0x81, 0xe0, 0xb8, 0x0d,
-  0x41, 0xb7, 0x61, 0x18, 0x36, 0x6f, 0x82, 0x90, 0x69, 0x1b, 0x02, 0x30,
-  0x60, 0xd2, 0x16, 0x96, 0xe6, 0x36, 0xf4, 0xc6, 0xf6, 0x26, 0x47, 0x04,
-  0xea, 0x69, 0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x4c, 0x13,
-  0x84, 0x82, 0xda, 0x10, 0x10, 0x13, 0x84, 0xa2, 0xda, 0x20, 0x54, 0xd6,
-  0x86, 0x85, 0x18, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28, 0x83, 0xe1, 0x0c,
-  0x88, 0x32, 0x40, 0x03, 0x22, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
-  0x44, 0x13, 0x84, 0xc2, 0xda, 0x20, 0x54, 0xd5, 0x86, 0x65, 0x50, 0x03,
-  0x32, 0x28, 0x03, 0x33, 0x28, 0x83, 0x61, 0x0d, 0x86, 0x32, 0x60, 0x03,
-  0x16, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x84, 0xe2, 0x9a, 0x20, 0x10,
-  0xcf, 0x06, 0xa1, 0x82, 0x83, 0x0d, 0x8b, 0xe4, 0x06, 0x64, 0x50, 0x06,
-  0x66, 0x50, 0x06, 0xc3, 0x1b, 0x48, 0x65, 0x10, 0x07, 0x1b, 0x86, 0x34,
-  0x68, 0x03, 0x39, 0xe0, 0x32, 0x65, 0xf5, 0x05, 0xf5, 0x36, 0x97, 0x46,
-  0x97, 0xf6, 0xe6, 0xb6, 0x61, 0x21, 0xe8, 0x80, 0x0c, 0xce, 0xc0, 0x0c,
-  0xde, 0x60, 0x78, 0x03, 0xa2, 0x0c, 0xe2, 0x60, 0xc3, 0x32, 0xa8, 0x01,
-  0x19, 0x94, 0x81, 0x19, 0xac, 0xc1, 0xb0, 0x06, 0x43, 0x19, 0xb0, 0xc1,
-  0x86, 0x45, 0x72, 0x03, 0x32, 0x28, 0x03, 0x33, 0x58, 0x83, 0xe1, 0x0d,
-  0xa4, 0x32, 0x88, 0x83, 0x0d, 0x43, 0x1d, 0xd8, 0xc1, 0x1d, 0x6c, 0x18,
-  0xe6, 0x00, 0x0f, 0x80, 0x0d, 0xc5, 0x26, 0x06, 0x79, 0xf0, 0x00, 0x34,
-  0xcc, 0xd8, 0xde, 0xc2, 0xe8, 0xe6, 0x26, 0x08, 0x04, 0xc4, 0x22, 0xcd,
-  0x6d, 0x8e, 0x6e, 0x6e, 0x82, 0x40, 0x44, 0x34, 0xe6, 0xd2, 0xce, 0xbe,
-  0xd8, 0xc8, 0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xcd, 0xd1, 0x4d, 0x10, 0x08,
-  0x69, 0x03, 0xb2, 0x07, 0x7c, 0xd0, 0x07, 0x7e, 0xf0, 0x07, 0x17, 0x28,
-  0x84, 0x42, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37,
-  0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e,
-  0xed, 0xcd, 0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63,
-  0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x14, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0,
-  0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x48,
-  0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2,
-  0xb9, 0x29, 0x81, 0x53, 0x89, 0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c,
-  0xc8, 0xcd, 0xed, 0x8d, 0x2e, 0x8c, 0x2e, 0xed, 0xcd, 0x6d, 0x6e, 0x8a,
-  0x90, 0x79, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8,
-  0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x60, 0x50, 0x87, 0x0c, 0xcf,
-  0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e,
-  0x4a, 0x90, 0x07, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8,
-  0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xa1, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
-  0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
-  0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
-  0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce,
-  0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b,
-  0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c,
-  0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07,
-  0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11,
-  0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0,
-  0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8,
-  0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b,
-  0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b,
-  0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87,
-  0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07,
-  0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87,
-  0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81,
-  0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30,
-  0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4,
-  0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca,
-  0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39,
-  0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b,
-  0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b,
-  0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87,
-  0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87,
-  0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40,
-  0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00,
-  0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10,
-  0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6,
-  0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01,
-  0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3,
-  0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09,
-  0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
-  0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f,
-  0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x09, 0x03,
-  0x20, 0x0d, 0xe7, 0x2c, 0x4e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x68, 0x55, 0xad, 0x6b, 0x0e, 0x7d, 0x04, 0xa1, 0x4c, 0xff, 0x9d, 0x3a,
-  0xe0, 0x6d, 0xc8, 0x4d, 0x44, 0x58, 0x49, 0x4c, 0xe0, 0x07, 0x00, 0x00,
-  0x60, 0x00, 0x01, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc8, 0x07, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00,
-  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
-  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
-  0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14,
-  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20,
-  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
-  0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
-  0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
-  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
-  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
-  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
-  0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84,
-  0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c,
-  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66,
-  0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14,
-  0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f,
-  0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6,
-  0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42,
-  0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42,
-  0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4,
-  0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03,
-  0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a,
-  0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99,
-  0x24, 0x14, 0x58, 0xba, 0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
-  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
-  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
-  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
-  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
-  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
-  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
-  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
-  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
-  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
-  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
-  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
-  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
-  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
-  0x0e, 0xc5, 0x50, 0x80, 0x01, 0x65, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24,
-  0x46, 0x00, 0xca, 0xa0, 0x08, 0x0a, 0x81, 0xf0, 0x0c, 0x00, 0xe5, 0xb1,
-  0x1c, 0x86, 0x79, 0x9e, 0x07, 0x80, 0xc0, 0x00, 0x00, 0x40, 0x04, 0x84,
-  0x40, 0x30, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x63, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45,
-  0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c,
-  0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc8, 0x06,
-  0x61, 0x30, 0x28, 0xd8, 0xcd, 0x4d, 0x10, 0x88, 0x64, 0xc3, 0x80, 0x24,
-  0xc4, 0x04, 0x01, 0x9b, 0x08, 0x4c, 0x10, 0x08, 0x65, 0x03, 0x42, 0x2c,
-  0x0c, 0x41, 0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00,
-  0x13, 0x84, 0x8c, 0xda, 0x10, 0x44, 0x13, 0x04, 0x01, 0x60, 0xd2, 0x16,
-  0x96, 0xe6, 0x36, 0xf4, 0xc6, 0xf6, 0x26, 0x47, 0x04, 0xea, 0x69, 0x2a,
-  0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x38, 0x13, 0x84, 0xe2, 0xd9,
-  0x10, 0x10, 0x13, 0x84, 0x02, 0x9a, 0x20, 0x10, 0xcb, 0x06, 0x41, 0x33,
-  0x36, 0x2c, 0x44, 0x65, 0x5d, 0xd8, 0x35, 0x64, 0xc4, 0xb5, 0x11, 0xa1,
-  0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, 0xd1, 0x06,
-  0x41, 0xd3, 0x36, 0x2c, 0x43, 0x67, 0x5d, 0xd8, 0x35, 0x78, 0xc3, 0xf5,
-  0x4d, 0x10, 0x08, 0x86, 0xc5, 0xd0, 0x13, 0xd3, 0x93, 0xd4, 0x04, 0xa1,
-  0x90, 0x26, 0x08, 0x44, 0xb3, 0x41, 0xd0, 0xc8, 0x60, 0xc3, 0x12, 0x06,
-  0x62, 0x60, 0x5d, 0xd8, 0x35, 0x8c, 0x41, 0x18, 0x5c, 0x65, 0xb0, 0x61,
-  0xe0, 0xc0, 0xc0, 0x0c, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5,
-  0xd1, 0xa5, 0xbd, 0xb9, 0x6d, 0x58, 0x08, 0x34, 0xb0, 0x32, 0x6c, 0x0c,
-  0x86, 0x31, 0x20, 0xae, 0x32, 0xd8, 0xb0, 0x0c, 0x9d, 0x75, 0x61, 0xde,
-  0xe0, 0x0d, 0xd7, 0xb7, 0x61, 0x09, 0x03, 0x31, 0xb0, 0x2e, 0xcc, 0x1b,
-  0xc6, 0x20, 0x0c, 0xae, 0x32, 0xd8, 0x30, 0xa4, 0x81, 0x1a, 0xac, 0xc1,
-  0x86, 0xe1, 0x0c, 0xd8, 0x00, 0xd8, 0x50, 0x4c, 0x54, 0x1b, 0x40, 0x40,
-  0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29,
-  0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd,
-  0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b,
-  0x93, 0x9b, 0x12, 0x18, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8,
-  0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x49, 0x19, 0x32,
-  0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29,
-  0xc1, 0x53, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, 0x2e, 0x89, 0x6c,
-  0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0x10, 0xd5, 0x21, 0xc3, 0x73, 0x29,
-  0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73, 0xa3, 0x9b, 0x9b, 0x12,
-  0xb4, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
-  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
-  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
-  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
-  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
-  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
-  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
-  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
-  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
-  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
-  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
-  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
-  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
-  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
-  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
-  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
-  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
-  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
-  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
-  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
-  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
-  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
-  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8,
-  0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b,
-  0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a,
-  0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e,
-  0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44,
-  0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05,
-  0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34,
-  0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c,
-  0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b,
-  0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc,
-  0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00,
-  0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x09, 0x03, 0x20, 0x0d, 0xe7, 0x2c,
-  0x4e, 0x04, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
-  0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x44, 0x4a, 0xa1, 0x10, 0x66, 0x00, 0x8a, 0xab, 0xec, 0x4a, 0x8e, 0x4a,
-  0x09, 0x50, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x20, 0x61, 0x03, 0x63, 0x59, 0xc1, 0x88, 0x41, 0x02, 0x80,
-  0x20, 0x18, 0x18, 0x1d, 0x22, 0x5d, 0xcf, 0x31, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x86, 0x97, 0x4c, 0x18, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08,
-  0x82, 0x81, 0xf1, 0x29, 0x54, 0xf6, 0x24, 0x23, 0x06, 0x09, 0x00, 0x82,
-  0x60, 0x60, 0x80, 0xc1, 0x52, 0x69, 0x91, 0x32, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x46, 0x18, 0x30, 0xdc, 0x36, 0x2d, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x60, 0x88, 0x41, 0xd3, 0x71, 0x08, 0x33, 0x62, 0x90, 0x00,
-  0x20, 0x08, 0x06, 0xc6, 0x18, 0x38, 0x5d, 0x57, 0x35, 0x23, 0x06, 0x09,
-  0x00, 0x82, 0x60, 0x60, 0x90, 0xc1, 0xe3, 0x79, 0x8a, 0x33, 0x62, 0x90,
-  0x00, 0x20, 0x08, 0x06, 0x46, 0x19, 0x40, 0xdf, 0x57, 0x3d, 0x23, 0x06,
-  0x07, 0x00, 0x82, 0x60, 0xd0, 0x90, 0x81, 0xa3, 0x80, 0xc1, 0x68, 0x42,
+  0x25, 0x30, 0x02, 0x50, 0x10, 0xc5, 0x50, 0x80, 0x01, 0x65, 0x50, 0x0e,
+  0x45, 0x50, 0x1e, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10,
+  0x08, 0xcf, 0x00, 0x50, 0x1e, 0xcb, 0x61, 0x98, 0xe7, 0x79, 0x00, 0x08,
+  0x0c, 0x00, 0x00, 0x44, 0x40, 0x08, 0x04, 0x03, 0x10, 0x14, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04,
+  0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98,
+  0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xd8, 0xcd, 0x4d, 0x10, 0x88,
+  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x01, 0xa3, 0x08, 0x4c, 0x10, 0x08,
+  0x65, 0x03, 0x42, 0x2c, 0x0c, 0x41, 0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36,
+  0x10, 0x00, 0xf0, 0x00, 0x13, 0x84, 0xac, 0xda, 0x10, 0x44, 0x13, 0x04,
+  0x01, 0x60, 0xd2, 0x16, 0x96, 0xe6, 0x36, 0xf4, 0xc6, 0xf6, 0x26, 0x47,
+  0x04, 0xea, 0x69, 0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x3c,
+  0x13, 0x84, 0x02, 0xda, 0x10, 0x10, 0x13, 0x84, 0x22, 0x9a, 0x20, 0x10,
+  0xcb, 0x04, 0x81, 0x60, 0x36, 0x08, 0xda, 0xb6, 0x61, 0x21, 0x2a, 0xeb,
+  0xc2, 0xae, 0x21, 0x23, 0x2e, 0x8e, 0x08, 0x55, 0x11, 0xd6, 0xd0, 0xd3,
+  0x93, 0x14, 0xd1, 0x04, 0xa1, 0x90, 0x36, 0x08, 0x9a, 0xb6, 0x61, 0x19,
+  0x3c, 0xeb, 0xc2, 0xae, 0xe1, 0x1b, 0x2e, 0x30, 0x98, 0x20, 0x10, 0x0d,
+  0x8b, 0xa1, 0x27, 0xa6, 0x27, 0xa9, 0x09, 0x42, 0x31, 0x4d, 0x10, 0x08,
+  0x67, 0x83, 0xa0, 0x95, 0xc1, 0x86, 0x45, 0x0c, 0xc6, 0xc0, 0xba, 0xb0,
+  0x6b, 0x20, 0x03, 0x31, 0xb8, 0xcc, 0x60, 0xc3, 0xd0, 0x85, 0xc1, 0x19,
+  0x70, 0x99, 0xb2, 0xfa, 0x82, 0x7a, 0x9b, 0x4b, 0xa3, 0x4b, 0x7b, 0x73,
+  0xdb, 0xb0, 0x10, 0x69, 0x60, 0x65, 0x18, 0x19, 0x0c, 0x64, 0x40, 0x5c,
+  0x66, 0xb0, 0x61, 0x19, 0x3c, 0xeb, 0xc2, 0xbe, 0xe1, 0x1b, 0x2e, 0x30,
+  0xd8, 0xb0, 0x88, 0xc1, 0x18, 0x58, 0x17, 0xf6, 0x0d, 0x64, 0x20, 0x06,
+  0x97, 0x19, 0x6c, 0x18, 0xd4, 0x60, 0x0d, 0xd8, 0x60, 0xc3, 0x80, 0x06,
+  0x6d, 0x00, 0x6c, 0x28, 0x26, 0xca, 0x0d, 0x20, 0xa0, 0x0a, 0x1b, 0x9b,
+  0x5d, 0x9b, 0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42,
+  0x86, 0xe7, 0x62, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20,
+  0x9a, 0x90, 0xe1, 0xb9, 0xd8, 0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09,
+  0x8c, 0x3a, 0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d,
+  0x6f, 0x64, 0x65, 0x6c, 0x53, 0x82, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c,
+  0xd9, 0xdc, 0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0xe0, 0xa9, 0x43,
+  0x86, 0xe7, 0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46,
+  0x57, 0x36, 0x25, 0x88, 0xea, 0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9,
+  0xe5, 0x41, 0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09, 0xdc, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60,
+  0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4,
+  0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
+  0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x09, 0x03, 0x20, 0x0d, 0xe7, 0x2c, 0x4e, 0x04, 0x00, 0x00,
+  0x61, 0x20, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
+  0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x44, 0x4a, 0xa1, 0x10,
+  0x66, 0x00, 0x8a, 0xab, 0xec, 0x4a, 0x8e, 0x4a, 0x09, 0x50, 0x1c, 0x01,
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x65,
+  0x03, 0x73, 0x5d, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1e,
+  0x22, 0x61, 0xcf, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x97,
+  0x4c, 0x19, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x01, 0x06,
+  0x0a, 0xa5, 0x3d, 0xc9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x61,
+  0xb0, 0x54, 0x5b, 0xa4, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21,
+  0x06, 0x4c, 0xc7, 0x4d, 0xcb, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18,
+  0x63, 0xd0, 0x78, 0x1d, 0xc2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81,
+  0x41, 0x06, 0x8e, 0xe7, 0x55, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
+  0x18, 0x65, 0xf0, 0x7c, 0x9f, 0xe2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
+  0x81, 0x61, 0x06, 0x10, 0x18, 0x80, 0x41, 0xf5, 0x8c, 0x18, 0x1c, 0x00,
+  0x08, 0x82, 0x41, 0x53, 0x06, 0x8e, 0x12, 0x06, 0xa3, 0x09, 0x01, 0x30,
+  0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23, 0x06,
+  0x07, 0x00, 0x82, 0x60, 0xd0, 0xa8, 0xc1, 0xf4, 0x9c, 0xc1, 0x68, 0x42,
   0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3,
-  0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x69, 0x30, 0x3d, 0x66, 0x30,
+  0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x6f, 0x80, 0x51, 0x65, 0x30,
   0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09,
-  0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8d, 0x1b, 0x60, 0x54,
-  0x19, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
-  0x68, 0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x07,
-  0x5d, 0xb6, 0x06, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09,
-  0x83, 0x30, 0x9a, 0x40, 0x0c, 0x36, 0x5d, 0xf2, 0x19, 0x31, 0x40, 0x00,
-  0x10, 0x04, 0x83, 0x07, 0x0f, 0xc8, 0xe0, 0x7a, 0x82, 0x11, 0x03, 0x04,
-  0x00, 0x41, 0x30, 0x78, 0xf2, 0xa0, 0x0c, 0xae, 0x25, 0xb0, 0xe0, 0x80,
-  0x8e, 0x59, 0x9b, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, 0xe1,
-  0x03, 0x34, 0xd8, 0xa4, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e,
-  0x3e, 0x48, 0x83, 0xcd, 0x09, 0x2c, 0x50, 0xa0, 0x63, 0xd9, 0x27, 0x9f,
-  0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x40, 0x81, 0x0d, 0xbe, 0x2a,
-  0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x27, 0x14, 0xda, 0xe0, 0x8b,
-  0x02, 0x0b, 0x1a, 0xe8, 0x18, 0x37, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00,
-  0x10, 0x04, 0x83, 0x87, 0x14, 0xe0, 0x60, 0x0c, 0xb0, 0x60, 0xc4, 0x00,
-  0x01, 0x40, 0x10, 0x0c, 0x9e, 0x52, 0x88, 0x83, 0x31, 0xa0, 0x02, 0x0b,
-  0x20, 0xe8, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76,
-  0x40, 0x0a, 0xa4, 0xc0, 0x07, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
-  0x20, 0xa9, 0x60, 0x07, 0xa4, 0x40, 0x0a, 0x70, 0x90, 0x8c, 0x18, 0x24,
-  0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76, 0x40, 0x0a, 0xa4, 0xa0, 0x07,
-  0xc5, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07, 0xa4,
-  0x40, 0x0a, 0x7b, 0x10, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x92,
-  0x0a, 0x76, 0x50, 0x0a, 0xa4, 0xc0, 0x07, 0x69, 0x30, 0x62, 0x90, 0x00,
-  0x20, 0x08, 0x06, 0x48, 0x2a, 0xd8, 0x41, 0x29, 0x90, 0x02, 0x1c, 0xa0,
-  0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07, 0x7f,
-  0x40, 0x0a, 0x7c, 0xd0, 0x06, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80,
-  0xa4, 0x82, 0x1d, 0xfc, 0x01, 0x29, 0xc0, 0x01, 0x1b, 0x8c, 0x18, 0x24,
-  0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76, 0xf0, 0x07, 0xa4, 0xa0, 0x07,
-  0x6b, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x2a, 0xd8, 0xc1,
-  0x1f, 0x90, 0xc2, 0x1e, 0xa8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
+  0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x0d, 0x1d, 0x74, 0x19,
+  0x1b, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
+  0x68, 0x02, 0x31, 0xd8, 0x74, 0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0x9e, 0x3c, 0x20, 0x83, 0xeb, 0x09, 0x46, 0x0c, 0x10, 0x00, 0x04,
+  0xc1, 0xe0, 0xd1, 0x83, 0x32, 0xb8, 0x96, 0xc0, 0x82, 0x03, 0x3a, 0x66,
+  0x6d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0xa7, 0x0f, 0xd0,
+  0x60, 0x93, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0xfc, 0x20,
+  0x0d, 0x36, 0x27, 0xb0, 0x40, 0x81, 0x8e, 0x65, 0x9f, 0x7c, 0x46, 0x0c,
+  0x10, 0x00, 0x04, 0xc1, 0xe0, 0x09, 0x05, 0x36, 0xf8, 0xaa, 0x60, 0xc4,
+  0x00, 0x01, 0x40, 0x10, 0x0c, 0x1e, 0x51, 0x68, 0x83, 0x2f, 0x0a, 0x2c,
+  0x68, 0xa0, 0x63, 0xdc, 0x18, 0xc8, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0x9e, 0x52, 0x80, 0x83, 0x31, 0xc0, 0x82, 0x11, 0x03, 0x04, 0x00,
+  0x41, 0x30, 0x78, 0x4c, 0x21, 0x0e, 0xc6, 0x80, 0x0a, 0x2c, 0x80, 0xa0,
+  0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x2a, 0xd8, 0x41, 0x29,
+  0x94, 0x02, 0x1f, 0x34, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8,
+  0x82, 0x1d, 0x94, 0x42, 0x29, 0xc0, 0x41, 0x32, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0x88, 0x2a, 0xd8, 0x41, 0x29, 0x94, 0x82, 0x1e, 0x14, 0x23,
+  0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8, 0x82, 0x1d, 0x94, 0x42, 0x29,
+  0xec, 0x41, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x2a, 0xd8,
+  0x81, 0x29, 0x94, 0x02, 0x1f, 0xa4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
+  0x18, 0x20, 0xaa, 0x60, 0x07, 0xa6, 0x50, 0x0a, 0x70, 0x80, 0x06, 0x23,
+  0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8, 0x82, 0x1d, 0xfc, 0x41, 0x29,
+  0xf0, 0x41, 0x1b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xa2, 0x0a,
+  0x76, 0xf0, 0x07, 0xa5, 0x00, 0x07, 0x6c, 0x30, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0x88, 0x2a, 0xd8, 0xc1, 0x1f, 0x94, 0x82, 0x1e, 0xac, 0xc1,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xaa, 0x60, 0x07, 0x7f, 0x50,
+  0x0a, 0x7b, 0xa0, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };

+ 364 - 349
src/render/direct3d12/D3D12_VertexShader_Texture.h

@@ -17,12 +17,25 @@
 ; TEXCOORD                 0   xy          1     NONE   float   xy
 ; COLOR                    0   xyzw        2     NONE   float   xyzw
 ;
-; shader hash: c6001978fd780410844d97ce5efb7d9e
+; shader hash: f5280cf40e86fc415490773ccc22c4a6
 ;
 ; Pipeline Runtime Information:
 ;
+;PSVRuntimeInfo:
 ; Vertex Shader
 ; OutputPositionPresent=1
+; MinimumExpectedWaveLaneCount: 0
+; MaximumExpectedWaveLaneCount: 4294967295
+; UsesViewID: false
+; SigInputElements: 3
+; SigOutputElements: 3
+; SigPatchConstOrPrimElements: 0
+; SigInputVectors: 3
+; SigOutputVectors[0]: 3
+; SigOutputVectors[1]: 0
+; SigOutputVectors[2]: 0
+; SigOutputVectors[3]: 0
+; EntryFunctionName: mainTexture
 ;
 ;
 ; Input signature:
@@ -173,9 +186,9 @@ attributes #2 = { nounwind readonly }
 !dx.viewIdState = !{!7}
 !dx.entryPoints = !{!8}
 
-!0 = !{!"dxcoob 1.7.2308.16 (52da17e29)"}
+!0 = !{!"dxcoob 1.8.2502.11 (239921522)"}
 !1 = !{i32 1, i32 0}
-!2 = !{i32 1, i32 7}
+!2 = !{i32 1, i32 8}
 !3 = !{!"vs", i32 6, i32 0}
 !4 = !{null, null, !5, null}
 !5 = !{!6}
@@ -199,12 +212,12 @@ attributes #2 = { nounwind readonly }
 #endif
 
 const unsigned char g_mainTexture[] = {
-  0x44, 0x58, 0x42, 0x43, 0x9d, 0xf0, 0x72, 0x12, 0x6c, 0x2b, 0x04, 0x9d,
-  0x85, 0xd2, 0xd2, 0x4a, 0x39, 0x19, 0x03, 0x4d, 0x01, 0x00, 0x00, 0x00,
-  0xb8, 0x11, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x11, 0x63, 0xec, 0x3b, 0x1e, 0x39, 0xcf, 0x18,
+  0x26, 0xfc, 0x76, 0x06, 0xdb, 0x07, 0xc7, 0x36, 0x01, 0x00, 0x00, 0x00,
+  0xd0, 0x11, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00,
-  0x88, 0x02, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, 0xb0, 0x09, 0x00, 0x00,
-  0xcc, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
+  0x98, 0x02, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0xc0, 0x09, 0x00, 0x00,
+  0xdc, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
   0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -229,352 +242,354 @@ const unsigned char g_mainTexture[] = {
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
   0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
   0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30,
-  0x1c, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x2c, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
   0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53,
-  0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f,
-  0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58,
-  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03,
-  0x03, 0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
-  0x52, 0x54, 0x53, 0x30, 0xa0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xa0, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
+  0x00, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45,
+  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
+  0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f,
+  0x4c, 0x4f, 0x52, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x65, 0x78, 0x74,
+  0x75, 0x72, 0x65, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x08, 0x00, 0x00, 0x52, 0x54, 0x53, 0x30, 0xa0, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
+  0x88, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
-  0x53, 0x54, 0x41, 0x54, 0x78, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00,
-  0x9e, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
-  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
-  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
-  0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
-  0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
-  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50,
-  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06,
-  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
-  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
-  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
-  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
-  0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09,
-  0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3,
-  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c,
-  0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0,
-  0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80,
-  0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c,
-  0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18,
-  0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19,
-  0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c,
-  0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e,
-  0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6,
-  0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80,
-  0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x14, 0x58, 0xba,
-  0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
-  0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50,
-  0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30,
-  0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
-  0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20,
-  0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0,
-  0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
-  0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10,
-  0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
-  0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
-  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
-  0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x18, 0x50,
-  0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0xe5, 0x51, 0x10, 0x25, 0x57,
-  0x14, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10, 0xe8, 0xce,
-  0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x96, 0xc3, 0x30, 0xcf, 0xf3, 0x00,
-  0x10, 0x18, 0x00, 0x00, 0x88, 0x80, 0x10, 0x08, 0x06, 0x20, 0x28, 0x00,
-  0x79, 0x18, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
-  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7, 0x25, 0xc6, 0x06, 0x04,
-  0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c, 0x26, 0x27, 0x65, 0x43,
-  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8,
-  0x20, 0x10, 0x04, 0x05, 0xbb, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e,
-  0x84, 0x98, 0x20, 0x60, 0x19, 0x2b, 0xab, 0x32, 0x39, 0xba, 0x32, 0xbc,
-  0x29, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30,
-  0x37, 0xba, 0xb9, 0x09, 0x02, 0x91, 0x6c, 0x40, 0x08, 0x65, 0x21, 0x88,
-  0x81, 0x01, 0x36, 0x04, 0xcd, 0x06, 0x02, 0x00, 0x1c, 0x60, 0x82, 0x70,
-  0x61, 0x1c, 0xda, 0xe0, 0xec, 0x26, 0x08, 0x84, 0x32, 0x41, 0x20, 0x96,
-  0x0d, 0xc3, 0x34, 0x0d, 0x13, 0x04, 0x82, 0x99, 0x20, 0x10, 0xcd, 0x04,
-  0x81, 0x70, 0x36, 0x20, 0x48, 0x24, 0x51, 0x15, 0x61, 0x5d, 0x1b, 0x04,
-  0x06, 0xdb, 0x30, 0x10, 0x50, 0x36, 0x41, 0x10, 0x80, 0x0d, 0xc0, 0x86,
-  0x81, 0xe0, 0xb8, 0x0d, 0x41, 0xb7, 0x61, 0x18, 0x36, 0x6f, 0x82, 0x90,
-  0x69, 0x1b, 0x02, 0x30, 0xe0, 0xd2, 0x16, 0x96, 0xe6, 0x46, 0x55, 0x86,
-  0x47, 0x57, 0x27, 0x57, 0x46, 0x04, 0xea, 0x69, 0x2a, 0x89, 0x2a, 0xe9,
-  0xc9, 0x69, 0x82, 0x50, 0x4c, 0x13, 0x84, 0x82, 0xda, 0x10, 0x10, 0x13,
-  0x84, 0xa2, 0xda, 0x20, 0x54, 0xd6, 0x86, 0x85, 0x18, 0x03, 0x32, 0x28,
-  0x03, 0x33, 0x28, 0x83, 0xe1, 0x0c, 0x88, 0x32, 0x40, 0x03, 0x22, 0x54,
-  0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0xc2, 0xda, 0x20,
-  0x54, 0xd5, 0x86, 0x65, 0x50, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28, 0x83,
-  0x61, 0x0d, 0x86, 0x32, 0x60, 0x03, 0x16, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
-  0x13, 0x84, 0xe2, 0x9a, 0x20, 0x10, 0xcf, 0x06, 0xa1, 0x82, 0x83, 0x0d,
-  0x8b, 0xe4, 0x06, 0x64, 0x50, 0x06, 0x66, 0x50, 0x06, 0xc3, 0x1b, 0x48,
-  0x65, 0x10, 0x07, 0x1b, 0x86, 0x34, 0x68, 0x03, 0x39, 0xe0, 0x32, 0x65,
-  0xf5, 0x05, 0xf5, 0x36, 0x97, 0x46, 0x97, 0xf6, 0xe6, 0xb6, 0x61, 0x21,
-  0xe8, 0x80, 0x0c, 0xce, 0xc0, 0x0c, 0xde, 0x60, 0x78, 0x03, 0xa2, 0x0c,
-  0xe2, 0x60, 0xc3, 0x32, 0xa8, 0x01, 0x19, 0x94, 0x81, 0x19, 0xac, 0xc1,
-  0xb0, 0x06, 0x43, 0x19, 0xb0, 0xc1, 0x86, 0x45, 0x72, 0x03, 0x32, 0x28,
-  0x03, 0x33, 0x58, 0x83, 0xe1, 0x0d, 0xa4, 0x32, 0x88, 0x83, 0x0d, 0x43,
-  0x1d, 0xd8, 0xc1, 0x1d, 0x6c, 0x18, 0xe6, 0x00, 0x0f, 0x80, 0x0d, 0xc5,
-  0x26, 0x06, 0x79, 0xf0, 0x00, 0x34, 0xcc, 0xd8, 0xde, 0xc2, 0xe8, 0xe6,
-  0x26, 0x08, 0x04, 0xc4, 0x22, 0xcd, 0x6d, 0x8e, 0x6e, 0x6e, 0x82, 0x40,
-  0x44, 0x34, 0xe6, 0xd2, 0xce, 0xbe, 0xd8, 0xc8, 0x68, 0xcc, 0xa5, 0x9d,
-  0x7d, 0xcd, 0xd1, 0x4d, 0x10, 0x08, 0x69, 0x03, 0xb2, 0x07, 0x7c, 0xd0,
-  0x07, 0x7e, 0xf0, 0x07, 0x17, 0x28, 0x84, 0x42, 0x15, 0x36, 0x36, 0xbb,
-  0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c,
-  0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a, 0x40, 0x34,
-  0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x14,
-  0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde,
-  0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x48, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2,
-  0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0x81, 0x53, 0x89, 0x0c,
-  0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e, 0x8c,
-  0x2e, 0xed, 0xcd, 0x6d, 0x6e, 0x8a, 0x90, 0x79, 0x75, 0xc8, 0xf0, 0x5c,
-  0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6,
-  0x04, 0x60, 0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f,
-  0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0x90, 0x07, 0x5d, 0xc8, 0xf0,
-  0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xa1,
-  0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
-  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
-  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
-  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
-  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
-  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
-  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
-  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
-  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
-  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
-  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
-  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
-  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
-  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
-  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
-  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
-  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
-  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
-  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
-  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
-  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
-  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
-  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8,
-  0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b,
-  0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a,
-  0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e,
-  0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44,
-  0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05,
-  0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34,
-  0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c,
-  0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b,
-  0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc,
-  0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00,
-  0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0b, 0x03, 0x20, 0x4d, 0x4b, 0x5c,
-  0x13, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48,
-  0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x19, 0x78,
-  0xfd, 0x78, 0x04, 0x10, 0x84, 0x4d, 0x97, 0xce, 0x5e, 0xfb, 0x7d, 0x9e,
-  0x44, 0x58, 0x49, 0x4c, 0xe4, 0x07, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00,
-  0xf9, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0xcc, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91,
-  0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c,
-  0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02,
-  0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b,
-  0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5,
-  0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50,
-  0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06,
-  0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff,
-  0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff,
-  0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f,
-  0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
-  0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09,
-  0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3,
-  0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c,
-  0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0,
-  0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80,
-  0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c,
-  0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18,
-  0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19,
-  0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c,
-  0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e,
-  0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6,
-  0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80,
-  0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x14, 0x58, 0xba,
-  0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
-  0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50,
-  0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30,
-  0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
-  0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20,
-  0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0,
-  0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
-  0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10,
-  0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0,
-  0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60,
-  0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
-  0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0e, 0xc5, 0x50, 0x80,
-  0x01, 0x65, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0,
-  0x08, 0x0a, 0x81, 0xf0, 0x0c, 0x00, 0xe5, 0xb1, 0x1c, 0x86, 0x79, 0x9e,
-  0x07, 0x80, 0xc0, 0x00, 0x00, 0x40, 0x04, 0x84, 0x40, 0x30, 0x00, 0x41,
-  0x01, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
+  0xff, 0xff, 0xff, 0xff, 0x53, 0x54, 0x41, 0x54, 0x78, 0x06, 0x00, 0x00,
+  0x60, 0x00, 0x01, 0x00, 0x9e, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00,
+  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
+  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
+  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
+  0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14,
+  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20,
+  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
+  0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
+  0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
+  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
+  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
+  0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84,
+  0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c,
+  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66,
+  0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14,
+  0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f,
+  0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6,
+  0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42,
+  0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42,
+  0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4,
+  0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03,
+  0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a,
+  0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99,
+  0x24, 0x14, 0x58, 0xba, 0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
+  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
+  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
+  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
+  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
+  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
+  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
+  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
+  0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01,
+  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
+  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
+  0x0c, 0x05, 0x18, 0x50, 0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0xe5,
+  0x51, 0x10, 0x25, 0x57, 0x14, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x8a,
+  0xa0, 0x10, 0xe8, 0xce, 0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x96, 0xc3,
+  0x30, 0xcf, 0xf3, 0x00, 0x10, 0x18, 0x00, 0x00, 0x88, 0x80, 0x10, 0x08,
+  0x06, 0x20, 0x28, 0x00, 0x79, 0x18, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00,
   0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
-  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0xe5, 0xc6, 0x45, 0x66, 0x06, 0x06, 0xc7,
-  0x25, 0xc6, 0x06, 0x04, 0xa5, 0x46, 0x86, 0x2c, 0x2c, 0xe6, 0xa6, 0x4c,
-  0x26, 0x27, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
-  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xd8,
-  0xcd, 0x4d, 0x10, 0x88, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x01, 0x9b,
-  0x08, 0x4c, 0x10, 0x08, 0x65, 0x03, 0x42, 0x2c, 0x0c, 0x41, 0x0c, 0x0d,
-  0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00, 0x13, 0x84, 0x8c, 0xda,
-  0x10, 0x44, 0x13, 0x04, 0x01, 0xe0, 0xd2, 0x16, 0x96, 0xe6, 0x46, 0x55,
-  0x86, 0x47, 0x57, 0x27, 0x57, 0x46, 0x04, 0xea, 0x69, 0x2a, 0x89, 0x2a,
-  0xe9, 0xc9, 0x69, 0x82, 0x50, 0x38, 0x13, 0x84, 0xe2, 0xd9, 0x10, 0x10,
-  0x13, 0x84, 0x02, 0x9a, 0x20, 0x10, 0xcb, 0x06, 0x41, 0x33, 0x36, 0x2c,
-  0x44, 0x65, 0x5d, 0xd8, 0x35, 0x64, 0xc4, 0xb5, 0x11, 0xa1, 0x2a, 0xc2,
-  0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, 0xd1, 0x06, 0x41, 0xd3,
-  0x36, 0x2c, 0x43, 0x67, 0x5d, 0xd8, 0x35, 0x78, 0xc3, 0xf5, 0x4d, 0x10,
-  0x08, 0x86, 0xc5, 0xd0, 0x13, 0xd3, 0x93, 0xd4, 0x04, 0xa1, 0x90, 0x26,
-  0x08, 0x44, 0xb3, 0x41, 0xd0, 0xc8, 0x60, 0xc3, 0x12, 0x06, 0x62, 0x60,
-  0x5d, 0xd8, 0x35, 0x8c, 0x41, 0x18, 0x5c, 0x65, 0xb0, 0x61, 0xe0, 0xc0,
-  0xc0, 0x0c, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5,
-  0xbd, 0xb9, 0x6d, 0x58, 0x08, 0x34, 0xb0, 0x32, 0x6c, 0x0c, 0x86, 0x31,
-  0x20, 0xae, 0x32, 0xd8, 0xb0, 0x0c, 0x9d, 0x75, 0x61, 0xde, 0xe0, 0x0d,
-  0xd7, 0xb7, 0x61, 0x09, 0x03, 0x31, 0xb0, 0x2e, 0xcc, 0x1b, 0xc6, 0x20,
-  0x0c, 0xae, 0x32, 0xd8, 0x30, 0xa4, 0x81, 0x1a, 0xac, 0xc1, 0x86, 0xe1,
-  0x0c, 0xd8, 0x00, 0xd8, 0x50, 0x4c, 0x54, 0x1b, 0x40, 0x40, 0x15, 0x36,
-  0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50,
-  0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x4a,
-  0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b,
-  0x12, 0x18, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4,
-  0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x49, 0x19, 0x32, 0x3c, 0x17,
-  0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0xc1, 0x53,
-  0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e,
-  0x8c, 0xae, 0x6c, 0x4a, 0x10, 0xd5, 0x21, 0xc3, 0x73, 0x29, 0x73, 0xa3,
-  0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73, 0xa3, 0x9b, 0x9b, 0x12, 0xb4, 0x01,
-  0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
-  0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88,
-  0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73,
-  0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e,
-  0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30,
-  0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8,
-  0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b,
-  0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76,
-  0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e,
-  0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e,
-  0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61,
-  0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4,
-  0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76,
-  0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37,
-  0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76,
-  0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71,
-  0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e,
-  0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1,
-  0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61,
-  0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90,
-  0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8,
-  0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc,
-  0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8,
-  0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b,
-  0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a,
-  0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e,
-  0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44,
-  0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05,
-  0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34,
-  0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c,
-  0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b,
-  0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc,
-  0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00,
-  0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0b, 0x03, 0x20, 0x4d, 0x4b, 0x5c,
-  0x13, 0x15, 0x11, 0x00, 0x61, 0x20, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
-  0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x44, 0x4a, 0xa1, 0x10, 0x66, 0x00, 0x8a, 0xab, 0xec, 0x4a, 0x8e, 0x4a,
-  0x09, 0x50, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x20, 0x61, 0x03, 0x63, 0x59, 0xc1, 0x88, 0x41, 0x02, 0x80,
-  0x20, 0x18, 0x18, 0x1d, 0x22, 0x5d, 0xcf, 0x31, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x86, 0x97, 0x4c, 0x18, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08,
-  0x82, 0x81, 0xf1, 0x29, 0x54, 0xf6, 0x24, 0x23, 0x06, 0x09, 0x00, 0x82,
-  0x60, 0x60, 0x80, 0xc1, 0x52, 0x69, 0x91, 0x32, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x46, 0x18, 0x30, 0xdc, 0x36, 0x2d, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x60, 0x88, 0x41, 0xd3, 0x71, 0x08, 0x33, 0x62, 0x90, 0x00,
-  0x20, 0x08, 0x06, 0xc6, 0x18, 0x38, 0x5d, 0x57, 0x35, 0x23, 0x06, 0x09,
-  0x00, 0x82, 0x60, 0x60, 0x90, 0xc1, 0xe3, 0x79, 0x8a, 0x33, 0x62, 0x90,
-  0x00, 0x20, 0x08, 0x06, 0x46, 0x19, 0x40, 0xdf, 0x57, 0x3d, 0x23, 0x06,
-  0x07, 0x00, 0x82, 0x60, 0xd0, 0x90, 0x81, 0xa3, 0x80, 0xc1, 0x68, 0x42,
+  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0x46, 0xc6,
+  0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27, 0x47, 0x26, 0xa6, 0x46,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c,
+  0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05, 0xbb, 0xb9, 0x09, 0x02,
+  0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x60, 0x19, 0x2b, 0xab, 0x32,
+  0x39, 0xba, 0x32, 0xbc, 0x29, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa1, 0x37,
+  0xb7, 0x39, 0xba, 0x30, 0x37, 0xba, 0xb9, 0x09, 0x02, 0x91, 0x6c, 0x40,
+  0x08, 0x65, 0x21, 0x88, 0x81, 0x01, 0x36, 0x04, 0xcd, 0x06, 0x02, 0x00,
+  0x1c, 0x60, 0x82, 0x70, 0x61, 0x1c, 0xda, 0xe0, 0xec, 0x26, 0x08, 0x84,
+  0x32, 0x41, 0x20, 0x96, 0x0d, 0xc3, 0x34, 0x0d, 0x13, 0x04, 0x82, 0x99,
+  0x20, 0x10, 0xcd, 0x04, 0x81, 0x70, 0x36, 0x20, 0x48, 0x24, 0x51, 0x15,
+  0x61, 0x5d, 0x1b, 0x04, 0x06, 0xdb, 0x30, 0x10, 0x50, 0x36, 0x41, 0x10,
+  0x80, 0x0d, 0xc0, 0x86, 0x81, 0xe0, 0xb8, 0x0d, 0x41, 0xb7, 0x61, 0x18,
+  0x36, 0x6f, 0x82, 0x90, 0x69, 0x1b, 0x02, 0x30, 0xe0, 0xd2, 0x16, 0x96,
+  0xe6, 0x46, 0x55, 0x86, 0x47, 0x57, 0x27, 0x57, 0x46, 0x04, 0xea, 0x69,
+  0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x4c, 0x13, 0x84, 0x82,
+  0xda, 0x10, 0x10, 0x13, 0x84, 0xa2, 0xda, 0x20, 0x54, 0xd6, 0x86, 0x85,
+  0x18, 0x03, 0x32, 0x28, 0x03, 0x33, 0x28, 0x83, 0xe1, 0x0c, 0x88, 0x32,
+  0x40, 0x03, 0x22, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13,
+  0x84, 0xc2, 0xda, 0x20, 0x54, 0xd5, 0x86, 0x65, 0x50, 0x03, 0x32, 0x28,
+  0x03, 0x33, 0x28, 0x83, 0x61, 0x0d, 0x86, 0x32, 0x60, 0x03, 0x16, 0x43,
+  0x4f, 0x4c, 0x4f, 0x52, 0x13, 0x84, 0xe2, 0x9a, 0x20, 0x10, 0xcf, 0x06,
+  0xa1, 0x82, 0x83, 0x0d, 0x8b, 0xe4, 0x06, 0x64, 0x50, 0x06, 0x66, 0x50,
+  0x06, 0xc3, 0x1b, 0x48, 0x65, 0x10, 0x07, 0x1b, 0x86, 0x34, 0x68, 0x03,
+  0x39, 0xe0, 0x32, 0x65, 0xf5, 0x05, 0xf5, 0x36, 0x97, 0x46, 0x97, 0xf6,
+  0xe6, 0xb6, 0x61, 0x21, 0xe8, 0x80, 0x0c, 0xce, 0xc0, 0x0c, 0xde, 0x60,
+  0x78, 0x03, 0xa2, 0x0c, 0xe2, 0x60, 0xc3, 0x32, 0xa8, 0x01, 0x19, 0x94,
+  0x81, 0x19, 0xac, 0xc1, 0xb0, 0x06, 0x43, 0x19, 0xb0, 0xc1, 0x86, 0x45,
+  0x72, 0x03, 0x32, 0x28, 0x03, 0x33, 0x58, 0x83, 0xe1, 0x0d, 0xa4, 0x32,
+  0x88, 0x83, 0x0d, 0x43, 0x1d, 0xd8, 0xc1, 0x1d, 0x6c, 0x18, 0xe6, 0x00,
+  0x0f, 0x80, 0x0d, 0xc5, 0x26, 0x06, 0x79, 0xf0, 0x00, 0x34, 0xcc, 0xd8,
+  0xde, 0xc2, 0xe8, 0xe6, 0x26, 0x08, 0x04, 0xc4, 0x22, 0xcd, 0x6d, 0x8e,
+  0x6e, 0x6e, 0x82, 0x40, 0x44, 0x34, 0xe6, 0xd2, 0xce, 0xbe, 0xd8, 0xc8,
+  0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xcd, 0xd1, 0x4d, 0x10, 0x08, 0x69, 0x03,
+  0xb2, 0x07, 0x7c, 0xd0, 0x07, 0x7e, 0xf0, 0x07, 0x17, 0x28, 0x84, 0x42,
+  0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29,
+  0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd,
+  0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b,
+  0x93, 0x9b, 0x12, 0x14, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8,
+  0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, 0x48, 0x19, 0x32,
+  0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29,
+  0x81, 0x53, 0x89, 0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd,
+  0xed, 0x8d, 0x2e, 0x8c, 0x2e, 0xed, 0xcd, 0x6d, 0x6e, 0x8a, 0x90, 0x79,
+  0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8,
+  0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x60, 0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc,
+  0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0x90,
+  0x07, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4,
+  0xe6, 0xa6, 0x04, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66,
+  0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07,
+  0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10,
+  0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce,
+  0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b,
+  0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c,
+  0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07,
+  0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11,
+  0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0,
+  0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8,
+  0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b,
+  0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b,
+  0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87,
+  0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07,
+  0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87,
+  0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81,
+  0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30,
+  0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4,
+  0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca,
+  0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39,
+  0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b,
+  0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b,
+  0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87,
+  0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87,
+  0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40,
+  0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00,
+  0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10,
+  0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6,
+  0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01,
+  0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3,
+  0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09,
+  0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
+  0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f,
+  0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0b, 0x03,
+  0x20, 0x4d, 0x4b, 0x5c, 0x13, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xf5, 0x28, 0x0c, 0xf4, 0x0e, 0x86, 0xfc, 0x41, 0x54, 0x90, 0x77, 0x3c,
+  0xcc, 0x22, 0xc4, 0xa6, 0x44, 0x58, 0x49, 0x4c, 0xec, 0x07, 0x00, 0x00,
+  0x60, 0x00, 0x01, 0x00, 0xfb, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd4, 0x07, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xf2, 0x01, 0x00, 0x00,
+  0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
+  0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39,
+  0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62,
+  0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14,
+  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20,
+  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
+  0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
+  0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
+  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff,
+  0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
+  0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84,
+  0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c,
+  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66,
+  0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14,
+  0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f,
+  0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6,
+  0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42,
+  0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42,
+  0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4,
+  0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03,
+  0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a,
+  0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99,
+  0x24, 0x14, 0x58, 0xba, 0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0,
+  0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0,
+  0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d,
+  0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78,
+  0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
+  0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+  0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+  0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+  0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6,
+  0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78,
+  0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76,
+  0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01,
+  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90,
+  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50,
+  0x10, 0xc5, 0x50, 0x80, 0x01, 0x65, 0x50, 0x0e, 0x45, 0x50, 0x1e, 0x54,
+  0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x8a, 0xa0, 0x10, 0x08, 0xcf, 0x00, 0x50,
+  0x1e, 0xcb, 0x61, 0x98, 0xe7, 0x79, 0x00, 0x08, 0x0c, 0x00, 0x00, 0x44,
+  0x40, 0x08, 0x04, 0x03, 0x10, 0x14, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x65, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
+  0xa6, 0x06, 0x46, 0xc6, 0x25, 0x26, 0x06, 0x04, 0x45, 0x66, 0x26, 0x27,
+  0x47, 0x26, 0xa6, 0x46, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
+  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc8, 0x06,
+  0x61, 0x30, 0x28, 0xd8, 0xcd, 0x4d, 0x10, 0x88, 0x64, 0xc3, 0x80, 0x24,
+  0xc4, 0x04, 0x01, 0xa3, 0x08, 0x4c, 0x10, 0x08, 0x65, 0x03, 0x42, 0x2c,
+  0x0c, 0x41, 0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00,
+  0x13, 0x84, 0xac, 0xda, 0x10, 0x44, 0x13, 0x04, 0x01, 0xe0, 0xd2, 0x16,
+  0x96, 0xe6, 0x46, 0x55, 0x86, 0x47, 0x57, 0x27, 0x57, 0x46, 0x04, 0xea,
+  0x69, 0x2a, 0x89, 0x2a, 0xe9, 0xc9, 0x69, 0x82, 0x50, 0x3c, 0x13, 0x84,
+  0x02, 0xda, 0x10, 0x10, 0x13, 0x84, 0x22, 0x9a, 0x20, 0x10, 0xcb, 0x04,
+  0x81, 0x60, 0x36, 0x08, 0xda, 0xb6, 0x61, 0x21, 0x2a, 0xeb, 0xc2, 0xae,
+  0x21, 0x23, 0x2e, 0x8e, 0x08, 0x55, 0x11, 0xd6, 0xd0, 0xd3, 0x93, 0x14,
+  0xd1, 0x04, 0xa1, 0x90, 0x36, 0x08, 0x9a, 0xb6, 0x61, 0x19, 0x3c, 0xeb,
+  0xc2, 0xae, 0xe1, 0x1b, 0x2e, 0x30, 0x98, 0x20, 0x10, 0x0d, 0x8b, 0xa1,
+  0x27, 0xa6, 0x27, 0xa9, 0x09, 0x42, 0x31, 0x4d, 0x10, 0x08, 0x67, 0x83,
+  0xa0, 0x95, 0xc1, 0x86, 0x45, 0x0c, 0xc6, 0xc0, 0xba, 0xb0, 0x6b, 0x20,
+  0x03, 0x31, 0xb8, 0xcc, 0x60, 0xc3, 0xd0, 0x85, 0xc1, 0x19, 0x70, 0x99,
+  0xb2, 0xfa, 0x82, 0x7a, 0x9b, 0x4b, 0xa3, 0x4b, 0x7b, 0x73, 0xdb, 0xb0,
+  0x10, 0x69, 0x60, 0x65, 0x18, 0x19, 0x0c, 0x64, 0x40, 0x5c, 0x66, 0xb0,
+  0x61, 0x19, 0x3c, 0xeb, 0xc2, 0xbe, 0xe1, 0x1b, 0x2e, 0x30, 0xd8, 0xb0,
+  0x88, 0xc1, 0x18, 0x58, 0x17, 0xf6, 0x0d, 0x64, 0x20, 0x06, 0x97, 0x19,
+  0x6c, 0x18, 0xd4, 0x60, 0x0d, 0xd8, 0x60, 0xc3, 0x80, 0x06, 0x6d, 0x00,
+  0x6c, 0x28, 0x26, 0xca, 0x0d, 0x20, 0xa0, 0x0a, 0x1b, 0x9b, 0x5d, 0x9b,
+  0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42, 0x86, 0xe7,
+  0x62, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90,
+  0xe1, 0xb9, 0xd8, 0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a,
+  0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64,
+  0x65, 0x6c, 0x53, 0x82, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9, 0xdc,
+  0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0xe0, 0xa9, 0x43, 0x86, 0xe7,
+  0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36,
+  0x25, 0x88, 0xea, 0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41,
+  0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09, 0xdc, 0x00, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c,
+  0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3,
+  0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6,
+  0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e,
+  0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43,
+  0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03,
+  0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48,
+  0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20,
+  0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e,
+  0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d,
+  0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89,
+  0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83,
+  0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68,
+  0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90,
+  0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78,
+  0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98,
+  0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5,
+  0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+  0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c,
+  0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43,
+  0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43,
+  0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82,
+  0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70,
+  0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60,
+  0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4,
+  0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00,
+  0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25,
+  0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce,
+  0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0,
+  0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93,
+  0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
+  0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x0b, 0x03, 0x20, 0x4d, 0x4b, 0x5c, 0x13, 0x15, 0x11, 0x00,
+  0x61, 0x20, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
+  0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x44, 0x4a, 0xa1, 0x10,
+  0x66, 0x00, 0x8a, 0xab, 0xec, 0x4a, 0x8e, 0x4a, 0x09, 0x50, 0x1c, 0x01,
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x65,
+  0x03, 0x73, 0x5d, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1e,
+  0x22, 0x61, 0xcf, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x97,
+  0x4c, 0x19, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x01, 0x06,
+  0x0a, 0xa5, 0x3d, 0xc9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x61,
+  0xb0, 0x54, 0x5b, 0xa4, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21,
+  0x06, 0x4c, 0xc7, 0x4d, 0xcb, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18,
+  0x63, 0xd0, 0x78, 0x1d, 0xc2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81,
+  0x41, 0x06, 0x8e, 0xe7, 0x55, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
+  0x18, 0x65, 0xf0, 0x7c, 0x9f, 0xe2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
+  0x81, 0x61, 0x06, 0x10, 0x18, 0x80, 0x41, 0xf5, 0x8c, 0x18, 0x1c, 0x00,
+  0x08, 0x82, 0x41, 0x53, 0x06, 0x8e, 0x12, 0x06, 0xa3, 0x09, 0x01, 0x30,
+  0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23, 0x06,
+  0x07, 0x00, 0x82, 0x60, 0xd0, 0xa8, 0xc1, 0xf4, 0x9c, 0xc1, 0x68, 0x42,
   0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3,
-  0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x69, 0x30, 0x3d, 0x66, 0x30,
+  0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x6f, 0x80, 0x51, 0x65, 0x30,
   0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09,
-  0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8d, 0x1b, 0x60, 0x54,
-  0x19, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
-  0x68, 0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x07,
-  0x5d, 0xb6, 0x06, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09,
-  0x83, 0x30, 0x9a, 0x40, 0x0c, 0x36, 0x5d, 0xf2, 0x19, 0x31, 0x40, 0x00,
-  0x10, 0x04, 0x83, 0x07, 0x0f, 0xc8, 0xe0, 0x7a, 0x82, 0x11, 0x03, 0x04,
-  0x00, 0x41, 0x30, 0x78, 0xf2, 0xa0, 0x0c, 0xae, 0x25, 0xb0, 0xe0, 0x80,
-  0x8e, 0x59, 0x9b, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, 0xe1,
-  0x03, 0x34, 0xd8, 0xa4, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e,
-  0x3e, 0x48, 0x83, 0xcd, 0x09, 0x2c, 0x50, 0xa0, 0x63, 0xd9, 0x27, 0x9f,
-  0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x40, 0x81, 0x0d, 0xbe, 0x2a,
-  0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x27, 0x14, 0xda, 0xe0, 0x8b,
-  0x02, 0x0b, 0x1a, 0xe8, 0x18, 0x37, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00,
-  0x10, 0x04, 0x83, 0x87, 0x14, 0xe0, 0x60, 0x0c, 0xb0, 0x60, 0xc4, 0x00,
-  0x01, 0x40, 0x10, 0x0c, 0x9e, 0x52, 0x88, 0x83, 0x31, 0xa0, 0x02, 0x0b,
-  0x20, 0xe8, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76,
-  0x40, 0x0a, 0xa4, 0xc0, 0x07, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
-  0x20, 0xa9, 0x60, 0x07, 0xa4, 0x40, 0x0a, 0x70, 0x90, 0x8c, 0x18, 0x24,
-  0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76, 0x40, 0x0a, 0xa4, 0xa0, 0x07,
-  0xc5, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07, 0xa4,
-  0x40, 0x0a, 0x7b, 0x10, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x92,
-  0x0a, 0x76, 0x50, 0x0a, 0xa4, 0xc0, 0x07, 0x69, 0x30, 0x62, 0x90, 0x00,
-  0x20, 0x08, 0x06, 0x48, 0x2a, 0xd8, 0x41, 0x29, 0x90, 0x02, 0x1c, 0xa0,
-  0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xa9, 0x60, 0x07, 0x7f,
-  0x40, 0x0a, 0x7c, 0xd0, 0x06, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80,
-  0xa4, 0x82, 0x1d, 0xfc, 0x01, 0x29, 0xc0, 0x01, 0x1b, 0x8c, 0x18, 0x24,
-  0x00, 0x08, 0x82, 0x01, 0x92, 0x0a, 0x76, 0xf0, 0x07, 0xa4, 0xa0, 0x07,
-  0x6b, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x2a, 0xd8, 0xc1,
-  0x1f, 0x90, 0xc2, 0x1e, 0xa8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
+  0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x0d, 0x1d, 0x74, 0x19,
+  0x1b, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2,
+  0x68, 0x02, 0x31, 0xd8, 0x74, 0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0x9e, 0x3c, 0x20, 0x83, 0xeb, 0x09, 0x46, 0x0c, 0x10, 0x00, 0x04,
+  0xc1, 0xe0, 0xd1, 0x83, 0x32, 0xb8, 0x96, 0xc0, 0x82, 0x03, 0x3a, 0x66,
+  0x6d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0xa7, 0x0f, 0xd0,
+  0x60, 0x93, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0xfc, 0x20,
+  0x0d, 0x36, 0x27, 0xb0, 0x40, 0x81, 0x8e, 0x65, 0x9f, 0x7c, 0x46, 0x0c,
+  0x10, 0x00, 0x04, 0xc1, 0xe0, 0x09, 0x05, 0x36, 0xf8, 0xaa, 0x60, 0xc4,
+  0x00, 0x01, 0x40, 0x10, 0x0c, 0x1e, 0x51, 0x68, 0x83, 0x2f, 0x0a, 0x2c,
+  0x68, 0xa0, 0x63, 0xdc, 0x18, 0xc8, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10,
+  0x0c, 0x9e, 0x52, 0x80, 0x83, 0x31, 0xc0, 0x82, 0x11, 0x03, 0x04, 0x00,
+  0x41, 0x30, 0x78, 0x4c, 0x21, 0x0e, 0xc6, 0x80, 0x0a, 0x2c, 0x80, 0xa0,
+  0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x2a, 0xd8, 0x41, 0x29,
+  0x94, 0x02, 0x1f, 0x34, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8,
+  0x82, 0x1d, 0x94, 0x42, 0x29, 0xc0, 0x41, 0x32, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0x88, 0x2a, 0xd8, 0x41, 0x29, 0x94, 0x82, 0x1e, 0x14, 0x23,
+  0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8, 0x82, 0x1d, 0x94, 0x42, 0x29,
+  0xec, 0x41, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x88, 0x2a, 0xd8,
+  0x81, 0x29, 0x94, 0x02, 0x1f, 0xa4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
+  0x18, 0x20, 0xaa, 0x60, 0x07, 0xa6, 0x50, 0x0a, 0x70, 0x80, 0x06, 0x23,
+  0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xa8, 0x82, 0x1d, 0xfc, 0x41, 0x29,
+  0xf0, 0x41, 0x1b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xa2, 0x0a,
+  0x76, 0xf0, 0x07, 0xa5, 0x00, 0x07, 0x6c, 0x30, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0x88, 0x2a, 0xd8, 0xc1, 0x1f, 0x94, 0x82, 0x1e, 0xac, 0xc1,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xaa, 0x60, 0x07, 0x7f, 0x50,
+  0x0a, 0x7b, 0xa0, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };

+ 50 - 20
src/render/direct3d12/SDL_render_d3d12.c

@@ -340,7 +340,8 @@ static DXGI_FORMAT SDLPixelFormatToDXGITextureFormat(SDL_PixelFormat format, Uin
     default:
         for (int i = 0; i < SDL_arraysize(dxgi_format_map); i++) {
             if (dxgi_format_map[i].sdl == format) {
-                if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
+                if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR ||
+                    output_colorspace == SDL_COLORSPACE_HDR10) {
                     return dxgi_format_map[i].srgb;
                 } else {
                     return dxgi_format_map[i].unorm;
@@ -2435,7 +2436,7 @@ static bool D3D12_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd
     cmd->data.draw.count = count;
 
     if (convert_color) {
-        SDL_ConvertToLinear(&color);
+        SDL_ConvertToLinear(renderer, &color);
     }
 
     for (i = 0; i < count; i++) {
@@ -2489,7 +2490,7 @@ static bool D3D12_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
         verts->pos.y = xy_[1] * scale_y;
         verts->color = *(SDL_FColor *)((char *)color + j * color_stride);
         if (convert_color) {
-            SDL_ConvertToLinear(&verts->color);
+            SDL_ConvertToLinear(renderer, &verts->color);
         }
 
         if (texture) {
@@ -2741,19 +2742,39 @@ static void D3D12_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC
     }
 }
 
-static D3D12_Shader SelectShader(const D3D12_PixelShaderConstants *shader_constants)
+static D3D12_Shader SelectShader(SDL_Renderer *renderer, const D3D12_PixelShaderConstants *shader_constants)
 {
-    if (!shader_constants) {
-        return SHADER_SOLID;
-    }
+    if (shader_constants) {
+        if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+            float SDR_white_point;
+            if (renderer->target) {
+                SDR_white_point = renderer->target->SDR_white_point;
+            } else {
+                SDR_white_point = renderer->SDR_white_point;
+            }
+            if (shader_constants->input_type == INPUTTYPE_HDR10 &&
+                shader_constants->color_scale == SDR_white_point) {
+                // Do a simple 1-1 copy
+                return SHADER_RGB_SIMPLE;
+            } else {
+                return SHADER_RGB_PQ;
+            }
+        }
 
-    if (shader_constants->texture_type == TEXTURETYPE_RGB &&
-        shader_constants->input_type == INPUTTYPE_UNSPECIFIED &&
-        shader_constants->tonemap_method == TONEMAP_NONE) {
-        return SHADER_RGB;
-    }
+        if (shader_constants->texture_type == TEXTURETYPE_RGB &&
+            shader_constants->input_type == INPUTTYPE_UNSPECIFIED &&
+            shader_constants->tonemap_method == TONEMAP_NONE) {
+            return SHADER_RGB;
+        }
 
-    return SHADER_ADVANCED;
+        return SHADER_ADVANCED;
+    } else {
+        if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+            return SHADER_SOLID_PQ;
+        }
+
+        return SHADER_SOLID;
+    }
 }
 
 static bool D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, const D3D12_PixelShaderConstants *shader_constants,
@@ -2769,7 +2790,7 @@ static bool D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *
     int i;
     DXGI_FORMAT rtvFormat = rendererData->renderTargetFormat;
     D3D12_PipelineState *currentPipelineState = rendererData->currentPipelineState;
-    D3D12_Shader shader = SelectShader(shader_constants);
+    D3D12_Shader shader = SelectShader(renderer, shader_constants);
     D3D12_PixelShaderConstants solid_constants;
 
     bool shaderResourcesChanged = false;
@@ -2874,9 +2895,11 @@ static bool D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *
             // Figure out the correct sampler descriptor table index based on the type of shader
             switch (shader) {
             case SHADER_RGB:
+            case SHADER_RGB_SIMPLE:
                 tableIndex = 3;
                 break;
             case SHADER_ADVANCED:
+            case SHADER_RGB_PQ:
                 tableIndex = 5;
                 break;
             default:
@@ -3141,14 +3164,21 @@ static bool D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd
         case SDL_RENDERCMD_CLEAR:
         {
             D3D12_CPU_DESCRIPTOR_HANDLE rtvDescriptor = D3D12_GetCurrentRenderTargetView(renderer);
-            bool convert_color = SDL_RenderingLinearSpace(renderer);
             SDL_FColor color = cmd->data.color.color;
-            if (convert_color) {
-                SDL_ConvertToLinear(&color);
+            if (SDL_RenderingLinearSpace(renderer)) {
+                SDL_ConvertToLinear(renderer, &color);
             }
+
             color.r *= cmd->data.color.color_scale;
             color.g *= cmd->data.color.color_scale;
             color.b *= cmd->data.color.color_scale;
+
+            if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+                color.r = SDL_PQfromNits(color.r * 80.0f);
+                color.g = SDL_PQfromNits(color.g * 80.0f);
+                color.b = SDL_PQfromNits(color.b * 80.0f);
+            }
+
             ID3D12GraphicsCommandList2_ClearRenderTargetView(rendererData->commandList, rtvDescriptor, &color.r, 0, NULL);
             break;
         }
@@ -3425,7 +3455,7 @@ static SDL_Surface *D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec
     output = SDL_DuplicatePixels(
         rect->w, rect->h,
         D3D12_DXGIFormatToSDLPixelFormat(textureDesc.Format),
-        renderer->target ? renderer->target->colorspace : renderer->output_colorspace,
+        renderer->current_colorspace,
         textureMemory,
         pitchedDesc.RowPitch);
 
@@ -3551,8 +3581,8 @@ bool D3D12_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_Proper
     SDL_SetupRendererColorspace(renderer, create_props);
 
     if (renderer->output_colorspace != SDL_COLORSPACE_SRGB &&
-        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR
-        /*&& renderer->output_colorspace != SDL_COLORSPACE_HDR10*/) {
+        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR &&
+        renderer->output_colorspace != SDL_COLORSPACE_HDR10) {
         return SDL_SetError("Unsupported output colorspace");
     }
 

+ 25 - 2
src/render/direct3d12/SDL_shaders_d3d12.c

@@ -33,6 +33,10 @@
 #include "D3D12_PixelShader_Colors.h"
 #undef g_main
 
+#define g_main D3D12_PixelShader_Colors_PQ
+#include "D3D12_PixelShader_Colors_PQ.h"
+#undef g_main
+
 #define g_main D3D12_PixelShader_Textures
 #include "D3D12_PixelShader_Textures.h"
 #undef g_main
@@ -41,6 +45,14 @@
 #include "D3D12_PixelShader_Advanced.h"
 #undef g_main
 
+#define g_main D3D12_PixelShader_Textures_PQ
+#include "D3D12_PixelShader_Textures_PQ.h"
+#undef g_main
+
+#define g_main D3D12_PixelShader_Textures_Simple
+#include "D3D12_PixelShader_Textures_Simple.h"
+#undef g_main
+
 
 #define g_mainColor D3D12_VertexShader_Colors
 #include "D3D12_VertexShader_Color.h"
@@ -75,27 +87,38 @@ static struct
     const void *vs_shader_data;
     SIZE_T vs_shader_size;
     D3D12_RootSignature root_sig;
-} D3D12_shaders[NUM_SHADERS] = {
+} D3D12_shaders[] = {
     { D3D12_PixelShader_Colors, sizeof(D3D12_PixelShader_Colors),
       D3D12_VertexShader_Colors, sizeof(D3D12_VertexShader_Colors),
       ROOTSIG_COLOR },
+    { D3D12_PixelShader_Colors_PQ, sizeof(D3D12_PixelShader_Colors_PQ),
+      D3D12_VertexShader_Colors, sizeof(D3D12_VertexShader_Colors),
+      ROOTSIG_COLOR },
     { D3D12_PixelShader_Textures, sizeof(D3D12_PixelShader_Textures),
       D3D12_VertexShader_Textures, sizeof(D3D12_VertexShader_Textures),
       ROOTSIG_TEXTURE },
     { D3D12_PixelShader_Advanced, sizeof(D3D12_PixelShader_Advanced),
       D3D12_VertexShader_Advanced, sizeof(D3D12_VertexShader_Advanced),
       ROOTSIG_ADVANCED },
+    { D3D12_PixelShader_Textures_PQ, sizeof(D3D12_PixelShader_Textures_PQ),
+      D3D12_VertexShader_Advanced, sizeof(D3D12_VertexShader_Advanced),
+      ROOTSIG_ADVANCED },
+    { D3D12_PixelShader_Textures_Simple, sizeof(D3D12_PixelShader_Textures_Simple),
+      D3D12_VertexShader_Textures, sizeof(D3D12_VertexShader_Textures),
+      ROOTSIG_TEXTURE },
 };
+SDL_COMPILE_TIME_ASSERT(D3D12_shaders, SDL_arraysize(D3D12_shaders) == NUM_SHADERS);
 
 static struct
 {
     const void *rs_shader_data;
     SIZE_T rs_shader_size;
-} D3D12_rootsigs[NUM_ROOTSIGS] = {
+} D3D12_rootsigs[] = {
     { D3D12_RootSig_Color, sizeof(D3D12_RootSig_Color) },
     { D3D12_RootSig_Texture, sizeof(D3D12_RootSig_Texture) },
     { D3D12_RootSig_Advanced, sizeof(D3D12_RootSig_Advanced) },
 };
+SDL_COMPILE_TIME_ASSERT(D3D12_rootsigs, SDL_arraysize(D3D12_rootsigs) == NUM_ROOTSIGS);
 
 void D3D12_GetVertexShader(D3D12_Shader shader, D3D12_SHADER_BYTECODE *outBytecode)
 {

+ 3 - 0
src/render/direct3d12/SDL_shaders_d3d12.h

@@ -30,8 +30,11 @@ extern "C" {
 typedef enum
 {
     SHADER_SOLID,
+    SHADER_SOLID_PQ,
     SHADER_RGB,
     SHADER_ADVANCED,
+    SHADER_RGB_PQ,
+    SHADER_RGB_SIMPLE,
     NUM_SHADERS
 } D3D12_Shader;
 

+ 25 - 2
src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp

@@ -35,6 +35,10 @@
 #include "D3D12_PixelShader_Colors_One.h"
 #undef g_main
 
+#define g_main D3D12_PixelShader_Colors_PQ
+#include "D3D12_PixelShader_Colors_PQ_One.h"
+#undef g_main
+
 #define g_main D3D12_PixelShader_Textures
 #include "D3D12_PixelShader_Textures_One.h"
 #undef g_main
@@ -43,6 +47,14 @@
 #include "D3D12_PixelShader_Advanced_One.h"
 #undef g_main
 
+#define g_main D3D12_PixelShader_Textures_PQ
+#include "D3D12_PixelShader_Textures_PQ_One.h"
+#undef g_main
+
+#define g_main D3D12_PixelShader_Textures_Simple
+#include "D3D12_PixelShader_Textures_Simple_One.h"
+#undef g_main
+
 
 #define g_mainColor D3D12_VertexShader_Colors
 #include "D3D12_VertexShader_Color_One.h"
@@ -77,27 +89,38 @@ static struct
     const void *vs_shader_data;
     SIZE_T vs_shader_size;
     D3D12_RootSignature root_sig;
-} D3D12_shaders[NUM_SHADERS] = {
+} D3D12_shaders[] = {
     { D3D12_PixelShader_Colors, sizeof(D3D12_PixelShader_Colors),
       D3D12_VertexShader_Colors, sizeof(D3D12_VertexShader_Colors),
       ROOTSIG_COLOR },
+    { D3D12_PixelShader_Colors_PQ, sizeof(D3D12_PixelShader_Colors_PQ),
+      D3D12_VertexShader_Colors, sizeof(D3D12_VertexShader_Colors),
+      ROOTSIG_COLOR },
     { D3D12_PixelShader_Textures, sizeof(D3D12_PixelShader_Textures),
       D3D12_VertexShader_Textures, sizeof(D3D12_VertexShader_Textures),
       ROOTSIG_TEXTURE },
     { D3D12_PixelShader_Advanced, sizeof(D3D12_PixelShader_Advanced),
       D3D12_VertexShader_Advanced, sizeof(D3D12_VertexShader_Advanced),
       ROOTSIG_ADVANCED },
+    { D3D12_PixelShader_Textures_PQ, sizeof(D3D12_PixelShader_Textures_PQ),
+      D3D12_VertexShader_Advanced, sizeof(D3D12_VertexShader_Advanced),
+      ROOTSIG_ADVANCED },
+    { D3D12_PixelShader_Textures_Simple, sizeof(D3D12_PixelShader_Textures_Simple),
+      D3D12_VertexShader_Textures, sizeof(D3D12_VertexShader_Textures),
+      ROOTSIG_TEXTURE },
 };
+SDL_COMPILE_TIME_ASSERT(D3D12_shaders, SDL_arraysize(D3D12_shaders) == NUM_SHADERS);
 
 static struct
 {
     const void *rs_shader_data;
     SIZE_T rs_shader_size;
-} D3D12_rootsigs[NUM_ROOTSIGS] = {
+} D3D12_rootsigs[] = {
     { D3D12_RootSig_Color, sizeof(D3D12_RootSig_Color) },
     { D3D12_RootSig_Texture, sizeof(D3D12_RootSig_Texture) },
     { D3D12_RootSig_Advanced, sizeof(D3D12_RootSig_Advanced) },
 };
+SDL_COMPILE_TIME_ASSERT(D3D12_rootsigs, SDL_arraysize(D3D12_rootsigs) == NUM_ROOTSIGS);
 
 extern "C"
 void D3D12_GetVertexShader(D3D12_Shader shader, D3D12_SHADER_BYTECODE *outBytecode)

+ 25 - 2
src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp

@@ -36,6 +36,10 @@
 #include "D3D12_PixelShader_Colors_Series.h"
 #undef g_main
 
+#define g_main D3D12_PixelShader_Colors_PQ
+#include "D3D12_PixelShader_Colors_PQ_Series.h"
+#undef g_main
+
 #define g_main D3D12_PixelShader_Textures
 #include "D3D12_PixelShader_Textures_Series.h"
 #undef g_main
@@ -44,6 +48,14 @@
 #include "D3D12_PixelShader_Advanced_Series.h"
 #undef g_main
 
+#define g_main D3D12_PixelShader_Textures_PQ
+#include "D3D12_PixelShader_Textures_Series_PQ.h"
+#undef g_main
+
+#define g_main D3D12_PixelShader_Textures_Simple
+#include "D3D12_PixelShader_Textures_Series_Simple.h"
+#undef g_main
+
 
 #define g_mainColor D3D12_VertexShader_Colors
 #include "D3D12_VertexShader_Color_Series.h"
@@ -78,27 +90,38 @@ static struct
     const void *vs_shader_data;
     SIZE_T vs_shader_size;
     D3D12_RootSignature root_sig;
-} D3D12_shaders[NUM_SHADERS] = {
+} D3D12_shaders[] = {
     { D3D12_PixelShader_Colors, sizeof(D3D12_PixelShader_Colors),
       D3D12_VertexShader_Colors, sizeof(D3D12_VertexShader_Colors),
       ROOTSIG_COLOR },
+    { D3D12_PixelShader_Colors_PQ, sizeof(D3D12_PixelShader_Colors_PQ),
+      D3D12_VertexShader_Colors, sizeof(D3D12_VertexShader_Colors),
+      ROOTSIG_COLOR },
     { D3D12_PixelShader_Textures, sizeof(D3D12_PixelShader_Textures),
       D3D12_VertexShader_Textures, sizeof(D3D12_VertexShader_Textures),
       ROOTSIG_TEXTURE },
     { D3D12_PixelShader_Advanced, sizeof(D3D12_PixelShader_Advanced),
       D3D12_VertexShader_Advanced, sizeof(D3D12_VertexShader_Advanced),
       ROOTSIG_ADVANCED },
+    { D3D12_PixelShader_Textures_PQ, sizeof(D3D12_PixelShader_Textures_PQ),
+      D3D12_VertexShader_Advanced, sizeof(D3D12_VertexShader_Advanced),
+      ROOTSIG_ADVANCED },
+    { D3D12_PixelShader_Textures_Simple, sizeof(D3D12_PixelShader_Textures_Simple),
+      D3D12_VertexShader_Textures, sizeof(D3D12_VertexShader_Textures),
+      ROOTSIG_TEXTURE },
 };
+SDL_COMPILE_TIME_ASSERT(D3D12_shaders, SDL_arraysize(D3D12_shaders) == NUM_SHADERS);
 
 static struct
 {
     const void *rs_shader_data;
     SIZE_T rs_shader_size;
-} D3D12_rootsigs[NUM_ROOTSIGS] = {
+} D3D12_rootsigs[] = {
     { D3D12_RootSig_Color, sizeof(D3D12_RootSig_Color) },
     { D3D12_RootSig_Texture, sizeof(D3D12_RootSig_Texture) },
     { D3D12_RootSig_Advanced, sizeof(D3D12_RootSig_Advanced) },
 };
+SDL_COMPILE_TIME_ASSERT(D3D12_rootsigs, SDL_arraysize(D3D12_rootsigs) == NUM_ROOTSIGS);
 
 extern "C"
 void D3D12_GetVertexShader(D3D12_Shader shader, D3D12_SHADER_BYTECODE *outBytecode)

+ 3 - 0
src/render/direct3d12/compile_shaders.bat

@@ -9,8 +9,11 @@ echo Suffix %SUFFIX%
 cd "%~dp0"
 
 %DXC% -E main -T ps_6_0 -Fh D3D12_PixelShader_Colors%SUFFIX% D3D12_PixelShader_Colors.hlsl
+%DXC% -E main -T ps_6_0 -Fh D3D12_PixelShader_Colors_PQ%SUFFIX% D3D12_PixelShader_Colors_PQ.hlsl
 %DXC% -E main -T ps_6_0 -Fh D3D12_PixelShader_Textures%SUFFIX% D3D12_PixelShader_Textures.hlsl
+%DXC% -E main -T ps_6_0 -Fh D3D12_PixelShader_Textures_PQ%SUFFIX% D3D12_PixelShader_Textures_PQ.hlsl
 %DXC% -E main -T ps_6_0 -Fh D3D12_PixelShader_Advanced%SUFFIX% D3D12_PixelShader_Advanced.hlsl
+%DXC% -E main -T ps_6_0 -Fh D3D12_PixelShader_Textures_Simple%SUFFIX% D3D12_PixelShader_Textures_Simple.hlsl
 
 %DXC% -E mainColor -T vs_6_0 -Fh D3D12_VertexShader_Color%SUFFIX% D3D12_VertexShader.hlsl
 %DXC% -E mainTexture -T vs_6_0 -Fh D3D12_VertexShader_Texture%SUFFIX% D3D12_VertexShader.hlsl

+ 3 - 3
src/render/gpu/SDL_render_gpu.c

@@ -709,7 +709,7 @@ static bool GPU_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
     }
 
     if (convert_color) {
-        SDL_ConvertToLinear(&color);
+        SDL_ConvertToLinear(renderer, &color);
     }
 
     cmd->data.draw.count = count;
@@ -765,7 +765,7 @@ static bool GPU_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SD
 
         col_ = *(SDL_FColor *)((char *)color + j * color_stride);
         if (convert_color) {
-            SDL_ConvertToLinear(&col_);
+            SDL_ConvertToLinear(renderer, &col_);
         }
 
         *(verts++) = col_.r;
@@ -1294,7 +1294,7 @@ static bool GPU_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
             bool convert_color = SDL_RenderingLinearSpace(renderer);
             SDL_FColor color = cmd->data.color.color;
             if (convert_color) {
-                SDL_ConvertToLinear(&color);
+                SDL_ConvertToLinear(renderer, &color);
             }
             color.r *= cmd->data.color.color_scale;
             color.g *= cmd->data.color.color_scale;

+ 4 - 4
src/render/metal/SDL_render_metal.m

@@ -1262,7 +1262,7 @@ static bool METAL_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd
     cmd->data.draw.count = count;
 
     if (convert_color) {
-        SDL_ConvertToLinear(&color);
+        SDL_ConvertToLinear(renderer, &color);
     }
 
     for (int i = 0; i < count; i++, points++) {
@@ -1293,7 +1293,7 @@ static bool METAL_QueueDrawLines(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
     cmd->data.draw.count = count;
 
     if (convert_color) {
-        SDL_ConvertToLinear(&color);
+        SDL_ConvertToLinear(renderer, &color);
     }
 
     for (int i = 0; i < count; i++, points++) {
@@ -1370,7 +1370,7 @@ static bool METAL_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
         col_ = *(SDL_FColor *)((char *)color + j * color_stride);
 
         if (convert_color) {
-            SDL_ConvertToLinear(&col_);
+            SDL_ConvertToLinear(renderer, &col_);
         }
 
         *(verts++) = col_.r;
@@ -1844,7 +1844,7 @@ static bool METAL_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd
                     bool convert_color = SDL_RenderingLinearSpace(renderer);
                     SDL_FColor color = cmd->data.color.color;
                     if (convert_color) {
-                        SDL_ConvertToLinear(&color);
+                        SDL_ConvertToLinear(renderer, &color);
                     }
                     color.r *= cmd->data.color.color_scale;
                     color.g *= cmd->data.color.color_scale;

+ 52 - 27
src/render/vulkan/SDL_render_vulkan.c

@@ -490,7 +490,8 @@ static VkFormat SDLPixelFormatToVkTextureFormat(SDL_PixelFormat format, Uint32 o
     default:
         for (int i = 0; i < SDL_arraysize(vk_format_map); i++) {
             if (vk_format_map[i].sdl == format) {
-                if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
+                if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR ||
+                    output_colorspace == SDL_COLORSPACE_HDR10) {
                     return vk_format_map[i].srgb;
                 } else {
                     return vk_format_map[i].unorm;
@@ -2199,8 +2200,7 @@ static VkResult VULKAN_CreateSwapChain(SDL_Renderer *renderer, int w, int h)
     if (renderer->output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
         desiredFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
         desiredColorSpace = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT;
-    }
-    else if (renderer->output_colorspace == SDL_COLORSPACE_HDR10) {
+    } else if (renderer->output_colorspace == SDL_COLORSPACE_HDR10) {
         desiredFormat = VK_FORMAT_A2B10G10R10_UNORM_PACK32;
         desiredColorSpace = VK_COLOR_SPACE_HDR10_ST2084_EXT;
     }
@@ -2216,7 +2216,6 @@ static VkResult VULKAN_CreateSwapChain(SDL_Renderer *renderer, int w, int h)
         for (uint32_t i = 0; i < rendererData->surfaceFormatsCount; i++) {
             if (rendererData->surfaceFormats[i].format == desiredFormat &&
                 rendererData->surfaceFormats[i].colorSpace == desiredColorSpace) {
-                rendererData->surfaceFormat.colorSpace = rendererData->surfaceFormats[i].colorSpace;
                 rendererData->surfaceFormat = rendererData->surfaceFormats[i];
                 break;
             }
@@ -3242,7 +3241,7 @@ static bool VULKAN_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cm
     cmd->data.draw.count = count;
 
     if (convert_color) {
-        SDL_ConvertToLinear(&color);
+        SDL_ConvertToLinear(renderer, &color);
     }
 
     for (i = 0; i < count; i++) {
@@ -3295,7 +3294,7 @@ static bool VULKAN_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
         verts->pos[1] = xy_[1] * scale_y;
         verts->color = *(SDL_FColor *)((char *)color + j * color_stride);
         if (convert_color) {
-            SDL_ConvertToLinear(&verts->color);
+            SDL_ConvertToLinear(renderer, &verts->color);
         }
 
         if (texture) {
@@ -3555,26 +3554,46 @@ static void VULKAN_SetupShaderConstants(SDL_Renderer *renderer, const SDL_Render
     }
 }
 
-static VULKAN_Shader SelectShader(const VULKAN_PixelShaderConstants *shader_constants, bool yuv)
+static VULKAN_Shader SelectShader(SDL_Renderer *renderer, const VULKAN_PixelShaderConstants *shader_constants, bool yuv)
 {
-    if (!shader_constants) {
-        return SHADER_SOLID;
-    }
+    if (shader_constants) {
+        if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+            float SDR_white_point;
+            if (renderer->target) {
+                SDR_white_point = renderer->target->SDR_white_point;
+            } else {
+                SDR_white_point = renderer->SDR_white_point;
+            }
+            if (shader_constants->input_type == INPUTTYPE_HDR10 &&
+                shader_constants->color_scale == SDR_white_point) {
+                // Do a simple 1-1 copy
+                return SHADER_RGB_SIMPLE;
+            } else {
+                return SHADER_RGB_PQ;
+            }
+        }
+
+        if (shader_constants->texture_type == TEXTURETYPE_RGB &&
+            shader_constants->input_type == INPUTTYPE_UNSPECIFIED &&
+            shader_constants->tonemap_method == TONEMAP_NONE) {
+            if (yuv) {
+                return SHADER_RGB_YUV;
+            } else {
+                return SHADER_RGB;
+            }
+        }
 
-    if (shader_constants->texture_type == TEXTURETYPE_RGB &&
-        shader_constants->input_type == INPUTTYPE_UNSPECIFIED &&
-        shader_constants->tonemap_method == TONEMAP_NONE) {
         if (yuv) {
-            return SHADER_RGB_YUV;
+            return SHADER_ADVANCED_YUV;
         } else {
-            return SHADER_RGB;
+            return SHADER_ADVANCED;
         }
-    }
-
-    if (yuv) {
-        return SHADER_ADVANCED_YUV;
     } else {
-        return SHADER_ADVANCED;
+        if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+            return SHADER_SOLID_PQ;
+        }
+
+        return SHADER_SOLID;
     }
 }
 
@@ -3774,7 +3793,7 @@ static bool VULKAN_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand
     VkFormat format = rendererData->surfaceFormat.format;
     const Float4X4 *newmatrix = matrix ? matrix : &rendererData->identity;
     bool updateConstants = false;
-    VULKAN_Shader shader = SelectShader(shader_constants, yuv);
+    VULKAN_Shader shader = SelectShader(renderer, shader_constants, yuv);
     VULKAN_PixelShaderConstants solid_constants;
     VkDescriptorSet descriptorSet;
     VkBuffer constantBuffer;
@@ -4137,15 +4156,21 @@ static bool VULKAN_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cm
 
         case SDL_RENDERCMD_CLEAR:
         {
-            bool convert_color = SDL_RenderingLinearSpace(renderer);
             SDL_FColor color = cmd->data.color.color;
-            if (convert_color) {
-                SDL_ConvertToLinear(&color);
+            if (SDL_RenderingLinearSpace(renderer)) {
+                SDL_ConvertToLinear(renderer, &color);
             }
+
             color.r *= cmd->data.color.color_scale;
             color.g *= cmd->data.color.color_scale;
             color.b *= cmd->data.color.color_scale;
 
+            if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) {
+                color.r = SDL_PQfromNits(color.r * 80.0f);
+                color.g = SDL_PQfromNits(color.g * 80.0f);
+                color.b = SDL_PQfromNits(color.b * 80.0f);
+            }
+
             VkClearColorValue clearColor;
             clearColor.float32[0] = color.r;
             clearColor.float32[1] = color.g;
@@ -4379,7 +4404,7 @@ static SDL_Surface *VULKAN_RenderReadPixels(SDL_Renderer *renderer, const SDL_Re
     output = SDL_DuplicatePixels(
         rect->w, rect->h,
         VULKAN_VkFormatToSDLPixelFormat(vkFormat),
-        renderer->target ? renderer->target->colorspace : renderer->output_colorspace,
+        renderer->current_colorspace,
         readbackBuffer.mappedBufferPtr,
         (int)length);
 
@@ -4575,8 +4600,8 @@ static bool VULKAN_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SD
     SDL_SetupRendererColorspace(renderer, create_props);
 
     if (renderer->output_colorspace != SDL_COLORSPACE_SRGB &&
-        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR
-        /*&& renderer->output_colorspace != SDL_COLORSPACE_HDR10*/) {
+        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR &&
+        renderer->output_colorspace != SDL_COLORSPACE_HDR10) {
         return SDL_SetError("Unsupported output colorspace");
     }
 

+ 9 - 0
src/render/vulkan/SDL_shaders_vulkan.c

@@ -26,10 +26,13 @@
 
 // The shaders here were compiled with compile_shaders.bat
 #include "VULKAN_PixelShader_Colors.h"
+#include "VULKAN_PixelShader_Colors_PQ.h"
 #include "VULKAN_PixelShader_Textures.h"
 #include "VULKAN_PixelShader_Textures_YUV.h"
 #include "VULKAN_PixelShader_Advanced.h"
 #include "VULKAN_PixelShader_Advanced_YUV.h"
+#include "VULKAN_PixelShader_Textures_PQ.h"
+#include "VULKAN_PixelShader_Textures_Simple.h"
 #include "VULKAN_VertexShader.h"
 
 static struct
@@ -41,6 +44,8 @@ static struct
 } VULKAN_shaders[NUM_SHADERS] = {
     { VULKAN_PixelShader_Colors, sizeof(VULKAN_PixelShader_Colors),
       VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
+    { VULKAN_PixelShader_Colors_PQ, sizeof(VULKAN_PixelShader_Colors_PQ),
+      VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
     { VULKAN_PixelShader_Textures, sizeof(VULKAN_PixelShader_Textures),
       VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
     { VULKAN_PixelShader_Textures_YUV, sizeof(VULKAN_PixelShader_Textures_YUV),
@@ -49,6 +54,10 @@ static struct
       VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
     { VULKAN_PixelShader_Advanced_YUV, sizeof(VULKAN_PixelShader_Advanced_YUV),
       VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
+    { VULKAN_PixelShader_Textures_PQ, sizeof(VULKAN_PixelShader_Textures_PQ),
+      VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
+    { VULKAN_PixelShader_Textures_Simple, sizeof(VULKAN_PixelShader_Textures_Simple),
+      VULKAN_VertexShader, sizeof(VULKAN_VertexShader) },
 };
 
 void VULKAN_GetVertexShader(VULKAN_Shader shader, const uint32_t **outBytecode, size_t *outSize)

+ 3 - 0
src/render/vulkan/SDL_shaders_vulkan.h

@@ -30,10 +30,13 @@ extern "C" {
 typedef enum
 {
     SHADER_SOLID,
+    SHADER_SOLID_PQ,
     SHADER_RGB,
     SHADER_RGB_YUV,
     SHADER_ADVANCED,
     SHADER_ADVANCED_YUV,
+    SHADER_RGB_PQ,
+    SHADER_RGB_SIMPLE,
     NUM_SHADERS
 } VULKAN_Shader;
 

+ 431 - 431
src/render/vulkan/VULKAN_PixelShader_Advanced.h

@@ -1,437 +1,437 @@
 	// 1114.0.0
 	 #pragma once
 static const uint32_t VULKAN_PixelShader_Advanced[] = {
-	0x07230203,0x00010000,0x0008000b,0x000006bb,0x00000000,0x00020011,0x00000001,0x0006000b,
+	0x07230203,0x00010000,0x0008000b,0x000006e9,0x00000000,0x00020011,0x00000001,0x0006000b,
 	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
-	0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000028b,0x0000028e,0x00000292,
+	0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x000002a4,0x000002a7,0x000002ab,
 	0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,
-	0x6e69616d,0x00000000,0x00050005,0x00000081,0x736e6f43,0x746e6174,0x00000073,0x00070006,
-	0x00000081,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x00000081,
-	0x00000001,0x74786574,0x5f657275,0x65707974,0x00000000,0x00060006,0x00000081,0x00000002,
-	0x75706e69,0x79745f74,0x00006570,0x00060006,0x00000081,0x00000003,0x6f6c6f63,0x63735f72,
-	0x00656c61,0x00060006,0x00000081,0x00000004,0x65786574,0x69735f6c,0x0000657a,0x00070006,
-	0x00000081,0x00000005,0x656e6f74,0x5f70616d,0x6874656d,0x0000646f,0x00070006,0x00000081,
-	0x00000006,0x656e6f74,0x5f70616d,0x74636166,0x0031726f,0x00070006,0x00000081,0x00000007,
-	0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x00000081,0x00000008,0x5f726473,
-	0x74696877,0x6f705f65,0x00746e69,0x00030005,0x00000083,0x00000000,0x00050005,0x000000f2,
-	0x74786574,0x30657275,0x00000000,0x00050005,0x000000f9,0x74786574,0x31657275,0x00000000,
-	0x00050005,0x0000028b,0x75706e69,0x65742e74,0x00000078,0x00050005,0x0000028e,0x75706e69,
-	0x6f632e74,0x00726f6c,0x00070005,0x00000292,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
-	0x00000074,0x00050048,0x00000081,0x00000000,0x00000023,0x00000000,0x00050048,0x00000081,
-	0x00000001,0x00000023,0x00000004,0x00050048,0x00000081,0x00000002,0x00000023,0x00000008,
-	0x00050048,0x00000081,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000081,0x00000004,
-	0x00000023,0x00000010,0x00050048,0x00000081,0x00000005,0x00000023,0x00000020,0x00050048,
-	0x00000081,0x00000006,0x00000023,0x00000024,0x00050048,0x00000081,0x00000007,0x00000023,
-	0x00000028,0x00050048,0x00000081,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000081,
-	0x00000002,0x00040047,0x00000083,0x00000022,0x00000000,0x00040047,0x00000083,0x00000021,
-	0x00000000,0x00040047,0x000000f2,0x00000022,0x00000000,0x00040047,0x000000f2,0x00000021,
-	0x00000001,0x00040047,0x000000f9,0x00000022,0x00000000,0x00040047,0x000000f9,0x00000021,
-	0x00000002,0x00040047,0x0000028b,0x0000001e,0x00000000,0x00040047,0x0000028e,0x0000001e,
-	0x00000001,0x00040047,0x00000292,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
-	0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x0000000f,0x00000006,
-	0x00000003,0x00040017,0x00000018,0x00000006,0x00000002,0x00040017,0x0000001a,0x00000006,
-	0x00000004,0x0004002b,0x00000006,0x0000003e,0x3d25aee6,0x00020014,0x0000003f,0x0004002b,
-	0x00000006,0x00000044,0x414eb852,0x0004002b,0x00000006,0x00000048,0x3d6147ae,0x0004002b,
-	0x00000006,0x0000004b,0x3f870a3d,0x0004002b,0x00000006,0x0000004d,0x4019999a,0x0004002b,
-	0x00000006,0x00000053,0x3b4d2e1c,0x0004002b,0x00000006,0x0000005c,0x3ed55555,0x0004002b,
-	0x00000006,0x00000066,0x3c4fcdac,0x0006002c,0x0000000f,0x00000067,0x00000066,0x00000066,
-	0x00000066,0x0004002b,0x00000006,0x00000069,0x3f560000,0x0004002b,0x00000006,0x0000006c,
-	0x00000000,0x0006002c,0x0000000f,0x0000006d,0x0000006c,0x0000006c,0x0000006c,0x0004002b,
-	0x00000006,0x00000070,0x4196d000,0x0004002b,0x00000006,0x00000071,0x41958000,0x0004002b,
-	0x00000006,0x00000078,0x461c4000,0x0004002b,0x00000006,0x0000007d,0x40c8e06b,0x0006002c,
-	0x0000000f,0x0000007e,0x0000007d,0x0000007d,0x0000007d,0x000b001e,0x00000081,0x00000006,
-	0x00000006,0x00000006,0x00000006,0x0000001a,0x00000006,0x00000006,0x00000006,0x00000006,
-	0x00040020,0x00000082,0x00000002,0x00000081,0x0004003b,0x00000082,0x00000083,0x00000002,
-	0x00040015,0x00000084,0x00000020,0x00000001,0x0004002b,0x00000084,0x00000085,0x00000008,
-	0x00040020,0x00000086,0x00000002,0x00000006,0x0004002b,0x00000084,0x0000008d,0x00000005,
-	0x0004002b,0x00000006,0x00000090,0x3f800000,0x0004002b,0x00000084,0x00000094,0x00000006,
-	0x0004002b,0x00000006,0x0000009c,0x40000000,0x0004002b,0x00000084,0x000000a0,0x00000002,
-	0x00040018,0x000000a7,0x0000000f,0x00000003,0x0004002b,0x00000006,0x000000a8,0x3f209d8c,
-	0x0004002b,0x00000006,0x000000a9,0x3ea897c8,0x0004002b,0x00000006,0x000000aa,0x3d3168f9,
-	0x0006002c,0x0000000f,0x000000ab,0x000000a8,0x000000a9,0x000000aa,0x0004002b,0x00000006,
-	0x000000ac,0x3d8d82ba,0x0004002b,0x00000006,0x000000ad,0x3f6b670a,0x0004002b,0x00000006,
-	0x000000ae,0x3c3a27af,0x0006002c,0x0000000f,0x000000af,0x000000ac,0x000000ad,0x000000ae,
-	0x0004002b,0x00000006,0x000000b0,0x3c86466b,0x0004002b,0x00000006,0x000000b1,0x3db44029,
-	0x0004002b,0x00000006,0x000000b2,0x3f6545b7,0x0006002c,0x0000000f,0x000000b3,0x000000b0,
-	0x000000b1,0x000000b2,0x0006002c,0x000000a7,0x000000b4,0x000000ab,0x000000af,0x000000b3,
-	0x0004002b,0x00000084,0x000000cd,0x00000007,0x0004002b,0x00000006,0x000000dd,0x3fd48b22,
-	0x0004002b,0x00000006,0x000000de,0xbf1670a0,0x0004002b,0x00000006,0x000000df,0xbd952d23,
-	0x0006002c,0x0000000f,0x000000e0,0x000000dd,0x000000de,0x000000df,0x0004002b,0x00000006,
-	0x000000e1,0xbdff127f,0x0004002b,0x00000006,0x000000e2,0x3f9102b4,0x0004002b,0x00000006,
-	0x000000e3,0xbc08c60d,0x0006002c,0x0000000f,0x000000e4,0x000000e1,0x000000e2,0x000000e3,
-	0x0004002b,0x00000006,0x000000e5,0xbc94b7b3,0x0004002b,0x00000006,0x000000e6,0xbdce05cd,
-	0x0004002b,0x00000006,0x000000e7,0x3f8f333c,0x0006002c,0x0000000f,0x000000e8,0x000000e5,
-	0x000000e6,0x000000e7,0x0006002c,0x000000a7,0x000000e9,0x000000e0,0x000000e4,0x000000e8,
-	0x00090019,0x000000ef,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
-	0x00000000,0x0003001b,0x000000f0,0x000000ef,0x00040020,0x000000f1,0x00000000,0x000000f0,
-	0x0004003b,0x000000f1,0x000000f2,0x00000000,0x0004002b,0x00000006,0x000000f7,0x437f0000,
-	0x0004003b,0x000000f1,0x000000f9,0x00000000,0x0004002b,0x00000006,0x000000fc,0x3f000000,
-	0x0004002b,0x00000084,0x00000106,0x00000004,0x00040020,0x00000107,0x00000002,0x0000001a,
-	0x0004002b,0x00000006,0x00000154,0x3727c5ac,0x0005002c,0x00000018,0x00000155,0x00000154,
-	0x00000154,0x0005002c,0x00000018,0x00000156,0x00000090,0x00000090,0x0004002b,0x00000084,
-	0x00000174,0x00000001,0x0004002b,0x00000006,0x00000196,0x40400000,0x0004002b,0x00000006,
-	0x000001a1,0x40800000,0x0004002b,0x00000006,0x000001ac,0x40a00000,0x0004002b,0x00000084,
-	0x000001c4,0x00000003,0x0004002b,0x00000084,0x000001d4,0x00000000,0x00040020,0x00000286,
-	0x00000001,0x0000001a,0x00040020,0x0000028a,0x00000001,0x00000018,0x0004003b,0x0000028a,
-	0x0000028b,0x00000001,0x0004003b,0x00000286,0x0000028e,0x00000001,0x00040020,0x00000291,
-	0x00000003,0x0000001a,0x0004003b,0x00000291,0x00000292,0x00000003,0x0005002c,0x00000018,
-	0x0000066e,0x000000fc,0x000000fc,0x0004002b,0x00000006,0x0000066f,0x3b800000,0x0006002c,
-	0x0000000f,0x00000671,0x00000069,0x00000069,0x00000069,0x0006002c,0x0000000f,0x00000672,
-	0x00000070,0x00000070,0x00000070,0x0006002c,0x0000000f,0x00000677,0x00000090,0x00000090,
-	0x00000090,0x0004002b,0x00000006,0x0000067d,0x3f72a76f,0x0004002b,0x00000006,0x0000067e,
-	0x3d9e8391,0x0007002c,0x0000001a,0x00000680,0x00000090,0x0000006c,0x00000090,0x00000090,
-	0x0004002b,0x00000006,0x00000681,0xbd6147ae,0x00030001,0x0000001a,0x000006ba,0x00050036,
-	0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000018,
-	0x0000028c,0x0000028b,0x0004003d,0x0000001a,0x0000028f,0x0000028e,0x00050041,0x00000086,
-	0x00000313,0x00000083,0x00000174,0x0004003d,0x00000006,0x00000314,0x00000313,0x000500b4,
-	0x0000003f,0x00000315,0x00000314,0x00000090,0x000300f7,0x0000034f,0x00000000,0x000400fa,
-	0x00000315,0x00000316,0x0000031b,0x000200f8,0x00000316,0x0004003d,0x000000f0,0x00000317,
-	0x000000f2,0x00050057,0x0000001a,0x0000031a,0x00000317,0x0000028c,0x000200f9,0x0000034f,
-	0x000200f8,0x0000031b,0x00050041,0x00000086,0x0000031c,0x00000083,0x00000174,0x0004003d,
-	0x00000006,0x0000031d,0x0000031c,0x000500b4,0x0000003f,0x0000031e,0x0000031d,0x0000009c,
-	0x000300f7,0x0000034e,0x00000000,0x000400fa,0x0000031e,0x0000031f,0x0000032c,0x000200f8,
-	0x0000031f,0x000400d1,0x00000018,0x00000357,0x0000028c,0x00050041,0x00000107,0x00000358,
-	0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000359,0x00000358,0x0007004f,0x00000018,
-	0x0000035a,0x00000359,0x00000359,0x00000002,0x00000003,0x00050085,0x00000018,0x0000035b,
-	0x00000357,0x0000035a,0x0008000c,0x00000018,0x0000035c,0x00000001,0x0000002b,0x0000035b,
-	0x00000155,0x00000156,0x00050041,0x00000107,0x0000035e,0x00000083,0x00000106,0x0004003d,
-	0x0000001a,0x0000035f,0x0000035e,0x0007004f,0x00000018,0x00000360,0x0000035f,0x0000035f,
-	0x00000002,0x00000003,0x0005008e,0x00000018,0x00000363,0x0000035c,0x000000fc,0x0004007f,
-	0x00000018,0x00000670,0x00000363,0x0008000c,0x00000018,0x00000364,0x00000001,0x00000032,
-	0x0000028c,0x00000360,0x00000670,0x00050083,0x00000018,0x00000367,0x00000156,0x0000035c,
-	0x0006000c,0x00000018,0x00000369,0x00000001,0x0000000a,0x00000364,0x0008000c,0x00000018,
-	0x0000036a,0x00000001,0x00000031,0x00000367,0x00000156,0x00000369,0x0006000c,0x00000018,
-	0x0000036c,0x00000001,0x00000008,0x00000364,0x00050081,0x00000018,0x0000036e,0x0000036c,
-	0x0000066e,0x00050081,0x00000018,0x00000370,0x0000036e,0x0000036a,0x00050041,0x00000107,
-	0x00000371,0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000372,0x00000371,0x0007004f,
-	0x00000018,0x00000373,0x00000372,0x00000372,0x00000000,0x00000001,0x00050085,0x00000018,
-	0x00000374,0x00000370,0x00000373,0x0004003d,0x000000f0,0x00000323,0x000000f2,0x000400cf,
-	0x00000018,0x00000327,0x0000028c,0x000400d0,0x00000018,0x0000032a,0x0000028c,0x00080058,
-	0x0000001a,0x0000032b,0x00000323,0x00000374,0x00000004,0x00000327,0x0000032a,0x000200f9,
-	0x0000034e,0x000200f8,0x0000032c,0x00050041,0x00000086,0x0000032d,0x00000083,0x00000174,
-	0x0004003d,0x00000006,0x0000032e,0x0000032d,0x000500b4,0x0000003f,0x0000032f,0x0000032e,
-	0x00000196,0x000300f7,0x0000034d,0x00000000,0x000400fa,0x0000032f,0x00000330,0x00000334,
-	0x000200f8,0x00000330,0x0004003d,0x000000f0,0x00000378,0x000000f2,0x00050057,0x0000001a,
-	0x0000037a,0x00000378,0x0000028c,0x00050051,0x00000006,0x0000037b,0x0000037a,0x00000000,
-	0x0004003d,0x000000f0,0x0000037d,0x000000f9,0x0008000c,0x00000006,0x0000037f,0x00000001,
-	0x00000032,0x0000037b,0x000000f7,0x000000fc,0x00050085,0x00000006,0x00000380,0x0000037f,
-	0x0000066f,0x00050050,0x00000018,0x00000381,0x00000380,0x000000fc,0x00050057,0x0000001a,
-	0x00000382,0x0000037d,0x00000381,0x000200f9,0x0000034d,0x000200f8,0x00000334,0x00050041,
-	0x00000086,0x00000335,0x00000083,0x00000174,0x0004003d,0x00000006,0x00000336,0x00000335,
-	0x000500b4,0x0000003f,0x00000337,0x00000336,0x000001a1,0x000300f7,0x0000034c,0x00000000,
-	0x000400fa,0x00000337,0x00000338,0x0000033c,0x000200f8,0x00000338,0x00050041,0x00000107,
-	0x00000391,0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000392,0x00000391,0x0007004f,
-	0x00000018,0x00000393,0x00000392,0x00000392,0x00000002,0x00000003,0x0008000c,0x00000018,
-	0x00000396,0x00000001,0x00000032,0x0000028c,0x00000393,0x0000066e,0x0006000c,0x00000018,
-	0x00000398,0x00000001,0x00000008,0x00000396,0x00050083,0x00000018,0x0000039a,0x00000398,
-	0x0000066e,0x00050041,0x00000107,0x0000039b,0x00000083,0x00000106,0x0004003d,0x0000001a,
-	0x0000039c,0x0000039b,0x0007004f,0x00000018,0x0000039d,0x0000039c,0x0000039c,0x00000000,
-	0x00000001,0x00050085,0x00000018,0x0000039e,0x0000039a,0x0000039d,0x0006000c,0x00000018,
-	0x000003a0,0x00000001,0x00000008,0x00000396,0x00050081,0x00000018,0x000003a2,0x000003a0,
-	0x0000066e,0x00050041,0x00000107,0x000003a3,0x00000083,0x00000106,0x0004003d,0x0000001a,
-	0x000003a4,0x000003a3,0x0007004f,0x00000018,0x000003a5,0x000003a4,0x000003a4,0x00000000,
-	0x00000001,0x00050085,0x00000018,0x000003a6,0x000003a2,0x000003a5,0x00050051,0x00000006,
-	0x000003a7,0x0000039e,0x00000000,0x00050051,0x00000006,0x000003a8,0x0000039e,0x00000001,
-	0x00050051,0x00000006,0x000003a9,0x000003a6,0x00000000,0x00050051,0x00000006,0x000003aa,
-	0x000003a6,0x00000001,0x00070050,0x0000001a,0x000003ab,0x000003a7,0x000003a8,0x000003a9,
-	0x000003aa,0x0006000c,0x00000018,0x000003ad,0x00000001,0x0000000a,0x00000396,0x0007004f,
-	0x00000018,0x000003af,0x000003ab,0x000003ab,0x00000000,0x00000001,0x0004003d,0x000000f0,
-	0x000003cd,0x000000f2,0x00050057,0x0000001a,0x000003cf,0x000003cd,0x000003af,0x00050051,
-	0x00000006,0x000003d0,0x000003cf,0x00000000,0x0004003d,0x000000f0,0x000003d2,0x000000f9,
-	0x0008000c,0x00000006,0x000003d4,0x00000001,0x00000032,0x000003d0,0x000000f7,0x000000fc,
-	0x00050085,0x00000006,0x000003d5,0x000003d4,0x0000066f,0x00050050,0x00000018,0x000003d6,
-	0x000003d5,0x000000fc,0x00050057,0x0000001a,0x000003d7,0x000003d2,0x000003d6,0x0007004f,
-	0x00000018,0x000003b2,0x000003ab,0x000003ab,0x00000000,0x00000003,0x0004003d,0x000000f0,
-	0x000003db,0x000000f2,0x00050057,0x0000001a,0x000003dd,0x000003db,0x000003b2,0x00050051,
-	0x00000006,0x000003de,0x000003dd,0x00000000,0x0004003d,0x000000f0,0x000003e0,0x000000f9,
-	0x0008000c,0x00000006,0x000003e2,0x00000001,0x00000032,0x000003de,0x000000f7,0x000000fc,
-	0x00050085,0x00000006,0x000003e3,0x000003e2,0x0000066f,0x00050050,0x00000018,0x000003e4,
-	0x000003e3,0x000000fc,0x00050057,0x0000001a,0x000003e5,0x000003e0,0x000003e4,0x0007004f,
-	0x00000018,0x000003b5,0x000003ab,0x000003ab,0x00000002,0x00000001,0x0004003d,0x000000f0,
-	0x000003e9,0x000000f2,0x00050057,0x0000001a,0x000003eb,0x000003e9,0x000003b5,0x00050051,
-	0x00000006,0x000003ec,0x000003eb,0x00000000,0x0004003d,0x000000f0,0x000003ee,0x000000f9,
-	0x0008000c,0x00000006,0x000003f0,0x00000001,0x00000032,0x000003ec,0x000000f7,0x000000fc,
-	0x00050085,0x00000006,0x000003f1,0x000003f0,0x0000066f,0x00050050,0x00000018,0x000003f2,
-	0x000003f1,0x000000fc,0x00050057,0x0000001a,0x000003f3,0x000003ee,0x000003f2,0x0007004f,
-	0x00000018,0x000003b8,0x000003ab,0x000003ab,0x00000002,0x00000003,0x0004003d,0x000000f0,
-	0x000003f7,0x000000f2,0x00050057,0x0000001a,0x000003f9,0x000003f7,0x000003b8,0x00050051,
-	0x00000006,0x000003fa,0x000003f9,0x00000000,0x0004003d,0x000000f0,0x000003fc,0x000000f9,
-	0x0008000c,0x00000006,0x000003fe,0x00000001,0x00000032,0x000003fa,0x000000f7,0x000000fc,
-	0x00050085,0x00000006,0x000003ff,0x000003fe,0x0000066f,0x00050050,0x00000018,0x00000400,
-	0x000003ff,0x000000fc,0x00050057,0x0000001a,0x00000401,0x000003fc,0x00000400,0x00050051,
-	0x00000006,0x000003bd,0x000003ad,0x00000001,0x00070050,0x0000001a,0x000003be,0x000003bd,
-	0x000003bd,0x000003bd,0x000003bd,0x0008000c,0x0000001a,0x000003bf,0x00000001,0x0000002e,
-	0x000003d7,0x000003e5,0x000003be,0x00050051,0x00000006,0x000003c3,0x000003ad,0x00000001,
-	0x00070050,0x0000001a,0x000003c4,0x000003c3,0x000003c3,0x000003c3,0x000003c3,0x0008000c,
-	0x0000001a,0x000003c5,0x00000001,0x0000002e,0x000003f3,0x00000401,0x000003c4,0x00050051,
-	0x00000006,0x000003c7,0x000003ad,0x00000000,0x00070050,0x0000001a,0x000003c8,0x000003c7,
-	0x000003c7,0x000003c7,0x000003c7,0x0008000c,0x0000001a,0x000003c9,0x00000001,0x0000002e,
-	0x000003bf,0x000003c5,0x000003c8,0x000200f9,0x0000034c,0x000200f8,0x0000033c,0x00050041,
-	0x00000086,0x0000033d,0x00000083,0x00000174,0x0004003d,0x00000006,0x0000033e,0x0000033d,
-	0x000500b4,0x0000003f,0x0000033f,0x0000033e,0x000001ac,0x000300f7,0x0000034b,0x00000000,
-	0x000400fa,0x0000033f,0x00000340,0x00000346,0x000200f8,0x00000340,0x000400d1,0x00000018,
-	0x00000408,0x0000028c,0x00050041,0x00000107,0x00000409,0x00000083,0x00000106,0x0004003d,
-	0x0000001a,0x0000040a,0x00000409,0x0007004f,0x00000018,0x0000040b,0x0000040a,0x0000040a,
-	0x00000002,0x00000003,0x00050085,0x00000018,0x0000040c,0x00000408,0x0000040b,0x0008000c,
-	0x00000018,0x0000040d,0x00000001,0x0000002b,0x0000040c,0x00000155,0x00000156,0x00050041,
-	0x00000107,0x0000040f,0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000410,0x0000040f,
-	0x0007004f,0x00000018,0x00000411,0x00000410,0x00000410,0x00000002,0x00000003,0x0005008e,
-	0x00000018,0x00000414,0x0000040d,0x000000fc,0x0004007f,0x00000018,0x0000066d,0x00000414,
-	0x0008000c,0x00000018,0x00000415,0x00000001,0x00000032,0x0000028c,0x00000411,0x0000066d,
-	0x00050083,0x00000018,0x00000418,0x00000156,0x0000040d,0x0006000c,0x00000018,0x0000041a,
-	0x00000001,0x0000000a,0x00000415,0x0008000c,0x00000018,0x0000041b,0x00000001,0x00000031,
-	0x00000418,0x00000156,0x0000041a,0x0006000c,0x00000018,0x0000041d,0x00000001,0x00000008,
-	0x00000415,0x00050081,0x00000018,0x0000041f,0x0000041d,0x0000066e,0x00050081,0x00000018,
-	0x00000421,0x0000041f,0x0000041b,0x00050041,0x00000107,0x00000422,0x00000083,0x00000106,
-	0x0004003d,0x0000001a,0x00000423,0x00000422,0x0007004f,0x00000018,0x00000424,0x00000423,
-	0x00000423,0x00000000,0x00000001,0x00050085,0x00000018,0x00000425,0x00000421,0x00000424,
-	0x00050041,0x00000107,0x00000434,0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000435,
-	0x00000434,0x0007004f,0x00000018,0x00000436,0x00000435,0x00000435,0x00000002,0x00000003,
-	0x0008000c,0x00000018,0x00000439,0x00000001,0x00000032,0x00000425,0x00000436,0x0000066e,
-	0x0006000c,0x00000018,0x0000043b,0x00000001,0x00000008,0x00000439,0x00050083,0x00000018,
-	0x0000043d,0x0000043b,0x0000066e,0x00050041,0x00000107,0x0000043e,0x00000083,0x00000106,
-	0x0004003d,0x0000001a,0x0000043f,0x0000043e,0x0007004f,0x00000018,0x00000440,0x0000043f,
-	0x0000043f,0x00000000,0x00000001,0x00050085,0x00000018,0x00000441,0x0000043d,0x00000440,
-	0x0006000c,0x00000018,0x00000443,0x00000001,0x00000008,0x00000439,0x00050081,0x00000018,
-	0x00000445,0x00000443,0x0000066e,0x00050041,0x00000107,0x00000446,0x00000083,0x00000106,
-	0x0004003d,0x0000001a,0x00000447,0x00000446,0x0007004f,0x00000018,0x00000448,0x00000447,
-	0x00000447,0x00000000,0x00000001,0x00050085,0x00000018,0x00000449,0x00000445,0x00000448,
-	0x00050051,0x00000006,0x0000044a,0x00000441,0x00000000,0x00050051,0x00000006,0x0000044b,
-	0x00000441,0x00000001,0x00050051,0x00000006,0x0000044c,0x00000449,0x00000000,0x00050051,
-	0x00000006,0x0000044d,0x00000449,0x00000001,0x00070050,0x0000001a,0x0000044e,0x0000044a,
-	0x0000044b,0x0000044c,0x0000044d,0x0006000c,0x00000018,0x00000450,0x00000001,0x0000000a,
-	0x00000439,0x0007004f,0x00000018,0x00000452,0x0000044e,0x0000044e,0x00000000,0x00000001,
-	0x0004003d,0x000000f0,0x00000470,0x000000f2,0x00050057,0x0000001a,0x00000472,0x00000470,
-	0x00000452,0x00050051,0x00000006,0x00000473,0x00000472,0x00000000,0x0004003d,0x000000f0,
-	0x00000475,0x000000f9,0x0008000c,0x00000006,0x00000477,0x00000001,0x00000032,0x00000473,
-	0x000000f7,0x000000fc,0x00050085,0x00000006,0x00000478,0x00000477,0x0000066f,0x00050050,
-	0x00000018,0x00000479,0x00000478,0x000000fc,0x00050057,0x0000001a,0x0000047a,0x00000475,
-	0x00000479,0x0007004f,0x00000018,0x00000455,0x0000044e,0x0000044e,0x00000000,0x00000003,
-	0x0004003d,0x000000f0,0x0000047e,0x000000f2,0x00050057,0x0000001a,0x00000480,0x0000047e,
-	0x00000455,0x00050051,0x00000006,0x00000481,0x00000480,0x00000000,0x0004003d,0x000000f0,
-	0x00000483,0x000000f9,0x0008000c,0x00000006,0x00000485,0x00000001,0x00000032,0x00000481,
-	0x000000f7,0x000000fc,0x00050085,0x00000006,0x00000486,0x00000485,0x0000066f,0x00050050,
-	0x00000018,0x00000487,0x00000486,0x000000fc,0x00050057,0x0000001a,0x00000488,0x00000483,
-	0x00000487,0x0007004f,0x00000018,0x00000458,0x0000044e,0x0000044e,0x00000002,0x00000001,
-	0x0004003d,0x000000f0,0x0000048c,0x000000f2,0x00050057,0x0000001a,0x0000048e,0x0000048c,
-	0x00000458,0x00050051,0x00000006,0x0000048f,0x0000048e,0x00000000,0x0004003d,0x000000f0,
-	0x00000491,0x000000f9,0x0008000c,0x00000006,0x00000493,0x00000001,0x00000032,0x0000048f,
-	0x000000f7,0x000000fc,0x00050085,0x00000006,0x00000494,0x00000493,0x0000066f,0x00050050,
-	0x00000018,0x00000495,0x00000494,0x000000fc,0x00050057,0x0000001a,0x00000496,0x00000491,
-	0x00000495,0x0007004f,0x00000018,0x0000045b,0x0000044e,0x0000044e,0x00000002,0x00000003,
-	0x0004003d,0x000000f0,0x0000049a,0x000000f2,0x00050057,0x0000001a,0x0000049c,0x0000049a,
-	0x0000045b,0x00050051,0x00000006,0x0000049d,0x0000049c,0x00000000,0x0004003d,0x000000f0,
-	0x0000049f,0x000000f9,0x0008000c,0x00000006,0x000004a1,0x00000001,0x00000032,0x0000049d,
-	0x000000f7,0x000000fc,0x00050085,0x00000006,0x000004a2,0x000004a1,0x0000066f,0x00050050,
-	0x00000018,0x000004a3,0x000004a2,0x000000fc,0x00050057,0x0000001a,0x000004a4,0x0000049f,
-	0x000004a3,0x00050051,0x00000006,0x00000460,0x00000450,0x00000001,0x00070050,0x0000001a,
-	0x00000461,0x00000460,0x00000460,0x00000460,0x00000460,0x0008000c,0x0000001a,0x00000462,
-	0x00000001,0x0000002e,0x0000047a,0x00000488,0x00000461,0x00050051,0x00000006,0x00000466,
-	0x00000450,0x00000001,0x00070050,0x0000001a,0x00000467,0x00000466,0x00000466,0x00000466,
-	0x00000466,0x0008000c,0x0000001a,0x00000468,0x00000001,0x0000002e,0x00000496,0x000004a4,
-	0x00000467,0x00050051,0x00000006,0x0000046a,0x00000450,0x00000000,0x00070050,0x0000001a,
-	0x0000046b,0x0000046a,0x0000046a,0x0000046a,0x0000046a,0x0008000c,0x0000001a,0x0000046c,
-	0x00000001,0x0000002e,0x00000462,0x00000468,0x0000046b,0x000200f9,0x0000034b,0x000200f8,
-	0x00000346,0x000200f9,0x0000034b,0x000200f8,0x0000034b,0x000700f5,0x0000001a,0x00000686,
-	0x0000046c,0x00000340,0x00000680,0x00000346,0x000200f9,0x0000034c,0x000200f8,0x0000034c,
-	0x000700f5,0x0000001a,0x00000685,0x000003c9,0x00000338,0x00000686,0x0000034b,0x000200f9,
-	0x0000034d,0x000200f8,0x0000034d,0x000700f5,0x0000001a,0x00000684,0x00000382,0x00000330,
-	0x00000685,0x0000034c,0x000200f9,0x0000034e,0x000200f8,0x0000034e,0x000700f5,0x0000001a,
-	0x00000683,0x0000032b,0x0000031f,0x00000684,0x0000034d,0x000200f9,0x0000034f,0x000200f8,
-	0x0000034f,0x000700f5,0x0000001a,0x00000682,0x0000031a,0x00000316,0x00000683,0x0000034e,
-	0x00050041,0x00000086,0x000002a8,0x00000083,0x000000a0,0x0004003d,0x00000006,0x000002a9,
-	0x000002a8,0x000500b4,0x0000003f,0x000002aa,0x000002a9,0x00000196,0x000300f7,0x000002b5,
-	0x00000000,0x000400fa,0x000002aa,0x000002ab,0x000002b5,0x000200f8,0x000002ab,0x0008004f,
-	0x0000000f,0x000002ad,0x00000682,0x00000682,0x00000000,0x00000001,0x00000002,0x0006000c,
-	0x0000000f,0x000004aa,0x00000001,0x00000004,0x000002ad,0x0007000c,0x0000000f,0x000004ab,
-	0x00000001,0x0000001a,0x000004aa,0x00000067,0x00050083,0x0000000f,0x000004ad,0x000004ab,
-	0x00000671,0x0007000c,0x0000000f,0x000004ae,0x00000001,0x00000028,0x000004ad,0x0000006d,
-	0x0006000c,0x0000000f,0x000004b0,0x00000001,0x00000004,0x000002ad,0x0007000c,0x0000000f,
-	0x000004b1,0x00000001,0x0000001a,0x000004b0,0x00000067,0x0005008e,0x0000000f,0x000004b2,
-	0x000004b1,0x00000071,0x00050083,0x0000000f,0x000004b4,0x00000672,0x000004b2,0x00050088,
-	0x0000000f,0x000004b7,0x000004ae,0x000004b4,0x0006000c,0x0000000f,0x000004b8,0x00000001,
-	0x00000004,0x000004b7,0x0007000c,0x0000000f,0x000004b9,0x00000001,0x0000001a,0x000004b8,
-	0x0000007e,0x0005008e,0x0000000f,0x000004ba,0x000004b9,0x00000078,0x00050041,0x00000086,
-	0x000004bb,0x00000083,0x00000085,0x0004003d,0x00000006,0x000004bc,0x000004bb,0x00060050,
-	0x0000000f,0x000004bd,0x000004bc,0x000004bc,0x000004bc,0x00050088,0x0000000f,0x000004be,
-	0x000004ba,0x000004bd,0x00050051,0x00000006,0x000002b0,0x000004be,0x00000000,0x00060052,
-	0x0000001a,0x00000619,0x000002b0,0x00000682,0x00000000,0x00050051,0x00000006,0x000002b2,
-	0x000004be,0x00000001,0x00060052,0x0000001a,0x0000061b,0x000002b2,0x00000619,0x00000001,
-	0x00050051,0x00000006,0x000002b4,0x000004be,0x00000002,0x00060052,0x0000001a,0x0000061d,
-	0x000002b4,0x0000061b,0x00000002,0x000200f9,0x000002b5,0x000200f8,0x000002b5,0x000700f5,
-	0x0000001a,0x00000687,0x00000682,0x0000034f,0x0000061d,0x000002ab,0x00050041,0x00000086,
-	0x000002b6,0x00000083,0x0000008d,0x0004003d,0x00000006,0x000002b7,0x000002b6,0x000500b7,
-	0x0000003f,0x000002b8,0x000002b7,0x0000006c,0x000300f7,0x000002c3,0x00000000,0x000400fa,
-	0x000002b8,0x000002b9,0x000002c3,0x000200f8,0x000002b9,0x0008004f,0x0000000f,0x000002bb,
-	0x00000687,0x00000687,0x00000000,0x00000001,0x00000002,0x00050041,0x00000086,0x000004c3,
-	0x00000083,0x0000008d,0x0004003d,0x00000006,0x000004c4,0x000004c3,0x000500b4,0x0000003f,
-	0x000004c5,0x000004c4,0x00000090,0x000300f7,0x000004f9,0x00000000,0x000400fa,0x000004c5,
-	0x000004c6,0x000004cb,0x000200f8,0x000004c6,0x00050041,0x00000086,0x000004c7,0x00000083,
-	0x00000094,0x0004003d,0x00000006,0x000004c8,0x000004c7,0x0005008e,0x0000000f,0x000004ca,
-	0x000002bb,0x000004c8,0x000200f9,0x000004f9,0x000200f8,0x000004cb,0x00050041,0x00000086,
-	0x000004cc,0x00000083,0x0000008d,0x0004003d,0x00000006,0x000004cd,0x000004cc,0x000500b4,
-	0x0000003f,0x000004ce,0x000004cd,0x0000009c,0x000300f7,0x000004f8,0x00000000,0x000400fa,
-	0x000004ce,0x000004cf,0x000004f8,0x000200f8,0x000004cf,0x00050041,0x00000086,0x000004d0,
-	0x00000083,0x000000a0,0x0004003d,0x00000006,0x000004d1,0x000004d0,0x000500b4,0x0000003f,
-	0x000004d2,0x000004d1,0x0000009c,0x000300f7,0x000004d6,0x00000000,0x000400fa,0x000004d2,
-	0x000004d3,0x000004d6,0x000200f8,0x000004d3,0x00050090,0x0000000f,0x000004d5,0x000002bb,
-	0x000000b4,0x000200f9,0x000004d6,0x000200f8,0x000004d6,0x000700f5,0x0000000f,0x00000688,
-	0x000002bb,0x000004cf,0x000004d5,0x000004d3,0x00050051,0x00000006,0x000004d8,0x00000688,
-	0x00000000,0x00050051,0x00000006,0x000004da,0x00000688,0x00000001,0x00050051,0x00000006,
-	0x000004dc,0x00000688,0x00000002,0x0007000c,0x00000006,0x000004dd,0x00000001,0x00000028,
-	0x000004da,0x000004dc,0x0007000c,0x00000006,0x000004de,0x00000001,0x00000028,0x000004d8,
-	0x000004dd,0x000500ba,0x0000003f,0x000004e0,0x000004de,0x0000006c,0x000300f7,0x000004f0,
-	0x00000000,0x000400fa,0x000004e0,0x000004e1,0x000004f0,0x000200f8,0x000004e1,0x00050041,
-	0x00000086,0x000004e2,0x00000083,0x00000094,0x0004003d,0x00000006,0x000004e3,0x000004e2,
-	0x0008000c,0x00000006,0x000004e6,0x00000001,0x00000032,0x000004e3,0x000004de,0x00000090,
-	0x00050041,0x00000086,0x000004e7,0x00000083,0x000000cd,0x0004003d,0x00000006,0x000004e8,
-	0x000004e7,0x0008000c,0x00000006,0x000004eb,0x00000001,0x00000032,0x000004e8,0x000004de,
-	0x00000090,0x00050088,0x00000006,0x000004ec,0x000004e6,0x000004eb,0x0005008e,0x0000000f,
-	0x000004ef,0x00000688,0x000004ec,0x000200f9,0x000004f0,0x000200f8,0x000004f0,0x000700f5,
-	0x0000000f,0x00000689,0x00000688,0x000004d6,0x000004ef,0x000004e1,0x00050041,0x00000086,
-	0x000004f1,0x00000083,0x000000a0,0x0004003d,0x00000006,0x000004f2,0x000004f1,0x000500b4,
-	0x0000003f,0x000004f3,0x000004f2,0x0000009c,0x000300f7,0x000004f7,0x00000000,0x000400fa,
-	0x000004f3,0x000004f4,0x000004f7,0x000200f8,0x000004f4,0x00050090,0x0000000f,0x000004f6,
-	0x00000689,0x000000e9,0x000200f9,0x000004f7,0x000200f8,0x000004f7,0x000700f5,0x0000000f,
-	0x0000068c,0x00000689,0x000004f0,0x000004f6,0x000004f4,0x000200f9,0x000004f8,0x000200f8,
-	0x000004f8,0x000700f5,0x0000000f,0x0000068b,0x000002bb,0x000004cb,0x0000068c,0x000004f7,
-	0x000200f9,0x000004f9,0x000200f8,0x000004f9,0x000700f5,0x0000000f,0x0000068a,0x000004ca,
-	0x000004c6,0x0000068b,0x000004f8,0x00050051,0x00000006,0x000002be,0x0000068a,0x00000000,
-	0x00060052,0x0000001a,0x00000622,0x000002be,0x00000687,0x00000000,0x00050051,0x00000006,
-	0x000002c0,0x0000068a,0x00000001,0x00060052,0x0000001a,0x00000624,0x000002c0,0x00000622,
-	0x00000001,0x00050051,0x00000006,0x000002c2,0x0000068a,0x00000002,0x00060052,0x0000001a,
-	0x00000626,0x000002c2,0x00000624,0x00000002,0x000200f9,0x000002c3,0x000200f8,0x000002c3,
-	0x000700f5,0x0000001a,0x00000692,0x00000687,0x000002b5,0x00000626,0x000004f9,0x00050041,
-	0x00000086,0x000002c4,0x00000083,0x000000a0,0x0004003d,0x00000006,0x000002c5,0x000002c4,
-	0x000500b4,0x0000003f,0x000002c6,0x000002c5,0x00000090,0x000300f7,0x00000304,0x00000000,
-	0x000400fa,0x000002c6,0x000002c7,0x000002d4,0x000200f8,0x000002c7,0x0008004f,0x0000000f,
-	0x000002c9,0x00000692,0x00000692,0x00000000,0x00000001,0x00000002,0x00050041,0x00000086,
-	0x00000501,0x00000083,0x000001d4,0x0004003d,0x00000006,0x00000502,0x00000501,0x000500b7,
-	0x0000003f,0x00000503,0x00000502,0x0000006c,0x000300f7,0x00000511,0x00000000,0x000400fa,
-	0x00000503,0x00000504,0x00000511,0x000200f8,0x00000504,0x00050051,0x00000006,0x00000506,
-	0x00000692,0x00000000,0x000500bc,0x0000003f,0x0000051a,0x00000506,0x0000003e,0x000300f7,
-	0x00000524,0x00000000,0x000400fa,0x0000051a,0x0000051b,0x0000051e,0x000200f8,0x0000051b,
-	0x00050085,0x00000006,0x0000051d,0x00000506,0x0000067e,0x000200f9,0x00000524,0x000200f8,
-	0x0000051e,0x00050081,0x00000006,0x00000520,0x00000506,0x00000048,0x0006000c,0x00000006,
-	0x00000521,0x00000001,0x00000004,0x00000520,0x00050085,0x00000006,0x00000522,0x00000521,
-	0x0000067d,0x0007000c,0x00000006,0x00000523,0x00000001,0x0000001a,0x00000522,0x0000004d,
-	0x000200f9,0x00000524,0x000200f8,0x00000524,0x000700f5,0x00000006,0x000006a9,0x0000051d,
-	0x0000051b,0x00000523,0x0000051e,0x00050051,0x00000006,0x0000050a,0x00000692,0x00000001,
-	0x000500bc,0x0000003f,0x00000529,0x0000050a,0x0000003e,0x000300f7,0x00000533,0x00000000,
-	0x000400fa,0x00000529,0x0000052a,0x0000052d,0x000200f8,0x0000052a,0x00050085,0x00000006,
-	0x0000052c,0x0000050a,0x0000067e,0x000200f9,0x00000533,0x000200f8,0x0000052d,0x00050081,
-	0x00000006,0x0000052f,0x0000050a,0x00000048,0x0006000c,0x00000006,0x00000530,0x00000001,
-	0x00000004,0x0000052f,0x00050085,0x00000006,0x00000531,0x00000530,0x0000067d,0x0007000c,
-	0x00000006,0x00000532,0x00000001,0x0000001a,0x00000531,0x0000004d,0x000200f9,0x00000533,
-	0x000200f8,0x00000533,0x000700f5,0x00000006,0x000006ab,0x0000052c,0x0000052a,0x00000532,
-	0x0000052d,0x00050051,0x00000006,0x0000050e,0x00000692,0x00000002,0x000500bc,0x0000003f,
-	0x00000538,0x0000050e,0x0000003e,0x000300f7,0x00000542,0x00000000,0x000400fa,0x00000538,
-	0x00000539,0x0000053c,0x000200f8,0x00000539,0x00050085,0x00000006,0x0000053b,0x0000050e,
-	0x0000067e,0x000200f9,0x00000542,0x000200f8,0x0000053c,0x00050081,0x00000006,0x0000053e,
-	0x0000050e,0x00000048,0x0006000c,0x00000006,0x0000053f,0x00000001,0x00000004,0x0000053e,
-	0x00050085,0x00000006,0x00000540,0x0000053f,0x0000067d,0x0007000c,0x00000006,0x00000541,
-	0x00000001,0x0000001a,0x00000540,0x0000004d,0x000200f9,0x00000542,0x000200f8,0x00000542,
-	0x000700f5,0x00000006,0x000006ad,0x0000053b,0x00000539,0x00000541,0x0000053c,0x00060050,
-	0x0000000f,0x000006b9,0x000006a9,0x000006ab,0x000006ad,0x000200f9,0x00000511,0x000200f8,
-	0x00000511,0x000700f5,0x0000000f,0x000006af,0x000002c9,0x000002c7,0x000006b9,0x00000542,
-	0x00050041,0x00000086,0x00000513,0x00000083,0x000001c4,0x0004003d,0x00000006,0x00000514,
-	0x00000513,0x0005008e,0x0000000f,0x00000515,0x000006af,0x00000514,0x00050051,0x00000006,
-	0x000002cc,0x00000515,0x00000000,0x00050051,0x00000006,0x000002ce,0x00000515,0x00000001,
-	0x00050051,0x00000006,0x000002d0,0x00000515,0x00000002,0x00050051,0x00000006,0x000002d2,
-	0x00000692,0x00000003,0x00070050,0x0000001a,0x0000067f,0x000002cc,0x000002ce,0x000002d0,
-	0x000002d2,0x000200f9,0x00000304,0x000200f8,0x000002d4,0x00050041,0x00000086,0x000002d5,
-	0x00000083,0x000000a0,0x0004003d,0x00000006,0x000002d6,0x000002d5,0x000500b4,0x0000003f,
-	0x000002d7,0x000002d6,0x0000009c,0x000300f7,0x00000303,0x00000000,0x000400fa,0x000002d7,
-	0x000002d8,0x000002e5,0x000200f8,0x000002d8,0x0008004f,0x0000000f,0x000002da,0x00000692,
-	0x00000692,0x00000000,0x00000001,0x00000002,0x00050041,0x00000086,0x0000054b,0x00000083,
-	0x000001c4,0x0004003d,0x00000006,0x0000054c,0x0000054b,0x0005008e,0x0000000f,0x0000054d,
-	0x000002da,0x0000054c,0x00050041,0x00000086,0x0000054e,0x00000083,0x000001d4,0x0004003d,
-	0x00000006,0x0000054f,0x0000054e,0x000500b7,0x0000003f,0x00000550,0x0000054f,0x0000006c,
-	0x000400a8,0x0000003f,0x00000551,0x00000550,0x000300f7,0x00000563,0x00000000,0x000400fa,
-	0x00000551,0x00000552,0x00000563,0x000200f8,0x00000552,0x00050051,0x00000006,0x00000554,
-	0x0000054d,0x00000000,0x000500bc,0x0000003f,0x00000568,0x00000554,0x00000053,0x000300f7,
-	0x00000572,0x00000000,0x000400fa,0x00000568,0x00000569,0x0000056c,0x000200f8,0x00000569,
-	0x00050085,0x00000006,0x0000056b,0x00000554,0x00000044,0x000200f9,0x00000572,0x000200f8,
-	0x0000056c,0x0006000c,0x00000006,0x0000056e,0x00000001,0x00000004,0x00000554,0x0007000c,
-	0x00000006,0x0000056f,0x00000001,0x0000001a,0x0000056e,0x0000005c,0x0008000c,0x00000006,
-	0x00000571,0x00000001,0x00000032,0x0000056f,0x0000004b,0x00000681,0x000200f9,0x00000572,
-	0x000200f8,0x00000572,0x000700f5,0x00000006,0x0000069e,0x0000056b,0x00000569,0x00000571,
-	0x0000056c,0x00050051,0x00000006,0x00000558,0x0000054d,0x00000001,0x000500bc,0x0000003f,
-	0x00000577,0x00000558,0x00000053,0x000300f7,0x00000581,0x00000000,0x000400fa,0x00000577,
-	0x00000578,0x0000057b,0x000200f8,0x00000578,0x00050085,0x00000006,0x0000057a,0x00000558,
-	0x00000044,0x000200f9,0x00000581,0x000200f8,0x0000057b,0x0006000c,0x00000006,0x0000057d,
-	0x00000001,0x00000004,0x00000558,0x0007000c,0x00000006,0x0000057e,0x00000001,0x0000001a,
-	0x0000057d,0x0000005c,0x0008000c,0x00000006,0x00000580,0x00000001,0x00000032,0x0000057e,
-	0x0000004b,0x00000681,0x000200f9,0x00000581,0x000200f8,0x00000581,0x000700f5,0x00000006,
-	0x000006a0,0x0000057a,0x00000578,0x00000580,0x0000057b,0x00050051,0x00000006,0x0000055c,
-	0x0000054d,0x00000002,0x000500bc,0x0000003f,0x00000586,0x0000055c,0x00000053,0x000300f7,
-	0x00000590,0x00000000,0x000400fa,0x00000586,0x00000587,0x0000058a,0x000200f8,0x00000587,
-	0x00050085,0x00000006,0x00000589,0x0000055c,0x00000044,0x000200f9,0x00000590,0x000200f8,
-	0x0000058a,0x0006000c,0x00000006,0x0000058c,0x00000001,0x00000004,0x0000055c,0x0007000c,
-	0x00000006,0x0000058d,0x00000001,0x0000001a,0x0000058c,0x0000005c,0x0008000c,0x00000006,
-	0x0000058f,0x00000001,0x00000032,0x0000058d,0x0000004b,0x00000681,0x000200f9,0x00000590,
-	0x000200f8,0x00000590,0x000700f5,0x00000006,0x000006a2,0x00000589,0x00000587,0x0000058f,
-	0x0000058a,0x00060050,0x0000000f,0x000006b8,0x0000069e,0x000006a0,0x000006a2,0x0008000c,
-	0x0000000f,0x00000562,0x00000001,0x0000002b,0x000006b8,0x0000006d,0x00000677,0x000200f9,
-	0x00000563,0x000200f8,0x00000563,0x000700f5,0x0000000f,0x000006a4,0x0000054d,0x000002d8,
-	0x00000562,0x00000590,0x00050051,0x00000006,0x000002dd,0x000006a4,0x00000000,0x00050051,
-	0x00000006,0x000002df,0x000006a4,0x00000001,0x00050051,0x00000006,0x000002e1,0x000006a4,
-	0x00000002,0x00050051,0x00000006,0x000002e3,0x00000692,0x00000003,0x00070050,0x0000001a,
-	0x0000067c,0x000002dd,0x000002df,0x000002e1,0x000002e3,0x000200f9,0x00000303,0x000200f8,
-	0x000002e5,0x00050041,0x00000086,0x000002e6,0x00000083,0x000000a0,0x0004003d,0x00000006,
-	0x000002e7,0x000002e6,0x000500b4,0x0000003f,0x000002e8,0x000002e7,0x00000196,0x000300f7,
-	0x00000302,0x00000000,0x000400fa,0x000002e8,0x000002e9,0x000002ff,0x000200f8,0x000002e9,
-	0x0008004f,0x0000000f,0x000002eb,0x00000692,0x00000692,0x00000000,0x00000001,0x00000002,
-	0x00050090,0x0000000f,0x000002ec,0x000002eb,0x000000e9,0x00050051,0x00000006,0x000002ee,
-	0x000002ec,0x00000000,0x00060052,0x0000001a,0x0000064c,0x000002ee,0x000006ba,0x00000000,
-	0x00050051,0x00000006,0x000002f0,0x000002ec,0x00000001,0x00060052,0x0000001a,0x0000064e,
-	0x000002f0,0x0000064c,0x00000001,0x00050051,0x00000006,0x000002f2,0x000002ec,0x00000002,
-	0x00060052,0x0000001a,0x00000650,0x000002f2,0x0000064e,0x00000002,0x0008004f,0x0000000f,
-	0x000002f4,0x00000650,0x00000650,0x00000000,0x00000001,0x00000002,0x00050041,0x00000086,
-	0x00000599,0x00000083,0x000001c4,0x0004003d,0x00000006,0x0000059a,0x00000599,0x0005008e,
-	0x0000000f,0x0000059b,0x000002f4,0x0000059a,0x00050041,0x00000086,0x0000059c,0x00000083,
-	0x000001d4,0x0004003d,0x00000006,0x0000059d,0x0000059c,0x000500b7,0x0000003f,0x0000059e,
-	0x0000059d,0x0000006c,0x000400a8,0x0000003f,0x0000059f,0x0000059e,0x000300f7,0x000005b1,
-	0x00000000,0x000400fa,0x0000059f,0x000005a0,0x000005b1,0x000200f8,0x000005a0,0x00050051,
-	0x00000006,0x000005a2,0x0000059b,0x00000000,0x000500bc,0x0000003f,0x000005b6,0x000005a2,
-	0x00000053,0x000300f7,0x000005c0,0x00000000,0x000400fa,0x000005b6,0x000005b7,0x000005ba,
-	0x000200f8,0x000005b7,0x00050085,0x00000006,0x000005b9,0x000005a2,0x00000044,0x000200f9,
-	0x000005c0,0x000200f8,0x000005ba,0x0006000c,0x00000006,0x000005bc,0x00000001,0x00000004,
-	0x000005a2,0x0007000c,0x00000006,0x000005bd,0x00000001,0x0000001a,0x000005bc,0x0000005c,
-	0x0008000c,0x00000006,0x000005bf,0x00000001,0x00000032,0x000005bd,0x0000004b,0x00000681,
-	0x000200f9,0x000005c0,0x000200f8,0x000005c0,0x000700f5,0x00000006,0x00000693,0x000005b9,
-	0x000005b7,0x000005bf,0x000005ba,0x00050051,0x00000006,0x000005a6,0x0000059b,0x00000001,
-	0x000500bc,0x0000003f,0x000005c5,0x000005a6,0x00000053,0x000300f7,0x000005cf,0x00000000,
-	0x000400fa,0x000005c5,0x000005c6,0x000005c9,0x000200f8,0x000005c6,0x00050085,0x00000006,
-	0x000005c8,0x000005a6,0x00000044,0x000200f9,0x000005cf,0x000200f8,0x000005c9,0x0006000c,
-	0x00000006,0x000005cb,0x00000001,0x00000004,0x000005a6,0x0007000c,0x00000006,0x000005cc,
-	0x00000001,0x0000001a,0x000005cb,0x0000005c,0x0008000c,0x00000006,0x000005ce,0x00000001,
-	0x00000032,0x000005cc,0x0000004b,0x00000681,0x000200f9,0x000005cf,0x000200f8,0x000005cf,
-	0x000700f5,0x00000006,0x00000695,0x000005c8,0x000005c6,0x000005ce,0x000005c9,0x00050051,
-	0x00000006,0x000005aa,0x0000059b,0x00000002,0x000500bc,0x0000003f,0x000005d4,0x000005aa,
-	0x00000053,0x000300f7,0x000005de,0x00000000,0x000400fa,0x000005d4,0x000005d5,0x000005d8,
-	0x000200f8,0x000005d5,0x00050085,0x00000006,0x000005d7,0x000005aa,0x00000044,0x000200f9,
-	0x000005de,0x000200f8,0x000005d8,0x0006000c,0x00000006,0x000005da,0x00000001,0x00000004,
-	0x000005aa,0x0007000c,0x00000006,0x000005db,0x00000001,0x0000001a,0x000005da,0x0000005c,
-	0x0008000c,0x00000006,0x000005dd,0x00000001,0x00000032,0x000005db,0x0000004b,0x00000681,
-	0x000200f9,0x000005de,0x000200f8,0x000005de,0x000700f5,0x00000006,0x00000697,0x000005d7,
-	0x000005d5,0x000005dd,0x000005d8,0x00060050,0x0000000f,0x000006b7,0x00000693,0x00000695,
-	0x00000697,0x0008000c,0x0000000f,0x000005b0,0x00000001,0x0000002b,0x000006b7,0x0000006d,
-	0x00000677,0x000200f9,0x000005b1,0x000200f8,0x000005b1,0x000700f5,0x0000000f,0x00000699,
-	0x0000059b,0x000002e9,0x000005b0,0x000005de,0x00050051,0x00000006,0x000002f7,0x00000699,
-	0x00000000,0x00050051,0x00000006,0x000002f9,0x00000699,0x00000001,0x00050051,0x00000006,
-	0x000002fb,0x00000699,0x00000002,0x00050051,0x00000006,0x000002fd,0x00000692,0x00000003,
-	0x00070050,0x0000001a,0x00000678,0x000002f7,0x000002f9,0x000002fb,0x000002fd,0x000200f9,
-	0x00000302,0x000200f8,0x000002ff,0x0008004f,0x0000000f,0x000005e4,0x00000692,0x00000692,
-	0x00000000,0x00000001,0x00000002,0x00050041,0x00000086,0x000005e5,0x00000083,0x000001c4,
-	0x0004003d,0x00000006,0x000005e6,0x000005e5,0x0005008e,0x0000000f,0x000005e7,0x000005e4,
-	0x000005e6,0x00050051,0x00000006,0x000005e9,0x000005e7,0x00000000,0x00050051,0x00000006,
-	0x000005eb,0x000005e7,0x00000001,0x00050051,0x00000006,0x000005ed,0x000005e7,0x00000002,
-	0x00050051,0x00000006,0x000005ef,0x00000692,0x00000003,0x00070050,0x0000001a,0x00000673,
-	0x000005e9,0x000005eb,0x000005ed,0x000005ef,0x000200f9,0x00000302,0x000200f8,0x00000302,
-	0x000700f5,0x0000001a,0x000006b6,0x00000678,0x000005b1,0x00000673,0x000002ff,0x000200f9,
-	0x00000303,0x000200f8,0x00000303,0x000700f5,0x0000001a,0x000006b5,0x0000067c,0x00000563,
-	0x000006b6,0x00000302,0x000200f9,0x00000304,0x000200f8,0x00000304,0x000700f5,0x0000001a,
-	0x000006b4,0x0000067f,0x00000511,0x000006b5,0x00000303,0x00050085,0x0000001a,0x00000308,
-	0x000006b4,0x0000028f,0x0003003e,0x00000292,0x00000308,0x000100fd,0x00010038
+	0x6e69616d,0x00000000,0x00050005,0x000000b7,0x736e6f43,0x746e6174,0x00000073,0x00070006,
+	0x000000b7,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x000000b7,
+	0x00000001,0x74786574,0x5f657275,0x65707974,0x00000000,0x00060006,0x000000b7,0x00000002,
+	0x75706e69,0x79745f74,0x00006570,0x00060006,0x000000b7,0x00000003,0x6f6c6f63,0x63735f72,
+	0x00656c61,0x00060006,0x000000b7,0x00000004,0x65786574,0x69735f6c,0x0000657a,0x00070006,
+	0x000000b7,0x00000005,0x656e6f74,0x5f70616d,0x6874656d,0x0000646f,0x00070006,0x000000b7,
+	0x00000006,0x656e6f74,0x5f70616d,0x74636166,0x0031726f,0x00070006,0x000000b7,0x00000007,
+	0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x000000b7,0x00000008,0x5f726473,
+	0x74696877,0x6f705f65,0x00746e69,0x00030005,0x000000b9,0x00000000,0x00050005,0x00000124,
+	0x74786574,0x30657275,0x00000000,0x00050005,0x0000012b,0x74786574,0x31657275,0x00000000,
+	0x00050005,0x000002a4,0x75706e69,0x65742e74,0x00000078,0x00050005,0x000002a7,0x75706e69,
+	0x6f632e74,0x00726f6c,0x00070005,0x000002ab,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
+	0x00000074,0x00050048,0x000000b7,0x00000000,0x00000023,0x00000000,0x00050048,0x000000b7,
+	0x00000001,0x00000023,0x00000004,0x00050048,0x000000b7,0x00000002,0x00000023,0x00000008,
+	0x00050048,0x000000b7,0x00000003,0x00000023,0x0000000c,0x00050048,0x000000b7,0x00000004,
+	0x00000023,0x00000010,0x00050048,0x000000b7,0x00000005,0x00000023,0x00000020,0x00050048,
+	0x000000b7,0x00000006,0x00000023,0x00000024,0x00050048,0x000000b7,0x00000007,0x00000023,
+	0x00000028,0x00050048,0x000000b7,0x00000008,0x00000023,0x0000002c,0x00030047,0x000000b7,
+	0x00000002,0x00040047,0x000000b9,0x00000022,0x00000000,0x00040047,0x000000b9,0x00000021,
+	0x00000000,0x00040047,0x00000124,0x00000022,0x00000000,0x00040047,0x00000124,0x00000021,
+	0x00000001,0x00040047,0x0000012b,0x00000022,0x00000000,0x00040047,0x0000012b,0x00000021,
+	0x00000002,0x00040047,0x000002a4,0x0000001e,0x00000000,0x00040047,0x000002a7,0x0000001e,
+	0x00000001,0x00040047,0x000002ab,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
+	0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x0000000c,0x00000006,
+	0x00000003,0x00040017,0x00000021,0x00000006,0x00000002,0x00040017,0x00000023,0x00000006,
+	0x00000004,0x0004002b,0x00000006,0x00000047,0x3d25aee6,0x00020014,0x00000048,0x0004002b,
+	0x00000006,0x0000004d,0x414eb852,0x0004002b,0x00000006,0x00000051,0x3d6147ae,0x0004002b,
+	0x00000006,0x00000054,0x3f870a3d,0x0004002b,0x00000006,0x00000056,0x4019999a,0x0004002b,
+	0x00000006,0x00000072,0x3b4d2e1c,0x0004002b,0x00000006,0x0000007b,0x3ed55555,0x0004002b,
+	0x00000006,0x00000097,0x3c4fcdac,0x0006002c,0x0000000c,0x00000098,0x00000097,0x00000097,
+	0x00000097,0x0004002b,0x00000006,0x0000009a,0x3f560000,0x0004002b,0x00000006,0x0000009d,
+	0x00000000,0x0006002c,0x0000000c,0x0000009e,0x0000009d,0x0000009d,0x0000009d,0x0004002b,
+	0x00000006,0x000000a1,0x4196d000,0x0004002b,0x00000006,0x000000a2,0x41958000,0x0004002b,
+	0x00000006,0x000000a9,0x461c4000,0x0004002b,0x00000006,0x000000ae,0x40c8e06b,0x0006002c,
+	0x0000000c,0x000000af,0x000000ae,0x000000ae,0x000000ae,0x000b001e,0x000000b7,0x00000006,
+	0x00000006,0x00000006,0x00000006,0x00000023,0x00000006,0x00000006,0x00000006,0x00000006,
+	0x00040020,0x000000b8,0x00000002,0x000000b7,0x0004003b,0x000000b8,0x000000b9,0x00000002,
+	0x00040015,0x000000ba,0x00000020,0x00000001,0x0004002b,0x000000ba,0x000000bb,0x00000008,
+	0x00040020,0x000000bc,0x00000002,0x00000006,0x0004002b,0x000000ba,0x000000c3,0x00000005,
+	0x0004002b,0x00000006,0x000000c6,0x3f800000,0x0004002b,0x000000ba,0x000000ca,0x00000006,
+	0x0004002b,0x00000006,0x000000d2,0x40000000,0x0004002b,0x000000ba,0x000000d6,0x00000002,
+	0x00040018,0x000000dd,0x0000000c,0x00000003,0x0004002b,0x00000006,0x000000de,0x3f209d8c,
+	0x0004002b,0x00000006,0x000000df,0x3ea897c8,0x0004002b,0x00000006,0x000000e0,0x3d3168f9,
+	0x0006002c,0x0000000c,0x000000e1,0x000000de,0x000000df,0x000000e0,0x0004002b,0x00000006,
+	0x000000e2,0x3d8d82ba,0x0004002b,0x00000006,0x000000e3,0x3f6b670a,0x0004002b,0x00000006,
+	0x000000e4,0x3c3a27af,0x0006002c,0x0000000c,0x000000e5,0x000000e2,0x000000e3,0x000000e4,
+	0x0004002b,0x00000006,0x000000e6,0x3c86466b,0x0004002b,0x00000006,0x000000e7,0x3db44029,
+	0x0004002b,0x00000006,0x000000e8,0x3f6545b7,0x0006002c,0x0000000c,0x000000e9,0x000000e6,
+	0x000000e7,0x000000e8,0x0006002c,0x000000dd,0x000000ea,0x000000e1,0x000000e5,0x000000e9,
+	0x0004002b,0x000000ba,0x000000ff,0x00000007,0x0004002b,0x00000006,0x0000010f,0x3fd48b22,
+	0x0004002b,0x00000006,0x00000110,0xbf1670a0,0x0004002b,0x00000006,0x00000111,0xbd952d23,
+	0x0006002c,0x0000000c,0x00000112,0x0000010f,0x00000110,0x00000111,0x0004002b,0x00000006,
+	0x00000113,0xbdff127f,0x0004002b,0x00000006,0x00000114,0x3f9102b4,0x0004002b,0x00000006,
+	0x00000115,0xbc08c60d,0x0006002c,0x0000000c,0x00000116,0x00000113,0x00000114,0x00000115,
+	0x0004002b,0x00000006,0x00000117,0xbc94b7b3,0x0004002b,0x00000006,0x00000118,0xbdce05cd,
+	0x0004002b,0x00000006,0x00000119,0x3f8f333c,0x0006002c,0x0000000c,0x0000011a,0x00000117,
+	0x00000118,0x00000119,0x0006002c,0x000000dd,0x0000011b,0x00000112,0x00000116,0x0000011a,
+	0x00090019,0x00000121,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
+	0x00000000,0x0003001b,0x00000122,0x00000121,0x00040020,0x00000123,0x00000000,0x00000122,
+	0x0004003b,0x00000123,0x00000124,0x00000000,0x0004002b,0x00000006,0x00000129,0x437f0000,
+	0x0004003b,0x00000123,0x0000012b,0x00000000,0x0004002b,0x00000006,0x0000012e,0x3f000000,
+	0x0004002b,0x000000ba,0x00000138,0x00000004,0x00040020,0x00000139,0x00000002,0x00000023,
+	0x0004002b,0x00000006,0x00000186,0x3727c5ac,0x0005002c,0x00000021,0x00000187,0x00000186,
+	0x00000186,0x0005002c,0x00000021,0x00000188,0x000000c6,0x000000c6,0x0004002b,0x000000ba,
+	0x000001a6,0x00000001,0x0004002b,0x00000006,0x000001c8,0x40400000,0x0004002b,0x00000006,
+	0x000001d3,0x40800000,0x0004002b,0x00000006,0x000001de,0x40a00000,0x0004002b,0x000000ba,
+	0x000001f6,0x00000003,0x0004002b,0x000000ba,0x00000206,0x00000000,0x00040020,0x0000029f,
+	0x00000001,0x00000023,0x00040020,0x000002a3,0x00000001,0x00000021,0x0004003b,0x000002a3,
+	0x000002a4,0x00000001,0x0004003b,0x0000029f,0x000002a7,0x00000001,0x00040020,0x000002aa,
+	0x00000003,0x00000023,0x0004003b,0x000002aa,0x000002ab,0x00000003,0x0005002c,0x00000021,
+	0x0000069c,0x0000012e,0x0000012e,0x0004002b,0x00000006,0x0000069d,0x3b800000,0x0006002c,
+	0x0000000c,0x0000069f,0x0000009a,0x0000009a,0x0000009a,0x0006002c,0x0000000c,0x000006a0,
+	0x000000a1,0x000000a1,0x000000a1,0x0006002c,0x0000000c,0x000006a5,0x000000c6,0x000000c6,
+	0x000000c6,0x0004002b,0x00000006,0x000006ab,0x3f72a76f,0x0004002b,0x00000006,0x000006ac,
+	0x3d9e8391,0x0007002c,0x00000023,0x000006ae,0x000000c6,0x0000009d,0x000000c6,0x000000c6,
+	0x0004002b,0x00000006,0x000006af,0xbd6147ae,0x00030001,0x00000023,0x000006e8,0x00050036,
+	0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000021,
+	0x000002a5,0x000002a4,0x0004003d,0x00000023,0x000002a8,0x000002a7,0x00050041,0x000000bc,
+	0x0000032c,0x000000b9,0x000001a6,0x0004003d,0x00000006,0x0000032d,0x0000032c,0x000500b4,
+	0x00000048,0x0000032e,0x0000032d,0x000000c6,0x000300f7,0x00000368,0x00000000,0x000400fa,
+	0x0000032e,0x0000032f,0x00000334,0x000200f8,0x0000032f,0x0004003d,0x00000122,0x00000330,
+	0x00000124,0x00050057,0x00000023,0x00000333,0x00000330,0x000002a5,0x000200f9,0x00000368,
+	0x000200f8,0x00000334,0x00050041,0x000000bc,0x00000335,0x000000b9,0x000001a6,0x0004003d,
+	0x00000006,0x00000336,0x00000335,0x000500b4,0x00000048,0x00000337,0x00000336,0x000000d2,
+	0x000300f7,0x00000367,0x00000000,0x000400fa,0x00000337,0x00000338,0x00000345,0x000200f8,
+	0x00000338,0x000400d1,0x00000021,0x00000370,0x000002a5,0x00050041,0x00000139,0x00000371,
+	0x000000b9,0x00000138,0x0004003d,0x00000023,0x00000372,0x00000371,0x0007004f,0x00000021,
+	0x00000373,0x00000372,0x00000372,0x00000002,0x00000003,0x00050085,0x00000021,0x00000374,
+	0x00000370,0x00000373,0x0008000c,0x00000021,0x00000375,0x00000001,0x0000002b,0x00000374,
+	0x00000187,0x00000188,0x00050041,0x00000139,0x00000377,0x000000b9,0x00000138,0x0004003d,
+	0x00000023,0x00000378,0x00000377,0x0007004f,0x00000021,0x00000379,0x00000378,0x00000378,
+	0x00000002,0x00000003,0x0005008e,0x00000021,0x0000037c,0x00000375,0x0000012e,0x0004007f,
+	0x00000021,0x0000069e,0x0000037c,0x0008000c,0x00000021,0x0000037d,0x00000001,0x00000032,
+	0x000002a5,0x00000379,0x0000069e,0x00050083,0x00000021,0x00000380,0x00000188,0x00000375,
+	0x0006000c,0x00000021,0x00000382,0x00000001,0x0000000a,0x0000037d,0x0008000c,0x00000021,
+	0x00000383,0x00000001,0x00000031,0x00000380,0x00000188,0x00000382,0x0006000c,0x00000021,
+	0x00000385,0x00000001,0x00000008,0x0000037d,0x00050081,0x00000021,0x00000387,0x00000385,
+	0x0000069c,0x00050081,0x00000021,0x00000389,0x00000387,0x00000383,0x00050041,0x00000139,
+	0x0000038a,0x000000b9,0x00000138,0x0004003d,0x00000023,0x0000038b,0x0000038a,0x0007004f,
+	0x00000021,0x0000038c,0x0000038b,0x0000038b,0x00000000,0x00000001,0x00050085,0x00000021,
+	0x0000038d,0x00000389,0x0000038c,0x0004003d,0x00000122,0x0000033c,0x00000124,0x000400cf,
+	0x00000021,0x00000340,0x000002a5,0x000400d0,0x00000021,0x00000343,0x000002a5,0x00080058,
+	0x00000023,0x00000344,0x0000033c,0x0000038d,0x00000004,0x00000340,0x00000343,0x000200f9,
+	0x00000367,0x000200f8,0x00000345,0x00050041,0x000000bc,0x00000346,0x000000b9,0x000001a6,
+	0x0004003d,0x00000006,0x00000347,0x00000346,0x000500b4,0x00000048,0x00000348,0x00000347,
+	0x000001c8,0x000300f7,0x00000366,0x00000000,0x000400fa,0x00000348,0x00000349,0x0000034d,
+	0x000200f8,0x00000349,0x0004003d,0x00000122,0x00000391,0x00000124,0x00050057,0x00000023,
+	0x00000393,0x00000391,0x000002a5,0x00050051,0x00000006,0x00000394,0x00000393,0x00000000,
+	0x0004003d,0x00000122,0x00000396,0x0000012b,0x0008000c,0x00000006,0x00000398,0x00000001,
+	0x00000032,0x00000394,0x00000129,0x0000012e,0x00050085,0x00000006,0x00000399,0x00000398,
+	0x0000069d,0x00050050,0x00000021,0x0000039a,0x00000399,0x0000012e,0x00050057,0x00000023,
+	0x0000039b,0x00000396,0x0000039a,0x000200f9,0x00000366,0x000200f8,0x0000034d,0x00050041,
+	0x000000bc,0x0000034e,0x000000b9,0x000001a6,0x0004003d,0x00000006,0x0000034f,0x0000034e,
+	0x000500b4,0x00000048,0x00000350,0x0000034f,0x000001d3,0x000300f7,0x00000365,0x00000000,
+	0x000400fa,0x00000350,0x00000351,0x00000355,0x000200f8,0x00000351,0x00050041,0x00000139,
+	0x000003aa,0x000000b9,0x00000138,0x0004003d,0x00000023,0x000003ab,0x000003aa,0x0007004f,
+	0x00000021,0x000003ac,0x000003ab,0x000003ab,0x00000002,0x00000003,0x0008000c,0x00000021,
+	0x000003af,0x00000001,0x00000032,0x000002a5,0x000003ac,0x0000069c,0x0006000c,0x00000021,
+	0x000003b1,0x00000001,0x00000008,0x000003af,0x00050083,0x00000021,0x000003b3,0x000003b1,
+	0x0000069c,0x00050041,0x00000139,0x000003b4,0x000000b9,0x00000138,0x0004003d,0x00000023,
+	0x000003b5,0x000003b4,0x0007004f,0x00000021,0x000003b6,0x000003b5,0x000003b5,0x00000000,
+	0x00000001,0x00050085,0x00000021,0x000003b7,0x000003b3,0x000003b6,0x0006000c,0x00000021,
+	0x000003b9,0x00000001,0x00000008,0x000003af,0x00050081,0x00000021,0x000003bb,0x000003b9,
+	0x0000069c,0x00050041,0x00000139,0x000003bc,0x000000b9,0x00000138,0x0004003d,0x00000023,
+	0x000003bd,0x000003bc,0x0007004f,0x00000021,0x000003be,0x000003bd,0x000003bd,0x00000000,
+	0x00000001,0x00050085,0x00000021,0x000003bf,0x000003bb,0x000003be,0x00050051,0x00000006,
+	0x000003c0,0x000003b7,0x00000000,0x00050051,0x00000006,0x000003c1,0x000003b7,0x00000001,
+	0x00050051,0x00000006,0x000003c2,0x000003bf,0x00000000,0x00050051,0x00000006,0x000003c3,
+	0x000003bf,0x00000001,0x00070050,0x00000023,0x000003c4,0x000003c0,0x000003c1,0x000003c2,
+	0x000003c3,0x0006000c,0x00000021,0x000003c6,0x00000001,0x0000000a,0x000003af,0x0007004f,
+	0x00000021,0x000003c8,0x000003c4,0x000003c4,0x00000000,0x00000001,0x0004003d,0x00000122,
+	0x000003e6,0x00000124,0x00050057,0x00000023,0x000003e8,0x000003e6,0x000003c8,0x00050051,
+	0x00000006,0x000003e9,0x000003e8,0x00000000,0x0004003d,0x00000122,0x000003eb,0x0000012b,
+	0x0008000c,0x00000006,0x000003ed,0x00000001,0x00000032,0x000003e9,0x00000129,0x0000012e,
+	0x00050085,0x00000006,0x000003ee,0x000003ed,0x0000069d,0x00050050,0x00000021,0x000003ef,
+	0x000003ee,0x0000012e,0x00050057,0x00000023,0x000003f0,0x000003eb,0x000003ef,0x0007004f,
+	0x00000021,0x000003cb,0x000003c4,0x000003c4,0x00000000,0x00000003,0x0004003d,0x00000122,
+	0x000003f4,0x00000124,0x00050057,0x00000023,0x000003f6,0x000003f4,0x000003cb,0x00050051,
+	0x00000006,0x000003f7,0x000003f6,0x00000000,0x0004003d,0x00000122,0x000003f9,0x0000012b,
+	0x0008000c,0x00000006,0x000003fb,0x00000001,0x00000032,0x000003f7,0x00000129,0x0000012e,
+	0x00050085,0x00000006,0x000003fc,0x000003fb,0x0000069d,0x00050050,0x00000021,0x000003fd,
+	0x000003fc,0x0000012e,0x00050057,0x00000023,0x000003fe,0x000003f9,0x000003fd,0x0007004f,
+	0x00000021,0x000003ce,0x000003c4,0x000003c4,0x00000002,0x00000001,0x0004003d,0x00000122,
+	0x00000402,0x00000124,0x00050057,0x00000023,0x00000404,0x00000402,0x000003ce,0x00050051,
+	0x00000006,0x00000405,0x00000404,0x00000000,0x0004003d,0x00000122,0x00000407,0x0000012b,
+	0x0008000c,0x00000006,0x00000409,0x00000001,0x00000032,0x00000405,0x00000129,0x0000012e,
+	0x00050085,0x00000006,0x0000040a,0x00000409,0x0000069d,0x00050050,0x00000021,0x0000040b,
+	0x0000040a,0x0000012e,0x00050057,0x00000023,0x0000040c,0x00000407,0x0000040b,0x0007004f,
+	0x00000021,0x000003d1,0x000003c4,0x000003c4,0x00000002,0x00000003,0x0004003d,0x00000122,
+	0x00000410,0x00000124,0x00050057,0x00000023,0x00000412,0x00000410,0x000003d1,0x00050051,
+	0x00000006,0x00000413,0x00000412,0x00000000,0x0004003d,0x00000122,0x00000415,0x0000012b,
+	0x0008000c,0x00000006,0x00000417,0x00000001,0x00000032,0x00000413,0x00000129,0x0000012e,
+	0x00050085,0x00000006,0x00000418,0x00000417,0x0000069d,0x00050050,0x00000021,0x00000419,
+	0x00000418,0x0000012e,0x00050057,0x00000023,0x0000041a,0x00000415,0x00000419,0x00050051,
+	0x00000006,0x000003d6,0x000003c6,0x00000001,0x00070050,0x00000023,0x000003d7,0x000003d6,
+	0x000003d6,0x000003d6,0x000003d6,0x0008000c,0x00000023,0x000003d8,0x00000001,0x0000002e,
+	0x000003f0,0x000003fe,0x000003d7,0x00050051,0x00000006,0x000003dc,0x000003c6,0x00000001,
+	0x00070050,0x00000023,0x000003dd,0x000003dc,0x000003dc,0x000003dc,0x000003dc,0x0008000c,
+	0x00000023,0x000003de,0x00000001,0x0000002e,0x0000040c,0x0000041a,0x000003dd,0x00050051,
+	0x00000006,0x000003e0,0x000003c6,0x00000000,0x00070050,0x00000023,0x000003e1,0x000003e0,
+	0x000003e0,0x000003e0,0x000003e0,0x0008000c,0x00000023,0x000003e2,0x00000001,0x0000002e,
+	0x000003d8,0x000003de,0x000003e1,0x000200f9,0x00000365,0x000200f8,0x00000355,0x00050041,
+	0x000000bc,0x00000356,0x000000b9,0x000001a6,0x0004003d,0x00000006,0x00000357,0x00000356,
+	0x000500b4,0x00000048,0x00000358,0x00000357,0x000001de,0x000300f7,0x00000364,0x00000000,
+	0x000400fa,0x00000358,0x00000359,0x0000035f,0x000200f8,0x00000359,0x000400d1,0x00000021,
+	0x00000421,0x000002a5,0x00050041,0x00000139,0x00000422,0x000000b9,0x00000138,0x0004003d,
+	0x00000023,0x00000423,0x00000422,0x0007004f,0x00000021,0x00000424,0x00000423,0x00000423,
+	0x00000002,0x00000003,0x00050085,0x00000021,0x00000425,0x00000421,0x00000424,0x0008000c,
+	0x00000021,0x00000426,0x00000001,0x0000002b,0x00000425,0x00000187,0x00000188,0x00050041,
+	0x00000139,0x00000428,0x000000b9,0x00000138,0x0004003d,0x00000023,0x00000429,0x00000428,
+	0x0007004f,0x00000021,0x0000042a,0x00000429,0x00000429,0x00000002,0x00000003,0x0005008e,
+	0x00000021,0x0000042d,0x00000426,0x0000012e,0x0004007f,0x00000021,0x0000069b,0x0000042d,
+	0x0008000c,0x00000021,0x0000042e,0x00000001,0x00000032,0x000002a5,0x0000042a,0x0000069b,
+	0x00050083,0x00000021,0x00000431,0x00000188,0x00000426,0x0006000c,0x00000021,0x00000433,
+	0x00000001,0x0000000a,0x0000042e,0x0008000c,0x00000021,0x00000434,0x00000001,0x00000031,
+	0x00000431,0x00000188,0x00000433,0x0006000c,0x00000021,0x00000436,0x00000001,0x00000008,
+	0x0000042e,0x00050081,0x00000021,0x00000438,0x00000436,0x0000069c,0x00050081,0x00000021,
+	0x0000043a,0x00000438,0x00000434,0x00050041,0x00000139,0x0000043b,0x000000b9,0x00000138,
+	0x0004003d,0x00000023,0x0000043c,0x0000043b,0x0007004f,0x00000021,0x0000043d,0x0000043c,
+	0x0000043c,0x00000000,0x00000001,0x00050085,0x00000021,0x0000043e,0x0000043a,0x0000043d,
+	0x00050041,0x00000139,0x0000044d,0x000000b9,0x00000138,0x0004003d,0x00000023,0x0000044e,
+	0x0000044d,0x0007004f,0x00000021,0x0000044f,0x0000044e,0x0000044e,0x00000002,0x00000003,
+	0x0008000c,0x00000021,0x00000452,0x00000001,0x00000032,0x0000043e,0x0000044f,0x0000069c,
+	0x0006000c,0x00000021,0x00000454,0x00000001,0x00000008,0x00000452,0x00050083,0x00000021,
+	0x00000456,0x00000454,0x0000069c,0x00050041,0x00000139,0x00000457,0x000000b9,0x00000138,
+	0x0004003d,0x00000023,0x00000458,0x00000457,0x0007004f,0x00000021,0x00000459,0x00000458,
+	0x00000458,0x00000000,0x00000001,0x00050085,0x00000021,0x0000045a,0x00000456,0x00000459,
+	0x0006000c,0x00000021,0x0000045c,0x00000001,0x00000008,0x00000452,0x00050081,0x00000021,
+	0x0000045e,0x0000045c,0x0000069c,0x00050041,0x00000139,0x0000045f,0x000000b9,0x00000138,
+	0x0004003d,0x00000023,0x00000460,0x0000045f,0x0007004f,0x00000021,0x00000461,0x00000460,
+	0x00000460,0x00000000,0x00000001,0x00050085,0x00000021,0x00000462,0x0000045e,0x00000461,
+	0x00050051,0x00000006,0x00000463,0x0000045a,0x00000000,0x00050051,0x00000006,0x00000464,
+	0x0000045a,0x00000001,0x00050051,0x00000006,0x00000465,0x00000462,0x00000000,0x00050051,
+	0x00000006,0x00000466,0x00000462,0x00000001,0x00070050,0x00000023,0x00000467,0x00000463,
+	0x00000464,0x00000465,0x00000466,0x0006000c,0x00000021,0x00000469,0x00000001,0x0000000a,
+	0x00000452,0x0007004f,0x00000021,0x0000046b,0x00000467,0x00000467,0x00000000,0x00000001,
+	0x0004003d,0x00000122,0x00000489,0x00000124,0x00050057,0x00000023,0x0000048b,0x00000489,
+	0x0000046b,0x00050051,0x00000006,0x0000048c,0x0000048b,0x00000000,0x0004003d,0x00000122,
+	0x0000048e,0x0000012b,0x0008000c,0x00000006,0x00000490,0x00000001,0x00000032,0x0000048c,
+	0x00000129,0x0000012e,0x00050085,0x00000006,0x00000491,0x00000490,0x0000069d,0x00050050,
+	0x00000021,0x00000492,0x00000491,0x0000012e,0x00050057,0x00000023,0x00000493,0x0000048e,
+	0x00000492,0x0007004f,0x00000021,0x0000046e,0x00000467,0x00000467,0x00000000,0x00000003,
+	0x0004003d,0x00000122,0x00000497,0x00000124,0x00050057,0x00000023,0x00000499,0x00000497,
+	0x0000046e,0x00050051,0x00000006,0x0000049a,0x00000499,0x00000000,0x0004003d,0x00000122,
+	0x0000049c,0x0000012b,0x0008000c,0x00000006,0x0000049e,0x00000001,0x00000032,0x0000049a,
+	0x00000129,0x0000012e,0x00050085,0x00000006,0x0000049f,0x0000049e,0x0000069d,0x00050050,
+	0x00000021,0x000004a0,0x0000049f,0x0000012e,0x00050057,0x00000023,0x000004a1,0x0000049c,
+	0x000004a0,0x0007004f,0x00000021,0x00000471,0x00000467,0x00000467,0x00000002,0x00000001,
+	0x0004003d,0x00000122,0x000004a5,0x00000124,0x00050057,0x00000023,0x000004a7,0x000004a5,
+	0x00000471,0x00050051,0x00000006,0x000004a8,0x000004a7,0x00000000,0x0004003d,0x00000122,
+	0x000004aa,0x0000012b,0x0008000c,0x00000006,0x000004ac,0x00000001,0x00000032,0x000004a8,
+	0x00000129,0x0000012e,0x00050085,0x00000006,0x000004ad,0x000004ac,0x0000069d,0x00050050,
+	0x00000021,0x000004ae,0x000004ad,0x0000012e,0x00050057,0x00000023,0x000004af,0x000004aa,
+	0x000004ae,0x0007004f,0x00000021,0x00000474,0x00000467,0x00000467,0x00000002,0x00000003,
+	0x0004003d,0x00000122,0x000004b3,0x00000124,0x00050057,0x00000023,0x000004b5,0x000004b3,
+	0x00000474,0x00050051,0x00000006,0x000004b6,0x000004b5,0x00000000,0x0004003d,0x00000122,
+	0x000004b8,0x0000012b,0x0008000c,0x00000006,0x000004ba,0x00000001,0x00000032,0x000004b6,
+	0x00000129,0x0000012e,0x00050085,0x00000006,0x000004bb,0x000004ba,0x0000069d,0x00050050,
+	0x00000021,0x000004bc,0x000004bb,0x0000012e,0x00050057,0x00000023,0x000004bd,0x000004b8,
+	0x000004bc,0x00050051,0x00000006,0x00000479,0x00000469,0x00000001,0x00070050,0x00000023,
+	0x0000047a,0x00000479,0x00000479,0x00000479,0x00000479,0x0008000c,0x00000023,0x0000047b,
+	0x00000001,0x0000002e,0x00000493,0x000004a1,0x0000047a,0x00050051,0x00000006,0x0000047f,
+	0x00000469,0x00000001,0x00070050,0x00000023,0x00000480,0x0000047f,0x0000047f,0x0000047f,
+	0x0000047f,0x0008000c,0x00000023,0x00000481,0x00000001,0x0000002e,0x000004af,0x000004bd,
+	0x00000480,0x00050051,0x00000006,0x00000483,0x00000469,0x00000000,0x00070050,0x00000023,
+	0x00000484,0x00000483,0x00000483,0x00000483,0x00000483,0x0008000c,0x00000023,0x00000485,
+	0x00000001,0x0000002e,0x0000047b,0x00000481,0x00000484,0x000200f9,0x00000364,0x000200f8,
+	0x0000035f,0x000200f9,0x00000364,0x000200f8,0x00000364,0x000700f5,0x00000023,0x000006b4,
+	0x00000485,0x00000359,0x000006ae,0x0000035f,0x000200f9,0x00000365,0x000200f8,0x00000365,
+	0x000700f5,0x00000023,0x000006b3,0x000003e2,0x00000351,0x000006b4,0x00000364,0x000200f9,
+	0x00000366,0x000200f8,0x00000366,0x000700f5,0x00000023,0x000006b2,0x0000039b,0x00000349,
+	0x000006b3,0x00000365,0x000200f9,0x00000367,0x000200f8,0x00000367,0x000700f5,0x00000023,
+	0x000006b1,0x00000344,0x00000338,0x000006b2,0x00000366,0x000200f9,0x00000368,0x000200f8,
+	0x00000368,0x000700f5,0x00000023,0x000006b0,0x00000333,0x0000032f,0x000006b1,0x00000367,
+	0x00050041,0x000000bc,0x000002c1,0x000000b9,0x000000d6,0x0004003d,0x00000006,0x000002c2,
+	0x000002c1,0x000500b4,0x00000048,0x000002c3,0x000002c2,0x000001c8,0x000300f7,0x000002ce,
+	0x00000000,0x000400fa,0x000002c3,0x000002c4,0x000002ce,0x000200f8,0x000002c4,0x0008004f,
+	0x0000000c,0x000002c6,0x000006b0,0x000006b0,0x00000000,0x00000001,0x00000002,0x0006000c,
+	0x0000000c,0x000004cc,0x00000001,0x00000004,0x000002c6,0x0007000c,0x0000000c,0x000004cd,
+	0x00000001,0x0000001a,0x000004cc,0x00000098,0x00050083,0x0000000c,0x000004cf,0x000004cd,
+	0x0000069f,0x0007000c,0x0000000c,0x000004d0,0x00000001,0x00000028,0x000004cf,0x0000009e,
+	0x0006000c,0x0000000c,0x000004d2,0x00000001,0x00000004,0x000002c6,0x0007000c,0x0000000c,
+	0x000004d3,0x00000001,0x0000001a,0x000004d2,0x00000098,0x0005008e,0x0000000c,0x000004d4,
+	0x000004d3,0x000000a2,0x00050083,0x0000000c,0x000004d6,0x000006a0,0x000004d4,0x00050088,
+	0x0000000c,0x000004d9,0x000004d0,0x000004d6,0x0006000c,0x0000000c,0x000004da,0x00000001,
+	0x00000004,0x000004d9,0x0007000c,0x0000000c,0x000004db,0x00000001,0x0000001a,0x000004da,
+	0x000000af,0x0005008e,0x0000000c,0x000004dc,0x000004db,0x000000a9,0x00050041,0x000000bc,
+	0x000004c3,0x000000b9,0x000000bb,0x0004003d,0x00000006,0x000004c4,0x000004c3,0x00060050,
+	0x0000000c,0x000004c5,0x000004c4,0x000004c4,0x000004c4,0x00050088,0x0000000c,0x000004c6,
+	0x000004dc,0x000004c5,0x00050051,0x00000006,0x000002c9,0x000004c6,0x00000000,0x00060052,
+	0x00000023,0x00000647,0x000002c9,0x000006b0,0x00000000,0x00050051,0x00000006,0x000002cb,
+	0x000004c6,0x00000001,0x00060052,0x00000023,0x00000649,0x000002cb,0x00000647,0x00000001,
+	0x00050051,0x00000006,0x000002cd,0x000004c6,0x00000002,0x00060052,0x00000023,0x0000064b,
+	0x000002cd,0x00000649,0x00000002,0x000200f9,0x000002ce,0x000200f8,0x000002ce,0x000700f5,
+	0x00000023,0x000006b5,0x000006b0,0x00000368,0x0000064b,0x000002c4,0x00050041,0x000000bc,
+	0x000002cf,0x000000b9,0x000000c3,0x0004003d,0x00000006,0x000002d0,0x000002cf,0x000500b7,
+	0x00000048,0x000002d1,0x000002d0,0x0000009d,0x000300f7,0x000002dc,0x00000000,0x000400fa,
+	0x000002d1,0x000002d2,0x000002dc,0x000200f8,0x000002d2,0x0008004f,0x0000000c,0x000002d4,
+	0x000006b5,0x000006b5,0x00000000,0x00000001,0x00000002,0x00050041,0x000000bc,0x000004e1,
+	0x000000b9,0x000000c3,0x0004003d,0x00000006,0x000004e2,0x000004e1,0x000500b4,0x00000048,
+	0x000004e3,0x000004e2,0x000000c6,0x000300f7,0x00000517,0x00000000,0x000400fa,0x000004e3,
+	0x000004e4,0x000004e9,0x000200f8,0x000004e4,0x00050041,0x000000bc,0x000004e5,0x000000b9,
+	0x000000ca,0x0004003d,0x00000006,0x000004e6,0x000004e5,0x0005008e,0x0000000c,0x000004e8,
+	0x000002d4,0x000004e6,0x000200f9,0x00000517,0x000200f8,0x000004e9,0x00050041,0x000000bc,
+	0x000004ea,0x000000b9,0x000000c3,0x0004003d,0x00000006,0x000004eb,0x000004ea,0x000500b4,
+	0x00000048,0x000004ec,0x000004eb,0x000000d2,0x000300f7,0x00000516,0x00000000,0x000400fa,
+	0x000004ec,0x000004ed,0x00000516,0x000200f8,0x000004ed,0x00050041,0x000000bc,0x000004ee,
+	0x000000b9,0x000000d6,0x0004003d,0x00000006,0x000004ef,0x000004ee,0x000500b4,0x00000048,
+	0x000004f0,0x000004ef,0x000000d2,0x000300f7,0x000004f4,0x00000000,0x000400fa,0x000004f0,
+	0x000004f1,0x000004f4,0x000200f8,0x000004f1,0x00050090,0x0000000c,0x000004f3,0x000002d4,
+	0x000000ea,0x000200f9,0x000004f4,0x000200f8,0x000004f4,0x000700f5,0x0000000c,0x000006b6,
+	0x000002d4,0x000004ed,0x000004f3,0x000004f1,0x00050051,0x00000006,0x000004f6,0x000006b6,
+	0x00000000,0x00050051,0x00000006,0x000004f8,0x000006b6,0x00000001,0x00050051,0x00000006,
+	0x000004fa,0x000006b6,0x00000002,0x0007000c,0x00000006,0x000004fb,0x00000001,0x00000028,
+	0x000004f8,0x000004fa,0x0007000c,0x00000006,0x000004fc,0x00000001,0x00000028,0x000004f6,
+	0x000004fb,0x000500ba,0x00000048,0x000004fe,0x000004fc,0x0000009d,0x000300f7,0x0000050e,
+	0x00000000,0x000400fa,0x000004fe,0x000004ff,0x0000050e,0x000200f8,0x000004ff,0x00050041,
+	0x000000bc,0x00000500,0x000000b9,0x000000ca,0x0004003d,0x00000006,0x00000501,0x00000500,
+	0x0008000c,0x00000006,0x00000504,0x00000001,0x00000032,0x00000501,0x000004fc,0x000000c6,
+	0x00050041,0x000000bc,0x00000505,0x000000b9,0x000000ff,0x0004003d,0x00000006,0x00000506,
+	0x00000505,0x0008000c,0x00000006,0x00000509,0x00000001,0x00000032,0x00000506,0x000004fc,
+	0x000000c6,0x00050088,0x00000006,0x0000050a,0x00000504,0x00000509,0x0005008e,0x0000000c,
+	0x0000050d,0x000006b6,0x0000050a,0x000200f9,0x0000050e,0x000200f8,0x0000050e,0x000700f5,
+	0x0000000c,0x000006b7,0x000006b6,0x000004f4,0x0000050d,0x000004ff,0x00050041,0x000000bc,
+	0x0000050f,0x000000b9,0x000000d6,0x0004003d,0x00000006,0x00000510,0x0000050f,0x000500b4,
+	0x00000048,0x00000511,0x00000510,0x000000d2,0x000300f7,0x00000515,0x00000000,0x000400fa,
+	0x00000511,0x00000512,0x00000515,0x000200f8,0x00000512,0x00050090,0x0000000c,0x00000514,
+	0x000006b7,0x0000011b,0x000200f9,0x00000515,0x000200f8,0x00000515,0x000700f5,0x0000000c,
+	0x000006ba,0x000006b7,0x0000050e,0x00000514,0x00000512,0x000200f9,0x00000516,0x000200f8,
+	0x00000516,0x000700f5,0x0000000c,0x000006b9,0x000002d4,0x000004e9,0x000006ba,0x00000515,
+	0x000200f9,0x00000517,0x000200f8,0x00000517,0x000700f5,0x0000000c,0x000006b8,0x000004e8,
+	0x000004e4,0x000006b9,0x00000516,0x00050051,0x00000006,0x000002d7,0x000006b8,0x00000000,
+	0x00060052,0x00000023,0x00000650,0x000002d7,0x000006b5,0x00000000,0x00050051,0x00000006,
+	0x000002d9,0x000006b8,0x00000001,0x00060052,0x00000023,0x00000652,0x000002d9,0x00000650,
+	0x00000001,0x00050051,0x00000006,0x000002db,0x000006b8,0x00000002,0x00060052,0x00000023,
+	0x00000654,0x000002db,0x00000652,0x00000002,0x000200f9,0x000002dc,0x000200f8,0x000002dc,
+	0x000700f5,0x00000023,0x000006c0,0x000006b5,0x000002ce,0x00000654,0x00000517,0x00050041,
+	0x000000bc,0x000002dd,0x000000b9,0x000000d6,0x0004003d,0x00000006,0x000002de,0x000002dd,
+	0x000500b4,0x00000048,0x000002df,0x000002de,0x000000c6,0x000300f7,0x0000031d,0x00000000,
+	0x000400fa,0x000002df,0x000002e0,0x000002ed,0x000200f8,0x000002e0,0x0008004f,0x0000000c,
+	0x000002e2,0x000006c0,0x000006c0,0x00000000,0x00000001,0x00000002,0x00050041,0x000000bc,
+	0x0000051d,0x000000b9,0x00000206,0x0004003d,0x00000006,0x0000051e,0x0000051d,0x000500b7,
+	0x00000048,0x0000051f,0x0000051e,0x0000009d,0x000300f7,0x00000523,0x00000000,0x000400fa,
+	0x0000051f,0x00000520,0x00000523,0x000200f8,0x00000520,0x00050051,0x00000006,0x0000052f,
+	0x000006c0,0x00000000,0x000500bc,0x00000048,0x0000053e,0x0000052f,0x00000047,0x000300f7,
+	0x00000548,0x00000000,0x000400fa,0x0000053e,0x0000053f,0x00000542,0x000200f8,0x0000053f,
+	0x00050085,0x00000006,0x00000541,0x0000052f,0x000006ac,0x000200f9,0x00000548,0x000200f8,
+	0x00000542,0x00050081,0x00000006,0x00000544,0x0000052f,0x00000051,0x0006000c,0x00000006,
+	0x00000545,0x00000001,0x00000004,0x00000544,0x00050085,0x00000006,0x00000546,0x00000545,
+	0x000006ab,0x0007000c,0x00000006,0x00000547,0x00000001,0x0000001a,0x00000546,0x00000056,
+	0x000200f9,0x00000548,0x000200f8,0x00000548,0x000700f5,0x00000006,0x000006d7,0x00000541,
+	0x0000053f,0x00000547,0x00000542,0x00050051,0x00000006,0x00000533,0x000006c0,0x00000001,
+	0x000500bc,0x00000048,0x0000054d,0x00000533,0x00000047,0x000300f7,0x00000557,0x00000000,
+	0x000400fa,0x0000054d,0x0000054e,0x00000551,0x000200f8,0x0000054e,0x00050085,0x00000006,
+	0x00000550,0x00000533,0x000006ac,0x000200f9,0x00000557,0x000200f8,0x00000551,0x00050081,
+	0x00000006,0x00000553,0x00000533,0x00000051,0x0006000c,0x00000006,0x00000554,0x00000001,
+	0x00000004,0x00000553,0x00050085,0x00000006,0x00000555,0x00000554,0x000006ab,0x0007000c,
+	0x00000006,0x00000556,0x00000001,0x0000001a,0x00000555,0x00000056,0x000200f9,0x00000557,
+	0x000200f8,0x00000557,0x000700f5,0x00000006,0x000006d9,0x00000550,0x0000054e,0x00000556,
+	0x00000551,0x00050051,0x00000006,0x00000537,0x000006c0,0x00000002,0x000500bc,0x00000048,
+	0x0000055c,0x00000537,0x00000047,0x000300f7,0x00000566,0x00000000,0x000400fa,0x0000055c,
+	0x0000055d,0x00000560,0x000200f8,0x0000055d,0x00050085,0x00000006,0x0000055f,0x00000537,
+	0x000006ac,0x000200f9,0x00000566,0x000200f8,0x00000560,0x00050081,0x00000006,0x00000562,
+	0x00000537,0x00000051,0x0006000c,0x00000006,0x00000563,0x00000001,0x00000004,0x00000562,
+	0x00050085,0x00000006,0x00000564,0x00000563,0x000006ab,0x0007000c,0x00000006,0x00000565,
+	0x00000001,0x0000001a,0x00000564,0x00000056,0x000200f9,0x00000566,0x000200f8,0x00000566,
+	0x000700f5,0x00000006,0x000006db,0x0000055f,0x0000055d,0x00000565,0x00000560,0x00060050,
+	0x0000000c,0x000006e7,0x000006d7,0x000006d9,0x000006db,0x000200f9,0x00000523,0x000200f8,
+	0x00000523,0x000700f5,0x0000000c,0x000006dd,0x000002e2,0x000002e0,0x000006e7,0x00000566,
+	0x00050041,0x000000bc,0x00000525,0x000000b9,0x000001f6,0x0004003d,0x00000006,0x00000526,
+	0x00000525,0x0005008e,0x0000000c,0x00000527,0x000006dd,0x00000526,0x00050051,0x00000006,
+	0x000002e5,0x00000527,0x00000000,0x00050051,0x00000006,0x000002e7,0x00000527,0x00000001,
+	0x00050051,0x00000006,0x000002e9,0x00000527,0x00000002,0x00050051,0x00000006,0x000002eb,
+	0x000006c0,0x00000003,0x00070050,0x00000023,0x000006ad,0x000002e5,0x000002e7,0x000002e9,
+	0x000002eb,0x000200f9,0x0000031d,0x000200f8,0x000002ed,0x00050041,0x000000bc,0x000002ee,
+	0x000000b9,0x000000d6,0x0004003d,0x00000006,0x000002ef,0x000002ee,0x000500b4,0x00000048,
+	0x000002f0,0x000002ef,0x000000d2,0x000300f7,0x0000031c,0x00000000,0x000400fa,0x000002f0,
+	0x000002f1,0x000002fe,0x000200f8,0x000002f1,0x0008004f,0x0000000c,0x000002f3,0x000006c0,
+	0x000006c0,0x00000000,0x00000001,0x00000002,0x00050041,0x000000bc,0x0000056d,0x000000b9,
+	0x000001f6,0x0004003d,0x00000006,0x0000056e,0x0000056d,0x0005008e,0x0000000c,0x0000056f,
+	0x000002f3,0x0000056e,0x00050041,0x000000bc,0x00000570,0x000000b9,0x00000206,0x0004003d,
+	0x00000006,0x00000571,0x00000570,0x000500b7,0x00000048,0x00000572,0x00000571,0x0000009d,
+	0x000400a8,0x00000048,0x00000573,0x00000572,0x000300f7,0x0000057a,0x00000000,0x000400fa,
+	0x00000573,0x00000574,0x0000057a,0x000200f8,0x00000574,0x00050051,0x00000006,0x00000582,
+	0x0000056f,0x00000000,0x000500bc,0x00000048,0x00000591,0x00000582,0x00000072,0x000300f7,
+	0x0000059b,0x00000000,0x000400fa,0x00000591,0x00000592,0x00000595,0x000200f8,0x00000592,
+	0x00050085,0x00000006,0x00000594,0x00000582,0x0000004d,0x000200f9,0x0000059b,0x000200f8,
+	0x00000595,0x0006000c,0x00000006,0x00000597,0x00000001,0x00000004,0x00000582,0x0007000c,
+	0x00000006,0x00000598,0x00000001,0x0000001a,0x00000597,0x0000007b,0x0008000c,0x00000006,
+	0x0000059a,0x00000001,0x00000032,0x00000598,0x00000054,0x000006af,0x000200f9,0x0000059b,
+	0x000200f8,0x0000059b,0x000700f5,0x00000006,0x000006cc,0x00000594,0x00000592,0x0000059a,
+	0x00000595,0x00050051,0x00000006,0x00000586,0x0000056f,0x00000001,0x000500bc,0x00000048,
+	0x000005a0,0x00000586,0x00000072,0x000300f7,0x000005aa,0x00000000,0x000400fa,0x000005a0,
+	0x000005a1,0x000005a4,0x000200f8,0x000005a1,0x00050085,0x00000006,0x000005a3,0x00000586,
+	0x0000004d,0x000200f9,0x000005aa,0x000200f8,0x000005a4,0x0006000c,0x00000006,0x000005a6,
+	0x00000001,0x00000004,0x00000586,0x0007000c,0x00000006,0x000005a7,0x00000001,0x0000001a,
+	0x000005a6,0x0000007b,0x0008000c,0x00000006,0x000005a9,0x00000001,0x00000032,0x000005a7,
+	0x00000054,0x000006af,0x000200f9,0x000005aa,0x000200f8,0x000005aa,0x000700f5,0x00000006,
+	0x000006ce,0x000005a3,0x000005a1,0x000005a9,0x000005a4,0x00050051,0x00000006,0x0000058a,
+	0x0000056f,0x00000002,0x000500bc,0x00000048,0x000005af,0x0000058a,0x00000072,0x000300f7,
+	0x000005b9,0x00000000,0x000400fa,0x000005af,0x000005b0,0x000005b3,0x000200f8,0x000005b0,
+	0x00050085,0x00000006,0x000005b2,0x0000058a,0x0000004d,0x000200f9,0x000005b9,0x000200f8,
+	0x000005b3,0x0006000c,0x00000006,0x000005b5,0x00000001,0x00000004,0x0000058a,0x0007000c,
+	0x00000006,0x000005b6,0x00000001,0x0000001a,0x000005b5,0x0000007b,0x0008000c,0x00000006,
+	0x000005b8,0x00000001,0x00000032,0x000005b6,0x00000054,0x000006af,0x000200f9,0x000005b9,
+	0x000200f8,0x000005b9,0x000700f5,0x00000006,0x000006d0,0x000005b2,0x000005b0,0x000005b8,
+	0x000005b3,0x00060050,0x0000000c,0x000006e6,0x000006cc,0x000006ce,0x000006d0,0x0008000c,
+	0x0000000c,0x00000579,0x00000001,0x0000002b,0x000006e6,0x0000009e,0x000006a5,0x000200f9,
+	0x0000057a,0x000200f8,0x0000057a,0x000700f5,0x0000000c,0x000006d2,0x0000056f,0x000002f1,
+	0x00000579,0x000005b9,0x00050051,0x00000006,0x000002f6,0x000006d2,0x00000000,0x00050051,
+	0x00000006,0x000002f8,0x000006d2,0x00000001,0x00050051,0x00000006,0x000002fa,0x000006d2,
+	0x00000002,0x00050051,0x00000006,0x000002fc,0x000006c0,0x00000003,0x00070050,0x00000023,
+	0x000006aa,0x000002f6,0x000002f8,0x000002fa,0x000002fc,0x000200f9,0x0000031c,0x000200f8,
+	0x000002fe,0x00050041,0x000000bc,0x000002ff,0x000000b9,0x000000d6,0x0004003d,0x00000006,
+	0x00000300,0x000002ff,0x000500b4,0x00000048,0x00000301,0x00000300,0x000001c8,0x000300f7,
+	0x0000031b,0x00000000,0x000400fa,0x00000301,0x00000302,0x00000318,0x000200f8,0x00000302,
+	0x0008004f,0x0000000c,0x00000304,0x000006c0,0x000006c0,0x00000000,0x00000001,0x00000002,
+	0x00050090,0x0000000c,0x00000305,0x00000304,0x0000011b,0x00050051,0x00000006,0x00000307,
+	0x00000305,0x00000000,0x00060052,0x00000023,0x0000067a,0x00000307,0x000006e8,0x00000000,
+	0x00050051,0x00000006,0x00000309,0x00000305,0x00000001,0x00060052,0x00000023,0x0000067c,
+	0x00000309,0x0000067a,0x00000001,0x00050051,0x00000006,0x0000030b,0x00000305,0x00000002,
+	0x00060052,0x00000023,0x0000067e,0x0000030b,0x0000067c,0x00000002,0x0008004f,0x0000000c,
+	0x0000030d,0x0000067e,0x0000067e,0x00000000,0x00000001,0x00000002,0x00050041,0x000000bc,
+	0x000005c0,0x000000b9,0x000001f6,0x0004003d,0x00000006,0x000005c1,0x000005c0,0x0005008e,
+	0x0000000c,0x000005c2,0x0000030d,0x000005c1,0x00050041,0x000000bc,0x000005c3,0x000000b9,
+	0x00000206,0x0004003d,0x00000006,0x000005c4,0x000005c3,0x000500b7,0x00000048,0x000005c5,
+	0x000005c4,0x0000009d,0x000400a8,0x00000048,0x000005c6,0x000005c5,0x000300f7,0x000005cd,
+	0x00000000,0x000400fa,0x000005c6,0x000005c7,0x000005cd,0x000200f8,0x000005c7,0x00050051,
+	0x00000006,0x000005d5,0x000005c2,0x00000000,0x000500bc,0x00000048,0x000005e4,0x000005d5,
+	0x00000072,0x000300f7,0x000005ee,0x00000000,0x000400fa,0x000005e4,0x000005e5,0x000005e8,
+	0x000200f8,0x000005e5,0x00050085,0x00000006,0x000005e7,0x000005d5,0x0000004d,0x000200f9,
+	0x000005ee,0x000200f8,0x000005e8,0x0006000c,0x00000006,0x000005ea,0x00000001,0x00000004,
+	0x000005d5,0x0007000c,0x00000006,0x000005eb,0x00000001,0x0000001a,0x000005ea,0x0000007b,
+	0x0008000c,0x00000006,0x000005ed,0x00000001,0x00000032,0x000005eb,0x00000054,0x000006af,
+	0x000200f9,0x000005ee,0x000200f8,0x000005ee,0x000700f5,0x00000006,0x000006c1,0x000005e7,
+	0x000005e5,0x000005ed,0x000005e8,0x00050051,0x00000006,0x000005d9,0x000005c2,0x00000001,
+	0x000500bc,0x00000048,0x000005f3,0x000005d9,0x00000072,0x000300f7,0x000005fd,0x00000000,
+	0x000400fa,0x000005f3,0x000005f4,0x000005f7,0x000200f8,0x000005f4,0x00050085,0x00000006,
+	0x000005f6,0x000005d9,0x0000004d,0x000200f9,0x000005fd,0x000200f8,0x000005f7,0x0006000c,
+	0x00000006,0x000005f9,0x00000001,0x00000004,0x000005d9,0x0007000c,0x00000006,0x000005fa,
+	0x00000001,0x0000001a,0x000005f9,0x0000007b,0x0008000c,0x00000006,0x000005fc,0x00000001,
+	0x00000032,0x000005fa,0x00000054,0x000006af,0x000200f9,0x000005fd,0x000200f8,0x000005fd,
+	0x000700f5,0x00000006,0x000006c3,0x000005f6,0x000005f4,0x000005fc,0x000005f7,0x00050051,
+	0x00000006,0x000005dd,0x000005c2,0x00000002,0x000500bc,0x00000048,0x00000602,0x000005dd,
+	0x00000072,0x000300f7,0x0000060c,0x00000000,0x000400fa,0x00000602,0x00000603,0x00000606,
+	0x000200f8,0x00000603,0x00050085,0x00000006,0x00000605,0x000005dd,0x0000004d,0x000200f9,
+	0x0000060c,0x000200f8,0x00000606,0x0006000c,0x00000006,0x00000608,0x00000001,0x00000004,
+	0x000005dd,0x0007000c,0x00000006,0x00000609,0x00000001,0x0000001a,0x00000608,0x0000007b,
+	0x0008000c,0x00000006,0x0000060b,0x00000001,0x00000032,0x00000609,0x00000054,0x000006af,
+	0x000200f9,0x0000060c,0x000200f8,0x0000060c,0x000700f5,0x00000006,0x000006c5,0x00000605,
+	0x00000603,0x0000060b,0x00000606,0x00060050,0x0000000c,0x000006e5,0x000006c1,0x000006c3,
+	0x000006c5,0x0008000c,0x0000000c,0x000005cc,0x00000001,0x0000002b,0x000006e5,0x0000009e,
+	0x000006a5,0x000200f9,0x000005cd,0x000200f8,0x000005cd,0x000700f5,0x0000000c,0x000006c7,
+	0x000005c2,0x00000302,0x000005cc,0x0000060c,0x00050051,0x00000006,0x00000310,0x000006c7,
+	0x00000000,0x00050051,0x00000006,0x00000312,0x000006c7,0x00000001,0x00050051,0x00000006,
+	0x00000314,0x000006c7,0x00000002,0x00050051,0x00000006,0x00000316,0x000006c0,0x00000003,
+	0x00070050,0x00000023,0x000006a6,0x00000310,0x00000312,0x00000314,0x00000316,0x000200f9,
+	0x0000031b,0x000200f8,0x00000318,0x0008004f,0x0000000c,0x00000612,0x000006c0,0x000006c0,
+	0x00000000,0x00000001,0x00000002,0x00050041,0x000000bc,0x00000613,0x000000b9,0x000001f6,
+	0x0004003d,0x00000006,0x00000614,0x00000613,0x0005008e,0x0000000c,0x00000615,0x00000612,
+	0x00000614,0x00050051,0x00000006,0x00000617,0x00000615,0x00000000,0x00050051,0x00000006,
+	0x00000619,0x00000615,0x00000001,0x00050051,0x00000006,0x0000061b,0x00000615,0x00000002,
+	0x00050051,0x00000006,0x0000061d,0x000006c0,0x00000003,0x00070050,0x00000023,0x000006a1,
+	0x00000617,0x00000619,0x0000061b,0x0000061d,0x000200f9,0x0000031b,0x000200f8,0x0000031b,
+	0x000700f5,0x00000023,0x000006e4,0x000006a6,0x000005cd,0x000006a1,0x00000318,0x000200f9,
+	0x0000031c,0x000200f8,0x0000031c,0x000700f5,0x00000023,0x000006e3,0x000006aa,0x0000057a,
+	0x000006e4,0x0000031b,0x000200f9,0x0000031d,0x000200f8,0x0000031d,0x000700f5,0x00000023,
+	0x000006e2,0x000006ad,0x00000523,0x000006e3,0x0000031c,0x00050085,0x00000023,0x00000321,
+	0x000006e2,0x000002a8,0x0003003e,0x000002ab,0x00000321,0x000100fd,0x00010038
 };

+ 409 - 409
src/render/vulkan/VULKAN_PixelShader_Advanced_YUV.h

@@ -1,415 +1,415 @@
 	// 1114.0.0
 	 #pragma once
 static const uint32_t VULKAN_PixelShader_Advanced_YUV[] = {
-	0x07230203,0x00010000,0x0008000b,0x0000066d,0x00000000,0x00020011,0x00000001,0x0006000b,
+	0x07230203,0x00010000,0x0008000b,0x0000069b,0x00000000,0x00020011,0x00000001,0x0006000b,
 	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
-	0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000277,0x0000027a,0x0000027e,
+	0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000290,0x00000293,0x00000297,
 	0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,
-	0x6e69616d,0x00000000,0x00050005,0x00000081,0x736e6f43,0x746e6174,0x00000073,0x00070006,
-	0x00000081,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x00000081,
-	0x00000001,0x74786574,0x5f657275,0x65707974,0x00000000,0x00060006,0x00000081,0x00000002,
-	0x75706e69,0x79745f74,0x00006570,0x00060006,0x00000081,0x00000003,0x6f6c6f63,0x63735f72,
-	0x00656c61,0x00060006,0x00000081,0x00000004,0x65786574,0x69735f6c,0x0000657a,0x00070006,
-	0x00000081,0x00000005,0x656e6f74,0x5f70616d,0x6874656d,0x0000646f,0x00070006,0x00000081,
-	0x00000006,0x656e6f74,0x5f70616d,0x74636166,0x0031726f,0x00070006,0x00000081,0x00000007,
-	0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x00000081,0x00000008,0x5f726473,
-	0x74696877,0x6f705f65,0x00746e69,0x00030005,0x00000083,0x00000000,0x00050005,0x000000f2,
-	0x74786574,0x30657275,0x00000000,0x00050005,0x000000f9,0x74786574,0x31657275,0x00000000,
-	0x00050005,0x00000277,0x75706e69,0x65742e74,0x00000078,0x00050005,0x0000027a,0x75706e69,
-	0x6f632e74,0x00726f6c,0x00070005,0x0000027e,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
-	0x00000074,0x00050048,0x00000081,0x00000000,0x00000023,0x00000000,0x00050048,0x00000081,
-	0x00000001,0x00000023,0x00000004,0x00050048,0x00000081,0x00000002,0x00000023,0x00000008,
-	0x00050048,0x00000081,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000081,0x00000004,
-	0x00000023,0x00000010,0x00050048,0x00000081,0x00000005,0x00000023,0x00000020,0x00050048,
-	0x00000081,0x00000006,0x00000023,0x00000024,0x00050048,0x00000081,0x00000007,0x00000023,
-	0x00000028,0x00050048,0x00000081,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000081,
-	0x00000002,0x00040047,0x00000083,0x00000022,0x00000000,0x00040047,0x00000083,0x00000021,
-	0x00000000,0x00040047,0x000000f2,0x00000022,0x00000000,0x00040047,0x000000f2,0x00000021,
-	0x00000001,0x00040047,0x000000f9,0x00000022,0x00000000,0x00040047,0x000000f9,0x00000021,
-	0x00000002,0x00040047,0x00000277,0x0000001e,0x00000000,0x00040047,0x0000027a,0x0000001e,
-	0x00000001,0x00040047,0x0000027e,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
-	0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x0000000f,0x00000006,
-	0x00000003,0x00040017,0x00000018,0x00000006,0x00000002,0x00040017,0x0000001a,0x00000006,
-	0x00000004,0x0004002b,0x00000006,0x0000003e,0x3d25aee6,0x00020014,0x0000003f,0x0004002b,
-	0x00000006,0x00000044,0x414eb852,0x0004002b,0x00000006,0x00000048,0x3d6147ae,0x0004002b,
-	0x00000006,0x0000004b,0x3f870a3d,0x0004002b,0x00000006,0x0000004d,0x4019999a,0x0004002b,
-	0x00000006,0x00000053,0x3b4d2e1c,0x0004002b,0x00000006,0x0000005c,0x3ed55555,0x0004002b,
-	0x00000006,0x00000066,0x3c4fcdac,0x0006002c,0x0000000f,0x00000067,0x00000066,0x00000066,
-	0x00000066,0x0004002b,0x00000006,0x00000069,0x3f560000,0x0004002b,0x00000006,0x0000006c,
-	0x00000000,0x0006002c,0x0000000f,0x0000006d,0x0000006c,0x0000006c,0x0000006c,0x0004002b,
-	0x00000006,0x00000070,0x4196d000,0x0004002b,0x00000006,0x00000071,0x41958000,0x0004002b,
-	0x00000006,0x00000078,0x461c4000,0x0004002b,0x00000006,0x0000007d,0x40c8e06b,0x0006002c,
-	0x0000000f,0x0000007e,0x0000007d,0x0000007d,0x0000007d,0x000b001e,0x00000081,0x00000006,
-	0x00000006,0x00000006,0x00000006,0x0000001a,0x00000006,0x00000006,0x00000006,0x00000006,
-	0x00040020,0x00000082,0x00000002,0x00000081,0x0004003b,0x00000082,0x00000083,0x00000002,
-	0x00040015,0x00000084,0x00000020,0x00000001,0x0004002b,0x00000084,0x00000085,0x00000008,
-	0x00040020,0x00000086,0x00000002,0x00000006,0x0004002b,0x00000084,0x0000008d,0x00000005,
-	0x0004002b,0x00000006,0x00000090,0x3f800000,0x0004002b,0x00000084,0x00000094,0x00000006,
-	0x0004002b,0x00000006,0x0000009c,0x40000000,0x0004002b,0x00000084,0x000000a0,0x00000002,
-	0x00040018,0x000000a7,0x0000000f,0x00000003,0x0004002b,0x00000006,0x000000a8,0x3f209d8c,
-	0x0004002b,0x00000006,0x000000a9,0x3ea897c8,0x0004002b,0x00000006,0x000000aa,0x3d3168f9,
-	0x0006002c,0x0000000f,0x000000ab,0x000000a8,0x000000a9,0x000000aa,0x0004002b,0x00000006,
-	0x000000ac,0x3d8d82ba,0x0004002b,0x00000006,0x000000ad,0x3f6b670a,0x0004002b,0x00000006,
-	0x000000ae,0x3c3a27af,0x0006002c,0x0000000f,0x000000af,0x000000ac,0x000000ad,0x000000ae,
-	0x0004002b,0x00000006,0x000000b0,0x3c86466b,0x0004002b,0x00000006,0x000000b1,0x3db44029,
-	0x0004002b,0x00000006,0x000000b2,0x3f6545b7,0x0006002c,0x0000000f,0x000000b3,0x000000b0,
-	0x000000b1,0x000000b2,0x0006002c,0x000000a7,0x000000b4,0x000000ab,0x000000af,0x000000b3,
-	0x0004002b,0x00000084,0x000000cd,0x00000007,0x0004002b,0x00000006,0x000000dd,0x3fd48b22,
-	0x0004002b,0x00000006,0x000000de,0xbf1670a0,0x0004002b,0x00000006,0x000000df,0xbd952d23,
-	0x0006002c,0x0000000f,0x000000e0,0x000000dd,0x000000de,0x000000df,0x0004002b,0x00000006,
-	0x000000e1,0xbdff127f,0x0004002b,0x00000006,0x000000e2,0x3f9102b4,0x0004002b,0x00000006,
-	0x000000e3,0xbc08c60d,0x0006002c,0x0000000f,0x000000e4,0x000000e1,0x000000e2,0x000000e3,
-	0x0004002b,0x00000006,0x000000e5,0xbc94b7b3,0x0004002b,0x00000006,0x000000e6,0xbdce05cd,
-	0x0004002b,0x00000006,0x000000e7,0x3f8f333c,0x0006002c,0x0000000f,0x000000e8,0x000000e5,
-	0x000000e6,0x000000e7,0x0006002c,0x000000a7,0x000000e9,0x000000e0,0x000000e4,0x000000e8,
-	0x00090019,0x000000ef,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
-	0x00000000,0x0003001b,0x000000f0,0x000000ef,0x00040020,0x000000f1,0x00000000,0x000000f0,
-	0x0004003b,0x000000f1,0x000000f2,0x00000000,0x0004002b,0x00000006,0x000000f7,0x437f0000,
-	0x0004003b,0x000000f1,0x000000f9,0x00000000,0x0004002b,0x00000006,0x000000fc,0x3f000000,
-	0x0004002b,0x00000084,0x00000106,0x00000004,0x00040020,0x00000107,0x00000002,0x0000001a,
-	0x0004002b,0x00000006,0x00000154,0x3727c5ac,0x0005002c,0x00000018,0x00000155,0x00000154,
-	0x00000154,0x0005002c,0x00000018,0x00000156,0x00000090,0x00000090,0x0004002b,0x00000084,
-	0x00000174,0x00000001,0x0004002b,0x00000006,0x00000182,0x40400000,0x0004002b,0x00000006,
-	0x0000018d,0x40800000,0x0004002b,0x00000006,0x00000198,0x40a00000,0x0004002b,0x00000084,
-	0x000001b0,0x00000003,0x0004002b,0x00000084,0x000001c0,0x00000000,0x00040020,0x00000272,
-	0x00000001,0x0000001a,0x00040020,0x00000276,0x00000001,0x00000018,0x0004003b,0x00000276,
-	0x00000277,0x00000001,0x0004003b,0x00000272,0x0000027a,0x00000001,0x00040020,0x0000027d,
-	0x00000003,0x0000001a,0x0004003b,0x0000027d,0x0000027e,0x00000003,0x0005002c,0x00000018,
-	0x00000622,0x000000fc,0x000000fc,0x0004002b,0x00000006,0x00000623,0x3b800000,0x0006002c,
-	0x0000000f,0x00000624,0x00000069,0x00000069,0x00000069,0x0006002c,0x0000000f,0x00000625,
-	0x00000070,0x00000070,0x00000070,0x0006002c,0x0000000f,0x0000062a,0x00000090,0x00000090,
-	0x00000090,0x0004002b,0x00000006,0x00000630,0x3f72a76f,0x0004002b,0x00000006,0x00000631,
-	0x3d9e8391,0x0007002c,0x0000001a,0x00000633,0x00000090,0x0000006c,0x00000090,0x00000090,
-	0x0004002b,0x00000006,0x00000634,0xbd6147ae,0x00030001,0x0000001a,0x0000066c,0x00050036,
-	0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000018,
-	0x00000278,0x00000277,0x0004003d,0x0000001a,0x0000027b,0x0000027a,0x00050041,0x00000086,
-	0x000002fd,0x00000083,0x00000174,0x0004003d,0x00000006,0x000002fe,0x000002fd,0x000500b4,
-	0x0000003f,0x000002ff,0x000002fe,0x00000090,0x000300f7,0x00000327,0x00000000,0x000400fa,
-	0x000002ff,0x00000300,0x00000305,0x000200f8,0x00000300,0x0004003d,0x000000f0,0x00000301,
-	0x000000f2,0x00050057,0x0000001a,0x00000304,0x00000301,0x00000278,0x000200f9,0x00000327,
-	0x000200f8,0x00000305,0x00050041,0x00000086,0x00000306,0x00000083,0x00000174,0x0004003d,
-	0x00000006,0x00000307,0x00000306,0x000500b4,0x0000003f,0x00000308,0x00000307,0x00000182,
-	0x000300f7,0x00000326,0x00000000,0x000400fa,0x00000308,0x00000309,0x0000030d,0x000200f8,
-	0x00000309,0x0004003d,0x000000f0,0x0000032c,0x000000f2,0x00050057,0x0000001a,0x0000032e,
-	0x0000032c,0x00000278,0x00050051,0x00000006,0x0000032f,0x0000032e,0x00000000,0x0004003d,
-	0x000000f0,0x00000331,0x000000f9,0x0008000c,0x00000006,0x00000333,0x00000001,0x00000032,
-	0x0000032f,0x000000f7,0x000000fc,0x00050085,0x00000006,0x00000334,0x00000333,0x00000623,
-	0x00050050,0x00000018,0x00000335,0x00000334,0x000000fc,0x00050057,0x0000001a,0x00000336,
-	0x00000331,0x00000335,0x000200f9,0x00000326,0x000200f8,0x0000030d,0x00050041,0x00000086,
-	0x0000030e,0x00000083,0x00000174,0x0004003d,0x00000006,0x0000030f,0x0000030e,0x000500b4,
-	0x0000003f,0x00000310,0x0000030f,0x0000018d,0x000300f7,0x00000325,0x00000000,0x000400fa,
-	0x00000310,0x00000311,0x00000315,0x000200f8,0x00000311,0x00050041,0x00000107,0x00000345,
-	0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000346,0x00000345,0x0007004f,0x00000018,
-	0x00000347,0x00000346,0x00000346,0x00000002,0x00000003,0x0008000c,0x00000018,0x0000034a,
-	0x00000001,0x00000032,0x00000278,0x00000347,0x00000622,0x0006000c,0x00000018,0x0000034c,
-	0x00000001,0x00000008,0x0000034a,0x00050083,0x00000018,0x0000034e,0x0000034c,0x00000622,
-	0x00050041,0x00000107,0x0000034f,0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000350,
-	0x0000034f,0x0007004f,0x00000018,0x00000351,0x00000350,0x00000350,0x00000000,0x00000001,
-	0x00050085,0x00000018,0x00000352,0x0000034e,0x00000351,0x0006000c,0x00000018,0x00000354,
-	0x00000001,0x00000008,0x0000034a,0x00050081,0x00000018,0x00000356,0x00000354,0x00000622,
-	0x00050041,0x00000107,0x00000357,0x00000083,0x00000106,0x0004003d,0x0000001a,0x00000358,
-	0x00000357,0x0007004f,0x00000018,0x00000359,0x00000358,0x00000358,0x00000000,0x00000001,
-	0x00050085,0x00000018,0x0000035a,0x00000356,0x00000359,0x00050051,0x00000006,0x0000035b,
-	0x00000352,0x00000000,0x00050051,0x00000006,0x0000035c,0x00000352,0x00000001,0x00050051,
-	0x00000006,0x0000035d,0x0000035a,0x00000000,0x00050051,0x00000006,0x0000035e,0x0000035a,
-	0x00000001,0x00070050,0x0000001a,0x0000035f,0x0000035b,0x0000035c,0x0000035d,0x0000035e,
-	0x0006000c,0x00000018,0x00000361,0x00000001,0x0000000a,0x0000034a,0x0007004f,0x00000018,
-	0x00000363,0x0000035f,0x0000035f,0x00000000,0x00000001,0x0004003d,0x000000f0,0x00000381,
-	0x000000f2,0x00050057,0x0000001a,0x00000383,0x00000381,0x00000363,0x00050051,0x00000006,
-	0x00000384,0x00000383,0x00000000,0x0004003d,0x000000f0,0x00000386,0x000000f9,0x0008000c,
-	0x00000006,0x00000388,0x00000001,0x00000032,0x00000384,0x000000f7,0x000000fc,0x00050085,
-	0x00000006,0x00000389,0x00000388,0x00000623,0x00050050,0x00000018,0x0000038a,0x00000389,
-	0x000000fc,0x00050057,0x0000001a,0x0000038b,0x00000386,0x0000038a,0x0007004f,0x00000018,
-	0x00000366,0x0000035f,0x0000035f,0x00000000,0x00000003,0x0004003d,0x000000f0,0x0000038f,
-	0x000000f2,0x00050057,0x0000001a,0x00000391,0x0000038f,0x00000366,0x00050051,0x00000006,
-	0x00000392,0x00000391,0x00000000,0x0004003d,0x000000f0,0x00000394,0x000000f9,0x0008000c,
-	0x00000006,0x00000396,0x00000001,0x00000032,0x00000392,0x000000f7,0x000000fc,0x00050085,
-	0x00000006,0x00000397,0x00000396,0x00000623,0x00050050,0x00000018,0x00000398,0x00000397,
-	0x000000fc,0x00050057,0x0000001a,0x00000399,0x00000394,0x00000398,0x0007004f,0x00000018,
-	0x00000369,0x0000035f,0x0000035f,0x00000002,0x00000001,0x0004003d,0x000000f0,0x0000039d,
-	0x000000f2,0x00050057,0x0000001a,0x0000039f,0x0000039d,0x00000369,0x00050051,0x00000006,
-	0x000003a0,0x0000039f,0x00000000,0x0004003d,0x000000f0,0x000003a2,0x000000f9,0x0008000c,
-	0x00000006,0x000003a4,0x00000001,0x00000032,0x000003a0,0x000000f7,0x000000fc,0x00050085,
-	0x00000006,0x000003a5,0x000003a4,0x00000623,0x00050050,0x00000018,0x000003a6,0x000003a5,
-	0x000000fc,0x00050057,0x0000001a,0x000003a7,0x000003a2,0x000003a6,0x0007004f,0x00000018,
-	0x0000036c,0x0000035f,0x0000035f,0x00000002,0x00000003,0x0004003d,0x000000f0,0x000003ab,
-	0x000000f2,0x00050057,0x0000001a,0x000003ad,0x000003ab,0x0000036c,0x00050051,0x00000006,
-	0x000003ae,0x000003ad,0x00000000,0x0004003d,0x000000f0,0x000003b0,0x000000f9,0x0008000c,
-	0x00000006,0x000003b2,0x00000001,0x00000032,0x000003ae,0x000000f7,0x000000fc,0x00050085,
-	0x00000006,0x000003b3,0x000003b2,0x00000623,0x00050050,0x00000018,0x000003b4,0x000003b3,
-	0x000000fc,0x00050057,0x0000001a,0x000003b5,0x000003b0,0x000003b4,0x00050051,0x00000006,
-	0x00000371,0x00000361,0x00000001,0x00070050,0x0000001a,0x00000372,0x00000371,0x00000371,
-	0x00000371,0x00000371,0x0008000c,0x0000001a,0x00000373,0x00000001,0x0000002e,0x0000038b,
-	0x00000399,0x00000372,0x00050051,0x00000006,0x00000377,0x00000361,0x00000001,0x00070050,
-	0x0000001a,0x00000378,0x00000377,0x00000377,0x00000377,0x00000377,0x0008000c,0x0000001a,
-	0x00000379,0x00000001,0x0000002e,0x000003a7,0x000003b5,0x00000378,0x00050051,0x00000006,
-	0x0000037b,0x00000361,0x00000000,0x00070050,0x0000001a,0x0000037c,0x0000037b,0x0000037b,
-	0x0000037b,0x0000037b,0x0008000c,0x0000001a,0x0000037d,0x00000001,0x0000002e,0x00000373,
-	0x00000379,0x0000037c,0x000200f9,0x00000325,0x000200f8,0x00000315,0x00050041,0x00000086,
-	0x00000316,0x00000083,0x00000174,0x0004003d,0x00000006,0x00000317,0x00000316,0x000500b4,
-	0x0000003f,0x00000318,0x00000317,0x00000198,0x000300f7,0x00000324,0x00000000,0x000400fa,
-	0x00000318,0x00000319,0x0000031f,0x000200f8,0x00000319,0x000400d1,0x00000018,0x000003bc,
-	0x00000278,0x00050041,0x00000107,0x000003bd,0x00000083,0x00000106,0x0004003d,0x0000001a,
-	0x000003be,0x000003bd,0x0007004f,0x00000018,0x000003bf,0x000003be,0x000003be,0x00000002,
-	0x00000003,0x00050085,0x00000018,0x000003c0,0x000003bc,0x000003bf,0x0008000c,0x00000018,
-	0x000003c1,0x00000001,0x0000002b,0x000003c0,0x00000155,0x00000156,0x00050041,0x00000107,
-	0x000003c3,0x00000083,0x00000106,0x0004003d,0x0000001a,0x000003c4,0x000003c3,0x0007004f,
-	0x00000018,0x000003c5,0x000003c4,0x000003c4,0x00000002,0x00000003,0x0005008e,0x00000018,
-	0x000003c8,0x000003c1,0x000000fc,0x0004007f,0x00000018,0x00000621,0x000003c8,0x0008000c,
-	0x00000018,0x000003c9,0x00000001,0x00000032,0x00000278,0x000003c5,0x00000621,0x00050083,
-	0x00000018,0x000003cc,0x00000156,0x000003c1,0x0006000c,0x00000018,0x000003ce,0x00000001,
-	0x0000000a,0x000003c9,0x0008000c,0x00000018,0x000003cf,0x00000001,0x00000031,0x000003cc,
-	0x00000156,0x000003ce,0x0006000c,0x00000018,0x000003d1,0x00000001,0x00000008,0x000003c9,
-	0x00050081,0x00000018,0x000003d3,0x000003d1,0x00000622,0x00050081,0x00000018,0x000003d5,
-	0x000003d3,0x000003cf,0x00050041,0x00000107,0x000003d6,0x00000083,0x00000106,0x0004003d,
-	0x0000001a,0x000003d7,0x000003d6,0x0007004f,0x00000018,0x000003d8,0x000003d7,0x000003d7,
-	0x00000000,0x00000001,0x00050085,0x00000018,0x000003d9,0x000003d5,0x000003d8,0x00050041,
-	0x00000107,0x000003e8,0x00000083,0x00000106,0x0004003d,0x0000001a,0x000003e9,0x000003e8,
-	0x0007004f,0x00000018,0x000003ea,0x000003e9,0x000003e9,0x00000002,0x00000003,0x0008000c,
-	0x00000018,0x000003ed,0x00000001,0x00000032,0x000003d9,0x000003ea,0x00000622,0x0006000c,
-	0x00000018,0x000003ef,0x00000001,0x00000008,0x000003ed,0x00050083,0x00000018,0x000003f1,
-	0x000003ef,0x00000622,0x00050041,0x00000107,0x000003f2,0x00000083,0x00000106,0x0004003d,
-	0x0000001a,0x000003f3,0x000003f2,0x0007004f,0x00000018,0x000003f4,0x000003f3,0x000003f3,
-	0x00000000,0x00000001,0x00050085,0x00000018,0x000003f5,0x000003f1,0x000003f4,0x0006000c,
-	0x00000018,0x000003f7,0x00000001,0x00000008,0x000003ed,0x00050081,0x00000018,0x000003f9,
-	0x000003f7,0x00000622,0x00050041,0x00000107,0x000003fa,0x00000083,0x00000106,0x0004003d,
-	0x0000001a,0x000003fb,0x000003fa,0x0007004f,0x00000018,0x000003fc,0x000003fb,0x000003fb,
-	0x00000000,0x00000001,0x00050085,0x00000018,0x000003fd,0x000003f9,0x000003fc,0x00050051,
-	0x00000006,0x000003fe,0x000003f5,0x00000000,0x00050051,0x00000006,0x000003ff,0x000003f5,
-	0x00000001,0x00050051,0x00000006,0x00000400,0x000003fd,0x00000000,0x00050051,0x00000006,
-	0x00000401,0x000003fd,0x00000001,0x00070050,0x0000001a,0x00000402,0x000003fe,0x000003ff,
-	0x00000400,0x00000401,0x0006000c,0x00000018,0x00000404,0x00000001,0x0000000a,0x000003ed,
-	0x0007004f,0x00000018,0x00000406,0x00000402,0x00000402,0x00000000,0x00000001,0x0004003d,
-	0x000000f0,0x00000424,0x000000f2,0x00050057,0x0000001a,0x00000426,0x00000424,0x00000406,
-	0x00050051,0x00000006,0x00000427,0x00000426,0x00000000,0x0004003d,0x000000f0,0x00000429,
-	0x000000f9,0x0008000c,0x00000006,0x0000042b,0x00000001,0x00000032,0x00000427,0x000000f7,
-	0x000000fc,0x00050085,0x00000006,0x0000042c,0x0000042b,0x00000623,0x00050050,0x00000018,
-	0x0000042d,0x0000042c,0x000000fc,0x00050057,0x0000001a,0x0000042e,0x00000429,0x0000042d,
-	0x0007004f,0x00000018,0x00000409,0x00000402,0x00000402,0x00000000,0x00000003,0x0004003d,
-	0x000000f0,0x00000432,0x000000f2,0x00050057,0x0000001a,0x00000434,0x00000432,0x00000409,
-	0x00050051,0x00000006,0x00000435,0x00000434,0x00000000,0x0004003d,0x000000f0,0x00000437,
-	0x000000f9,0x0008000c,0x00000006,0x00000439,0x00000001,0x00000032,0x00000435,0x000000f7,
-	0x000000fc,0x00050085,0x00000006,0x0000043a,0x00000439,0x00000623,0x00050050,0x00000018,
-	0x0000043b,0x0000043a,0x000000fc,0x00050057,0x0000001a,0x0000043c,0x00000437,0x0000043b,
-	0x0007004f,0x00000018,0x0000040c,0x00000402,0x00000402,0x00000002,0x00000001,0x0004003d,
-	0x000000f0,0x00000440,0x000000f2,0x00050057,0x0000001a,0x00000442,0x00000440,0x0000040c,
-	0x00050051,0x00000006,0x00000443,0x00000442,0x00000000,0x0004003d,0x000000f0,0x00000445,
-	0x000000f9,0x0008000c,0x00000006,0x00000447,0x00000001,0x00000032,0x00000443,0x000000f7,
-	0x000000fc,0x00050085,0x00000006,0x00000448,0x00000447,0x00000623,0x00050050,0x00000018,
-	0x00000449,0x00000448,0x000000fc,0x00050057,0x0000001a,0x0000044a,0x00000445,0x00000449,
-	0x0007004f,0x00000018,0x0000040f,0x00000402,0x00000402,0x00000002,0x00000003,0x0004003d,
-	0x000000f0,0x0000044e,0x000000f2,0x00050057,0x0000001a,0x00000450,0x0000044e,0x0000040f,
-	0x00050051,0x00000006,0x00000451,0x00000450,0x00000000,0x0004003d,0x000000f0,0x00000453,
-	0x000000f9,0x0008000c,0x00000006,0x00000455,0x00000001,0x00000032,0x00000451,0x000000f7,
-	0x000000fc,0x00050085,0x00000006,0x00000456,0x00000455,0x00000623,0x00050050,0x00000018,
-	0x00000457,0x00000456,0x000000fc,0x00050057,0x0000001a,0x00000458,0x00000453,0x00000457,
-	0x00050051,0x00000006,0x00000414,0x00000404,0x00000001,0x00070050,0x0000001a,0x00000415,
-	0x00000414,0x00000414,0x00000414,0x00000414,0x0008000c,0x0000001a,0x00000416,0x00000001,
-	0x0000002e,0x0000042e,0x0000043c,0x00000415,0x00050051,0x00000006,0x0000041a,0x00000404,
-	0x00000001,0x00070050,0x0000001a,0x0000041b,0x0000041a,0x0000041a,0x0000041a,0x0000041a,
-	0x0008000c,0x0000001a,0x0000041c,0x00000001,0x0000002e,0x0000044a,0x00000458,0x0000041b,
-	0x00050051,0x00000006,0x0000041e,0x00000404,0x00000000,0x00070050,0x0000001a,0x0000041f,
-	0x0000041e,0x0000041e,0x0000041e,0x0000041e,0x0008000c,0x0000001a,0x00000420,0x00000001,
-	0x0000002e,0x00000416,0x0000041c,0x0000041f,0x000200f9,0x00000324,0x000200f8,0x0000031f,
-	0x000200f9,0x00000324,0x000200f8,0x00000324,0x000700f5,0x0000001a,0x00000638,0x00000420,
-	0x00000319,0x00000633,0x0000031f,0x000200f9,0x00000325,0x000200f8,0x00000325,0x000700f5,
-	0x0000001a,0x00000637,0x0000037d,0x00000311,0x00000638,0x00000324,0x000200f9,0x00000326,
-	0x000200f8,0x00000326,0x000700f5,0x0000001a,0x00000636,0x00000336,0x00000309,0x00000637,
-	0x00000325,0x000200f9,0x00000327,0x000200f8,0x00000327,0x000700f5,0x0000001a,0x00000635,
-	0x00000304,0x00000300,0x00000636,0x00000326,0x00050041,0x00000086,0x00000294,0x00000083,
-	0x000000a0,0x0004003d,0x00000006,0x00000295,0x00000294,0x000500b4,0x0000003f,0x00000296,
-	0x00000295,0x00000182,0x000300f7,0x000002a1,0x00000000,0x000400fa,0x00000296,0x00000297,
-	0x000002a1,0x000200f8,0x00000297,0x0008004f,0x0000000f,0x00000299,0x00000635,0x00000635,
-	0x00000000,0x00000001,0x00000002,0x0006000c,0x0000000f,0x0000045e,0x00000001,0x00000004,
-	0x00000299,0x0007000c,0x0000000f,0x0000045f,0x00000001,0x0000001a,0x0000045e,0x00000067,
-	0x00050083,0x0000000f,0x00000461,0x0000045f,0x00000624,0x0007000c,0x0000000f,0x00000462,
-	0x00000001,0x00000028,0x00000461,0x0000006d,0x0006000c,0x0000000f,0x00000464,0x00000001,
-	0x00000004,0x00000299,0x0007000c,0x0000000f,0x00000465,0x00000001,0x0000001a,0x00000464,
-	0x00000067,0x0005008e,0x0000000f,0x00000466,0x00000465,0x00000071,0x00050083,0x0000000f,
-	0x00000468,0x00000625,0x00000466,0x00050088,0x0000000f,0x0000046b,0x00000462,0x00000468,
-	0x0006000c,0x0000000f,0x0000046c,0x00000001,0x00000004,0x0000046b,0x0007000c,0x0000000f,
-	0x0000046d,0x00000001,0x0000001a,0x0000046c,0x0000007e,0x0005008e,0x0000000f,0x0000046e,
-	0x0000046d,0x00000078,0x00050041,0x00000086,0x0000046f,0x00000083,0x00000085,0x0004003d,
-	0x00000006,0x00000470,0x0000046f,0x00060050,0x0000000f,0x00000471,0x00000470,0x00000470,
-	0x00000470,0x00050088,0x0000000f,0x00000472,0x0000046e,0x00000471,0x00050051,0x00000006,
-	0x0000029c,0x00000472,0x00000000,0x00060052,0x0000001a,0x000005cd,0x0000029c,0x00000635,
-	0x00000000,0x00050051,0x00000006,0x0000029e,0x00000472,0x00000001,0x00060052,0x0000001a,
-	0x000005cf,0x0000029e,0x000005cd,0x00000001,0x00050051,0x00000006,0x000002a0,0x00000472,
-	0x00000002,0x00060052,0x0000001a,0x000005d1,0x000002a0,0x000005cf,0x00000002,0x000200f9,
-	0x000002a1,0x000200f8,0x000002a1,0x000700f5,0x0000001a,0x00000639,0x00000635,0x00000327,
-	0x000005d1,0x00000297,0x00050041,0x00000086,0x000002a2,0x00000083,0x0000008d,0x0004003d,
-	0x00000006,0x000002a3,0x000002a2,0x000500b7,0x0000003f,0x000002a4,0x000002a3,0x0000006c,
-	0x000300f7,0x000002af,0x00000000,0x000400fa,0x000002a4,0x000002a5,0x000002af,0x000200f8,
-	0x000002a5,0x0008004f,0x0000000f,0x000002a7,0x00000639,0x00000639,0x00000000,0x00000001,
-	0x00000002,0x00050041,0x00000086,0x00000477,0x00000083,0x0000008d,0x0004003d,0x00000006,
-	0x00000478,0x00000477,0x000500b4,0x0000003f,0x00000479,0x00000478,0x00000090,0x000300f7,
-	0x000004ad,0x00000000,0x000400fa,0x00000479,0x0000047a,0x0000047f,0x000200f8,0x0000047a,
-	0x00050041,0x00000086,0x0000047b,0x00000083,0x00000094,0x0004003d,0x00000006,0x0000047c,
-	0x0000047b,0x0005008e,0x0000000f,0x0000047e,0x000002a7,0x0000047c,0x000200f9,0x000004ad,
-	0x000200f8,0x0000047f,0x00050041,0x00000086,0x00000480,0x00000083,0x0000008d,0x0004003d,
-	0x00000006,0x00000481,0x00000480,0x000500b4,0x0000003f,0x00000482,0x00000481,0x0000009c,
-	0x000300f7,0x000004ac,0x00000000,0x000400fa,0x00000482,0x00000483,0x000004ac,0x000200f8,
-	0x00000483,0x00050041,0x00000086,0x00000484,0x00000083,0x000000a0,0x0004003d,0x00000006,
-	0x00000485,0x00000484,0x000500b4,0x0000003f,0x00000486,0x00000485,0x0000009c,0x000300f7,
-	0x0000048a,0x00000000,0x000400fa,0x00000486,0x00000487,0x0000048a,0x000200f8,0x00000487,
-	0x00050090,0x0000000f,0x00000489,0x000002a7,0x000000b4,0x000200f9,0x0000048a,0x000200f8,
-	0x0000048a,0x000700f5,0x0000000f,0x0000063a,0x000002a7,0x00000483,0x00000489,0x00000487,
-	0x00050051,0x00000006,0x0000048c,0x0000063a,0x00000000,0x00050051,0x00000006,0x0000048e,
-	0x0000063a,0x00000001,0x00050051,0x00000006,0x00000490,0x0000063a,0x00000002,0x0007000c,
-	0x00000006,0x00000491,0x00000001,0x00000028,0x0000048e,0x00000490,0x0007000c,0x00000006,
-	0x00000492,0x00000001,0x00000028,0x0000048c,0x00000491,0x000500ba,0x0000003f,0x00000494,
-	0x00000492,0x0000006c,0x000300f7,0x000004a4,0x00000000,0x000400fa,0x00000494,0x00000495,
-	0x000004a4,0x000200f8,0x00000495,0x00050041,0x00000086,0x00000496,0x00000083,0x00000094,
-	0x0004003d,0x00000006,0x00000497,0x00000496,0x0008000c,0x00000006,0x0000049a,0x00000001,
-	0x00000032,0x00000497,0x00000492,0x00000090,0x00050041,0x00000086,0x0000049b,0x00000083,
-	0x000000cd,0x0004003d,0x00000006,0x0000049c,0x0000049b,0x0008000c,0x00000006,0x0000049f,
-	0x00000001,0x00000032,0x0000049c,0x00000492,0x00000090,0x00050088,0x00000006,0x000004a0,
-	0x0000049a,0x0000049f,0x0005008e,0x0000000f,0x000004a3,0x0000063a,0x000004a0,0x000200f9,
-	0x000004a4,0x000200f8,0x000004a4,0x000700f5,0x0000000f,0x0000063b,0x0000063a,0x0000048a,
-	0x000004a3,0x00000495,0x00050041,0x00000086,0x000004a5,0x00000083,0x000000a0,0x0004003d,
-	0x00000006,0x000004a6,0x000004a5,0x000500b4,0x0000003f,0x000004a7,0x000004a6,0x0000009c,
-	0x000300f7,0x000004ab,0x00000000,0x000400fa,0x000004a7,0x000004a8,0x000004ab,0x000200f8,
-	0x000004a8,0x00050090,0x0000000f,0x000004aa,0x0000063b,0x000000e9,0x000200f9,0x000004ab,
-	0x000200f8,0x000004ab,0x000700f5,0x0000000f,0x0000063e,0x0000063b,0x000004a4,0x000004aa,
-	0x000004a8,0x000200f9,0x000004ac,0x000200f8,0x000004ac,0x000700f5,0x0000000f,0x0000063d,
-	0x000002a7,0x0000047f,0x0000063e,0x000004ab,0x000200f9,0x000004ad,0x000200f8,0x000004ad,
-	0x000700f5,0x0000000f,0x0000063c,0x0000047e,0x0000047a,0x0000063d,0x000004ac,0x00050051,
-	0x00000006,0x000002aa,0x0000063c,0x00000000,0x00060052,0x0000001a,0x000005d6,0x000002aa,
-	0x00000639,0x00000000,0x00050051,0x00000006,0x000002ac,0x0000063c,0x00000001,0x00060052,
-	0x0000001a,0x000005d8,0x000002ac,0x000005d6,0x00000001,0x00050051,0x00000006,0x000002ae,
-	0x0000063c,0x00000002,0x00060052,0x0000001a,0x000005da,0x000002ae,0x000005d8,0x00000002,
-	0x000200f9,0x000002af,0x000200f8,0x000002af,0x000700f5,0x0000001a,0x00000644,0x00000639,
-	0x000002a1,0x000005da,0x000004ad,0x00050041,0x00000086,0x000002b0,0x00000083,0x000000a0,
-	0x0004003d,0x00000006,0x000002b1,0x000002b0,0x000500b4,0x0000003f,0x000002b2,0x000002b1,
-	0x00000090,0x000300f7,0x000002f0,0x00000000,0x000400fa,0x000002b2,0x000002b3,0x000002c0,
-	0x000200f8,0x000002b3,0x0008004f,0x0000000f,0x000002b5,0x00000644,0x00000644,0x00000000,
-	0x00000001,0x00000002,0x00050041,0x00000086,0x000004b5,0x00000083,0x000001c0,0x0004003d,
-	0x00000006,0x000004b6,0x000004b5,0x000500b7,0x0000003f,0x000004b7,0x000004b6,0x0000006c,
-	0x000300f7,0x000004c5,0x00000000,0x000400fa,0x000004b7,0x000004b8,0x000004c5,0x000200f8,
-	0x000004b8,0x00050051,0x00000006,0x000004ba,0x00000644,0x00000000,0x000500bc,0x0000003f,
-	0x000004ce,0x000004ba,0x0000003e,0x000300f7,0x000004d8,0x00000000,0x000400fa,0x000004ce,
-	0x000004cf,0x000004d2,0x000200f8,0x000004cf,0x00050085,0x00000006,0x000004d1,0x000004ba,
-	0x00000631,0x000200f9,0x000004d8,0x000200f8,0x000004d2,0x00050081,0x00000006,0x000004d4,
-	0x000004ba,0x00000048,0x0006000c,0x00000006,0x000004d5,0x00000001,0x00000004,0x000004d4,
-	0x00050085,0x00000006,0x000004d6,0x000004d5,0x00000630,0x0007000c,0x00000006,0x000004d7,
-	0x00000001,0x0000001a,0x000004d6,0x0000004d,0x000200f9,0x000004d8,0x000200f8,0x000004d8,
-	0x000700f5,0x00000006,0x0000065b,0x000004d1,0x000004cf,0x000004d7,0x000004d2,0x00050051,
-	0x00000006,0x000004be,0x00000644,0x00000001,0x000500bc,0x0000003f,0x000004dd,0x000004be,
-	0x0000003e,0x000300f7,0x000004e7,0x00000000,0x000400fa,0x000004dd,0x000004de,0x000004e1,
-	0x000200f8,0x000004de,0x00050085,0x00000006,0x000004e0,0x000004be,0x00000631,0x000200f9,
-	0x000004e7,0x000200f8,0x000004e1,0x00050081,0x00000006,0x000004e3,0x000004be,0x00000048,
-	0x0006000c,0x00000006,0x000004e4,0x00000001,0x00000004,0x000004e3,0x00050085,0x00000006,
-	0x000004e5,0x000004e4,0x00000630,0x0007000c,0x00000006,0x000004e6,0x00000001,0x0000001a,
-	0x000004e5,0x0000004d,0x000200f9,0x000004e7,0x000200f8,0x000004e7,0x000700f5,0x00000006,
-	0x0000065d,0x000004e0,0x000004de,0x000004e6,0x000004e1,0x00050051,0x00000006,0x000004c2,
-	0x00000644,0x00000002,0x000500bc,0x0000003f,0x000004ec,0x000004c2,0x0000003e,0x000300f7,
-	0x000004f6,0x00000000,0x000400fa,0x000004ec,0x000004ed,0x000004f0,0x000200f8,0x000004ed,
-	0x00050085,0x00000006,0x000004ef,0x000004c2,0x00000631,0x000200f9,0x000004f6,0x000200f8,
-	0x000004f0,0x00050081,0x00000006,0x000004f2,0x000004c2,0x00000048,0x0006000c,0x00000006,
-	0x000004f3,0x00000001,0x00000004,0x000004f2,0x00050085,0x00000006,0x000004f4,0x000004f3,
-	0x00000630,0x0007000c,0x00000006,0x000004f5,0x00000001,0x0000001a,0x000004f4,0x0000004d,
-	0x000200f9,0x000004f6,0x000200f8,0x000004f6,0x000700f5,0x00000006,0x0000065f,0x000004ef,
-	0x000004ed,0x000004f5,0x000004f0,0x00060050,0x0000000f,0x0000066b,0x0000065b,0x0000065d,
-	0x0000065f,0x000200f9,0x000004c5,0x000200f8,0x000004c5,0x000700f5,0x0000000f,0x00000661,
-	0x000002b5,0x000002b3,0x0000066b,0x000004f6,0x00050041,0x00000086,0x000004c7,0x00000083,
-	0x000001b0,0x0004003d,0x00000006,0x000004c8,0x000004c7,0x0005008e,0x0000000f,0x000004c9,
-	0x00000661,0x000004c8,0x00050051,0x00000006,0x000002b8,0x000004c9,0x00000000,0x00050051,
-	0x00000006,0x000002ba,0x000004c9,0x00000001,0x00050051,0x00000006,0x000002bc,0x000004c9,
-	0x00000002,0x00050051,0x00000006,0x000002be,0x00000644,0x00000003,0x00070050,0x0000001a,
-	0x00000632,0x000002b8,0x000002ba,0x000002bc,0x000002be,0x000200f9,0x000002f0,0x000200f8,
-	0x000002c0,0x00050041,0x00000086,0x000002c1,0x00000083,0x000000a0,0x0004003d,0x00000006,
-	0x000002c2,0x000002c1,0x000500b4,0x0000003f,0x000002c3,0x000002c2,0x0000009c,0x000300f7,
-	0x000002ef,0x00000000,0x000400fa,0x000002c3,0x000002c4,0x000002d1,0x000200f8,0x000002c4,
-	0x0008004f,0x0000000f,0x000002c6,0x00000644,0x00000644,0x00000000,0x00000001,0x00000002,
-	0x00050041,0x00000086,0x000004ff,0x00000083,0x000001b0,0x0004003d,0x00000006,0x00000500,
-	0x000004ff,0x0005008e,0x0000000f,0x00000501,0x000002c6,0x00000500,0x00050041,0x00000086,
-	0x00000502,0x00000083,0x000001c0,0x0004003d,0x00000006,0x00000503,0x00000502,0x000500b7,
-	0x0000003f,0x00000504,0x00000503,0x0000006c,0x000400a8,0x0000003f,0x00000505,0x00000504,
-	0x000300f7,0x00000517,0x00000000,0x000400fa,0x00000505,0x00000506,0x00000517,0x000200f8,
-	0x00000506,0x00050051,0x00000006,0x00000508,0x00000501,0x00000000,0x000500bc,0x0000003f,
-	0x0000051c,0x00000508,0x00000053,0x000300f7,0x00000526,0x00000000,0x000400fa,0x0000051c,
-	0x0000051d,0x00000520,0x000200f8,0x0000051d,0x00050085,0x00000006,0x0000051f,0x00000508,
-	0x00000044,0x000200f9,0x00000526,0x000200f8,0x00000520,0x0006000c,0x00000006,0x00000522,
-	0x00000001,0x00000004,0x00000508,0x0007000c,0x00000006,0x00000523,0x00000001,0x0000001a,
-	0x00000522,0x0000005c,0x0008000c,0x00000006,0x00000525,0x00000001,0x00000032,0x00000523,
-	0x0000004b,0x00000634,0x000200f9,0x00000526,0x000200f8,0x00000526,0x000700f5,0x00000006,
-	0x00000650,0x0000051f,0x0000051d,0x00000525,0x00000520,0x00050051,0x00000006,0x0000050c,
-	0x00000501,0x00000001,0x000500bc,0x0000003f,0x0000052b,0x0000050c,0x00000053,0x000300f7,
-	0x00000535,0x00000000,0x000400fa,0x0000052b,0x0000052c,0x0000052f,0x000200f8,0x0000052c,
-	0x00050085,0x00000006,0x0000052e,0x0000050c,0x00000044,0x000200f9,0x00000535,0x000200f8,
-	0x0000052f,0x0006000c,0x00000006,0x00000531,0x00000001,0x00000004,0x0000050c,0x0007000c,
-	0x00000006,0x00000532,0x00000001,0x0000001a,0x00000531,0x0000005c,0x0008000c,0x00000006,
-	0x00000534,0x00000001,0x00000032,0x00000532,0x0000004b,0x00000634,0x000200f9,0x00000535,
-	0x000200f8,0x00000535,0x000700f5,0x00000006,0x00000652,0x0000052e,0x0000052c,0x00000534,
-	0x0000052f,0x00050051,0x00000006,0x00000510,0x00000501,0x00000002,0x000500bc,0x0000003f,
-	0x0000053a,0x00000510,0x00000053,0x000300f7,0x00000544,0x00000000,0x000400fa,0x0000053a,
-	0x0000053b,0x0000053e,0x000200f8,0x0000053b,0x00050085,0x00000006,0x0000053d,0x00000510,
-	0x00000044,0x000200f9,0x00000544,0x000200f8,0x0000053e,0x0006000c,0x00000006,0x00000540,
-	0x00000001,0x00000004,0x00000510,0x0007000c,0x00000006,0x00000541,0x00000001,0x0000001a,
-	0x00000540,0x0000005c,0x0008000c,0x00000006,0x00000543,0x00000001,0x00000032,0x00000541,
-	0x0000004b,0x00000634,0x000200f9,0x00000544,0x000200f8,0x00000544,0x000700f5,0x00000006,
-	0x00000654,0x0000053d,0x0000053b,0x00000543,0x0000053e,0x00060050,0x0000000f,0x0000066a,
-	0x00000650,0x00000652,0x00000654,0x0008000c,0x0000000f,0x00000516,0x00000001,0x0000002b,
-	0x0000066a,0x0000006d,0x0000062a,0x000200f9,0x00000517,0x000200f8,0x00000517,0x000700f5,
-	0x0000000f,0x00000656,0x00000501,0x000002c4,0x00000516,0x00000544,0x00050051,0x00000006,
-	0x000002c9,0x00000656,0x00000000,0x00050051,0x00000006,0x000002cb,0x00000656,0x00000001,
-	0x00050051,0x00000006,0x000002cd,0x00000656,0x00000002,0x00050051,0x00000006,0x000002cf,
-	0x00000644,0x00000003,0x00070050,0x0000001a,0x0000062f,0x000002c9,0x000002cb,0x000002cd,
-	0x000002cf,0x000200f9,0x000002ef,0x000200f8,0x000002d1,0x00050041,0x00000086,0x000002d2,
-	0x00000083,0x000000a0,0x0004003d,0x00000006,0x000002d3,0x000002d2,0x000500b4,0x0000003f,
-	0x000002d4,0x000002d3,0x00000182,0x000300f7,0x000002ee,0x00000000,0x000400fa,0x000002d4,
-	0x000002d5,0x000002eb,0x000200f8,0x000002d5,0x0008004f,0x0000000f,0x000002d7,0x00000644,
-	0x00000644,0x00000000,0x00000001,0x00000002,0x00050090,0x0000000f,0x000002d8,0x000002d7,
-	0x000000e9,0x00050051,0x00000006,0x000002da,0x000002d8,0x00000000,0x00060052,0x0000001a,
-	0x00000600,0x000002da,0x0000066c,0x00000000,0x00050051,0x00000006,0x000002dc,0x000002d8,
-	0x00000001,0x00060052,0x0000001a,0x00000602,0x000002dc,0x00000600,0x00000001,0x00050051,
-	0x00000006,0x000002de,0x000002d8,0x00000002,0x00060052,0x0000001a,0x00000604,0x000002de,
-	0x00000602,0x00000002,0x0008004f,0x0000000f,0x000002e0,0x00000604,0x00000604,0x00000000,
-	0x00000001,0x00000002,0x00050041,0x00000086,0x0000054d,0x00000083,0x000001b0,0x0004003d,
-	0x00000006,0x0000054e,0x0000054d,0x0005008e,0x0000000f,0x0000054f,0x000002e0,0x0000054e,
-	0x00050041,0x00000086,0x00000550,0x00000083,0x000001c0,0x0004003d,0x00000006,0x00000551,
-	0x00000550,0x000500b7,0x0000003f,0x00000552,0x00000551,0x0000006c,0x000400a8,0x0000003f,
-	0x00000553,0x00000552,0x000300f7,0x00000565,0x00000000,0x000400fa,0x00000553,0x00000554,
-	0x00000565,0x000200f8,0x00000554,0x00050051,0x00000006,0x00000556,0x0000054f,0x00000000,
-	0x000500bc,0x0000003f,0x0000056a,0x00000556,0x00000053,0x000300f7,0x00000574,0x00000000,
-	0x000400fa,0x0000056a,0x0000056b,0x0000056e,0x000200f8,0x0000056b,0x00050085,0x00000006,
-	0x0000056d,0x00000556,0x00000044,0x000200f9,0x00000574,0x000200f8,0x0000056e,0x0006000c,
-	0x00000006,0x00000570,0x00000001,0x00000004,0x00000556,0x0007000c,0x00000006,0x00000571,
-	0x00000001,0x0000001a,0x00000570,0x0000005c,0x0008000c,0x00000006,0x00000573,0x00000001,
-	0x00000032,0x00000571,0x0000004b,0x00000634,0x000200f9,0x00000574,0x000200f8,0x00000574,
-	0x000700f5,0x00000006,0x00000645,0x0000056d,0x0000056b,0x00000573,0x0000056e,0x00050051,
-	0x00000006,0x0000055a,0x0000054f,0x00000001,0x000500bc,0x0000003f,0x00000579,0x0000055a,
-	0x00000053,0x000300f7,0x00000583,0x00000000,0x000400fa,0x00000579,0x0000057a,0x0000057d,
-	0x000200f8,0x0000057a,0x00050085,0x00000006,0x0000057c,0x0000055a,0x00000044,0x000200f9,
-	0x00000583,0x000200f8,0x0000057d,0x0006000c,0x00000006,0x0000057f,0x00000001,0x00000004,
-	0x0000055a,0x0007000c,0x00000006,0x00000580,0x00000001,0x0000001a,0x0000057f,0x0000005c,
-	0x0008000c,0x00000006,0x00000582,0x00000001,0x00000032,0x00000580,0x0000004b,0x00000634,
-	0x000200f9,0x00000583,0x000200f8,0x00000583,0x000700f5,0x00000006,0x00000647,0x0000057c,
-	0x0000057a,0x00000582,0x0000057d,0x00050051,0x00000006,0x0000055e,0x0000054f,0x00000002,
-	0x000500bc,0x0000003f,0x00000588,0x0000055e,0x00000053,0x000300f7,0x00000592,0x00000000,
-	0x000400fa,0x00000588,0x00000589,0x0000058c,0x000200f8,0x00000589,0x00050085,0x00000006,
-	0x0000058b,0x0000055e,0x00000044,0x000200f9,0x00000592,0x000200f8,0x0000058c,0x0006000c,
-	0x00000006,0x0000058e,0x00000001,0x00000004,0x0000055e,0x0007000c,0x00000006,0x0000058f,
-	0x00000001,0x0000001a,0x0000058e,0x0000005c,0x0008000c,0x00000006,0x00000591,0x00000001,
-	0x00000032,0x0000058f,0x0000004b,0x00000634,0x000200f9,0x00000592,0x000200f8,0x00000592,
-	0x000700f5,0x00000006,0x00000649,0x0000058b,0x00000589,0x00000591,0x0000058c,0x00060050,
-	0x0000000f,0x00000669,0x00000645,0x00000647,0x00000649,0x0008000c,0x0000000f,0x00000564,
-	0x00000001,0x0000002b,0x00000669,0x0000006d,0x0000062a,0x000200f9,0x00000565,0x000200f8,
-	0x00000565,0x000700f5,0x0000000f,0x0000064b,0x0000054f,0x000002d5,0x00000564,0x00000592,
-	0x00050051,0x00000006,0x000002e3,0x0000064b,0x00000000,0x00050051,0x00000006,0x000002e5,
-	0x0000064b,0x00000001,0x00050051,0x00000006,0x000002e7,0x0000064b,0x00000002,0x00050051,
-	0x00000006,0x000002e9,0x00000644,0x00000003,0x00070050,0x0000001a,0x0000062b,0x000002e3,
-	0x000002e5,0x000002e7,0x000002e9,0x000200f9,0x000002ee,0x000200f8,0x000002eb,0x0008004f,
-	0x0000000f,0x00000598,0x00000644,0x00000644,0x00000000,0x00000001,0x00000002,0x00050041,
-	0x00000086,0x00000599,0x00000083,0x000001b0,0x0004003d,0x00000006,0x0000059a,0x00000599,
-	0x0005008e,0x0000000f,0x0000059b,0x00000598,0x0000059a,0x00050051,0x00000006,0x0000059d,
-	0x0000059b,0x00000000,0x00050051,0x00000006,0x0000059f,0x0000059b,0x00000001,0x00050051,
-	0x00000006,0x000005a1,0x0000059b,0x00000002,0x00050051,0x00000006,0x000005a3,0x00000644,
-	0x00000003,0x00070050,0x0000001a,0x00000626,0x0000059d,0x0000059f,0x000005a1,0x000005a3,
-	0x000200f9,0x000002ee,0x000200f8,0x000002ee,0x000700f5,0x0000001a,0x00000668,0x0000062b,
-	0x00000565,0x00000626,0x000002eb,0x000200f9,0x000002ef,0x000200f8,0x000002ef,0x000700f5,
-	0x0000001a,0x00000667,0x0000062f,0x00000517,0x00000668,0x000002ee,0x000200f9,0x000002f0,
-	0x000200f8,0x000002f0,0x000700f5,0x0000001a,0x00000666,0x00000632,0x000004c5,0x00000667,
-	0x000002ef,0x00050085,0x0000001a,0x000002f4,0x00000666,0x0000027b,0x0003003e,0x0000027e,
-	0x000002f4,0x000100fd,0x00010038
+	0x6e69616d,0x00000000,0x00050005,0x000000b7,0x736e6f43,0x746e6174,0x00000073,0x00070006,
+	0x000000b7,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x000000b7,
+	0x00000001,0x74786574,0x5f657275,0x65707974,0x00000000,0x00060006,0x000000b7,0x00000002,
+	0x75706e69,0x79745f74,0x00006570,0x00060006,0x000000b7,0x00000003,0x6f6c6f63,0x63735f72,
+	0x00656c61,0x00060006,0x000000b7,0x00000004,0x65786574,0x69735f6c,0x0000657a,0x00070006,
+	0x000000b7,0x00000005,0x656e6f74,0x5f70616d,0x6874656d,0x0000646f,0x00070006,0x000000b7,
+	0x00000006,0x656e6f74,0x5f70616d,0x74636166,0x0031726f,0x00070006,0x000000b7,0x00000007,
+	0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x000000b7,0x00000008,0x5f726473,
+	0x74696877,0x6f705f65,0x00746e69,0x00030005,0x000000b9,0x00000000,0x00050005,0x00000124,
+	0x74786574,0x30657275,0x00000000,0x00050005,0x0000012b,0x74786574,0x31657275,0x00000000,
+	0x00050005,0x00000290,0x75706e69,0x65742e74,0x00000078,0x00050005,0x00000293,0x75706e69,
+	0x6f632e74,0x00726f6c,0x00070005,0x00000297,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
+	0x00000074,0x00050048,0x000000b7,0x00000000,0x00000023,0x00000000,0x00050048,0x000000b7,
+	0x00000001,0x00000023,0x00000004,0x00050048,0x000000b7,0x00000002,0x00000023,0x00000008,
+	0x00050048,0x000000b7,0x00000003,0x00000023,0x0000000c,0x00050048,0x000000b7,0x00000004,
+	0x00000023,0x00000010,0x00050048,0x000000b7,0x00000005,0x00000023,0x00000020,0x00050048,
+	0x000000b7,0x00000006,0x00000023,0x00000024,0x00050048,0x000000b7,0x00000007,0x00000023,
+	0x00000028,0x00050048,0x000000b7,0x00000008,0x00000023,0x0000002c,0x00030047,0x000000b7,
+	0x00000002,0x00040047,0x000000b9,0x00000022,0x00000000,0x00040047,0x000000b9,0x00000021,
+	0x00000000,0x00040047,0x00000124,0x00000022,0x00000000,0x00040047,0x00000124,0x00000021,
+	0x00000001,0x00040047,0x0000012b,0x00000022,0x00000000,0x00040047,0x0000012b,0x00000021,
+	0x00000002,0x00040047,0x00000290,0x0000001e,0x00000000,0x00040047,0x00000293,0x0000001e,
+	0x00000001,0x00040047,0x00000297,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
+	0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x0000000c,0x00000006,
+	0x00000003,0x00040017,0x00000021,0x00000006,0x00000002,0x00040017,0x00000023,0x00000006,
+	0x00000004,0x0004002b,0x00000006,0x00000047,0x3d25aee6,0x00020014,0x00000048,0x0004002b,
+	0x00000006,0x0000004d,0x414eb852,0x0004002b,0x00000006,0x00000051,0x3d6147ae,0x0004002b,
+	0x00000006,0x00000054,0x3f870a3d,0x0004002b,0x00000006,0x00000056,0x4019999a,0x0004002b,
+	0x00000006,0x00000072,0x3b4d2e1c,0x0004002b,0x00000006,0x0000007b,0x3ed55555,0x0004002b,
+	0x00000006,0x00000097,0x3c4fcdac,0x0006002c,0x0000000c,0x00000098,0x00000097,0x00000097,
+	0x00000097,0x0004002b,0x00000006,0x0000009a,0x3f560000,0x0004002b,0x00000006,0x0000009d,
+	0x00000000,0x0006002c,0x0000000c,0x0000009e,0x0000009d,0x0000009d,0x0000009d,0x0004002b,
+	0x00000006,0x000000a1,0x4196d000,0x0004002b,0x00000006,0x000000a2,0x41958000,0x0004002b,
+	0x00000006,0x000000a9,0x461c4000,0x0004002b,0x00000006,0x000000ae,0x40c8e06b,0x0006002c,
+	0x0000000c,0x000000af,0x000000ae,0x000000ae,0x000000ae,0x000b001e,0x000000b7,0x00000006,
+	0x00000006,0x00000006,0x00000006,0x00000023,0x00000006,0x00000006,0x00000006,0x00000006,
+	0x00040020,0x000000b8,0x00000002,0x000000b7,0x0004003b,0x000000b8,0x000000b9,0x00000002,
+	0x00040015,0x000000ba,0x00000020,0x00000001,0x0004002b,0x000000ba,0x000000bb,0x00000008,
+	0x00040020,0x000000bc,0x00000002,0x00000006,0x0004002b,0x000000ba,0x000000c3,0x00000005,
+	0x0004002b,0x00000006,0x000000c6,0x3f800000,0x0004002b,0x000000ba,0x000000ca,0x00000006,
+	0x0004002b,0x00000006,0x000000d2,0x40000000,0x0004002b,0x000000ba,0x000000d6,0x00000002,
+	0x00040018,0x000000dd,0x0000000c,0x00000003,0x0004002b,0x00000006,0x000000de,0x3f209d8c,
+	0x0004002b,0x00000006,0x000000df,0x3ea897c8,0x0004002b,0x00000006,0x000000e0,0x3d3168f9,
+	0x0006002c,0x0000000c,0x000000e1,0x000000de,0x000000df,0x000000e0,0x0004002b,0x00000006,
+	0x000000e2,0x3d8d82ba,0x0004002b,0x00000006,0x000000e3,0x3f6b670a,0x0004002b,0x00000006,
+	0x000000e4,0x3c3a27af,0x0006002c,0x0000000c,0x000000e5,0x000000e2,0x000000e3,0x000000e4,
+	0x0004002b,0x00000006,0x000000e6,0x3c86466b,0x0004002b,0x00000006,0x000000e7,0x3db44029,
+	0x0004002b,0x00000006,0x000000e8,0x3f6545b7,0x0006002c,0x0000000c,0x000000e9,0x000000e6,
+	0x000000e7,0x000000e8,0x0006002c,0x000000dd,0x000000ea,0x000000e1,0x000000e5,0x000000e9,
+	0x0004002b,0x000000ba,0x000000ff,0x00000007,0x0004002b,0x00000006,0x0000010f,0x3fd48b22,
+	0x0004002b,0x00000006,0x00000110,0xbf1670a0,0x0004002b,0x00000006,0x00000111,0xbd952d23,
+	0x0006002c,0x0000000c,0x00000112,0x0000010f,0x00000110,0x00000111,0x0004002b,0x00000006,
+	0x00000113,0xbdff127f,0x0004002b,0x00000006,0x00000114,0x3f9102b4,0x0004002b,0x00000006,
+	0x00000115,0xbc08c60d,0x0006002c,0x0000000c,0x00000116,0x00000113,0x00000114,0x00000115,
+	0x0004002b,0x00000006,0x00000117,0xbc94b7b3,0x0004002b,0x00000006,0x00000118,0xbdce05cd,
+	0x0004002b,0x00000006,0x00000119,0x3f8f333c,0x0006002c,0x0000000c,0x0000011a,0x00000117,
+	0x00000118,0x00000119,0x0006002c,0x000000dd,0x0000011b,0x00000112,0x00000116,0x0000011a,
+	0x00090019,0x00000121,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
+	0x00000000,0x0003001b,0x00000122,0x00000121,0x00040020,0x00000123,0x00000000,0x00000122,
+	0x0004003b,0x00000123,0x00000124,0x00000000,0x0004002b,0x00000006,0x00000129,0x437f0000,
+	0x0004003b,0x00000123,0x0000012b,0x00000000,0x0004002b,0x00000006,0x0000012e,0x3f000000,
+	0x0004002b,0x000000ba,0x00000138,0x00000004,0x00040020,0x00000139,0x00000002,0x00000023,
+	0x0004002b,0x00000006,0x00000186,0x3727c5ac,0x0005002c,0x00000021,0x00000187,0x00000186,
+	0x00000186,0x0005002c,0x00000021,0x00000188,0x000000c6,0x000000c6,0x0004002b,0x000000ba,
+	0x000001a6,0x00000001,0x0004002b,0x00000006,0x000001b4,0x40400000,0x0004002b,0x00000006,
+	0x000001bf,0x40800000,0x0004002b,0x00000006,0x000001ca,0x40a00000,0x0004002b,0x000000ba,
+	0x000001e2,0x00000003,0x0004002b,0x000000ba,0x000001f2,0x00000000,0x00040020,0x0000028b,
+	0x00000001,0x00000023,0x00040020,0x0000028f,0x00000001,0x00000021,0x0004003b,0x0000028f,
+	0x00000290,0x00000001,0x0004003b,0x0000028b,0x00000293,0x00000001,0x00040020,0x00000296,
+	0x00000003,0x00000023,0x0004003b,0x00000296,0x00000297,0x00000003,0x0005002c,0x00000021,
+	0x00000650,0x0000012e,0x0000012e,0x0004002b,0x00000006,0x00000651,0x3b800000,0x0006002c,
+	0x0000000c,0x00000652,0x0000009a,0x0000009a,0x0000009a,0x0006002c,0x0000000c,0x00000653,
+	0x000000a1,0x000000a1,0x000000a1,0x0006002c,0x0000000c,0x00000658,0x000000c6,0x000000c6,
+	0x000000c6,0x0004002b,0x00000006,0x0000065e,0x3f72a76f,0x0004002b,0x00000006,0x0000065f,
+	0x3d9e8391,0x0007002c,0x00000023,0x00000661,0x000000c6,0x0000009d,0x000000c6,0x000000c6,
+	0x0004002b,0x00000006,0x00000662,0xbd6147ae,0x00030001,0x00000023,0x0000069a,0x00050036,
+	0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000021,
+	0x00000291,0x00000290,0x0004003d,0x00000023,0x00000294,0x00000293,0x00050041,0x000000bc,
+	0x00000316,0x000000b9,0x000001a6,0x0004003d,0x00000006,0x00000317,0x00000316,0x000500b4,
+	0x00000048,0x00000318,0x00000317,0x000000c6,0x000300f7,0x00000340,0x00000000,0x000400fa,
+	0x00000318,0x00000319,0x0000031e,0x000200f8,0x00000319,0x0004003d,0x00000122,0x0000031a,
+	0x00000124,0x00050057,0x00000023,0x0000031d,0x0000031a,0x00000291,0x000200f9,0x00000340,
+	0x000200f8,0x0000031e,0x00050041,0x000000bc,0x0000031f,0x000000b9,0x000001a6,0x0004003d,
+	0x00000006,0x00000320,0x0000031f,0x000500b4,0x00000048,0x00000321,0x00000320,0x000001b4,
+	0x000300f7,0x0000033f,0x00000000,0x000400fa,0x00000321,0x00000322,0x00000326,0x000200f8,
+	0x00000322,0x0004003d,0x00000122,0x00000345,0x00000124,0x00050057,0x00000023,0x00000347,
+	0x00000345,0x00000291,0x00050051,0x00000006,0x00000348,0x00000347,0x00000000,0x0004003d,
+	0x00000122,0x0000034a,0x0000012b,0x0008000c,0x00000006,0x0000034c,0x00000001,0x00000032,
+	0x00000348,0x00000129,0x0000012e,0x00050085,0x00000006,0x0000034d,0x0000034c,0x00000651,
+	0x00050050,0x00000021,0x0000034e,0x0000034d,0x0000012e,0x00050057,0x00000023,0x0000034f,
+	0x0000034a,0x0000034e,0x000200f9,0x0000033f,0x000200f8,0x00000326,0x00050041,0x000000bc,
+	0x00000327,0x000000b9,0x000001a6,0x0004003d,0x00000006,0x00000328,0x00000327,0x000500b4,
+	0x00000048,0x00000329,0x00000328,0x000001bf,0x000300f7,0x0000033e,0x00000000,0x000400fa,
+	0x00000329,0x0000032a,0x0000032e,0x000200f8,0x0000032a,0x00050041,0x00000139,0x0000035e,
+	0x000000b9,0x00000138,0x0004003d,0x00000023,0x0000035f,0x0000035e,0x0007004f,0x00000021,
+	0x00000360,0x0000035f,0x0000035f,0x00000002,0x00000003,0x0008000c,0x00000021,0x00000363,
+	0x00000001,0x00000032,0x00000291,0x00000360,0x00000650,0x0006000c,0x00000021,0x00000365,
+	0x00000001,0x00000008,0x00000363,0x00050083,0x00000021,0x00000367,0x00000365,0x00000650,
+	0x00050041,0x00000139,0x00000368,0x000000b9,0x00000138,0x0004003d,0x00000023,0x00000369,
+	0x00000368,0x0007004f,0x00000021,0x0000036a,0x00000369,0x00000369,0x00000000,0x00000001,
+	0x00050085,0x00000021,0x0000036b,0x00000367,0x0000036a,0x0006000c,0x00000021,0x0000036d,
+	0x00000001,0x00000008,0x00000363,0x00050081,0x00000021,0x0000036f,0x0000036d,0x00000650,
+	0x00050041,0x00000139,0x00000370,0x000000b9,0x00000138,0x0004003d,0x00000023,0x00000371,
+	0x00000370,0x0007004f,0x00000021,0x00000372,0x00000371,0x00000371,0x00000000,0x00000001,
+	0x00050085,0x00000021,0x00000373,0x0000036f,0x00000372,0x00050051,0x00000006,0x00000374,
+	0x0000036b,0x00000000,0x00050051,0x00000006,0x00000375,0x0000036b,0x00000001,0x00050051,
+	0x00000006,0x00000376,0x00000373,0x00000000,0x00050051,0x00000006,0x00000377,0x00000373,
+	0x00000001,0x00070050,0x00000023,0x00000378,0x00000374,0x00000375,0x00000376,0x00000377,
+	0x0006000c,0x00000021,0x0000037a,0x00000001,0x0000000a,0x00000363,0x0007004f,0x00000021,
+	0x0000037c,0x00000378,0x00000378,0x00000000,0x00000001,0x0004003d,0x00000122,0x0000039a,
+	0x00000124,0x00050057,0x00000023,0x0000039c,0x0000039a,0x0000037c,0x00050051,0x00000006,
+	0x0000039d,0x0000039c,0x00000000,0x0004003d,0x00000122,0x0000039f,0x0000012b,0x0008000c,
+	0x00000006,0x000003a1,0x00000001,0x00000032,0x0000039d,0x00000129,0x0000012e,0x00050085,
+	0x00000006,0x000003a2,0x000003a1,0x00000651,0x00050050,0x00000021,0x000003a3,0x000003a2,
+	0x0000012e,0x00050057,0x00000023,0x000003a4,0x0000039f,0x000003a3,0x0007004f,0x00000021,
+	0x0000037f,0x00000378,0x00000378,0x00000000,0x00000003,0x0004003d,0x00000122,0x000003a8,
+	0x00000124,0x00050057,0x00000023,0x000003aa,0x000003a8,0x0000037f,0x00050051,0x00000006,
+	0x000003ab,0x000003aa,0x00000000,0x0004003d,0x00000122,0x000003ad,0x0000012b,0x0008000c,
+	0x00000006,0x000003af,0x00000001,0x00000032,0x000003ab,0x00000129,0x0000012e,0x00050085,
+	0x00000006,0x000003b0,0x000003af,0x00000651,0x00050050,0x00000021,0x000003b1,0x000003b0,
+	0x0000012e,0x00050057,0x00000023,0x000003b2,0x000003ad,0x000003b1,0x0007004f,0x00000021,
+	0x00000382,0x00000378,0x00000378,0x00000002,0x00000001,0x0004003d,0x00000122,0x000003b6,
+	0x00000124,0x00050057,0x00000023,0x000003b8,0x000003b6,0x00000382,0x00050051,0x00000006,
+	0x000003b9,0x000003b8,0x00000000,0x0004003d,0x00000122,0x000003bb,0x0000012b,0x0008000c,
+	0x00000006,0x000003bd,0x00000001,0x00000032,0x000003b9,0x00000129,0x0000012e,0x00050085,
+	0x00000006,0x000003be,0x000003bd,0x00000651,0x00050050,0x00000021,0x000003bf,0x000003be,
+	0x0000012e,0x00050057,0x00000023,0x000003c0,0x000003bb,0x000003bf,0x0007004f,0x00000021,
+	0x00000385,0x00000378,0x00000378,0x00000002,0x00000003,0x0004003d,0x00000122,0x000003c4,
+	0x00000124,0x00050057,0x00000023,0x000003c6,0x000003c4,0x00000385,0x00050051,0x00000006,
+	0x000003c7,0x000003c6,0x00000000,0x0004003d,0x00000122,0x000003c9,0x0000012b,0x0008000c,
+	0x00000006,0x000003cb,0x00000001,0x00000032,0x000003c7,0x00000129,0x0000012e,0x00050085,
+	0x00000006,0x000003cc,0x000003cb,0x00000651,0x00050050,0x00000021,0x000003cd,0x000003cc,
+	0x0000012e,0x00050057,0x00000023,0x000003ce,0x000003c9,0x000003cd,0x00050051,0x00000006,
+	0x0000038a,0x0000037a,0x00000001,0x00070050,0x00000023,0x0000038b,0x0000038a,0x0000038a,
+	0x0000038a,0x0000038a,0x0008000c,0x00000023,0x0000038c,0x00000001,0x0000002e,0x000003a4,
+	0x000003b2,0x0000038b,0x00050051,0x00000006,0x00000390,0x0000037a,0x00000001,0x00070050,
+	0x00000023,0x00000391,0x00000390,0x00000390,0x00000390,0x00000390,0x0008000c,0x00000023,
+	0x00000392,0x00000001,0x0000002e,0x000003c0,0x000003ce,0x00000391,0x00050051,0x00000006,
+	0x00000394,0x0000037a,0x00000000,0x00070050,0x00000023,0x00000395,0x00000394,0x00000394,
+	0x00000394,0x00000394,0x0008000c,0x00000023,0x00000396,0x00000001,0x0000002e,0x0000038c,
+	0x00000392,0x00000395,0x000200f9,0x0000033e,0x000200f8,0x0000032e,0x00050041,0x000000bc,
+	0x0000032f,0x000000b9,0x000001a6,0x0004003d,0x00000006,0x00000330,0x0000032f,0x000500b4,
+	0x00000048,0x00000331,0x00000330,0x000001ca,0x000300f7,0x0000033d,0x00000000,0x000400fa,
+	0x00000331,0x00000332,0x00000338,0x000200f8,0x00000332,0x000400d1,0x00000021,0x000003d5,
+	0x00000291,0x00050041,0x00000139,0x000003d6,0x000000b9,0x00000138,0x0004003d,0x00000023,
+	0x000003d7,0x000003d6,0x0007004f,0x00000021,0x000003d8,0x000003d7,0x000003d7,0x00000002,
+	0x00000003,0x00050085,0x00000021,0x000003d9,0x000003d5,0x000003d8,0x0008000c,0x00000021,
+	0x000003da,0x00000001,0x0000002b,0x000003d9,0x00000187,0x00000188,0x00050041,0x00000139,
+	0x000003dc,0x000000b9,0x00000138,0x0004003d,0x00000023,0x000003dd,0x000003dc,0x0007004f,
+	0x00000021,0x000003de,0x000003dd,0x000003dd,0x00000002,0x00000003,0x0005008e,0x00000021,
+	0x000003e1,0x000003da,0x0000012e,0x0004007f,0x00000021,0x0000064f,0x000003e1,0x0008000c,
+	0x00000021,0x000003e2,0x00000001,0x00000032,0x00000291,0x000003de,0x0000064f,0x00050083,
+	0x00000021,0x000003e5,0x00000188,0x000003da,0x0006000c,0x00000021,0x000003e7,0x00000001,
+	0x0000000a,0x000003e2,0x0008000c,0x00000021,0x000003e8,0x00000001,0x00000031,0x000003e5,
+	0x00000188,0x000003e7,0x0006000c,0x00000021,0x000003ea,0x00000001,0x00000008,0x000003e2,
+	0x00050081,0x00000021,0x000003ec,0x000003ea,0x00000650,0x00050081,0x00000021,0x000003ee,
+	0x000003ec,0x000003e8,0x00050041,0x00000139,0x000003ef,0x000000b9,0x00000138,0x0004003d,
+	0x00000023,0x000003f0,0x000003ef,0x0007004f,0x00000021,0x000003f1,0x000003f0,0x000003f0,
+	0x00000000,0x00000001,0x00050085,0x00000021,0x000003f2,0x000003ee,0x000003f1,0x00050041,
+	0x00000139,0x00000401,0x000000b9,0x00000138,0x0004003d,0x00000023,0x00000402,0x00000401,
+	0x0007004f,0x00000021,0x00000403,0x00000402,0x00000402,0x00000002,0x00000003,0x0008000c,
+	0x00000021,0x00000406,0x00000001,0x00000032,0x000003f2,0x00000403,0x00000650,0x0006000c,
+	0x00000021,0x00000408,0x00000001,0x00000008,0x00000406,0x00050083,0x00000021,0x0000040a,
+	0x00000408,0x00000650,0x00050041,0x00000139,0x0000040b,0x000000b9,0x00000138,0x0004003d,
+	0x00000023,0x0000040c,0x0000040b,0x0007004f,0x00000021,0x0000040d,0x0000040c,0x0000040c,
+	0x00000000,0x00000001,0x00050085,0x00000021,0x0000040e,0x0000040a,0x0000040d,0x0006000c,
+	0x00000021,0x00000410,0x00000001,0x00000008,0x00000406,0x00050081,0x00000021,0x00000412,
+	0x00000410,0x00000650,0x00050041,0x00000139,0x00000413,0x000000b9,0x00000138,0x0004003d,
+	0x00000023,0x00000414,0x00000413,0x0007004f,0x00000021,0x00000415,0x00000414,0x00000414,
+	0x00000000,0x00000001,0x00050085,0x00000021,0x00000416,0x00000412,0x00000415,0x00050051,
+	0x00000006,0x00000417,0x0000040e,0x00000000,0x00050051,0x00000006,0x00000418,0x0000040e,
+	0x00000001,0x00050051,0x00000006,0x00000419,0x00000416,0x00000000,0x00050051,0x00000006,
+	0x0000041a,0x00000416,0x00000001,0x00070050,0x00000023,0x0000041b,0x00000417,0x00000418,
+	0x00000419,0x0000041a,0x0006000c,0x00000021,0x0000041d,0x00000001,0x0000000a,0x00000406,
+	0x0007004f,0x00000021,0x0000041f,0x0000041b,0x0000041b,0x00000000,0x00000001,0x0004003d,
+	0x00000122,0x0000043d,0x00000124,0x00050057,0x00000023,0x0000043f,0x0000043d,0x0000041f,
+	0x00050051,0x00000006,0x00000440,0x0000043f,0x00000000,0x0004003d,0x00000122,0x00000442,
+	0x0000012b,0x0008000c,0x00000006,0x00000444,0x00000001,0x00000032,0x00000440,0x00000129,
+	0x0000012e,0x00050085,0x00000006,0x00000445,0x00000444,0x00000651,0x00050050,0x00000021,
+	0x00000446,0x00000445,0x0000012e,0x00050057,0x00000023,0x00000447,0x00000442,0x00000446,
+	0x0007004f,0x00000021,0x00000422,0x0000041b,0x0000041b,0x00000000,0x00000003,0x0004003d,
+	0x00000122,0x0000044b,0x00000124,0x00050057,0x00000023,0x0000044d,0x0000044b,0x00000422,
+	0x00050051,0x00000006,0x0000044e,0x0000044d,0x00000000,0x0004003d,0x00000122,0x00000450,
+	0x0000012b,0x0008000c,0x00000006,0x00000452,0x00000001,0x00000032,0x0000044e,0x00000129,
+	0x0000012e,0x00050085,0x00000006,0x00000453,0x00000452,0x00000651,0x00050050,0x00000021,
+	0x00000454,0x00000453,0x0000012e,0x00050057,0x00000023,0x00000455,0x00000450,0x00000454,
+	0x0007004f,0x00000021,0x00000425,0x0000041b,0x0000041b,0x00000002,0x00000001,0x0004003d,
+	0x00000122,0x00000459,0x00000124,0x00050057,0x00000023,0x0000045b,0x00000459,0x00000425,
+	0x00050051,0x00000006,0x0000045c,0x0000045b,0x00000000,0x0004003d,0x00000122,0x0000045e,
+	0x0000012b,0x0008000c,0x00000006,0x00000460,0x00000001,0x00000032,0x0000045c,0x00000129,
+	0x0000012e,0x00050085,0x00000006,0x00000461,0x00000460,0x00000651,0x00050050,0x00000021,
+	0x00000462,0x00000461,0x0000012e,0x00050057,0x00000023,0x00000463,0x0000045e,0x00000462,
+	0x0007004f,0x00000021,0x00000428,0x0000041b,0x0000041b,0x00000002,0x00000003,0x0004003d,
+	0x00000122,0x00000467,0x00000124,0x00050057,0x00000023,0x00000469,0x00000467,0x00000428,
+	0x00050051,0x00000006,0x0000046a,0x00000469,0x00000000,0x0004003d,0x00000122,0x0000046c,
+	0x0000012b,0x0008000c,0x00000006,0x0000046e,0x00000001,0x00000032,0x0000046a,0x00000129,
+	0x0000012e,0x00050085,0x00000006,0x0000046f,0x0000046e,0x00000651,0x00050050,0x00000021,
+	0x00000470,0x0000046f,0x0000012e,0x00050057,0x00000023,0x00000471,0x0000046c,0x00000470,
+	0x00050051,0x00000006,0x0000042d,0x0000041d,0x00000001,0x00070050,0x00000023,0x0000042e,
+	0x0000042d,0x0000042d,0x0000042d,0x0000042d,0x0008000c,0x00000023,0x0000042f,0x00000001,
+	0x0000002e,0x00000447,0x00000455,0x0000042e,0x00050051,0x00000006,0x00000433,0x0000041d,
+	0x00000001,0x00070050,0x00000023,0x00000434,0x00000433,0x00000433,0x00000433,0x00000433,
+	0x0008000c,0x00000023,0x00000435,0x00000001,0x0000002e,0x00000463,0x00000471,0x00000434,
+	0x00050051,0x00000006,0x00000437,0x0000041d,0x00000000,0x00070050,0x00000023,0x00000438,
+	0x00000437,0x00000437,0x00000437,0x00000437,0x0008000c,0x00000023,0x00000439,0x00000001,
+	0x0000002e,0x0000042f,0x00000435,0x00000438,0x000200f9,0x0000033d,0x000200f8,0x00000338,
+	0x000200f9,0x0000033d,0x000200f8,0x0000033d,0x000700f5,0x00000023,0x00000666,0x00000439,
+	0x00000332,0x00000661,0x00000338,0x000200f9,0x0000033e,0x000200f8,0x0000033e,0x000700f5,
+	0x00000023,0x00000665,0x00000396,0x0000032a,0x00000666,0x0000033d,0x000200f9,0x0000033f,
+	0x000200f8,0x0000033f,0x000700f5,0x00000023,0x00000664,0x0000034f,0x00000322,0x00000665,
+	0x0000033e,0x000200f9,0x00000340,0x000200f8,0x00000340,0x000700f5,0x00000023,0x00000663,
+	0x0000031d,0x00000319,0x00000664,0x0000033f,0x00050041,0x000000bc,0x000002ad,0x000000b9,
+	0x000000d6,0x0004003d,0x00000006,0x000002ae,0x000002ad,0x000500b4,0x00000048,0x000002af,
+	0x000002ae,0x000001b4,0x000300f7,0x000002ba,0x00000000,0x000400fa,0x000002af,0x000002b0,
+	0x000002ba,0x000200f8,0x000002b0,0x0008004f,0x0000000c,0x000002b2,0x00000663,0x00000663,
+	0x00000000,0x00000001,0x00000002,0x0006000c,0x0000000c,0x00000480,0x00000001,0x00000004,
+	0x000002b2,0x0007000c,0x0000000c,0x00000481,0x00000001,0x0000001a,0x00000480,0x00000098,
+	0x00050083,0x0000000c,0x00000483,0x00000481,0x00000652,0x0007000c,0x0000000c,0x00000484,
+	0x00000001,0x00000028,0x00000483,0x0000009e,0x0006000c,0x0000000c,0x00000486,0x00000001,
+	0x00000004,0x000002b2,0x0007000c,0x0000000c,0x00000487,0x00000001,0x0000001a,0x00000486,
+	0x00000098,0x0005008e,0x0000000c,0x00000488,0x00000487,0x000000a2,0x00050083,0x0000000c,
+	0x0000048a,0x00000653,0x00000488,0x00050088,0x0000000c,0x0000048d,0x00000484,0x0000048a,
+	0x0006000c,0x0000000c,0x0000048e,0x00000001,0x00000004,0x0000048d,0x0007000c,0x0000000c,
+	0x0000048f,0x00000001,0x0000001a,0x0000048e,0x000000af,0x0005008e,0x0000000c,0x00000490,
+	0x0000048f,0x000000a9,0x00050041,0x000000bc,0x00000477,0x000000b9,0x000000bb,0x0004003d,
+	0x00000006,0x00000478,0x00000477,0x00060050,0x0000000c,0x00000479,0x00000478,0x00000478,
+	0x00000478,0x00050088,0x0000000c,0x0000047a,0x00000490,0x00000479,0x00050051,0x00000006,
+	0x000002b5,0x0000047a,0x00000000,0x00060052,0x00000023,0x000005fb,0x000002b5,0x00000663,
+	0x00000000,0x00050051,0x00000006,0x000002b7,0x0000047a,0x00000001,0x00060052,0x00000023,
+	0x000005fd,0x000002b7,0x000005fb,0x00000001,0x00050051,0x00000006,0x000002b9,0x0000047a,
+	0x00000002,0x00060052,0x00000023,0x000005ff,0x000002b9,0x000005fd,0x00000002,0x000200f9,
+	0x000002ba,0x000200f8,0x000002ba,0x000700f5,0x00000023,0x00000667,0x00000663,0x00000340,
+	0x000005ff,0x000002b0,0x00050041,0x000000bc,0x000002bb,0x000000b9,0x000000c3,0x0004003d,
+	0x00000006,0x000002bc,0x000002bb,0x000500b7,0x00000048,0x000002bd,0x000002bc,0x0000009d,
+	0x000300f7,0x000002c8,0x00000000,0x000400fa,0x000002bd,0x000002be,0x000002c8,0x000200f8,
+	0x000002be,0x0008004f,0x0000000c,0x000002c0,0x00000667,0x00000667,0x00000000,0x00000001,
+	0x00000002,0x00050041,0x000000bc,0x00000495,0x000000b9,0x000000c3,0x0004003d,0x00000006,
+	0x00000496,0x00000495,0x000500b4,0x00000048,0x00000497,0x00000496,0x000000c6,0x000300f7,
+	0x000004cb,0x00000000,0x000400fa,0x00000497,0x00000498,0x0000049d,0x000200f8,0x00000498,
+	0x00050041,0x000000bc,0x00000499,0x000000b9,0x000000ca,0x0004003d,0x00000006,0x0000049a,
+	0x00000499,0x0005008e,0x0000000c,0x0000049c,0x000002c0,0x0000049a,0x000200f9,0x000004cb,
+	0x000200f8,0x0000049d,0x00050041,0x000000bc,0x0000049e,0x000000b9,0x000000c3,0x0004003d,
+	0x00000006,0x0000049f,0x0000049e,0x000500b4,0x00000048,0x000004a0,0x0000049f,0x000000d2,
+	0x000300f7,0x000004ca,0x00000000,0x000400fa,0x000004a0,0x000004a1,0x000004ca,0x000200f8,
+	0x000004a1,0x00050041,0x000000bc,0x000004a2,0x000000b9,0x000000d6,0x0004003d,0x00000006,
+	0x000004a3,0x000004a2,0x000500b4,0x00000048,0x000004a4,0x000004a3,0x000000d2,0x000300f7,
+	0x000004a8,0x00000000,0x000400fa,0x000004a4,0x000004a5,0x000004a8,0x000200f8,0x000004a5,
+	0x00050090,0x0000000c,0x000004a7,0x000002c0,0x000000ea,0x000200f9,0x000004a8,0x000200f8,
+	0x000004a8,0x000700f5,0x0000000c,0x00000668,0x000002c0,0x000004a1,0x000004a7,0x000004a5,
+	0x00050051,0x00000006,0x000004aa,0x00000668,0x00000000,0x00050051,0x00000006,0x000004ac,
+	0x00000668,0x00000001,0x00050051,0x00000006,0x000004ae,0x00000668,0x00000002,0x0007000c,
+	0x00000006,0x000004af,0x00000001,0x00000028,0x000004ac,0x000004ae,0x0007000c,0x00000006,
+	0x000004b0,0x00000001,0x00000028,0x000004aa,0x000004af,0x000500ba,0x00000048,0x000004b2,
+	0x000004b0,0x0000009d,0x000300f7,0x000004c2,0x00000000,0x000400fa,0x000004b2,0x000004b3,
+	0x000004c2,0x000200f8,0x000004b3,0x00050041,0x000000bc,0x000004b4,0x000000b9,0x000000ca,
+	0x0004003d,0x00000006,0x000004b5,0x000004b4,0x0008000c,0x00000006,0x000004b8,0x00000001,
+	0x00000032,0x000004b5,0x000004b0,0x000000c6,0x00050041,0x000000bc,0x000004b9,0x000000b9,
+	0x000000ff,0x0004003d,0x00000006,0x000004ba,0x000004b9,0x0008000c,0x00000006,0x000004bd,
+	0x00000001,0x00000032,0x000004ba,0x000004b0,0x000000c6,0x00050088,0x00000006,0x000004be,
+	0x000004b8,0x000004bd,0x0005008e,0x0000000c,0x000004c1,0x00000668,0x000004be,0x000200f9,
+	0x000004c2,0x000200f8,0x000004c2,0x000700f5,0x0000000c,0x00000669,0x00000668,0x000004a8,
+	0x000004c1,0x000004b3,0x00050041,0x000000bc,0x000004c3,0x000000b9,0x000000d6,0x0004003d,
+	0x00000006,0x000004c4,0x000004c3,0x000500b4,0x00000048,0x000004c5,0x000004c4,0x000000d2,
+	0x000300f7,0x000004c9,0x00000000,0x000400fa,0x000004c5,0x000004c6,0x000004c9,0x000200f8,
+	0x000004c6,0x00050090,0x0000000c,0x000004c8,0x00000669,0x0000011b,0x000200f9,0x000004c9,
+	0x000200f8,0x000004c9,0x000700f5,0x0000000c,0x0000066c,0x00000669,0x000004c2,0x000004c8,
+	0x000004c6,0x000200f9,0x000004ca,0x000200f8,0x000004ca,0x000700f5,0x0000000c,0x0000066b,
+	0x000002c0,0x0000049d,0x0000066c,0x000004c9,0x000200f9,0x000004cb,0x000200f8,0x000004cb,
+	0x000700f5,0x0000000c,0x0000066a,0x0000049c,0x00000498,0x0000066b,0x000004ca,0x00050051,
+	0x00000006,0x000002c3,0x0000066a,0x00000000,0x00060052,0x00000023,0x00000604,0x000002c3,
+	0x00000667,0x00000000,0x00050051,0x00000006,0x000002c5,0x0000066a,0x00000001,0x00060052,
+	0x00000023,0x00000606,0x000002c5,0x00000604,0x00000001,0x00050051,0x00000006,0x000002c7,
+	0x0000066a,0x00000002,0x00060052,0x00000023,0x00000608,0x000002c7,0x00000606,0x00000002,
+	0x000200f9,0x000002c8,0x000200f8,0x000002c8,0x000700f5,0x00000023,0x00000672,0x00000667,
+	0x000002ba,0x00000608,0x000004cb,0x00050041,0x000000bc,0x000002c9,0x000000b9,0x000000d6,
+	0x0004003d,0x00000006,0x000002ca,0x000002c9,0x000500b4,0x00000048,0x000002cb,0x000002ca,
+	0x000000c6,0x000300f7,0x00000309,0x00000000,0x000400fa,0x000002cb,0x000002cc,0x000002d9,
+	0x000200f8,0x000002cc,0x0008004f,0x0000000c,0x000002ce,0x00000672,0x00000672,0x00000000,
+	0x00000001,0x00000002,0x00050041,0x000000bc,0x000004d1,0x000000b9,0x000001f2,0x0004003d,
+	0x00000006,0x000004d2,0x000004d1,0x000500b7,0x00000048,0x000004d3,0x000004d2,0x0000009d,
+	0x000300f7,0x000004d7,0x00000000,0x000400fa,0x000004d3,0x000004d4,0x000004d7,0x000200f8,
+	0x000004d4,0x00050051,0x00000006,0x000004e3,0x00000672,0x00000000,0x000500bc,0x00000048,
+	0x000004f2,0x000004e3,0x00000047,0x000300f7,0x000004fc,0x00000000,0x000400fa,0x000004f2,
+	0x000004f3,0x000004f6,0x000200f8,0x000004f3,0x00050085,0x00000006,0x000004f5,0x000004e3,
+	0x0000065f,0x000200f9,0x000004fc,0x000200f8,0x000004f6,0x00050081,0x00000006,0x000004f8,
+	0x000004e3,0x00000051,0x0006000c,0x00000006,0x000004f9,0x00000001,0x00000004,0x000004f8,
+	0x00050085,0x00000006,0x000004fa,0x000004f9,0x0000065e,0x0007000c,0x00000006,0x000004fb,
+	0x00000001,0x0000001a,0x000004fa,0x00000056,0x000200f9,0x000004fc,0x000200f8,0x000004fc,
+	0x000700f5,0x00000006,0x00000689,0x000004f5,0x000004f3,0x000004fb,0x000004f6,0x00050051,
+	0x00000006,0x000004e7,0x00000672,0x00000001,0x000500bc,0x00000048,0x00000501,0x000004e7,
+	0x00000047,0x000300f7,0x0000050b,0x00000000,0x000400fa,0x00000501,0x00000502,0x00000505,
+	0x000200f8,0x00000502,0x00050085,0x00000006,0x00000504,0x000004e7,0x0000065f,0x000200f9,
+	0x0000050b,0x000200f8,0x00000505,0x00050081,0x00000006,0x00000507,0x000004e7,0x00000051,
+	0x0006000c,0x00000006,0x00000508,0x00000001,0x00000004,0x00000507,0x00050085,0x00000006,
+	0x00000509,0x00000508,0x0000065e,0x0007000c,0x00000006,0x0000050a,0x00000001,0x0000001a,
+	0x00000509,0x00000056,0x000200f9,0x0000050b,0x000200f8,0x0000050b,0x000700f5,0x00000006,
+	0x0000068b,0x00000504,0x00000502,0x0000050a,0x00000505,0x00050051,0x00000006,0x000004eb,
+	0x00000672,0x00000002,0x000500bc,0x00000048,0x00000510,0x000004eb,0x00000047,0x000300f7,
+	0x0000051a,0x00000000,0x000400fa,0x00000510,0x00000511,0x00000514,0x000200f8,0x00000511,
+	0x00050085,0x00000006,0x00000513,0x000004eb,0x0000065f,0x000200f9,0x0000051a,0x000200f8,
+	0x00000514,0x00050081,0x00000006,0x00000516,0x000004eb,0x00000051,0x0006000c,0x00000006,
+	0x00000517,0x00000001,0x00000004,0x00000516,0x00050085,0x00000006,0x00000518,0x00000517,
+	0x0000065e,0x0007000c,0x00000006,0x00000519,0x00000001,0x0000001a,0x00000518,0x00000056,
+	0x000200f9,0x0000051a,0x000200f8,0x0000051a,0x000700f5,0x00000006,0x0000068d,0x00000513,
+	0x00000511,0x00000519,0x00000514,0x00060050,0x0000000c,0x00000699,0x00000689,0x0000068b,
+	0x0000068d,0x000200f9,0x000004d7,0x000200f8,0x000004d7,0x000700f5,0x0000000c,0x0000068f,
+	0x000002ce,0x000002cc,0x00000699,0x0000051a,0x00050041,0x000000bc,0x000004d9,0x000000b9,
+	0x000001e2,0x0004003d,0x00000006,0x000004da,0x000004d9,0x0005008e,0x0000000c,0x000004db,
+	0x0000068f,0x000004da,0x00050051,0x00000006,0x000002d1,0x000004db,0x00000000,0x00050051,
+	0x00000006,0x000002d3,0x000004db,0x00000001,0x00050051,0x00000006,0x000002d5,0x000004db,
+	0x00000002,0x00050051,0x00000006,0x000002d7,0x00000672,0x00000003,0x00070050,0x00000023,
+	0x00000660,0x000002d1,0x000002d3,0x000002d5,0x000002d7,0x000200f9,0x00000309,0x000200f8,
+	0x000002d9,0x00050041,0x000000bc,0x000002da,0x000000b9,0x000000d6,0x0004003d,0x00000006,
+	0x000002db,0x000002da,0x000500b4,0x00000048,0x000002dc,0x000002db,0x000000d2,0x000300f7,
+	0x00000308,0x00000000,0x000400fa,0x000002dc,0x000002dd,0x000002ea,0x000200f8,0x000002dd,
+	0x0008004f,0x0000000c,0x000002df,0x00000672,0x00000672,0x00000000,0x00000001,0x00000002,
+	0x00050041,0x000000bc,0x00000521,0x000000b9,0x000001e2,0x0004003d,0x00000006,0x00000522,
+	0x00000521,0x0005008e,0x0000000c,0x00000523,0x000002df,0x00000522,0x00050041,0x000000bc,
+	0x00000524,0x000000b9,0x000001f2,0x0004003d,0x00000006,0x00000525,0x00000524,0x000500b7,
+	0x00000048,0x00000526,0x00000525,0x0000009d,0x000400a8,0x00000048,0x00000527,0x00000526,
+	0x000300f7,0x0000052e,0x00000000,0x000400fa,0x00000527,0x00000528,0x0000052e,0x000200f8,
+	0x00000528,0x00050051,0x00000006,0x00000536,0x00000523,0x00000000,0x000500bc,0x00000048,
+	0x00000545,0x00000536,0x00000072,0x000300f7,0x0000054f,0x00000000,0x000400fa,0x00000545,
+	0x00000546,0x00000549,0x000200f8,0x00000546,0x00050085,0x00000006,0x00000548,0x00000536,
+	0x0000004d,0x000200f9,0x0000054f,0x000200f8,0x00000549,0x0006000c,0x00000006,0x0000054b,
+	0x00000001,0x00000004,0x00000536,0x0007000c,0x00000006,0x0000054c,0x00000001,0x0000001a,
+	0x0000054b,0x0000007b,0x0008000c,0x00000006,0x0000054e,0x00000001,0x00000032,0x0000054c,
+	0x00000054,0x00000662,0x000200f9,0x0000054f,0x000200f8,0x0000054f,0x000700f5,0x00000006,
+	0x0000067e,0x00000548,0x00000546,0x0000054e,0x00000549,0x00050051,0x00000006,0x0000053a,
+	0x00000523,0x00000001,0x000500bc,0x00000048,0x00000554,0x0000053a,0x00000072,0x000300f7,
+	0x0000055e,0x00000000,0x000400fa,0x00000554,0x00000555,0x00000558,0x000200f8,0x00000555,
+	0x00050085,0x00000006,0x00000557,0x0000053a,0x0000004d,0x000200f9,0x0000055e,0x000200f8,
+	0x00000558,0x0006000c,0x00000006,0x0000055a,0x00000001,0x00000004,0x0000053a,0x0007000c,
+	0x00000006,0x0000055b,0x00000001,0x0000001a,0x0000055a,0x0000007b,0x0008000c,0x00000006,
+	0x0000055d,0x00000001,0x00000032,0x0000055b,0x00000054,0x00000662,0x000200f9,0x0000055e,
+	0x000200f8,0x0000055e,0x000700f5,0x00000006,0x00000680,0x00000557,0x00000555,0x0000055d,
+	0x00000558,0x00050051,0x00000006,0x0000053e,0x00000523,0x00000002,0x000500bc,0x00000048,
+	0x00000563,0x0000053e,0x00000072,0x000300f7,0x0000056d,0x00000000,0x000400fa,0x00000563,
+	0x00000564,0x00000567,0x000200f8,0x00000564,0x00050085,0x00000006,0x00000566,0x0000053e,
+	0x0000004d,0x000200f9,0x0000056d,0x000200f8,0x00000567,0x0006000c,0x00000006,0x00000569,
+	0x00000001,0x00000004,0x0000053e,0x0007000c,0x00000006,0x0000056a,0x00000001,0x0000001a,
+	0x00000569,0x0000007b,0x0008000c,0x00000006,0x0000056c,0x00000001,0x00000032,0x0000056a,
+	0x00000054,0x00000662,0x000200f9,0x0000056d,0x000200f8,0x0000056d,0x000700f5,0x00000006,
+	0x00000682,0x00000566,0x00000564,0x0000056c,0x00000567,0x00060050,0x0000000c,0x00000698,
+	0x0000067e,0x00000680,0x00000682,0x0008000c,0x0000000c,0x0000052d,0x00000001,0x0000002b,
+	0x00000698,0x0000009e,0x00000658,0x000200f9,0x0000052e,0x000200f8,0x0000052e,0x000700f5,
+	0x0000000c,0x00000684,0x00000523,0x000002dd,0x0000052d,0x0000056d,0x00050051,0x00000006,
+	0x000002e2,0x00000684,0x00000000,0x00050051,0x00000006,0x000002e4,0x00000684,0x00000001,
+	0x00050051,0x00000006,0x000002e6,0x00000684,0x00000002,0x00050051,0x00000006,0x000002e8,
+	0x00000672,0x00000003,0x00070050,0x00000023,0x0000065d,0x000002e2,0x000002e4,0x000002e6,
+	0x000002e8,0x000200f9,0x00000308,0x000200f8,0x000002ea,0x00050041,0x000000bc,0x000002eb,
+	0x000000b9,0x000000d6,0x0004003d,0x00000006,0x000002ec,0x000002eb,0x000500b4,0x00000048,
+	0x000002ed,0x000002ec,0x000001b4,0x000300f7,0x00000307,0x00000000,0x000400fa,0x000002ed,
+	0x000002ee,0x00000304,0x000200f8,0x000002ee,0x0008004f,0x0000000c,0x000002f0,0x00000672,
+	0x00000672,0x00000000,0x00000001,0x00000002,0x00050090,0x0000000c,0x000002f1,0x000002f0,
+	0x0000011b,0x00050051,0x00000006,0x000002f3,0x000002f1,0x00000000,0x00060052,0x00000023,
+	0x0000062e,0x000002f3,0x0000069a,0x00000000,0x00050051,0x00000006,0x000002f5,0x000002f1,
+	0x00000001,0x00060052,0x00000023,0x00000630,0x000002f5,0x0000062e,0x00000001,0x00050051,
+	0x00000006,0x000002f7,0x000002f1,0x00000002,0x00060052,0x00000023,0x00000632,0x000002f7,
+	0x00000630,0x00000002,0x0008004f,0x0000000c,0x000002f9,0x00000632,0x00000632,0x00000000,
+	0x00000001,0x00000002,0x00050041,0x000000bc,0x00000574,0x000000b9,0x000001e2,0x0004003d,
+	0x00000006,0x00000575,0x00000574,0x0005008e,0x0000000c,0x00000576,0x000002f9,0x00000575,
+	0x00050041,0x000000bc,0x00000577,0x000000b9,0x000001f2,0x0004003d,0x00000006,0x00000578,
+	0x00000577,0x000500b7,0x00000048,0x00000579,0x00000578,0x0000009d,0x000400a8,0x00000048,
+	0x0000057a,0x00000579,0x000300f7,0x00000581,0x00000000,0x000400fa,0x0000057a,0x0000057b,
+	0x00000581,0x000200f8,0x0000057b,0x00050051,0x00000006,0x00000589,0x00000576,0x00000000,
+	0x000500bc,0x00000048,0x00000598,0x00000589,0x00000072,0x000300f7,0x000005a2,0x00000000,
+	0x000400fa,0x00000598,0x00000599,0x0000059c,0x000200f8,0x00000599,0x00050085,0x00000006,
+	0x0000059b,0x00000589,0x0000004d,0x000200f9,0x000005a2,0x000200f8,0x0000059c,0x0006000c,
+	0x00000006,0x0000059e,0x00000001,0x00000004,0x00000589,0x0007000c,0x00000006,0x0000059f,
+	0x00000001,0x0000001a,0x0000059e,0x0000007b,0x0008000c,0x00000006,0x000005a1,0x00000001,
+	0x00000032,0x0000059f,0x00000054,0x00000662,0x000200f9,0x000005a2,0x000200f8,0x000005a2,
+	0x000700f5,0x00000006,0x00000673,0x0000059b,0x00000599,0x000005a1,0x0000059c,0x00050051,
+	0x00000006,0x0000058d,0x00000576,0x00000001,0x000500bc,0x00000048,0x000005a7,0x0000058d,
+	0x00000072,0x000300f7,0x000005b1,0x00000000,0x000400fa,0x000005a7,0x000005a8,0x000005ab,
+	0x000200f8,0x000005a8,0x00050085,0x00000006,0x000005aa,0x0000058d,0x0000004d,0x000200f9,
+	0x000005b1,0x000200f8,0x000005ab,0x0006000c,0x00000006,0x000005ad,0x00000001,0x00000004,
+	0x0000058d,0x0007000c,0x00000006,0x000005ae,0x00000001,0x0000001a,0x000005ad,0x0000007b,
+	0x0008000c,0x00000006,0x000005b0,0x00000001,0x00000032,0x000005ae,0x00000054,0x00000662,
+	0x000200f9,0x000005b1,0x000200f8,0x000005b1,0x000700f5,0x00000006,0x00000675,0x000005aa,
+	0x000005a8,0x000005b0,0x000005ab,0x00050051,0x00000006,0x00000591,0x00000576,0x00000002,
+	0x000500bc,0x00000048,0x000005b6,0x00000591,0x00000072,0x000300f7,0x000005c0,0x00000000,
+	0x000400fa,0x000005b6,0x000005b7,0x000005ba,0x000200f8,0x000005b7,0x00050085,0x00000006,
+	0x000005b9,0x00000591,0x0000004d,0x000200f9,0x000005c0,0x000200f8,0x000005ba,0x0006000c,
+	0x00000006,0x000005bc,0x00000001,0x00000004,0x00000591,0x0007000c,0x00000006,0x000005bd,
+	0x00000001,0x0000001a,0x000005bc,0x0000007b,0x0008000c,0x00000006,0x000005bf,0x00000001,
+	0x00000032,0x000005bd,0x00000054,0x00000662,0x000200f9,0x000005c0,0x000200f8,0x000005c0,
+	0x000700f5,0x00000006,0x00000677,0x000005b9,0x000005b7,0x000005bf,0x000005ba,0x00060050,
+	0x0000000c,0x00000697,0x00000673,0x00000675,0x00000677,0x0008000c,0x0000000c,0x00000580,
+	0x00000001,0x0000002b,0x00000697,0x0000009e,0x00000658,0x000200f9,0x00000581,0x000200f8,
+	0x00000581,0x000700f5,0x0000000c,0x00000679,0x00000576,0x000002ee,0x00000580,0x000005c0,
+	0x00050051,0x00000006,0x000002fc,0x00000679,0x00000000,0x00050051,0x00000006,0x000002fe,
+	0x00000679,0x00000001,0x00050051,0x00000006,0x00000300,0x00000679,0x00000002,0x00050051,
+	0x00000006,0x00000302,0x00000672,0x00000003,0x00070050,0x00000023,0x00000659,0x000002fc,
+	0x000002fe,0x00000300,0x00000302,0x000200f9,0x00000307,0x000200f8,0x00000304,0x0008004f,
+	0x0000000c,0x000005c6,0x00000672,0x00000672,0x00000000,0x00000001,0x00000002,0x00050041,
+	0x000000bc,0x000005c7,0x000000b9,0x000001e2,0x0004003d,0x00000006,0x000005c8,0x000005c7,
+	0x0005008e,0x0000000c,0x000005c9,0x000005c6,0x000005c8,0x00050051,0x00000006,0x000005cb,
+	0x000005c9,0x00000000,0x00050051,0x00000006,0x000005cd,0x000005c9,0x00000001,0x00050051,
+	0x00000006,0x000005cf,0x000005c9,0x00000002,0x00050051,0x00000006,0x000005d1,0x00000672,
+	0x00000003,0x00070050,0x00000023,0x00000654,0x000005cb,0x000005cd,0x000005cf,0x000005d1,
+	0x000200f9,0x00000307,0x000200f8,0x00000307,0x000700f5,0x00000023,0x00000696,0x00000659,
+	0x00000581,0x00000654,0x00000304,0x000200f9,0x00000308,0x000200f8,0x00000308,0x000700f5,
+	0x00000023,0x00000695,0x0000065d,0x0000052e,0x00000696,0x00000307,0x000200f9,0x00000309,
+	0x000200f8,0x00000309,0x000700f5,0x00000023,0x00000694,0x00000660,0x000004d7,0x00000695,
+	0x00000308,0x00050085,0x00000023,0x0000030d,0x00000694,0x00000294,0x0003003e,0x00000297,
+	0x0000030d,0x000100fd,0x00010038
 };

+ 62 - 0
src/render/vulkan/VULKAN_PixelShader_Colors_PQ.h

@@ -0,0 +1,62 @@
+	// 1114.0.0
+	 #pragma once
+static const uint32_t VULKAN_PixelShader_Colors_PQ[] = {
+	0x07230203,0x00010000,0x0008000b,0x0000010e,0x00000000,0x00020011,0x00000001,0x0006000b,
+	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+	0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000082,0x00000086,0x00030010,
+	0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,0x6e69616d,
+	0x00000000,0x00050005,0x00000050,0x736e6f43,0x746e6174,0x00000073,0x00070006,0x00000050,
+	0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x00000050,0x00000001,
+	0x74786574,0x5f657275,0x65707974,0x00000000,0x00060006,0x00000050,0x00000002,0x75706e69,
+	0x79745f74,0x00006570,0x00060006,0x00000050,0x00000003,0x6f6c6f63,0x63735f72,0x00656c61,
+	0x00060006,0x00000050,0x00000004,0x65786574,0x69735f6c,0x0000657a,0x00070006,0x00000050,
+	0x00000005,0x656e6f74,0x5f70616d,0x6874656d,0x0000646f,0x00070006,0x00000050,0x00000006,
+	0x656e6f74,0x5f70616d,0x74636166,0x0031726f,0x00070006,0x00000050,0x00000007,0x656e6f74,
+	0x5f70616d,0x74636166,0x0032726f,0x00070006,0x00000050,0x00000008,0x5f726473,0x74696877,
+	0x6f705f65,0x00746e69,0x00030005,0x00000052,0x00000000,0x00050005,0x00000082,0x75706e69,
+	0x6f632e74,0x00726f6c,0x00070005,0x00000086,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
+	0x00000074,0x00050048,0x00000050,0x00000000,0x00000023,0x00000000,0x00050048,0x00000050,
+	0x00000001,0x00000023,0x00000004,0x00050048,0x00000050,0x00000002,0x00000023,0x00000008,
+	0x00050048,0x00000050,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000050,0x00000004,
+	0x00000023,0x00000010,0x00050048,0x00000050,0x00000005,0x00000023,0x00000020,0x00050048,
+	0x00000050,0x00000006,0x00000023,0x00000024,0x00050048,0x00000050,0x00000007,0x00000023,
+	0x00000028,0x00050048,0x00000050,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000050,
+	0x00000002,0x00040047,0x00000052,0x00000022,0x00000000,0x00040047,0x00000052,0x00000021,
+	0x00000000,0x00040047,0x00000082,0x0000001e,0x00000001,0x00040047,0x00000086,0x0000001e,
+	0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,
+	0x00000020,0x00040017,0x00000007,0x00000006,0x00000003,0x00040017,0x00000010,0x00000006,
+	0x00000004,0x0004002b,0x00000006,0x0000001c,0x42a00000,0x0004002b,0x00000006,0x00000025,
+	0x00000000,0x0004002b,0x00000006,0x00000026,0x3f800000,0x0004002b,0x00000006,0x0000002b,
+	0x3f560000,0x0004002b,0x00000006,0x0000002c,0x4196d000,0x0004002b,0x00000006,0x0000002f,
+	0x3e232000,0x0006002c,0x00000007,0x00000030,0x0000002f,0x0000002f,0x0000002f,0x0004002b,
+	0x00000006,0x00000036,0x41958000,0x0004002b,0x00000006,0x00000041,0x429db000,0x0006002c,
+	0x00000007,0x00000042,0x00000041,0x00000041,0x00000041,0x0006002c,0x00000007,0x00000047,
+	0x00000026,0x00000026,0x00000026,0x00040015,0x00000049,0x00000020,0x00000001,0x000b001e,
+	0x00000050,0x00000006,0x00000006,0x00000006,0x00000006,0x00000010,0x00000006,0x00000006,
+	0x00000006,0x00000006,0x00040020,0x00000051,0x00000002,0x00000050,0x0004003b,0x00000051,
+	0x00000052,0x00000002,0x0004002b,0x00000049,0x00000053,0x00000003,0x00040020,0x00000054,
+	0x00000002,0x00000006,0x00040020,0x00000078,0x00000001,0x00000010,0x0004003b,0x00000078,
+	0x00000082,0x00000001,0x00040020,0x00000085,0x00000003,0x00000010,0x0004003b,0x00000085,
+	0x00000086,0x00000003,0x0004002b,0x00000006,0x00000109,0x38d1b717,0x0006002c,0x00000007,
+	0x0000010a,0x00000109,0x00000109,0x00000109,0x0006002c,0x00000007,0x0000010b,0x00000025,
+	0x00000025,0x00000025,0x0006002c,0x00000007,0x0000010c,0x0000002b,0x0000002b,0x0000002b,
+	0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,
+	0x00000010,0x00000083,0x00000082,0x0008004f,0x00000007,0x000000bc,0x00000083,0x00000083,
+	0x00000000,0x00000001,0x00000002,0x00050041,0x00000054,0x000000be,0x00000052,0x00000053,
+	0x0004003d,0x00000006,0x000000bf,0x000000be,0x0005008e,0x00000007,0x000000c0,0x000000bc,
+	0x000000bf,0x0005008e,0x00000007,0x000000d2,0x000000c0,0x0000001c,0x00050085,0x00000007,
+	0x000000da,0x000000d2,0x0000010a,0x0008000c,0x00000007,0x000000dd,0x00000001,0x0000002b,
+	0x000000da,0x0000010b,0x00000047,0x0006000c,0x00000007,0x000000df,0x00000001,0x00000004,
+	0x000000dd,0x0007000c,0x00000007,0x000000e0,0x00000001,0x0000001a,0x000000df,0x00000030,
+	0x0005008e,0x00000007,0x000000e1,0x000000e0,0x0000002c,0x00050081,0x00000007,0x000000e3,
+	0x0000010c,0x000000e1,0x0006000c,0x00000007,0x000000e5,0x00000001,0x00000004,0x000000dd,
+	0x0007000c,0x00000007,0x000000e6,0x00000001,0x0000001a,0x000000e5,0x00000030,0x0005008e,
+	0x00000007,0x000000e7,0x000000e6,0x00000036,0x00050081,0x00000007,0x000000e9,0x00000047,
+	0x000000e7,0x00050088,0x00000007,0x000000ec,0x000000e3,0x000000e9,0x0006000c,0x00000007,
+	0x000000ed,0x00000001,0x00000004,0x000000ec,0x0007000c,0x00000007,0x000000ee,0x00000001,
+	0x0000001a,0x000000ed,0x00000042,0x00050051,0x00000006,0x000000c6,0x000000ee,0x00000000,
+	0x00050051,0x00000006,0x000000c8,0x000000ee,0x00000001,0x00050051,0x00000006,0x000000ca,
+	0x000000ee,0x00000002,0x00050051,0x00000006,0x000000cc,0x00000083,0x00000003,0x00070050,
+	0x00000010,0x0000010d,0x000000c6,0x000000c8,0x000000ca,0x000000cc,0x0003003e,0x00000086,
+	0x0000010d,0x000100fd,0x00010038
+};

+ 7 - 0
src/render/vulkan/VULKAN_PixelShader_Colors_PQ.hlsl

@@ -0,0 +1,7 @@
+
+#include "VULKAN_PixelShader_Common.hlsli"
+
+float4 main(PixelShaderInput input) : SV_TARGET0
+{
+    return PQColorPixelShader(input);
+}

+ 110 - 9
src/render/vulkan/VULKAN_PixelShader_Common.hlsli

@@ -54,6 +54,16 @@ static const float3x3 mat2020to709 = {
     { -0.018154, -0.100597, 1.118751 }
 };
 
+float3 scRGBtoNits( float3 v )
+{
+    return v * 80.0;
+}
+
+float3 scRGBfromNits(float3 v)
+{
+    return v / 80.0;
+}
+
 float sRGBtoLinear(float v)
 {
     if (v <= 0.04045) {
@@ -64,6 +74,14 @@ float sRGBtoLinear(float v)
     return v;
 }
 
+float3 sRGBtoLinear(float3 v)
+{
+    v.r = sRGBtoLinear(v.r);
+    v.g = sRGBtoLinear(v.g);
+    v.b = sRGBtoLinear(v.b);
+    return v;
+}
+
 float sRGBfromLinear(float v)
 {
     if (v <= 0.0031308) {
@@ -74,7 +92,15 @@ float sRGBfromLinear(float v)
     return v;
 }
 
-float3 PQtoLinear(float3 v)
+float3 sRGBfromLinear(float3 v)
+{
+    v.r = sRGBfromLinear(v.r);
+    v.g = sRGBfromLinear(v.g);
+    v.b = sRGBfromLinear(v.b);
+    return v;
+}
+
+float3 PQtoNits(float3 v)
 {
     const float c1 = 0.8359375;
     const float c2 = 18.8515625;
@@ -84,7 +110,26 @@ float3 PQtoLinear(float3 v)
 
     float3 num = max(pow(abs(v), oo_m2) - c1, 0.0);
     float3 den = c2 - c3 * pow(abs(v), oo_m2);
-    return (10000.0 * pow(abs(num / den), oo_m1) / sdr_white_point);
+    return 10000.0 * pow(abs(num / den), oo_m1);
+}
+
+float3 PQtoLinear(float3 v)
+{
+    return PQtoNits(v) / sdr_white_point;
+}
+
+float3 PQFromNits(float3 v)
+{
+    const float c1 = 0.8359375;
+    const float c2 = 18.8515625;
+    const float c3 = 18.6875;
+    const float m1 = 0.1593017578125;
+    const float m2 = 78.84375;
+
+    float3 y = saturate( v / 10000.0 );
+    float3 num = c1 + c2 * pow( abs( y ), m1 );
+    float3 den = 1.0 + c3 * pow( abs( y ), m1 );
+    return pow( abs( num / den ), m2 );
 }
 
 float3 ApplyTonemap(float3 v)
@@ -111,6 +156,20 @@ float3 ApplyTonemap(float3 v)
     return v;
 }
 
+float3 ApplyTonemap2020(float3 v)
+{
+    if (tonemap_method == TONEMAP_LINEAR) {
+        v *= tonemap_factor1;
+    } else if (tonemap_method == TONEMAP_CHROME) {
+        float vmax = max(v.r, max(v.g, v.b));
+        if (vmax > 0.0) {
+            float scale = (1.0 + tonemap_factor1 * vmax) / (1.0 + tonemap_factor2 * vmax);
+            v *= scale;
+        }
+    }
+    return v;
+}
+
 float4 SamplePaletteNearest(float2 uv)
 {
     float index = texture0.Sample(sampler0, uv).r * 255;
@@ -199,9 +258,7 @@ float3 GetOutputColorFromSRGB(float3 rgb)
     float3 output;
 
     if (scRGB_output) {
-        rgb.r = sRGBtoLinear(rgb.r);
-        rgb.g = sRGBtoLinear(rgb.g);
-        rgb.b = sRGBtoLinear(rgb.b);
+        rgb = sRGBtoLinear(rgb);
     }
 
     output.rgb = rgb * color_scale;
@@ -216,15 +273,59 @@ float3 GetOutputColorFromLinear(float3 rgb)
     output.rgb = rgb * color_scale;
 
     if (!scRGB_output) {
-        output.r = sRGBfromLinear(output.r);
-        output.g = sRGBfromLinear(output.g);
-        output.b = sRGBfromLinear(output.b);
-        output.rgb = saturate(output.rgb);
+        output.rgb = saturate(sRGBfromLinear(output.rgb));
     }
 
     return output;
 }
 
+float4 PQColorPixelShader(PixelShaderInput input)
+{
+    float3 rgb = float3(1.0, 1.0, 1.0);
+    float4 output;
+
+    // Apply color scaling, which will include display SDR white level
+    rgb = rgb * input.color.rgb * color_scale;
+
+    // Convert to nits
+    rgb = scRGBtoNits(rgb);
+
+    output.rgb = PQFromNits(rgb);
+    output.a = input.color.a;
+
+    return output;
+}
+
+float4 PQTexturePixelShader(PixelShaderInput input)
+{
+    float4 rgba = GetInputColor(input);
+    float4 output;
+
+    if (input_type == INPUTTYPE_HDR10) {
+        rgba.rgb = PQtoLinear(rgba.rgb);
+    } else {
+        if (input_type == INPUTTYPE_SRGB) {
+            rgba.rgb = sRGBtoLinear(rgba.rgb);
+        }
+        rgba.rgb = mul(mat709to2020, rgba.rgb);
+    }
+
+    if (tonemap_method != TONEMAP_NONE) {
+        rgba.rgb = ApplyTonemap2020(rgba.rgb);
+    }
+
+    // Apply color scaling, which will include display SDR white level
+    rgba.rgb = rgba.rgb * input.color.rgb * color_scale;
+
+    // Convert to nits
+    rgba.rgb = scRGBtoNits(rgba.rgb);
+
+    output.rgb = PQFromNits(rgba.rgb);
+    output.a = rgba.a * input.color.a;
+
+    return output;
+}
+
 float4 AdvancedPixelShader(PixelShaderInput input)
 {
     float4 rgba = GetInputColor(input);

+ 355 - 0
src/render/vulkan/VULKAN_PixelShader_Textures_PQ.h

@@ -0,0 +1,355 @@
+	// 1114.0.0
+	 #pragma once
+static const uint32_t VULKAN_PixelShader_Textures_PQ[] = {
+	0x07230203,0x00010000,0x0008000b,0x0000059b,0x00000000,0x00020011,0x00000001,0x0006000b,
+	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+	0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000245,0x00000248,0x0000024c,
+	0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,
+	0x6e69616d,0x00000000,0x00050005,0x0000008e,0x736e6f43,0x746e6174,0x00000073,0x00070006,
+	0x0000008e,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x0000008e,
+	0x00000001,0x74786574,0x5f657275,0x65707974,0x00000000,0x00060006,0x0000008e,0x00000002,
+	0x75706e69,0x79745f74,0x00006570,0x00060006,0x0000008e,0x00000003,0x6f6c6f63,0x63735f72,
+	0x00656c61,0x00060006,0x0000008e,0x00000004,0x65786574,0x69735f6c,0x0000657a,0x00070006,
+	0x0000008e,0x00000005,0x656e6f74,0x5f70616d,0x6874656d,0x0000646f,0x00070006,0x0000008e,
+	0x00000006,0x656e6f74,0x5f70616d,0x74636166,0x0031726f,0x00070006,0x0000008e,0x00000007,
+	0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x0000008e,0x00000008,0x5f726473,
+	0x74696877,0x6f705f65,0x00746e69,0x00030005,0x00000090,0x00000000,0x00050005,0x000000f1,
+	0x74786574,0x30657275,0x00000000,0x00050005,0x000000f8,0x74786574,0x31657275,0x00000000,
+	0x00050005,0x00000245,0x75706e69,0x65742e74,0x00000078,0x00050005,0x00000248,0x75706e69,
+	0x6f632e74,0x00726f6c,0x00070005,0x0000024c,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
+	0x00000074,0x00050048,0x0000008e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000008e,
+	0x00000001,0x00000023,0x00000004,0x00050048,0x0000008e,0x00000002,0x00000023,0x00000008,
+	0x00050048,0x0000008e,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000008e,0x00000004,
+	0x00000023,0x00000010,0x00050048,0x0000008e,0x00000005,0x00000023,0x00000020,0x00050048,
+	0x0000008e,0x00000006,0x00000023,0x00000024,0x00050048,0x0000008e,0x00000007,0x00000023,
+	0x00000028,0x00050048,0x0000008e,0x00000008,0x00000023,0x0000002c,0x00030047,0x0000008e,
+	0x00000002,0x00040047,0x00000090,0x00000022,0x00000000,0x00040047,0x00000090,0x00000021,
+	0x00000000,0x00040047,0x000000f1,0x00000022,0x00000000,0x00040047,0x000000f1,0x00000021,
+	0x00000001,0x00040047,0x000000f8,0x00000022,0x00000000,0x00040047,0x000000f8,0x00000021,
+	0x00000002,0x00040047,0x00000245,0x0000001e,0x00000000,0x00040047,0x00000248,0x0000001e,
+	0x00000001,0x00040047,0x0000024c,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
+	0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,
+	0x00000003,0x00040017,0x00000021,0x00000006,0x00000002,0x00040017,0x00000023,0x00000006,
+	0x00000004,0x0004002b,0x00000006,0x0000003c,0x42a00000,0x0004002b,0x00000006,0x00000041,
+	0x3d25aee6,0x00020014,0x00000042,0x0004002b,0x00000006,0x0000004b,0x3d6147ae,0x0004002b,
+	0x00000006,0x00000050,0x4019999a,0x0004002b,0x00000006,0x0000006e,0x3c4fcdac,0x0006002c,
+	0x00000007,0x0000006f,0x0000006e,0x0000006e,0x0000006e,0x0004002b,0x00000006,0x00000071,
+	0x3f560000,0x0004002b,0x00000006,0x00000074,0x00000000,0x0006002c,0x00000007,0x00000075,
+	0x00000074,0x00000074,0x00000074,0x0004002b,0x00000006,0x00000078,0x4196d000,0x0004002b,
+	0x00000006,0x00000079,0x41958000,0x0004002b,0x00000006,0x00000080,0x461c4000,0x0004002b,
+	0x00000006,0x00000085,0x40c8e06b,0x0006002c,0x00000007,0x00000086,0x00000085,0x00000085,
+	0x00000085,0x000b001e,0x0000008e,0x00000006,0x00000006,0x00000006,0x00000006,0x00000023,
+	0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000008f,0x00000002,0x0000008e,
+	0x0004003b,0x0000008f,0x00000090,0x00000002,0x00040015,0x00000091,0x00000020,0x00000001,
+	0x0004002b,0x00000091,0x00000092,0x00000008,0x00040020,0x00000093,0x00000002,0x00000006,
+	0x0004002b,0x00000006,0x0000009e,0x3f800000,0x0004002b,0x00000006,0x000000a5,0x3e232000,
+	0x0006002c,0x00000007,0x000000a6,0x000000a5,0x000000a5,0x000000a5,0x0004002b,0x00000006,
+	0x000000b6,0x429db000,0x0006002c,0x00000007,0x000000b7,0x000000b6,0x000000b6,0x000000b6,
+	0x0004002b,0x00000091,0x000000bb,0x00000005,0x0004002b,0x00000091,0x000000c1,0x00000006,
+	0x0004002b,0x00000006,0x000000c9,0x40000000,0x0004002b,0x00000091,0x000000e0,0x00000007,
+	0x00090019,0x000000ee,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
+	0x00000000,0x0003001b,0x000000ef,0x000000ee,0x00040020,0x000000f0,0x00000000,0x000000ef,
+	0x0004003b,0x000000f0,0x000000f1,0x00000000,0x0004002b,0x00000006,0x000000f6,0x437f0000,
+	0x0004003b,0x000000f0,0x000000f8,0x00000000,0x0004002b,0x00000006,0x000000fb,0x3f000000,
+	0x0004002b,0x00000091,0x00000105,0x00000004,0x00040020,0x00000106,0x00000002,0x00000023,
+	0x0004002b,0x00000006,0x00000154,0x3727c5ac,0x0005002c,0x00000021,0x00000155,0x00000154,
+	0x00000154,0x0005002c,0x00000021,0x00000156,0x0000009e,0x0000009e,0x0004002b,0x00000091,
+	0x00000174,0x00000001,0x0004002b,0x00000006,0x00000196,0x40400000,0x0004002b,0x00000006,
+	0x000001a1,0x40800000,0x0004002b,0x00000006,0x000001ac,0x40a00000,0x0004002b,0x00000091,
+	0x000001c5,0x00000002,0x00040018,0x000001e7,0x00000007,0x00000003,0x0004002b,0x00000006,
+	0x000001e8,0x3f209d8c,0x0004002b,0x00000006,0x000001e9,0x3ea897c8,0x0004002b,0x00000006,
+	0x000001ea,0x3d3168f9,0x0006002c,0x00000007,0x000001eb,0x000001e8,0x000001e9,0x000001ea,
+	0x0004002b,0x00000006,0x000001ec,0x3d8d82ba,0x0004002b,0x00000006,0x000001ed,0x3f6b670a,
+	0x0004002b,0x00000006,0x000001ee,0x3c3a27af,0x0006002c,0x00000007,0x000001ef,0x000001ec,
+	0x000001ed,0x000001ee,0x0004002b,0x00000006,0x000001f0,0x3c86466b,0x0004002b,0x00000006,
+	0x000001f1,0x3db44029,0x0004002b,0x00000006,0x000001f2,0x3f6545b7,0x0006002c,0x00000007,
+	0x000001f3,0x000001f0,0x000001f1,0x000001f2,0x0006002c,0x000001e7,0x000001f4,0x000001eb,
+	0x000001ef,0x000001f3,0x0004002b,0x00000091,0x00000211,0x00000003,0x00040020,0x00000240,
+	0x00000001,0x00000023,0x00040020,0x00000244,0x00000001,0x00000021,0x0004003b,0x00000244,
+	0x00000245,0x00000001,0x0004003b,0x00000240,0x00000248,0x00000001,0x00040020,0x0000024b,
+	0x00000003,0x00000023,0x0004003b,0x0000024b,0x0000024c,0x00000003,0x0005002c,0x00000021,
+	0x00000575,0x000000fb,0x000000fb,0x0004002b,0x00000006,0x00000576,0x3b800000,0x0004002b,
+	0x00000006,0x00000578,0x3f72a76f,0x0004002b,0x00000006,0x00000579,0x3d9e8391,0x0006002c,
+	0x00000007,0x0000057a,0x00000071,0x00000071,0x00000071,0x0006002c,0x00000007,0x0000057b,
+	0x00000078,0x00000078,0x00000078,0x0004002b,0x00000006,0x0000057d,0x38d1b717,0x0006002c,
+	0x00000007,0x0000057e,0x0000057d,0x0000057d,0x0000057d,0x0006002c,0x00000007,0x0000057f,
+	0x0000009e,0x0000009e,0x0000009e,0x0007002c,0x00000023,0x00000581,0x0000009e,0x00000074,
+	0x0000009e,0x0000009e,0x00030001,0x00000023,0x0000059a,0x00050036,0x00000002,0x00000004,
+	0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000021,0x00000246,0x00000245,
+	0x0004003d,0x00000023,0x00000249,0x00000248,0x00050041,0x00000093,0x000002d4,0x00000090,
+	0x00000174,0x0004003d,0x00000006,0x000002d5,0x000002d4,0x000500b4,0x00000042,0x000002d6,
+	0x000002d5,0x0000009e,0x000300f7,0x00000310,0x00000000,0x000400fa,0x000002d6,0x000002d7,
+	0x000002dc,0x000200f8,0x000002d7,0x0004003d,0x000000ef,0x000002d8,0x000000f1,0x00050057,
+	0x00000023,0x000002db,0x000002d8,0x00000246,0x000200f9,0x00000310,0x000200f8,0x000002dc,
+	0x00050041,0x00000093,0x000002dd,0x00000090,0x00000174,0x0004003d,0x00000006,0x000002de,
+	0x000002dd,0x000500b4,0x00000042,0x000002df,0x000002de,0x000000c9,0x000300f7,0x0000030f,
+	0x00000000,0x000400fa,0x000002df,0x000002e0,0x000002ed,0x000200f8,0x000002e0,0x000400d1,
+	0x00000021,0x00000318,0x00000246,0x00050041,0x00000106,0x00000319,0x00000090,0x00000105,
+	0x0004003d,0x00000023,0x0000031a,0x00000319,0x0007004f,0x00000021,0x0000031b,0x0000031a,
+	0x0000031a,0x00000002,0x00000003,0x00050085,0x00000021,0x0000031c,0x00000318,0x0000031b,
+	0x0008000c,0x00000021,0x0000031d,0x00000001,0x0000002b,0x0000031c,0x00000155,0x00000156,
+	0x00050041,0x00000106,0x0000031f,0x00000090,0x00000105,0x0004003d,0x00000023,0x00000320,
+	0x0000031f,0x0007004f,0x00000021,0x00000321,0x00000320,0x00000320,0x00000002,0x00000003,
+	0x0005008e,0x00000021,0x00000324,0x0000031d,0x000000fb,0x0004007f,0x00000021,0x00000577,
+	0x00000324,0x0008000c,0x00000021,0x00000325,0x00000001,0x00000032,0x00000246,0x00000321,
+	0x00000577,0x00050083,0x00000021,0x00000328,0x00000156,0x0000031d,0x0006000c,0x00000021,
+	0x0000032a,0x00000001,0x0000000a,0x00000325,0x0008000c,0x00000021,0x0000032b,0x00000001,
+	0x00000031,0x00000328,0x00000156,0x0000032a,0x0006000c,0x00000021,0x0000032d,0x00000001,
+	0x00000008,0x00000325,0x00050081,0x00000021,0x0000032f,0x0000032d,0x00000575,0x00050081,
+	0x00000021,0x00000331,0x0000032f,0x0000032b,0x00050041,0x00000106,0x00000332,0x00000090,
+	0x00000105,0x0004003d,0x00000023,0x00000333,0x00000332,0x0007004f,0x00000021,0x00000334,
+	0x00000333,0x00000333,0x00000000,0x00000001,0x00050085,0x00000021,0x00000335,0x00000331,
+	0x00000334,0x0004003d,0x000000ef,0x000002e4,0x000000f1,0x000400cf,0x00000021,0x000002e8,
+	0x00000246,0x000400d0,0x00000021,0x000002eb,0x00000246,0x00080058,0x00000023,0x000002ec,
+	0x000002e4,0x00000335,0x00000004,0x000002e8,0x000002eb,0x000200f9,0x0000030f,0x000200f8,
+	0x000002ed,0x00050041,0x00000093,0x000002ee,0x00000090,0x00000174,0x0004003d,0x00000006,
+	0x000002ef,0x000002ee,0x000500b4,0x00000042,0x000002f0,0x000002ef,0x00000196,0x000300f7,
+	0x0000030e,0x00000000,0x000400fa,0x000002f0,0x000002f1,0x000002f5,0x000200f8,0x000002f1,
+	0x0004003d,0x000000ef,0x00000339,0x000000f1,0x00050057,0x00000023,0x0000033b,0x00000339,
+	0x00000246,0x00050051,0x00000006,0x0000033c,0x0000033b,0x00000000,0x0004003d,0x000000ef,
+	0x0000033e,0x000000f8,0x0008000c,0x00000006,0x00000340,0x00000001,0x00000032,0x0000033c,
+	0x000000f6,0x000000fb,0x00050085,0x00000006,0x00000341,0x00000340,0x00000576,0x00050050,
+	0x00000021,0x00000342,0x00000341,0x000000fb,0x00050057,0x00000023,0x00000343,0x0000033e,
+	0x00000342,0x000200f9,0x0000030e,0x000200f8,0x000002f5,0x00050041,0x00000093,0x000002f6,
+	0x00000090,0x00000174,0x0004003d,0x00000006,0x000002f7,0x000002f6,0x000500b4,0x00000042,
+	0x000002f8,0x000002f7,0x000001a1,0x000300f7,0x0000030d,0x00000000,0x000400fa,0x000002f8,
+	0x000002f9,0x000002fd,0x000200f8,0x000002f9,0x00050041,0x00000106,0x00000352,0x00000090,
+	0x00000105,0x0004003d,0x00000023,0x00000353,0x00000352,0x0007004f,0x00000021,0x00000354,
+	0x00000353,0x00000353,0x00000002,0x00000003,0x0008000c,0x00000021,0x00000357,0x00000001,
+	0x00000032,0x00000246,0x00000354,0x00000575,0x0006000c,0x00000021,0x00000359,0x00000001,
+	0x00000008,0x00000357,0x00050083,0x00000021,0x0000035b,0x00000359,0x00000575,0x00050041,
+	0x00000106,0x0000035c,0x00000090,0x00000105,0x0004003d,0x00000023,0x0000035d,0x0000035c,
+	0x0007004f,0x00000021,0x0000035e,0x0000035d,0x0000035d,0x00000000,0x00000001,0x00050085,
+	0x00000021,0x0000035f,0x0000035b,0x0000035e,0x0006000c,0x00000021,0x00000361,0x00000001,
+	0x00000008,0x00000357,0x00050081,0x00000021,0x00000363,0x00000361,0x00000575,0x00050041,
+	0x00000106,0x00000364,0x00000090,0x00000105,0x0004003d,0x00000023,0x00000365,0x00000364,
+	0x0007004f,0x00000021,0x00000366,0x00000365,0x00000365,0x00000000,0x00000001,0x00050085,
+	0x00000021,0x00000367,0x00000363,0x00000366,0x00050051,0x00000006,0x00000368,0x0000035f,
+	0x00000000,0x00050051,0x00000006,0x00000369,0x0000035f,0x00000001,0x00050051,0x00000006,
+	0x0000036a,0x00000367,0x00000000,0x00050051,0x00000006,0x0000036b,0x00000367,0x00000001,
+	0x00070050,0x00000023,0x0000036c,0x00000368,0x00000369,0x0000036a,0x0000036b,0x0006000c,
+	0x00000021,0x0000036e,0x00000001,0x0000000a,0x00000357,0x0007004f,0x00000021,0x00000370,
+	0x0000036c,0x0000036c,0x00000000,0x00000001,0x0004003d,0x000000ef,0x0000038e,0x000000f1,
+	0x00050057,0x00000023,0x00000390,0x0000038e,0x00000370,0x00050051,0x00000006,0x00000391,
+	0x00000390,0x00000000,0x0004003d,0x000000ef,0x00000393,0x000000f8,0x0008000c,0x00000006,
+	0x00000395,0x00000001,0x00000032,0x00000391,0x000000f6,0x000000fb,0x00050085,0x00000006,
+	0x00000396,0x00000395,0x00000576,0x00050050,0x00000021,0x00000397,0x00000396,0x000000fb,
+	0x00050057,0x00000023,0x00000398,0x00000393,0x00000397,0x0007004f,0x00000021,0x00000373,
+	0x0000036c,0x0000036c,0x00000000,0x00000003,0x0004003d,0x000000ef,0x0000039c,0x000000f1,
+	0x00050057,0x00000023,0x0000039e,0x0000039c,0x00000373,0x00050051,0x00000006,0x0000039f,
+	0x0000039e,0x00000000,0x0004003d,0x000000ef,0x000003a1,0x000000f8,0x0008000c,0x00000006,
+	0x000003a3,0x00000001,0x00000032,0x0000039f,0x000000f6,0x000000fb,0x00050085,0x00000006,
+	0x000003a4,0x000003a3,0x00000576,0x00050050,0x00000021,0x000003a5,0x000003a4,0x000000fb,
+	0x00050057,0x00000023,0x000003a6,0x000003a1,0x000003a5,0x0007004f,0x00000021,0x00000376,
+	0x0000036c,0x0000036c,0x00000002,0x00000001,0x0004003d,0x000000ef,0x000003aa,0x000000f1,
+	0x00050057,0x00000023,0x000003ac,0x000003aa,0x00000376,0x00050051,0x00000006,0x000003ad,
+	0x000003ac,0x00000000,0x0004003d,0x000000ef,0x000003af,0x000000f8,0x0008000c,0x00000006,
+	0x000003b1,0x00000001,0x00000032,0x000003ad,0x000000f6,0x000000fb,0x00050085,0x00000006,
+	0x000003b2,0x000003b1,0x00000576,0x00050050,0x00000021,0x000003b3,0x000003b2,0x000000fb,
+	0x00050057,0x00000023,0x000003b4,0x000003af,0x000003b3,0x0007004f,0x00000021,0x00000379,
+	0x0000036c,0x0000036c,0x00000002,0x00000003,0x0004003d,0x000000ef,0x000003b8,0x000000f1,
+	0x00050057,0x00000023,0x000003ba,0x000003b8,0x00000379,0x00050051,0x00000006,0x000003bb,
+	0x000003ba,0x00000000,0x0004003d,0x000000ef,0x000003bd,0x000000f8,0x0008000c,0x00000006,
+	0x000003bf,0x00000001,0x00000032,0x000003bb,0x000000f6,0x000000fb,0x00050085,0x00000006,
+	0x000003c0,0x000003bf,0x00000576,0x00050050,0x00000021,0x000003c1,0x000003c0,0x000000fb,
+	0x00050057,0x00000023,0x000003c2,0x000003bd,0x000003c1,0x00050051,0x00000006,0x0000037e,
+	0x0000036e,0x00000001,0x00070050,0x00000023,0x0000037f,0x0000037e,0x0000037e,0x0000037e,
+	0x0000037e,0x0008000c,0x00000023,0x00000380,0x00000001,0x0000002e,0x00000398,0x000003a6,
+	0x0000037f,0x00050051,0x00000006,0x00000384,0x0000036e,0x00000001,0x00070050,0x00000023,
+	0x00000385,0x00000384,0x00000384,0x00000384,0x00000384,0x0008000c,0x00000023,0x00000386,
+	0x00000001,0x0000002e,0x000003b4,0x000003c2,0x00000385,0x00050051,0x00000006,0x00000388,
+	0x0000036e,0x00000000,0x00070050,0x00000023,0x00000389,0x00000388,0x00000388,0x00000388,
+	0x00000388,0x0008000c,0x00000023,0x0000038a,0x00000001,0x0000002e,0x00000380,0x00000386,
+	0x00000389,0x000200f9,0x0000030d,0x000200f8,0x000002fd,0x00050041,0x00000093,0x000002fe,
+	0x00000090,0x00000174,0x0004003d,0x00000006,0x000002ff,0x000002fe,0x000500b4,0x00000042,
+	0x00000300,0x000002ff,0x000001ac,0x000300f7,0x0000030c,0x00000000,0x000400fa,0x00000300,
+	0x00000301,0x00000307,0x000200f8,0x00000301,0x000400d1,0x00000021,0x000003c9,0x00000246,
+	0x00050041,0x00000106,0x000003ca,0x00000090,0x00000105,0x0004003d,0x00000023,0x000003cb,
+	0x000003ca,0x0007004f,0x00000021,0x000003cc,0x000003cb,0x000003cb,0x00000002,0x00000003,
+	0x00050085,0x00000021,0x000003cd,0x000003c9,0x000003cc,0x0008000c,0x00000021,0x000003ce,
+	0x00000001,0x0000002b,0x000003cd,0x00000155,0x00000156,0x00050041,0x00000106,0x000003d0,
+	0x00000090,0x00000105,0x0004003d,0x00000023,0x000003d1,0x000003d0,0x0007004f,0x00000021,
+	0x000003d2,0x000003d1,0x000003d1,0x00000002,0x00000003,0x0005008e,0x00000021,0x000003d5,
+	0x000003ce,0x000000fb,0x0004007f,0x00000021,0x00000574,0x000003d5,0x0008000c,0x00000021,
+	0x000003d6,0x00000001,0x00000032,0x00000246,0x000003d2,0x00000574,0x00050083,0x00000021,
+	0x000003d9,0x00000156,0x000003ce,0x0006000c,0x00000021,0x000003db,0x00000001,0x0000000a,
+	0x000003d6,0x0008000c,0x00000021,0x000003dc,0x00000001,0x00000031,0x000003d9,0x00000156,
+	0x000003db,0x0006000c,0x00000021,0x000003de,0x00000001,0x00000008,0x000003d6,0x00050081,
+	0x00000021,0x000003e0,0x000003de,0x00000575,0x00050081,0x00000021,0x000003e2,0x000003e0,
+	0x000003dc,0x00050041,0x00000106,0x000003e3,0x00000090,0x00000105,0x0004003d,0x00000023,
+	0x000003e4,0x000003e3,0x0007004f,0x00000021,0x000003e5,0x000003e4,0x000003e4,0x00000000,
+	0x00000001,0x00050085,0x00000021,0x000003e6,0x000003e2,0x000003e5,0x00050041,0x00000106,
+	0x000003f5,0x00000090,0x00000105,0x0004003d,0x00000023,0x000003f6,0x000003f5,0x0007004f,
+	0x00000021,0x000003f7,0x000003f6,0x000003f6,0x00000002,0x00000003,0x0008000c,0x00000021,
+	0x000003fa,0x00000001,0x00000032,0x000003e6,0x000003f7,0x00000575,0x0006000c,0x00000021,
+	0x000003fc,0x00000001,0x00000008,0x000003fa,0x00050083,0x00000021,0x000003fe,0x000003fc,
+	0x00000575,0x00050041,0x00000106,0x000003ff,0x00000090,0x00000105,0x0004003d,0x00000023,
+	0x00000400,0x000003ff,0x0007004f,0x00000021,0x00000401,0x00000400,0x00000400,0x00000000,
+	0x00000001,0x00050085,0x00000021,0x00000402,0x000003fe,0x00000401,0x0006000c,0x00000021,
+	0x00000404,0x00000001,0x00000008,0x000003fa,0x00050081,0x00000021,0x00000406,0x00000404,
+	0x00000575,0x00050041,0x00000106,0x00000407,0x00000090,0x00000105,0x0004003d,0x00000023,
+	0x00000408,0x00000407,0x0007004f,0x00000021,0x00000409,0x00000408,0x00000408,0x00000000,
+	0x00000001,0x00050085,0x00000021,0x0000040a,0x00000406,0x00000409,0x00050051,0x00000006,
+	0x0000040b,0x00000402,0x00000000,0x00050051,0x00000006,0x0000040c,0x00000402,0x00000001,
+	0x00050051,0x00000006,0x0000040d,0x0000040a,0x00000000,0x00050051,0x00000006,0x0000040e,
+	0x0000040a,0x00000001,0x00070050,0x00000023,0x0000040f,0x0000040b,0x0000040c,0x0000040d,
+	0x0000040e,0x0006000c,0x00000021,0x00000411,0x00000001,0x0000000a,0x000003fa,0x0007004f,
+	0x00000021,0x00000413,0x0000040f,0x0000040f,0x00000000,0x00000001,0x0004003d,0x000000ef,
+	0x00000431,0x000000f1,0x00050057,0x00000023,0x00000433,0x00000431,0x00000413,0x00050051,
+	0x00000006,0x00000434,0x00000433,0x00000000,0x0004003d,0x000000ef,0x00000436,0x000000f8,
+	0x0008000c,0x00000006,0x00000438,0x00000001,0x00000032,0x00000434,0x000000f6,0x000000fb,
+	0x00050085,0x00000006,0x00000439,0x00000438,0x00000576,0x00050050,0x00000021,0x0000043a,
+	0x00000439,0x000000fb,0x00050057,0x00000023,0x0000043b,0x00000436,0x0000043a,0x0007004f,
+	0x00000021,0x00000416,0x0000040f,0x0000040f,0x00000000,0x00000003,0x0004003d,0x000000ef,
+	0x0000043f,0x000000f1,0x00050057,0x00000023,0x00000441,0x0000043f,0x00000416,0x00050051,
+	0x00000006,0x00000442,0x00000441,0x00000000,0x0004003d,0x000000ef,0x00000444,0x000000f8,
+	0x0008000c,0x00000006,0x00000446,0x00000001,0x00000032,0x00000442,0x000000f6,0x000000fb,
+	0x00050085,0x00000006,0x00000447,0x00000446,0x00000576,0x00050050,0x00000021,0x00000448,
+	0x00000447,0x000000fb,0x00050057,0x00000023,0x00000449,0x00000444,0x00000448,0x0007004f,
+	0x00000021,0x00000419,0x0000040f,0x0000040f,0x00000002,0x00000001,0x0004003d,0x000000ef,
+	0x0000044d,0x000000f1,0x00050057,0x00000023,0x0000044f,0x0000044d,0x00000419,0x00050051,
+	0x00000006,0x00000450,0x0000044f,0x00000000,0x0004003d,0x000000ef,0x00000452,0x000000f8,
+	0x0008000c,0x00000006,0x00000454,0x00000001,0x00000032,0x00000450,0x000000f6,0x000000fb,
+	0x00050085,0x00000006,0x00000455,0x00000454,0x00000576,0x00050050,0x00000021,0x00000456,
+	0x00000455,0x000000fb,0x00050057,0x00000023,0x00000457,0x00000452,0x00000456,0x0007004f,
+	0x00000021,0x0000041c,0x0000040f,0x0000040f,0x00000002,0x00000003,0x0004003d,0x000000ef,
+	0x0000045b,0x000000f1,0x00050057,0x00000023,0x0000045d,0x0000045b,0x0000041c,0x00050051,
+	0x00000006,0x0000045e,0x0000045d,0x00000000,0x0004003d,0x000000ef,0x00000460,0x000000f8,
+	0x0008000c,0x00000006,0x00000462,0x00000001,0x00000032,0x0000045e,0x000000f6,0x000000fb,
+	0x00050085,0x00000006,0x00000463,0x00000462,0x00000576,0x00050050,0x00000021,0x00000464,
+	0x00000463,0x000000fb,0x00050057,0x00000023,0x00000465,0x00000460,0x00000464,0x00050051,
+	0x00000006,0x00000421,0x00000411,0x00000001,0x00070050,0x00000023,0x00000422,0x00000421,
+	0x00000421,0x00000421,0x00000421,0x0008000c,0x00000023,0x00000423,0x00000001,0x0000002e,
+	0x0000043b,0x00000449,0x00000422,0x00050051,0x00000006,0x00000427,0x00000411,0x00000001,
+	0x00070050,0x00000023,0x00000428,0x00000427,0x00000427,0x00000427,0x00000427,0x0008000c,
+	0x00000023,0x00000429,0x00000001,0x0000002e,0x00000457,0x00000465,0x00000428,0x00050051,
+	0x00000006,0x0000042b,0x00000411,0x00000000,0x00070050,0x00000023,0x0000042c,0x0000042b,
+	0x0000042b,0x0000042b,0x0000042b,0x0008000c,0x00000023,0x0000042d,0x00000001,0x0000002e,
+	0x00000423,0x00000429,0x0000042c,0x000200f9,0x0000030c,0x000200f8,0x00000307,0x000200f9,
+	0x0000030c,0x000200f8,0x0000030c,0x000700f5,0x00000023,0x00000586,0x0000042d,0x00000301,
+	0x00000581,0x00000307,0x000200f9,0x0000030d,0x000200f8,0x0000030d,0x000700f5,0x00000023,
+	0x00000585,0x0000038a,0x000002f9,0x00000586,0x0000030c,0x000200f9,0x0000030e,0x000200f8,
+	0x0000030e,0x000700f5,0x00000023,0x00000584,0x00000343,0x000002f1,0x00000585,0x0000030d,
+	0x000200f9,0x0000030f,0x000200f8,0x0000030f,0x000700f5,0x00000023,0x00000583,0x000002ec,
+	0x000002e0,0x00000584,0x0000030e,0x000200f9,0x00000310,0x000200f8,0x00000310,0x000700f5,
+	0x00000023,0x00000582,0x000002db,0x000002d7,0x00000583,0x0000030f,0x00050041,0x00000093,
+	0x0000026e,0x00000090,0x000001c5,0x0004003d,0x00000006,0x0000026f,0x0000026e,0x000500b4,
+	0x00000042,0x00000270,0x0000026f,0x00000196,0x000300f7,0x00000293,0x00000000,0x000400fa,
+	0x00000270,0x00000271,0x0000027b,0x000200f8,0x00000271,0x0008004f,0x00000007,0x00000273,
+	0x00000582,0x00000582,0x00000000,0x00000001,0x00000002,0x0006000c,0x00000007,0x00000474,
+	0x00000001,0x00000004,0x00000273,0x0007000c,0x00000007,0x00000475,0x00000001,0x0000001a,
+	0x00000474,0x0000006f,0x00050083,0x00000007,0x00000477,0x00000475,0x0000057a,0x0007000c,
+	0x00000007,0x00000478,0x00000001,0x00000028,0x00000477,0x00000075,0x0006000c,0x00000007,
+	0x0000047a,0x00000001,0x00000004,0x00000273,0x0007000c,0x00000007,0x0000047b,0x00000001,
+	0x0000001a,0x0000047a,0x0000006f,0x0005008e,0x00000007,0x0000047c,0x0000047b,0x00000079,
+	0x00050083,0x00000007,0x0000047e,0x0000057b,0x0000047c,0x00050088,0x00000007,0x00000481,
+	0x00000478,0x0000047e,0x0006000c,0x00000007,0x00000482,0x00000001,0x00000004,0x00000481,
+	0x0007000c,0x00000007,0x00000483,0x00000001,0x0000001a,0x00000482,0x00000086,0x0005008e,
+	0x00000007,0x00000484,0x00000483,0x00000080,0x00050041,0x00000093,0x0000046b,0x00000090,
+	0x00000092,0x0004003d,0x00000006,0x0000046c,0x0000046b,0x00060050,0x00000007,0x0000046d,
+	0x0000046c,0x0000046c,0x0000046c,0x00050088,0x00000007,0x0000046e,0x00000484,0x0000046d,
+	0x00050051,0x00000006,0x00000276,0x0000046e,0x00000000,0x00060052,0x00000023,0x0000053a,
+	0x00000276,0x00000582,0x00000000,0x00050051,0x00000006,0x00000278,0x0000046e,0x00000001,
+	0x00060052,0x00000023,0x0000053c,0x00000278,0x0000053a,0x00000001,0x00050051,0x00000006,
+	0x0000027a,0x0000046e,0x00000002,0x00060052,0x00000023,0x0000053e,0x0000027a,0x0000053c,
+	0x00000002,0x000200f9,0x00000293,0x000200f8,0x0000027b,0x00050041,0x00000093,0x0000027c,
+	0x00000090,0x000001c5,0x0004003d,0x00000006,0x0000027d,0x0000027c,0x000500b4,0x00000042,
+	0x0000027e,0x0000027d,0x0000009e,0x000300f7,0x00000289,0x00000000,0x000400fa,0x0000027e,
+	0x0000027f,0x00000289,0x000200f8,0x0000027f,0x00050051,0x00000006,0x0000048b,0x00000582,
+	0x00000000,0x000500bc,0x00000042,0x0000049a,0x0000048b,0x00000041,0x000300f7,0x000004a4,
+	0x00000000,0x000400fa,0x0000049a,0x0000049b,0x0000049e,0x000200f8,0x0000049b,0x00050085,
+	0x00000006,0x0000049d,0x0000048b,0x00000579,0x000200f9,0x000004a4,0x000200f8,0x0000049e,
+	0x00050081,0x00000006,0x000004a0,0x0000048b,0x0000004b,0x0006000c,0x00000006,0x000004a1,
+	0x00000001,0x00000004,0x000004a0,0x00050085,0x00000006,0x000004a2,0x000004a1,0x00000578,
+	0x0007000c,0x00000006,0x000004a3,0x00000001,0x0000001a,0x000004a2,0x00000050,0x000200f9,
+	0x000004a4,0x000200f8,0x000004a4,0x000700f5,0x00000006,0x00000587,0x0000049d,0x0000049b,
+	0x000004a3,0x0000049e,0x00050051,0x00000006,0x0000048f,0x00000582,0x00000001,0x000500bc,
+	0x00000042,0x000004a9,0x0000048f,0x00000041,0x000300f7,0x000004b3,0x00000000,0x000400fa,
+	0x000004a9,0x000004aa,0x000004ad,0x000200f8,0x000004aa,0x00050085,0x00000006,0x000004ac,
+	0x0000048f,0x00000579,0x000200f9,0x000004b3,0x000200f8,0x000004ad,0x00050081,0x00000006,
+	0x000004af,0x0000048f,0x0000004b,0x0006000c,0x00000006,0x000004b0,0x00000001,0x00000004,
+	0x000004af,0x00050085,0x00000006,0x000004b1,0x000004b0,0x00000578,0x0007000c,0x00000006,
+	0x000004b2,0x00000001,0x0000001a,0x000004b1,0x00000050,0x000200f9,0x000004b3,0x000200f8,
+	0x000004b3,0x000700f5,0x00000006,0x00000589,0x000004ac,0x000004aa,0x000004b2,0x000004ad,
+	0x00050051,0x00000006,0x00000493,0x00000582,0x00000002,0x000500bc,0x00000042,0x000004b8,
+	0x00000493,0x00000041,0x000300f7,0x000004c2,0x00000000,0x000400fa,0x000004b8,0x000004b9,
+	0x000004bc,0x000200f8,0x000004b9,0x00050085,0x00000006,0x000004bb,0x00000493,0x00000579,
+	0x000200f9,0x000004c2,0x000200f8,0x000004bc,0x00050081,0x00000006,0x000004be,0x00000493,
+	0x0000004b,0x0006000c,0x00000006,0x000004bf,0x00000001,0x00000004,0x000004be,0x00050085,
+	0x00000006,0x000004c0,0x000004bf,0x00000578,0x0007000c,0x00000006,0x000004c1,0x00000001,
+	0x0000001a,0x000004c0,0x00000050,0x000200f9,0x000004c2,0x000200f8,0x000004c2,0x000700f5,
+	0x00000006,0x0000058b,0x000004bb,0x000004b9,0x000004c1,0x000004bc,0x00060052,0x00000023,
+	0x00000549,0x00000587,0x00000582,0x00000000,0x00060052,0x00000023,0x0000054b,0x00000589,
+	0x00000549,0x00000001,0x00060052,0x00000023,0x0000054d,0x0000058b,0x0000054b,0x00000002,
+	0x000200f9,0x00000289,0x000200f8,0x00000289,0x000700f5,0x00000023,0x00000590,0x00000582,
+	0x0000027b,0x0000054d,0x000004c2,0x0008004f,0x00000007,0x0000028b,0x00000590,0x00000590,
+	0x00000000,0x00000001,0x00000002,0x00050090,0x00000007,0x0000028c,0x0000028b,0x000001f4,
+	0x00050051,0x00000006,0x0000028e,0x0000028c,0x00000000,0x00060052,0x00000023,0x0000054f,
+	0x0000028e,0x00000590,0x00000000,0x00050051,0x00000006,0x00000290,0x0000028c,0x00000001,
+	0x00060052,0x00000023,0x00000551,0x00000290,0x0000054f,0x00000001,0x00050051,0x00000006,
+	0x00000292,0x0000028c,0x00000002,0x00060052,0x00000023,0x00000553,0x00000292,0x00000551,
+	0x00000002,0x000200f9,0x00000293,0x000200f8,0x00000293,0x000700f5,0x00000023,0x00000591,
+	0x0000053e,0x00000271,0x00000553,0x00000289,0x00050041,0x00000093,0x00000294,0x00000090,
+	0x000000bb,0x0004003d,0x00000006,0x00000295,0x00000294,0x000500b7,0x00000042,0x00000296,
+	0x00000295,0x00000074,0x000300f7,0x000002a1,0x00000000,0x000400fa,0x00000296,0x00000297,
+	0x000002a1,0x000200f8,0x00000297,0x0008004f,0x00000007,0x00000299,0x00000591,0x00000591,
+	0x00000000,0x00000001,0x00000002,0x00050041,0x00000093,0x000004c8,0x00000090,0x000000bb,
+	0x0004003d,0x00000006,0x000004c9,0x000004c8,0x000500b4,0x00000042,0x000004ca,0x000004c9,
+	0x0000009e,0x000300f7,0x000004f0,0x00000000,0x000400fa,0x000004ca,0x000004cb,0x000004d0,
+	0x000200f8,0x000004cb,0x00050041,0x00000093,0x000004cc,0x00000090,0x000000c1,0x0004003d,
+	0x00000006,0x000004cd,0x000004cc,0x0005008e,0x00000007,0x000004cf,0x00000299,0x000004cd,
+	0x000200f9,0x000004f0,0x000200f8,0x000004d0,0x00050041,0x00000093,0x000004d1,0x00000090,
+	0x000000bb,0x0004003d,0x00000006,0x000004d2,0x000004d1,0x000500b4,0x00000042,0x000004d3,
+	0x000004d2,0x000000c9,0x000300f7,0x000004ef,0x00000000,0x000400fa,0x000004d3,0x000004d4,
+	0x000004ef,0x000200f8,0x000004d4,0x00050051,0x00000006,0x000004d6,0x00000591,0x00000000,
+	0x00050051,0x00000006,0x000004d8,0x00000591,0x00000001,0x00050051,0x00000006,0x000004da,
+	0x00000591,0x00000002,0x0007000c,0x00000006,0x000004db,0x00000001,0x00000028,0x000004d8,
+	0x000004da,0x0007000c,0x00000006,0x000004dc,0x00000001,0x00000028,0x000004d6,0x000004db,
+	0x000500ba,0x00000042,0x000004de,0x000004dc,0x00000074,0x000300f7,0x000004ee,0x00000000,
+	0x000400fa,0x000004de,0x000004df,0x000004ee,0x000200f8,0x000004df,0x00050041,0x00000093,
+	0x000004e0,0x00000090,0x000000c1,0x0004003d,0x00000006,0x000004e1,0x000004e0,0x0008000c,
+	0x00000006,0x000004e4,0x00000001,0x00000032,0x000004e1,0x000004dc,0x0000009e,0x00050041,
+	0x00000093,0x000004e5,0x00000090,0x000000e0,0x0004003d,0x00000006,0x000004e6,0x000004e5,
+	0x0008000c,0x00000006,0x000004e9,0x00000001,0x00000032,0x000004e6,0x000004dc,0x0000009e,
+	0x00050088,0x00000006,0x000004ea,0x000004e4,0x000004e9,0x0005008e,0x00000007,0x000004ed,
+	0x00000299,0x000004ea,0x000200f9,0x000004ee,0x000200f8,0x000004ee,0x000700f5,0x00000007,
+	0x00000594,0x00000299,0x000004d4,0x000004ed,0x000004df,0x000200f9,0x000004ef,0x000200f8,
+	0x000004ef,0x000700f5,0x00000007,0x00000593,0x00000299,0x000004d0,0x00000594,0x000004ee,
+	0x000200f9,0x000004f0,0x000200f8,0x000004f0,0x000700f5,0x00000007,0x00000592,0x000004cf,
+	0x000004cb,0x00000593,0x000004ef,0x00050051,0x00000006,0x0000029c,0x00000592,0x00000000,
+	0x00060052,0x00000023,0x00000558,0x0000029c,0x00000591,0x00000000,0x00050051,0x00000006,
+	0x0000029e,0x00000592,0x00000001,0x00060052,0x00000023,0x0000055a,0x0000029e,0x00000558,
+	0x00000001,0x00050051,0x00000006,0x000002a0,0x00000592,0x00000002,0x00060052,0x00000023,
+	0x0000055c,0x000002a0,0x0000055a,0x00000002,0x000200f9,0x000002a1,0x000200f8,0x000002a1,
+	0x000700f5,0x00000023,0x00000598,0x00000591,0x00000293,0x0000055c,0x000004f0,0x0008004f,
+	0x00000007,0x000002a3,0x00000598,0x00000598,0x00000000,0x00000001,0x00000002,0x0008004f,
+	0x00000007,0x000002a6,0x00000249,0x00000249,0x00000000,0x00000001,0x00000002,0x00050085,
+	0x00000007,0x000002a7,0x000002a3,0x000002a6,0x00050041,0x00000093,0x000002a8,0x00000090,
+	0x00000211,0x0004003d,0x00000006,0x000002a9,0x000002a8,0x0005008e,0x00000007,0x000002aa,
+	0x000002a7,0x000002a9,0x00050051,0x00000006,0x000002ac,0x000002aa,0x00000000,0x00060052,
+	0x00000023,0x0000055e,0x000002ac,0x0000059a,0x00000000,0x00050051,0x00000006,0x000002ae,
+	0x000002aa,0x00000001,0x00060052,0x00000023,0x00000560,0x000002ae,0x0000055e,0x00000001,
+	0x00050051,0x00000006,0x000002b0,0x000002aa,0x00000002,0x00060052,0x00000023,0x00000562,
+	0x000002b0,0x00000560,0x00000002,0x0008004f,0x00000007,0x000002b2,0x00000562,0x00000562,
+	0x00000000,0x00000001,0x00000002,0x0005008e,0x00000007,0x000004f5,0x000002b2,0x0000003c,
+	0x00050051,0x00000006,0x000002b5,0x000004f5,0x00000000,0x00060052,0x00000023,0x00000564,
+	0x000002b5,0x0000059a,0x00000000,0x00050051,0x00000006,0x000002b7,0x000004f5,0x00000001,
+	0x00060052,0x00000023,0x00000566,0x000002b7,0x00000564,0x00000001,0x00050051,0x00000006,
+	0x000002b9,0x000004f5,0x00000002,0x00060052,0x00000023,0x00000568,0x000002b9,0x00000566,
+	0x00000002,0x0008004f,0x00000007,0x000002bb,0x00000568,0x00000568,0x00000000,0x00000001,
+	0x00000002,0x00050085,0x00000007,0x000004fd,0x000002bb,0x0000057e,0x0008000c,0x00000007,
+	0x00000500,0x00000001,0x0000002b,0x000004fd,0x00000075,0x0000057f,0x0006000c,0x00000007,
+	0x00000502,0x00000001,0x00000004,0x00000500,0x0007000c,0x00000007,0x00000503,0x00000001,
+	0x0000001a,0x00000502,0x000000a6,0x0005008e,0x00000007,0x00000504,0x00000503,0x00000078,
+	0x00050081,0x00000007,0x00000506,0x0000057a,0x00000504,0x0006000c,0x00000007,0x00000508,
+	0x00000001,0x00000004,0x00000500,0x0007000c,0x00000007,0x00000509,0x00000001,0x0000001a,
+	0x00000508,0x000000a6,0x0005008e,0x00000007,0x0000050a,0x00000509,0x00000079,0x00050081,
+	0x00000007,0x0000050c,0x0000057f,0x0000050a,0x00050088,0x00000007,0x0000050f,0x00000506,
+	0x0000050c,0x0006000c,0x00000007,0x00000510,0x00000001,0x00000004,0x0000050f,0x0007000c,
+	0x00000007,0x00000511,0x00000001,0x0000001a,0x00000510,0x000000b7,0x00050051,0x00000006,
+	0x000002be,0x00000511,0x00000000,0x00050051,0x00000006,0x000002c0,0x00000511,0x00000001,
+	0x00050051,0x00000006,0x000002c2,0x00000511,0x00000002,0x00050051,0x00000006,0x000002c4,
+	0x00000598,0x00000003,0x00050051,0x00000006,0x000002c6,0x00000249,0x00000003,0x00050085,
+	0x00000006,0x000002c7,0x000002c4,0x000002c6,0x00070050,0x00000023,0x00000580,0x000002be,
+	0x000002c0,0x000002c2,0x000002c7,0x0003003e,0x0000024c,0x00000580,0x000100fd,0x00010038
+};

+ 7 - 0
src/render/vulkan/VULKAN_PixelShader_Textures_PQ.hlsl

@@ -0,0 +1,7 @@
+
+#include "VULKAN_PixelShader_Common.hlsli"
+
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+	return PQTexturePixelShader(input);
+}

+ 22 - 0
src/render/vulkan/VULKAN_PixelShader_Textures_Simple.h

@@ -0,0 +1,22 @@
+	// 1114.0.0
+	 #pragma once
+static const uint32_t VULKAN_PixelShader_Textures_Simple[] = {
+	0x07230203,0x00010000,0x0008000b,0x0000005c,0x00000000,0x00020011,0x00000001,0x0006000b,
+	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+	0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000024,0x0000002c,0x00030010,
+	0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,0x6e69616d,
+	0x00000000,0x00050005,0x00000012,0x74786574,0x30657275,0x00000000,0x00050005,0x00000024,
+	0x75706e69,0x65742e74,0x00000078,0x00070005,0x0000002c,0x746e6540,0x6f507972,0x4f746e69,
+	0x75707475,0x00000074,0x00040047,0x00000012,0x00000022,0x00000000,0x00040047,0x00000012,
+	0x00000021,0x00000001,0x00040047,0x00000024,0x0000001e,0x00000000,0x00040047,0x0000002c,
+	0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
+	0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040017,0x00000008,
+	0x00000006,0x00000002,0x00090019,0x0000000f,0x00000006,0x00000001,0x00000000,0x00000000,
+	0x00000000,0x00000001,0x00000000,0x0003001b,0x00000010,0x0000000f,0x00040020,0x00000011,
+	0x00000000,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000000,0x00040020,0x00000023,
+	0x00000001,0x00000008,0x0004003b,0x00000023,0x00000024,0x00000001,0x00040020,0x0000002b,
+	0x00000003,0x00000007,0x0004003b,0x0000002b,0x0000002c,0x00000003,0x00050036,0x00000002,
+	0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000008,0x00000025,
+	0x00000024,0x0004003d,0x00000010,0x00000058,0x00000012,0x00050057,0x00000007,0x0000005b,
+	0x00000058,0x00000025,0x0003003e,0x0000002c,0x0000005b,0x000100fd,0x00010038
+};

+ 7 - 0
src/render/vulkan/VULKAN_PixelShader_Textures_Simple.hlsl

@@ -0,0 +1,7 @@
+
+#include "VULKAN_PixelShader_Common.hlsli"
+
+float4 main(PixelShaderInput input) : SV_TARGET
+{
+    return texture0.Sample(sampler0, input.tex);
+}

+ 3 - 0
src/render/vulkan/compile_shaders.bat

@@ -1,5 +1,8 @@
 glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Colors -o VULKAN_PixelShader_Colors.h VULKAN_PixelShader_Colors.hlsl
+glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Colors_PQ -o VULKAN_PixelShader_Colors_PQ.h VULKAN_PixelShader_Colors_PQ.hlsl
 glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Textures -o VULKAN_PixelShader_Textures.h VULKAN_PixelShader_Textures.hlsl
+glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Textures_PQ -o VULKAN_PixelShader_Textures_PQ.h VULKAN_PixelShader_Textures_PQ.hlsl
+glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Textures_Simple -o VULKAN_PixelShader_Textures_Simple.h VULKAN_PixelShader_Textures_Simple.hlsl
 glslangValidator -DBROKEN_YCbCr_NVIDIA=1 -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Textures_YUV -o VULKAN_PixelShader_Textures_YUV.h VULKAN_PixelShader_Textures.hlsl
 glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Advanced -o VULKAN_PixelShader_Advanced.h VULKAN_PixelShader_Advanced.hlsl
 glslangValidator -DBROKEN_YCbCr_NVIDIA=1 -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Advanced_YUV -o VULKAN_PixelShader_Advanced_YUV.h VULKAN_PixelShader_Advanced.hlsl

+ 63 - 58
src/video/SDL_pixels.c

@@ -1040,66 +1040,66 @@ const float *SDL_GetYCbCRtoRGBConversionMatrix(SDL_Colorspace colorspace, int w,
     return NULL;
 }
 
+/* Conversion matrices generated using gamescope color helpers and the primaries definitions at:
+    * https://www.itu.int/rec/T-REC-H.273-201612-S/en
+    *
+    * You can also generate these online using the RGB-XYZ matrix calculator, and then multiplying
+    * XYZ_to_dst * src_to_XYZ to get the combined conversion matrix:
+    * https://www.russellcottrell.com/photo/matrixCalculator.htm
+    */
+static const float mat601to709[] = {
+    0.939542f, 0.050181f, 0.010277f,
+    0.017772f, 0.965793f, 0.016435f,
+    -0.001622f, -0.004370f, 1.005991f,
+};
+static const float mat601to2020[] = {
+    0.595254f, 0.349314f, 0.055432f,
+    0.081244f, 0.891503f, 0.027253f,
+    0.015512f, 0.081912f, 0.902576f,
+};
+static const float mat709to601[] = {
+    1.065379f, -0.055401f, -0.009978f,
+    -0.019633f, 1.036363f, -0.016731f,
+    0.001632f, 0.004412f, 0.993956f,
+};
+static const float mat709to2020[] = {
+    0.627404f, 0.329283f, 0.043313f,
+    0.069097f, 0.919541f, 0.011362f,
+    0.016391f, 0.088013f, 0.895595f,
+};
+static const float mat2020to601[] = {
+    1.776133f, -0.687820f, -0.088313f,
+    -0.161376f, 1.187315f, -0.025940f,
+    -0.015881f, -0.095931f, 1.111812f,
+};
+static const float mat2020to709[] = {
+    1.660496f, -0.587656f, -0.072840f,
+    -0.124547f, 1.132895f, -0.008348f,
+    -0.018154f, -0.100597f, 1.118751f
+};
+static const float matSMPTE431to709[] = {
+    1.120713f, -0.234649f, 0.000000f,
+    -0.038478f, 1.087034f, 0.000000f,
+    -0.017967f, -0.082030f, 0.954576f,
+};
+static const float matSMPTE431to2020[] = {
+    0.689691f, 0.207169f, 0.041346f,
+    0.041852f, 0.982426f, 0.010846f,
+    -0.001107f, 0.018362f, 0.854914f,
+};
+static const float matSMPTE432to709[] = {
+    1.224940f, -0.224940f, -0.000000f,
+    -0.042057f, 1.042057f, 0.000000f,
+    -0.019638f, -0.078636f, 1.098273f,
+};
+static const float matSMPTE432to2020[] = {
+    0.753833f, 0.198597f, 0.047570f,
+    0.045744f, 0.941777f, 0.012479f,
+    -0.001210f, 0.017602f, 0.983609f,
+};
+
 const float *SDL_GetColorPrimariesConversionMatrix(SDL_ColorPrimaries src, SDL_ColorPrimaries dst)
 {
-    /* Conversion matrices generated using gamescope color helpers and the primaries definitions at:
-     * https://www.itu.int/rec/T-REC-H.273-201612-S/en
-     *
-     * You can also generate these online using the RGB-XYZ matrix calculator, and then multiplying
-     * XYZ_to_dst * src_to_XYZ to get the combined conversion matrix:
-     * https://www.russellcottrell.com/photo/matrixCalculator.htm
-     */
-    static const float mat601to709[] = {
-        0.939542f, 0.050181f, 0.010277f,
-        0.017772f, 0.965793f, 0.016435f,
-        -0.001622f, -0.004370f, 1.005991f,
-    };
-    static const float mat601to2020[] = {
-        0.595254f, 0.349314f, 0.055432f,
-        0.081244f, 0.891503f, 0.027253f,
-        0.015512f, 0.081912f, 0.902576f,
-    };
-    static const float mat709to601[] = {
-        1.065379f, -0.055401f, -0.009978f,
-        -0.019633f, 1.036363f, -0.016731f,
-        0.001632f, 0.004412f, 0.993956f,
-    };
-    static const float mat709to2020[] = {
-        0.627404f, 0.329283f, 0.043313f,
-        0.069097f, 0.919541f, 0.011362f,
-        0.016391f, 0.088013f, 0.895595f,
-    };
-    static const float mat2020to601[] = {
-        1.776133f, -0.687820f, -0.088313f,
-        -0.161376f, 1.187315f, -0.025940f,
-        -0.015881f, -0.095931f, 1.111812f,
-    };
-    static const float mat2020to709[] = {
-        1.660496f, -0.587656f, -0.072840f,
-        -0.124547f, 1.132895f, -0.008348f,
-        -0.018154f, -0.100597f, 1.118751f
-    };
-    static const float matSMPTE431to709[] = {
-        1.120713f, -0.234649f, 0.000000f,
-        -0.038478f, 1.087034f, 0.000000f,
-        -0.017967f, -0.082030f, 0.954576f,
-    };
-    static const float matSMPTE431to2020[] = {
-        0.689691f, 0.207169f, 0.041346f,
-        0.041852f, 0.982426f, 0.010846f,
-        -0.001107f, 0.018362f, 0.854914f,
-    };
-    static const float matSMPTE432to709[] = {
-        1.224940f, -0.224940f, -0.000000f,
-        -0.042057f, 1.042057f, 0.000000f,
-        -0.019638f, -0.078636f, 1.098273f,
-    };
-    static const float matSMPTE432to2020[] = {
-        0.753833f, 0.198597f, 0.047570f,
-        0.045744f, 0.941777f, 0.012479f,
-        -0.001210f, 0.017602f, 0.983609f,
-    };
-
     switch (dst) {
     case SDL_COLOR_PRIMARIES_BT601:
     case SDL_COLOR_PRIMARIES_SMPTE240:
@@ -1161,6 +1161,11 @@ void SDL_ConvertColorPrimaries(float *fR, float *fG, float *fB, const float *mat
     *fB = matrix[2 * 3 + 0] * v[0] + matrix[2 * 3 + 1] * v[1] + matrix[2 * 3 + 2] * v[2];
 }
 
+void SDL_ConvertColor709to2020(float *fR, float *fG, float *fB)
+{
+    SDL_ConvertColorPrimaries(fR, fG, fB, mat709to2020);
+}
+
 SDL_Palette *SDL_CreatePalette(int ncolors)
 {
     SDL_Palette *palette;

+ 1 - 0
src/video/SDL_pixels_c.h

@@ -41,6 +41,7 @@ extern float SDL_PQfromNits(float v);
 extern const float *SDL_GetYCbCRtoRGBConversionMatrix(SDL_Colorspace colorspace, int w, int h, int bits_per_pixel);
 extern const float *SDL_GetColorPrimariesConversionMatrix(SDL_ColorPrimaries src, SDL_ColorPrimaries dst);
 extern void SDL_ConvertColorPrimaries(float *fR, float *fG, float *fB, const float *matrix);
+extern void SDL_ConvertColor709to2020(float *fR, float *fG, float *fB);
 
 // Blit mapping functions
 extern bool SDL_ValidateMap(SDL_Surface *src, SDL_Surface *dst);

+ 6 - 2
src/video/SDL_surface.c

@@ -2832,7 +2832,9 @@ bool SDL_ReadSurfacePixel(SDL_Surface *surface, int x, int y, Uint8 *r, Uint8 *g
 
     p = (Uint8 *)surface->pixels + y * surface->pitch + x * bytes_per_pixel;
 
-    if (bytes_per_pixel <= sizeof(pixel) && !SDL_ISPIXELFORMAT_FOURCC(surface->format)) {
+    if (bytes_per_pixel <= sizeof(pixel) &&
+        !SDL_ISPIXELFORMAT_FOURCC(surface->format) &&
+        SDL_COLORSPACETRANSFER(surface->colorspace) == SDL_TRANSFER_CHARACTERISTICS_SRGB) {
         /* Fill the appropriate number of least-significant bytes of pixel,
          * leaving the most-significant bytes set to zero */
 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
@@ -2909,7 +2911,9 @@ bool SDL_ReadSurfacePixelFloat(SDL_Surface *surface, int x, int y, float *r, flo
         return SDL_InvalidParamError("y");
     }
 
-    if (SDL_BYTESPERPIXEL(surface->format) <= sizeof(Uint32) && !SDL_ISPIXELFORMAT_FOURCC(surface->format)) {
+    if (SDL_BYTESPERPIXEL(surface->format) <= sizeof(Uint32) &&
+        !SDL_ISPIXELFORMAT_FOURCC(surface->format) &&
+        SDL_COLORSPACETRANSFER(surface->colorspace) == SDL_TRANSFER_CHARACTERISTICS_SRGB) {
         Uint8 r8, g8, b8, a8;
 
         if (SDL_ReadSurfacePixel(surface, x, y, &r8, &g8, &b8, &a8)) {

+ 4 - 0
test/testautomation_surface.c

@@ -1904,6 +1904,10 @@ static int SDLCALL surface_testClearSurface(void *arg)
 
         surface = SDL_CreateSurface(1, 1, format);
         SDLTest_AssertCheck(surface != NULL, "SDL_CreateSurface()");
+        if (SDL_ISPIXELFORMAT_10BIT(format)) {
+            // SDL_ReadSurfacePixelFloat() returns values in the sRGB colorspace
+            SDL_SetSurfaceColorspace(surface, SDL_COLORSPACE_SRGB);
+        }
         ret = SDL_ClearSurface(surface, srcR, srcG, srcB, srcA);
         SDLTest_AssertCheck(ret == true, "SDL_ClearSurface()");
         ret = SDL_ReadSurfacePixelFloat(surface, 0, 0, &actualR, &actualG, &actualB, &actualA);

+ 9 - 4
test/testcolorspace.c

@@ -56,6 +56,7 @@ static void UpdateHDRState(void)
 {
     SDL_PropertiesID props;
     bool HDR_enabled;
+    SDL_Colorspace colorspace;
 
     props = SDL_GetWindowProperties(window);
     HDR_enabled = SDL_GetBooleanProperty(props, SDL_PROP_WINDOW_HDR_ENABLED_BOOLEAN, false);
@@ -64,7 +65,9 @@ static void UpdateHDRState(void)
 
     if (HDR_enabled) {
         props = SDL_GetRendererProperties(renderer);
-        if (SDL_GetNumberProperty(props, SDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER, SDL_COLORSPACE_SRGB) != SDL_COLORSPACE_SRGB_LINEAR) {
+        colorspace = SDL_GetNumberProperty(props, SDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER, SDL_COLORSPACE_SRGB);
+        if (colorspace != SDL_COLORSPACE_SRGB_LINEAR &&
+            colorspace != SDL_COLORSPACE_HDR10) {
             SDL_Log("Run with --colorspace linear to display HDR colors");
         }
         HDR_headroom = SDL_GetFloatProperty(props, SDL_PROP_RENDERER_HDR_HEADROOM_FLOAT, 1.0f);
@@ -371,7 +374,8 @@ static void RenderBlendDrawing(void)
     } else if ((cr.r == 192 && cr.g == 163 && cr.b == 83) ||
                (cr.r == 191 && cr.g == 162 && cr.b == 82)) {
         DrawText(x, y, "Correct blend color, blending in sRGB space");
-    } else if (cr.r == 214 && cr.g == 156 && cr.b == 113) {
+    } else if ((cr.r == 214 && cr.g == 156 && cr.b == 113) ||
+               (cr.r == 215 && cr.g == 155 && cr.b == 113)) {
         DrawText(x, y, "Incorrect blend color, blending in PQ space");
     } else {
         DrawText(x, y, "Incorrect blend color, unknown reason");
@@ -432,6 +436,9 @@ static void RenderBlendTexture(void)
     } else if ((cr.r == 192 && cr.g == 163 && cr.b == 83) ||
                (cr.r == 191 && cr.g == 162 && cr.b == 82)) {
         DrawText(x, y, "Correct blend color, blending in sRGB space");
+    } else if ((cr.r == 214 && cr.g == 156 && cr.b == 113) ||
+               (cr.r == 215 && cr.g == 155 && cr.b == 113)) {
+        DrawText(x, y, "Incorrect blend color, blending in PQ space");
     } else {
         DrawText(x, y, "Incorrect blend color, unknown reason");
     }
@@ -676,10 +683,8 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
                     colorspace = SDL_COLORSPACE_SRGB;
                 } else if (SDL_strcasecmp(colorspace_name, "linear") == 0) {
                     colorspace = SDL_COLORSPACE_SRGB_LINEAR;
-/* Not currently supported
                 } else if (SDL_strcasecmp(colorspace_name, "HDR10") == 0) {
                     colorspace = SDL_COLORSPACE_HDR10;
-*/
                 } else {
                     SDL_Log("Unknown colorspace %s", argv[i + 1]);
                     return SDL_APP_FAILURE;