aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYinhang Liu <yinhangx.liu@intel.com>2018-11-23 14:58:03 +0800
committerZong Wei <wei.zong@intel.com>2018-12-12 14:33:32 +0800
commiteb1e9ddfaa1d76c3472bd4878641e9914caa4c7b (patch)
treec8b5000f4aac6ecba1599a44ad23e4e5a96ae336
parent1e54db5f4e0d320022a21195d0ce382893be9e88 (diff)
downloadlibxcam-eb1e9ddfaa1d76c3472bd4878641e9914caa4c7b.tar.gz
vk-blender: add blending shader
* generate blending spv
-rw-r--r--shaders/spv/shader_blend_pyr.comp93
-rw-r--r--shaders/spv/shader_blend_pyr.comp.spv228
2 files changed, 321 insertions, 0 deletions
diff --git a/shaders/spv/shader_blend_pyr.comp b/shaders/spv/shader_blend_pyr.comp
new file mode 100644
index 0000000..77ff1a9
--- /dev/null
+++ b/shaders/spv/shader_blend_pyr.comp
@@ -0,0 +1,93 @@
+#version 310 es
+
+layout (local_size_x = 8, local_size_y = 8) in;
+
+layout (binding = 0) readonly buffer In0BufY {
+ uvec2 data[];
+} in0_buf_y;
+
+layout (binding = 1) readonly buffer In0BufUV {
+ uvec2 data[];
+} in0_buf_uv;
+
+layout (binding = 2) readonly buffer In1BufY {
+ uvec2 data[];
+} in1_buf_y;
+
+layout (binding = 3) readonly buffer In1BufUV {
+ uvec2 data[];
+} in1_buf_uv;
+
+layout (binding = 4) writeonly buffer OutBufY {
+ uvec2 data[];
+} out_buf_y;
+
+layout (binding = 5) writeonly buffer OutBufUV {
+ uvec2 data[];
+} out_buf_uv;
+
+layout (binding = 6) readonly buffer MaskBuf {
+ uvec2 data[];
+} mask_buf;
+
+layout (push_constant) uniform PushConsts {
+ uint in_img_width;
+} prop;
+
+void main ()
+{
+ uvec2 g_id = gl_GlobalInvocationID.xy;
+ g_id.x = clamp (g_id.x, 0u, prop.in_img_width - 1u);
+
+ uvec2 mask = mask_buf.data[g_id.x];
+ vec4 mask0 = unpackUnorm4x8 (mask.x);
+ vec4 mask1 = unpackUnorm4x8 (mask.y);
+
+ uint y_idx = g_id.y * 2u * prop.in_img_width + g_id.x;
+ uvec2 in0_y = in0_buf_y.data[y_idx];
+ vec4 in0_y0 = unpackUnorm4x8 (in0_y.x);
+ vec4 in0_y1 = unpackUnorm4x8 (in0_y.y);
+
+ uvec2 in1_y = in1_buf_y.data[y_idx];
+ vec4 in1_y0 = unpackUnorm4x8 (in1_y.x);
+ vec4 in1_y1 = unpackUnorm4x8 (in1_y.y);
+
+ vec4 out_y0 = (in0_y0 - in1_y0) * mask0 + in1_y0;
+ vec4 out_y1 = (in0_y1 - in1_y1) * mask1 + in1_y1;
+ out_y0 = clamp (out_y0, 0.0f, 1.0f);
+ out_y1 = clamp (out_y1, 0.0f, 1.0f);
+ out_buf_y.data[y_idx] = uvec2 (packUnorm4x8 (out_y0), packUnorm4x8 (out_y1));
+
+ y_idx += prop.in_img_width;
+ in0_y = in0_buf_y.data[y_idx];
+ in0_y0 = unpackUnorm4x8 (in0_y.x);
+ in0_y1 = unpackUnorm4x8 (in0_y.y);
+
+ in1_y = in1_buf_y.data[y_idx];
+ in1_y0 = unpackUnorm4x8 (in1_y.x);
+ in1_y1 = unpackUnorm4x8 (in1_y.y);
+
+ out_y0 = (in0_y0 - in1_y0) * mask0 + in1_y0;
+ out_y1 = (in0_y1 - in1_y1) * mask1 + in1_y1;
+ out_y0 = clamp (out_y0, 0.0f, 1.0f);
+ out_y1 = clamp (out_y1, 0.0f, 1.0f);
+ out_buf_y.data[y_idx] = uvec2 (packUnorm4x8 (out_y0), packUnorm4x8 (out_y1));
+
+ uint uv_idx = g_id.y * prop.in_img_width + g_id.x;
+ uvec2 in0_uv = in0_buf_uv.data[uv_idx];
+ vec4 in0_uv0 = unpackUnorm4x8 (in0_uv.x);
+ vec4 in0_uv1 = unpackUnorm4x8 (in0_uv.y);
+
+ uvec2 in1_uv = in1_buf_uv.data[uv_idx];
+ vec4 in1_uv0 = unpackUnorm4x8 (in1_uv.x);
+ vec4 in1_uv1 = unpackUnorm4x8 (in1_uv.y);
+
+ mask0.yw = mask0.xz;
+ mask1.yw = mask1.xz;
+ vec4 out_uv0 = (in0_uv0 - in1_uv0) * mask0 + in1_uv0;
+ vec4 out_uv1 = (in0_uv1 - in1_uv1) * mask1 + in1_uv1;
+
+ out_uv0 = clamp (out_uv0, 0.0f, 1.0f);
+ out_uv1 = clamp (out_uv1, 0.0f, 1.0f);
+ out_buf_uv.data[uv_idx] = uvec2 (packUnorm4x8 (out_uv0), packUnorm4x8 (out_uv1));
+}
diff --git a/shaders/spv/shader_blend_pyr.comp.spv b/shaders/spv/shader_blend_pyr.comp.spv
new file mode 100644
index 0000000..9f1d33a
--- /dev/null
+++ b/shaders/spv/shader_blend_pyr.comp.spv
@@ -0,0 +1,228 @@
+ // 7.8.2870
+ 0x07230203,0x00010000,0x00080007,0x0000010e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010,0x00000004,
+ 0x00000011,0x00000008,0x00000008,0x00000001,0x00030003,0x00000001,0x00000136,0x00040005,
+ 0x00000004,0x6e69616d,0x00000000,0x00040005,0x00000009,0x64695f67,0x00000000,0x00080005,
+ 0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
+ 0x00000013,0x68737550,0x736e6f43,0x00007374,0x00070006,0x00000013,0x00000000,0x695f6e69,
+ 0x775f676d,0x68746469,0x00000000,0x00040005,0x00000015,0x706f7270,0x00000000,0x00040005,
+ 0x0000001f,0x6b73616d,0x00000000,0x00040005,0x00000021,0x6b73614d,0x00667542,0x00050006,
+ 0x00000021,0x00000000,0x61746164,0x00000000,0x00050005,0x00000023,0x6b73616d,0x6675625f,
+ 0x00000000,0x00040005,0x0000002c,0x6b73616d,0x00000030,0x00040005,0x00000030,0x6b73616d,
+ 0x00000031,0x00040005,0x00000034,0x64695f79,0x00000078,0x00040005,0x0000003f,0x5f306e69,
+ 0x00000079,0x00040005,0x00000041,0x42306e49,0x00596675,0x00050006,0x00000041,0x00000000,
+ 0x61746164,0x00000000,0x00050005,0x00000043,0x5f306e69,0x5f667562,0x00000079,0x00040005,
+ 0x00000047,0x5f306e69,0x00003079,0x00040005,0x0000004b,0x5f306e69,0x00003179,0x00040005,
+ 0x0000004f,0x5f316e69,0x00000079,0x00040005,0x00000051,0x42316e49,0x00596675,0x00050006,
+ 0x00000051,0x00000000,0x61746164,0x00000000,0x00050005,0x00000053,0x5f316e69,0x5f667562,
+ 0x00000079,0x00040005,0x00000057,0x5f316e69,0x00003079,0x00040005,0x0000005b,0x5f316e69,
+ 0x00003179,0x00040005,0x0000005f,0x5f74756f,0x00003079,0x00040005,0x00000067,0x5f74756f,
+ 0x00003179,0x00040005,0x0000007a,0x4274754f,0x00596675,0x00050006,0x0000007a,0x00000000,
+ 0x61746164,0x00000000,0x00050005,0x0000007c,0x5f74756f,0x5f667562,0x00000079,0x00040005,
+ 0x000000b7,0x695f7675,0x00007864,0x00040005,0x000000c0,0x5f306e69,0x00007675,0x00050005,
+ 0x000000c2,0x42306e49,0x56556675,0x00000000,0x00050006,0x000000c2,0x00000000,0x61746164,
+ 0x00000000,0x00050005,0x000000c4,0x5f306e69,0x5f667562,0x00007675,0x00040005,0x000000c8,
+ 0x5f306e69,0x00307675,0x00040005,0x000000cc,0x5f306e69,0x00317675,0x00040005,0x000000d0,
+ 0x5f316e69,0x00007675,0x00050005,0x000000d2,0x42316e49,0x56556675,0x00000000,0x00050006,
+ 0x000000d2,0x00000000,0x61746164,0x00000000,0x00050005,0x000000d4,0x5f316e69,0x5f667562,
+ 0x00007675,0x00040005,0x000000d8,0x5f316e69,0x00307675,0x00040005,0x000000dc,0x5f316e69,
+ 0x00317675,0x00040005,0x000000e9,0x5f74756f,0x00307675,0x00040005,0x000000f1,0x5f74756f,
+ 0x00317675,0x00050005,0x00000102,0x4274754f,0x56556675,0x00000000,0x00050006,0x00000102,
+ 0x00000000,0x61746164,0x00000000,0x00050005,0x00000104,0x5f74756f,0x5f667562,0x00007675,
+ 0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000013,0x00000002,0x00040047,0x00000020,0x00000006,0x00000008,
+ 0x00040048,0x00000021,0x00000000,0x00000018,0x00050048,0x00000021,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000021,0x00000003,0x00040047,0x00000023,0x00000022,0x00000000,
+ 0x00040047,0x00000023,0x00000021,0x00000006,0x00040047,0x00000040,0x00000006,0x00000008,
+ 0x00040048,0x00000041,0x00000000,0x00000018,0x00050048,0x00000041,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000041,0x00000003,0x00040047,0x00000043,0x00000022,0x00000000,
+ 0x00040047,0x00000043,0x00000021,0x00000000,0x00040047,0x00000050,0x00000006,0x00000008,
+ 0x00040048,0x00000051,0x00000000,0x00000018,0x00050048,0x00000051,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000051,0x00000003,0x00040047,0x00000053,0x00000022,0x00000000,
+ 0x00040047,0x00000053,0x00000021,0x00000002,0x00040047,0x00000079,0x00000006,0x00000008,
+ 0x00040048,0x0000007a,0x00000000,0x00000019,0x00050048,0x0000007a,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x0000007a,0x00000003,0x00040047,0x0000007c,0x00000022,0x00000000,
+ 0x00040047,0x0000007c,0x00000021,0x00000004,0x00040047,0x000000c1,0x00000006,0x00000008,
+ 0x00040048,0x000000c2,0x00000000,0x00000018,0x00050048,0x000000c2,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x000000c2,0x00000003,0x00040047,0x000000c4,0x00000022,0x00000000,
+ 0x00040047,0x000000c4,0x00000021,0x00000001,0x00040047,0x000000d1,0x00000006,0x00000008,
+ 0x00040048,0x000000d2,0x00000000,0x00000018,0x00050048,0x000000d2,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x000000d2,0x00000003,0x00040047,0x000000d4,0x00000022,0x00000000,
+ 0x00040047,0x000000d4,0x00000021,0x00000003,0x00040047,0x00000101,0x00000006,0x00000008,
+ 0x00040048,0x00000102,0x00000000,0x00000019,0x00050048,0x00000102,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000102,0x00000003,0x00040047,0x00000104,0x00000022,0x00000000,
+ 0x00040047,0x00000104,0x00000021,0x00000005,0x00040047,0x0000010d,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000000,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,
+ 0x00000007,0x00040017,0x0000000a,0x00000006,0x00000003,0x00040020,0x0000000b,0x00000001,
+ 0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x0004002b,0x00000006,0x0000000f,
+ 0x00000000,0x00040020,0x00000010,0x00000007,0x00000006,0x0003001e,0x00000013,0x00000006,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x00040015,0x00000016,0x00000020,0x00000001,0x0004002b,0x00000016,0x00000017,0x00000000,
+ 0x00040020,0x00000018,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000001b,0x00000001,
+ 0x0003001d,0x00000020,0x00000007,0x0003001e,0x00000021,0x00000020,0x00040020,0x00000022,
+ 0x00000002,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000002,0x00040020,0x00000026,
+ 0x00000002,0x00000007,0x00030016,0x00000029,0x00000020,0x00040017,0x0000002a,0x00000029,
+ 0x00000004,0x00040020,0x0000002b,0x00000007,0x0000002a,0x0004002b,0x00000006,0x00000037,
+ 0x00000002,0x0003001d,0x00000040,0x00000007,0x0003001e,0x00000041,0x00000040,0x00040020,
+ 0x00000042,0x00000002,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000002,0x0003001d,
+ 0x00000050,0x00000007,0x0003001e,0x00000051,0x00000050,0x00040020,0x00000052,0x00000002,
+ 0x00000051,0x0004003b,0x00000052,0x00000053,0x00000002,0x0004002b,0x00000029,0x00000070,
+ 0x00000000,0x0004002b,0x00000029,0x00000071,0x3f800000,0x0003001d,0x00000079,0x00000007,
+ 0x0003001e,0x0000007a,0x00000079,0x00040020,0x0000007b,0x00000002,0x0000007a,0x0004003b,
+ 0x0000007b,0x0000007c,0x00000002,0x0003001d,0x000000c1,0x00000007,0x0003001e,0x000000c2,
+ 0x000000c1,0x00040020,0x000000c3,0x00000002,0x000000c2,0x0004003b,0x000000c3,0x000000c4,
+ 0x00000002,0x0003001d,0x000000d1,0x00000007,0x0003001e,0x000000d2,0x000000d1,0x00040020,
+ 0x000000d3,0x00000002,0x000000d2,0x0004003b,0x000000d3,0x000000d4,0x00000002,0x00040017,
+ 0x000000e0,0x00000029,0x00000002,0x0003001d,0x00000101,0x00000007,0x0003001e,0x00000102,
+ 0x00000101,0x00040020,0x00000103,0x00000002,0x00000102,0x0004003b,0x00000103,0x00000104,
+ 0x00000002,0x0004002b,0x00000006,0x0000010c,0x00000008,0x0006002c,0x0000000a,0x0000010d,
+ 0x0000010c,0x0000010c,0x0000001b,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,
+ 0x0000001f,0x00000007,0x0004003b,0x0000002b,0x0000002c,0x00000007,0x0004003b,0x0000002b,
+ 0x00000030,0x00000007,0x0004003b,0x00000010,0x00000034,0x00000007,0x0004003b,0x00000008,
+ 0x0000003f,0x00000007,0x0004003b,0x0000002b,0x00000047,0x00000007,0x0004003b,0x0000002b,
+ 0x0000004b,0x00000007,0x0004003b,0x00000008,0x0000004f,0x00000007,0x0004003b,0x0000002b,
+ 0x00000057,0x00000007,0x0004003b,0x0000002b,0x0000005b,0x00000007,0x0004003b,0x0000002b,
+ 0x0000005f,0x00000007,0x0004003b,0x0000002b,0x00000067,0x00000007,0x0004003b,0x00000010,
+ 0x000000b7,0x00000007,0x0004003b,0x00000008,0x000000c0,0x00000007,0x0004003b,0x0000002b,
+ 0x000000c8,0x00000007,0x0004003b,0x0000002b,0x000000cc,0x00000007,0x0004003b,0x00000008,
+ 0x000000d0,0x00000007,0x0004003b,0x0000002b,0x000000d8,0x00000007,0x0004003b,0x0000002b,
+ 0x000000dc,0x00000007,0x0004003b,0x0000002b,0x000000e9,0x00000007,0x0004003b,0x0000002b,
+ 0x000000f1,0x00000007,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,
+ 0x0000000e,0x0000000d,0x0000000d,0x00000000,0x00000001,0x0003003e,0x00000009,0x0000000e,
+ 0x00050041,0x00000010,0x00000011,0x00000009,0x0000000f,0x0004003d,0x00000006,0x00000012,
+ 0x00000011,0x00050041,0x00000018,0x00000019,0x00000015,0x00000017,0x0004003d,0x00000006,
+ 0x0000001a,0x00000019,0x00050082,0x00000006,0x0000001c,0x0000001a,0x0000001b,0x0008000c,
+ 0x00000006,0x0000001d,0x00000001,0x0000002c,0x00000012,0x0000000f,0x0000001c,0x00050041,
+ 0x00000010,0x0000001e,0x00000009,0x0000000f,0x0003003e,0x0000001e,0x0000001d,0x00050041,
+ 0x00000010,0x00000024,0x00000009,0x0000000f,0x0004003d,0x00000006,0x00000025,0x00000024,
+ 0x00060041,0x00000026,0x00000027,0x00000023,0x00000017,0x00000025,0x0004003d,0x00000007,
+ 0x00000028,0x00000027,0x0003003e,0x0000001f,0x00000028,0x00050041,0x00000010,0x0000002d,
+ 0x0000001f,0x0000000f,0x0004003d,0x00000006,0x0000002e,0x0000002d,0x0006000c,0x0000002a,
+ 0x0000002f,0x00000001,0x00000040,0x0000002e,0x0003003e,0x0000002c,0x0000002f,0x00050041,
+ 0x00000010,0x00000031,0x0000001f,0x0000001b,0x0004003d,0x00000006,0x00000032,0x00000031,
+ 0x0006000c,0x0000002a,0x00000033,0x00000001,0x00000040,0x00000032,0x0003003e,0x00000030,
+ 0x00000033,0x00050041,0x00000010,0x00000035,0x00000009,0x0000001b,0x0004003d,0x00000006,
+ 0x00000036,0x00000035,0x00050084,0x00000006,0x00000038,0x00000036,0x00000037,0x00050041,
+ 0x00000018,0x00000039,0x00000015,0x00000017,0x0004003d,0x00000006,0x0000003a,0x00000039,
+ 0x00050084,0x00000006,0x0000003b,0x00000038,0x0000003a,0x00050041,0x00000010,0x0000003c,
+ 0x00000009,0x0000000f,0x0004003d,0x00000006,0x0000003d,0x0000003c,0x00050080,0x00000006,
+ 0x0000003e,0x0000003b,0x0000003d,0x0003003e,0x00000034,0x0000003e,0x0004003d,0x00000006,
+ 0x00000044,0x00000034,0x00060041,0x00000026,0x00000045,0x00000043,0x00000017,0x00000044,
+ 0x0004003d,0x00000007,0x00000046,0x00000045,0x0003003e,0x0000003f,0x00000046,0x00050041,
+ 0x00000010,0x00000048,0x0000003f,0x0000000f,0x0004003d,0x00000006,0x00000049,0x00000048,
+ 0x0006000c,0x0000002a,0x0000004a,0x00000001,0x00000040,0x00000049,0x0003003e,0x00000047,
+ 0x0000004a,0x00050041,0x00000010,0x0000004c,0x0000003f,0x0000001b,0x0004003d,0x00000006,
+ 0x0000004d,0x0000004c,0x0006000c,0x0000002a,0x0000004e,0x00000001,0x00000040,0x0000004d,
+ 0x0003003e,0x0000004b,0x0000004e,0x0004003d,0x00000006,0x00000054,0x00000034,0x00060041,
+ 0x00000026,0x00000055,0x00000053,0x00000017,0x00000054,0x0004003d,0x00000007,0x00000056,
+ 0x00000055,0x0003003e,0x0000004f,0x00000056,0x00050041,0x00000010,0x00000058,0x0000004f,
+ 0x0000000f,0x0004003d,0x00000006,0x00000059,0x00000058,0x0006000c,0x0000002a,0x0000005a,
+ 0x00000001,0x00000040,0x00000059,0x0003003e,0x00000057,0x0000005a,0x00050041,0x00000010,
+ 0x0000005c,0x0000004f,0x0000001b,0x0004003d,0x00000006,0x0000005d,0x0000005c,0x0006000c,
+ 0x0000002a,0x0000005e,0x00000001,0x00000040,0x0000005d,0x0003003e,0x0000005b,0x0000005e,
+ 0x0004003d,0x0000002a,0x00000060,0x00000047,0x0004003d,0x0000002a,0x00000061,0x00000057,
+ 0x00050083,0x0000002a,0x00000062,0x00000060,0x00000061,0x0004003d,0x0000002a,0x00000063,
+ 0x0000002c,0x00050085,0x0000002a,0x00000064,0x00000062,0x00000063,0x0004003d,0x0000002a,
+ 0x00000065,0x00000057,0x00050081,0x0000002a,0x00000066,0x00000064,0x00000065,0x0003003e,
+ 0x0000005f,0x00000066,0x0004003d,0x0000002a,0x00000068,0x0000004b,0x0004003d,0x0000002a,
+ 0x00000069,0x0000005b,0x00050083,0x0000002a,0x0000006a,0x00000068,0x00000069,0x0004003d,
+ 0x0000002a,0x0000006b,0x00000030,0x00050085,0x0000002a,0x0000006c,0x0000006a,0x0000006b,
+ 0x0004003d,0x0000002a,0x0000006d,0x0000005b,0x00050081,0x0000002a,0x0000006e,0x0000006c,
+ 0x0000006d,0x0003003e,0x00000067,0x0000006e,0x0004003d,0x0000002a,0x0000006f,0x0000005f,
+ 0x00070050,0x0000002a,0x00000072,0x00000070,0x00000070,0x00000070,0x00000070,0x00070050,
+ 0x0000002a,0x00000073,0x00000071,0x00000071,0x00000071,0x00000071,0x0008000c,0x0000002a,
+ 0x00000074,0x00000001,0x0000002b,0x0000006f,0x00000072,0x00000073,0x0003003e,0x0000005f,
+ 0x00000074,0x0004003d,0x0000002a,0x00000075,0x00000067,0x00070050,0x0000002a,0x00000076,
+ 0x00000070,0x00000070,0x00000070,0x00000070,0x00070050,0x0000002a,0x00000077,0x00000071,
+ 0x00000071,0x00000071,0x00000071,0x0008000c,0x0000002a,0x00000078,0x00000001,0x0000002b,
+ 0x00000075,0x00000076,0x00000077,0x0003003e,0x00000067,0x00000078,0x0004003d,0x00000006,
+ 0x0000007d,0x00000034,0x0004003d,0x0000002a,0x0000007e,0x0000005f,0x0006000c,0x00000006,
+ 0x0000007f,0x00000001,0x00000037,0x0000007e,0x0004003d,0x0000002a,0x00000080,0x00000067,
+ 0x0006000c,0x00000006,0x00000081,0x00000001,0x00000037,0x00000080,0x00050050,0x00000007,
+ 0x00000082,0x0000007f,0x00000081,0x00060041,0x00000026,0x00000083,0x0000007c,0x00000017,
+ 0x0000007d,0x0003003e,0x00000083,0x00000082,0x00050041,0x00000018,0x00000084,0x00000015,
+ 0x00000017,0x0004003d,0x00000006,0x00000085,0x00000084,0x0004003d,0x00000006,0x00000086,
+ 0x00000034,0x00050080,0x00000006,0x00000087,0x00000086,0x00000085,0x0003003e,0x00000034,
+ 0x00000087,0x0004003d,0x00000006,0x00000088,0x00000034,0x00060041,0x00000026,0x00000089,
+ 0x00000043,0x00000017,0x00000088,0x0004003d,0x00000007,0x0000008a,0x00000089,0x0003003e,
+ 0x0000003f,0x0000008a,0x00050041,0x00000010,0x0000008b,0x0000003f,0x0000000f,0x0004003d,
+ 0x00000006,0x0000008c,0x0000008b,0x0006000c,0x0000002a,0x0000008d,0x00000001,0x00000040,
+ 0x0000008c,0x0003003e,0x00000047,0x0000008d,0x00050041,0x00000010,0x0000008e,0x0000003f,
+ 0x0000001b,0x0004003d,0x00000006,0x0000008f,0x0000008e,0x0006000c,0x0000002a,0x00000090,
+ 0x00000001,0x00000040,0x0000008f,0x0003003e,0x0000004b,0x00000090,0x0004003d,0x00000006,
+ 0x00000091,0x00000034,0x00060041,0x00000026,0x00000092,0x00000053,0x00000017,0x00000091,
+ 0x0004003d,0x00000007,0x00000093,0x00000092,0x0003003e,0x0000004f,0x00000093,0x00050041,
+ 0x00000010,0x00000094,0x0000004f,0x0000000f,0x0004003d,0x00000006,0x00000095,0x00000094,
+ 0x0006000c,0x0000002a,0x00000096,0x00000001,0x00000040,0x00000095,0x0003003e,0x00000057,
+ 0x00000096,0x00050041,0x00000010,0x00000097,0x0000004f,0x0000001b,0x0004003d,0x00000006,
+ 0x00000098,0x00000097,0x0006000c,0x0000002a,0x00000099,0x00000001,0x00000040,0x00000098,
+ 0x0003003e,0x0000005b,0x00000099,0x0004003d,0x0000002a,0x0000009a,0x00000047,0x0004003d,
+ 0x0000002a,0x0000009b,0x00000057,0x00050083,0x0000002a,0x0000009c,0x0000009a,0x0000009b,
+ 0x0004003d,0x0000002a,0x0000009d,0x0000002c,0x00050085,0x0000002a,0x0000009e,0x0000009c,
+ 0x0000009d,0x0004003d,0x0000002a,0x0000009f,0x00000057,0x00050081,0x0000002a,0x000000a0,
+ 0x0000009e,0x0000009f,0x0003003e,0x0000005f,0x000000a0,0x0004003d,0x0000002a,0x000000a1,
+ 0x0000004b,0x0004003d,0x0000002a,0x000000a2,0x0000005b,0x00050083,0x0000002a,0x000000a3,
+ 0x000000a1,0x000000a2,0x0004003d,0x0000002a,0x000000a4,0x00000030,0x00050085,0x0000002a,
+ 0x000000a5,0x000000a3,0x000000a4,0x0004003d,0x0000002a,0x000000a6,0x0000005b,0x00050081,
+ 0x0000002a,0x000000a7,0x000000a5,0x000000a6,0x0003003e,0x00000067,0x000000a7,0x0004003d,
+ 0x0000002a,0x000000a8,0x0000005f,0x00070050,0x0000002a,0x000000a9,0x00000070,0x00000070,
+ 0x00000070,0x00000070,0x00070050,0x0000002a,0x000000aa,0x00000071,0x00000071,0x00000071,
+ 0x00000071,0x0008000c,0x0000002a,0x000000ab,0x00000001,0x0000002b,0x000000a8,0x000000a9,
+ 0x000000aa,0x0003003e,0x0000005f,0x000000ab,0x0004003d,0x0000002a,0x000000ac,0x00000067,
+ 0x00070050,0x0000002a,0x000000ad,0x00000070,0x00000070,0x00000070,0x00000070,0x00070050,
+ 0x0000002a,0x000000ae,0x00000071,0x00000071,0x00000071,0x00000071,0x0008000c,0x0000002a,
+ 0x000000af,0x00000001,0x0000002b,0x000000ac,0x000000ad,0x000000ae,0x0003003e,0x00000067,
+ 0x000000af,0x0004003d,0x00000006,0x000000b0,0x00000034,0x0004003d,0x0000002a,0x000000b1,
+ 0x0000005f,0x0006000c,0x00000006,0x000000b2,0x00000001,0x00000037,0x000000b1,0x0004003d,
+ 0x0000002a,0x000000b3,0x00000067,0x0006000c,0x00000006,0x000000b4,0x00000001,0x00000037,
+ 0x000000b3,0x00050050,0x00000007,0x000000b5,0x000000b2,0x000000b4,0x00060041,0x00000026,
+ 0x000000b6,0x0000007c,0x00000017,0x000000b0,0x0003003e,0x000000b6,0x000000b5,0x00050041,
+ 0x00000010,0x000000b8,0x00000009,0x0000001b,0x0004003d,0x00000006,0x000000b9,0x000000b8,
+ 0x00050041,0x00000018,0x000000ba,0x00000015,0x00000017,0x0004003d,0x00000006,0x000000bb,
+ 0x000000ba,0x00050084,0x00000006,0x000000bc,0x000000b9,0x000000bb,0x00050041,0x00000010,
+ 0x000000bd,0x00000009,0x0000000f,0x0004003d,0x00000006,0x000000be,0x000000bd,0x00050080,
+ 0x00000006,0x000000bf,0x000000bc,0x000000be,0x0003003e,0x000000b7,0x000000bf,0x0004003d,
+ 0x00000006,0x000000c5,0x000000b7,0x00060041,0x00000026,0x000000c6,0x000000c4,0x00000017,
+ 0x000000c5,0x0004003d,0x00000007,0x000000c7,0x000000c6,0x0003003e,0x000000c0,0x000000c7,
+ 0x00050041,0x00000010,0x000000c9,0x000000c0,0x0000000f,0x0004003d,0x00000006,0x000000ca,
+ 0x000000c9,0x0006000c,0x0000002a,0x000000cb,0x00000001,0x00000040,0x000000ca,0x0003003e,
+ 0x000000c8,0x000000cb,0x00050041,0x00000010,0x000000cd,0x000000c0,0x0000001b,0x0004003d,
+ 0x00000006,0x000000ce,0x000000cd,0x0006000c,0x0000002a,0x000000cf,0x00000001,0x00000040,
+ 0x000000ce,0x0003003e,0x000000cc,0x000000cf,0x0004003d,0x00000006,0x000000d5,0x000000b7,
+ 0x00060041,0x00000026,0x000000d6,0x000000d4,0x00000017,0x000000d5,0x0004003d,0x00000007,
+ 0x000000d7,0x000000d6,0x0003003e,0x000000d0,0x000000d7,0x00050041,0x00000010,0x000000d9,
+ 0x000000d0,0x0000000f,0x0004003d,0x00000006,0x000000da,0x000000d9,0x0006000c,0x0000002a,
+ 0x000000db,0x00000001,0x00000040,0x000000da,0x0003003e,0x000000d8,0x000000db,0x00050041,
+ 0x00000010,0x000000dd,0x000000d0,0x0000001b,0x0004003d,0x00000006,0x000000de,0x000000dd,
+ 0x0006000c,0x0000002a,0x000000df,0x00000001,0x00000040,0x000000de,0x0003003e,0x000000dc,
+ 0x000000df,0x0004003d,0x0000002a,0x000000e1,0x0000002c,0x0007004f,0x000000e0,0x000000e2,
+ 0x000000e1,0x000000e1,0x00000000,0x00000002,0x0004003d,0x0000002a,0x000000e3,0x0000002c,
+ 0x0009004f,0x0000002a,0x000000e4,0x000000e3,0x000000e2,0x00000000,0x00000004,0x00000002,
+ 0x00000005,0x0003003e,0x0000002c,0x000000e4,0x0004003d,0x0000002a,0x000000e5,0x00000030,
+ 0x0007004f,0x000000e0,0x000000e6,0x000000e5,0x000000e5,0x00000000,0x00000002,0x0004003d,
+ 0x0000002a,0x000000e7,0x00000030,0x0009004f,0x0000002a,0x000000e8,0x000000e7,0x000000e6,
+ 0x00000000,0x00000004,0x00000002,0x00000005,0x0003003e,0x00000030,0x000000e8,0x0004003d,
+ 0x0000002a,0x000000ea,0x000000c8,0x0004003d,0x0000002a,0x000000eb,0x000000d8,0x00050083,
+ 0x0000002a,0x000000ec,0x000000ea,0x000000eb,0x0004003d,0x0000002a,0x000000ed,0x0000002c,
+ 0x00050085,0x0000002a,0x000000ee,0x000000ec,0x000000ed,0x0004003d,0x0000002a,0x000000ef,
+ 0x000000d8,0x00050081,0x0000002a,0x000000f0,0x000000ee,0x000000ef,0x0003003e,0x000000e9,
+ 0x000000f0,0x0004003d,0x0000002a,0x000000f2,0x000000cc,0x0004003d,0x0000002a,0x000000f3,
+ 0x000000dc,0x00050083,0x0000002a,0x000000f4,0x000000f2,0x000000f3,0x0004003d,0x0000002a,
+ 0x000000f5,0x00000030,0x00050085,0x0000002a,0x000000f6,0x000000f4,0x000000f5,0x0004003d,
+ 0x0000002a,0x000000f7,0x000000dc,0x00050081,0x0000002a,0x000000f8,0x000000f6,0x000000f7,
+ 0x0003003e,0x000000f1,0x000000f8,0x0004003d,0x0000002a,0x000000f9,0x000000e9,0x00070050,
+ 0x0000002a,0x000000fa,0x00000070,0x00000070,0x00000070,0x00000070,0x00070050,0x0000002a,
+ 0x000000fb,0x00000071,0x00000071,0x00000071,0x00000071,0x0008000c,0x0000002a,0x000000fc,
+ 0x00000001,0x0000002b,0x000000f9,0x000000fa,0x000000fb,0x0003003e,0x000000e9,0x000000fc,
+ 0x0004003d,0x0000002a,0x000000fd,0x000000f1,0x00070050,0x0000002a,0x000000fe,0x00000070,
+ 0x00000070,0x00000070,0x00000070,0x00070050,0x0000002a,0x000000ff,0x00000071,0x00000071,
+ 0x00000071,0x00000071,0x0008000c,0x0000002a,0x00000100,0x00000001,0x0000002b,0x000000fd,
+ 0x000000fe,0x000000ff,0x0003003e,0x000000f1,0x00000100,0x0004003d,0x00000006,0x00000105,
+ 0x000000b7,0x0004003d,0x0000002a,0x00000106,0x000000e9,0x0006000c,0x00000006,0x00000107,
+ 0x00000001,0x00000037,0x00000106,0x0004003d,0x0000002a,0x00000108,0x000000f1,0x0006000c,
+ 0x00000006,0x00000109,0x00000001,0x00000037,0x00000108,0x00050050,0x00000007,0x0000010a,
+ 0x00000107,0x00000109,0x00060041,0x00000026,0x0000010b,0x00000104,0x00000017,0x00000105,
+ 0x0003003e,0x0000010b,0x0000010a,0x000100fd,0x00010038