diff --git a/include/drjit-core/array.h b/include/drjit-core/array.h index 36f11e87e..b461caaab 100644 --- a/include/drjit-core/array.h +++ b/include/drjit-core/array.h @@ -364,7 +364,7 @@ Array empty(size_t size) { : AllocType::HostAsync, byte_size); return Array::steal( - jit_var_map_mem(Array::Backend, Array::Type, ptr, size, 1)); + jit_var_mem_map(Array::Backend, Array::Type, ptr, size, 1)); } template diff --git a/include/drjit-core/jit.h b/include/drjit-core/jit.h index ab3064fae..5d1b8c3f6 100644 --- a/include/drjit-core/jit.h +++ b/include/drjit-core/jit.h @@ -1592,30 +1592,44 @@ extern JIT_EXPORT void jit_memcpy_async(JIT_ENUM JitBackend backend, void *dst, */ extern JIT_EXPORT void jit_reduce(JIT_ENUM JitBackend backend, JIT_ENUM VarType type, JIT_ENUM ReduceOp rtype, - const void *ptr, uint32_t size, void *out); + const void *in, uint32_t size, void *out); -/** - * \brief Perform an exclusive scan / prefix sum over an unsigned 32 bit integer - * array +/** \brief Compute n prefix sum over the given input array + * + * Both exclusive and inclusive variants are supported. If desired, the scan + * can be performed in-place (i.e., out == in). The operation runs + * asynchronously. + * + * The operation is currenly implemented for the following numeric types: + * ``VarType::Int32``, ``VarType::UInt32``, ``VarType::UInt64``, + * ``VarType::Float32``, and ``VarType::Float64``. * - * If desired, the scan can be performed in-place (i.e. in == out). - * Note that the CUDA implementation will round up \c size to the maximum of - * the following three values for performance reasons: + * Note that the CUDA implementation may round \c size to the maximum of the + * following three values for performance and implementation-related reasons + * (the prefix sum uses a tree-based parallelization scheme). * - * - the value 4, + * - the value 4 * - the next highest power of two (when size <= 4096), * - the next highest multiple of 2K (when size > 4096), * * For this reason, the the supplied memory regions must be sufficiently large - * to avoid both out-of-bounds reads and writes. This is not an issue for - * memory obtained using \ref jit_malloc(), which internally rounds - * allocations to the next largest power of two and enforces a 64 byte minimum - * allocation size. - * - * Runs asynchronously. - */ -extern JIT_EXPORT void jit_scan_u32(JIT_ENUM JitBackend backend, const uint32_t *in, - uint32_t size, uint32_t *out); + * to avoid out-of-bounds reads and writes. This is not an issue for memory + * obtained using \ref jit_malloc(), which internally rounds allocations to the + * next largest power of two and enforces a 64 byte minimum allocation size. + * + * The CUDA backend implementation for *large* numeric types (double precision + * floats, 64 bit integers) has the following technical limitation: when + * reducing 64-bit integers, their values must be smaller than 2**62. When + * reducing double precision arrays, the two least significant mantissa bits + * are clamped to zero when forwarding the prefix from one 512-wide block to + * the next (at a very minor loss in accuracy). The reason is that the + * operations requires two status bits to coordinate the prefix and status of + * each 512-wide block, and those must each fit into a single 64 bit value + * (128-bit writes aren't guaranteed to be atomic). + */ +extern JIT_EXPORT void jit_scan(JIT_ENUM JitBackend backend, + JIT_ENUM VarType type, int exclusive, + const void *in, uint32_t size, void *out); /** * \brief Compress a mask into a list of nonzero indices diff --git a/resources/Makefile b/resources/Makefile index d68405c33..da86d66bc 100644 --- a/resources/Makefile +++ b/resources/Makefile @@ -1,6 +1,6 @@ COMPUTE_CAPABILITY=compute_70 CUDA_VER=10.2 -NVCC=/usr/local/cuda-$(CUDA_VER)/bin/nvcc -m64 --ptx --expt-relaxed-constexpr +NVCC=/usr/local/cuda-$(CUDA_VER)/bin/nvcc -m64 --ptx --expt-relaxed-constexpr -std=c++14 all: kernels.h diff --git a/resources/common.h b/resources/common.h index f0a921f6c..46fb31209 100644 --- a/resources/common.h +++ b/resources/common.h @@ -5,6 +5,10 @@ #include #define KERNEL extern "C" __global__ +#define DEVICE __device__ +#define FINLINE __forceinline__ +#define WARP_SIZE 32 +#define FULL_MASK 0xffffffff template struct SharedMemory { __device__ inline static T *get() { diff --git a/resources/compress.cuh b/resources/compress.cuh index 5cfeee584..e96625887 100644 --- a/resources/compress.cuh +++ b/resources/compress.cuh @@ -10,6 +10,16 @@ #include "common.h" +DEVICE FINLINE void store_cg(uint64_t *ptr, uint64_t val) { + asm volatile("st.cg.u64 [%0], %1;" : : "l"(ptr), "l"(val)); +} + +DEVICE FINLINE uint64_t load_cg(uint64_t *ptr) { + uint64_t retval; + asm volatile("ld.cg.u64 %0, [%1];" : "=l"(retval) : "l"(ptr)); + return retval; +} + KERNEL void compress_small(const uint8_t *in, uint32_t *out, uint32_t size, uint32_t *count_out) { uint32_t *shared = SharedMemory::get(); diff --git a/resources/kernels.c b/resources/kernels.c index a02880c5a..4c996a287 100644 --- a/resources/kernels.c +++ b/resources/kernels.c @@ -2463,10 +2463,10 @@ const char kernels_dict[] = { 0x50, 0x20, 0x3d, 0x20, 0x70, 0x68 }; -const int kernels_50_size_uncompressed = 132949; -const int kernels_50_size_compressed = 18523; -const unsigned long long kernels_50_hash_low64 = 0x1581fbe1fb4f7b7bull; -const unsigned long long kernels_50_hash_high64 = 0xa1cbbd1937fd1fabull; +const int kernels_50_size_uncompressed = 198878; +const int kernels_50_size_compressed = 26509; +const unsigned long long kernels_50_hash_low64 = 0xa426408d6cbadccfull; +const unsigned long long kernels_50_hash_high64 = 0x72fb340be262aab3ull; const char kernels_50[] = { 0xf2, 0x19, 0x2f, 0x2f, 0x0a, 0x2f, 0x2f, 0x20, @@ -3422,635 +3422,1617 @@ const char kernels_50[] = { 0x68, 0x00, 0x0f, 0x8b, 0x0a, 0x35, 0x09, 0x55, 0x00, 0x0f, 0x8c, 0x0a, 0x48, 0x08, 0x68, 0x00, 0x0f, 0x8d, 0x0a, 0x28, 0x1f, 0x35, 0x8d, 0x0a, - 0x74, 0x0f, 0x4a, 0x79, 0x07, 0x9f, 0x73, 0x63, - 0x61, 0x6e, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0xd2, - 0xea, 0x03, 0x0a, 0x1f, 0x00, 0x0b, 0x8d, 0x0a, - 0x0a, 0x1d, 0x00, 0x0e, 0x8d, 0x0a, 0x0f, 0x25, - 0x00, 0x07, 0x1b, 0x31, 0xb2, 0x0a, 0x0e, 0x25, - 0x00, 0x0f, 0x8d, 0x0a, 0x06, 0x1f, 0x33, 0x98, - 0x3c, 0x14, 0x1e, 0x39, 0x8b, 0x0a, 0x05, 0x2d, - 0x0a, 0x0f, 0xb9, 0x00, 0x03, 0x0f, 0x68, 0x3c, - 0x03, 0x0e, 0x2f, 0x00, 0x07, 0x8b, 0x0a, 0x0f, - 0xa6, 0x09, 0x0a, 0x0c, 0x7e, 0x22, 0x08, 0xb1, - 0x22, 0x0f, 0xbe, 0x09, 0x03, 0x14, 0x31, 0x46, - 0x28, 0x0f, 0xbf, 0x09, 0x13, 0x22, 0x76, 0x34, - 0x3f, 0x00, 0x15, 0x7b, 0x7b, 0x20, 0x16, 0x34, - 0x97, 0x1c, 0x38, 0x31, 0x36, 0x7d, 0x1b, 0x22, - 0x07, 0x88, 0x00, 0x12, 0x37, 0xaa, 0x02, 0x0e, - 0xa5, 0x18, 0x08, 0x5a, 0x08, 0x1b, 0x32, 0x4b, - 0x2c, 0x0c, 0xe7, 0x2d, 0x03, 0xcd, 0x19, 0x0b, - 0x7c, 0x23, 0x02, 0x79, 0x00, 0x01, 0x05, 0x06, - 0x0b, 0x48, 0x0b, 0x14, 0x31, 0xe0, 0x00, 0x0c, - 0x4d, 0x29, 0x0e, 0xda, 0x08, 0x05, 0x3d, 0x29, - 0x06, 0x14, 0x29, 0x0f, 0x4b, 0x06, 0x02, 0x12, - 0x32, 0x74, 0x31, 0x01, 0xdc, 0x22, 0x0c, 0xe5, - 0x0b, 0x1e, 0x6e, 0x1a, 0x24, 0x04, 0xd2, 0x28, - 0x03, 0x6a, 0x01, 0x0f, 0xe8, 0x0b, 0x05, 0x0e, - 0xe7, 0x0a, 0x05, 0x87, 0x00, 0x1f, 0x36, 0x87, - 0x00, 0x02, 0x2f, 0x35, 0x5d, 0x7b, 0x22, 0x03, - 0x0e, 0xcc, 0x09, 0x09, 0xb1, 0x22, 0x0c, 0x00, - 0x0c, 0x23, 0x36, 0x5f, 0x13, 0x07, 0x02, 0xa7, - 0x7a, 0x0b, 0x12, 0x07, 0x25, 0x75, 0x62, 0xc6, - 0x00, 0x16, 0x39, 0x9e, 0x29, 0x2f, 0x34, 0x30, - 0xb0, 0x0a, 0x05, 0x1b, 0x32, 0xb3, 0x01, 0x17, - 0x32, 0x48, 0x1c, 0x2f, 0x30, 0x3b, 0xcb, 0x09, - 0x07, 0x3e, 0x33, 0x32, 0x5d, 0x1e, 0x00, 0x02, - 0x77, 0x1b, 0x01, 0xeb, 0x00, 0x0e, 0x6c, 0x25, - 0x06, 0x7e, 0x28, 0x0e, 0x61, 0x0a, 0x0f, 0x2c, - 0x01, 0x05, 0x1b, 0x31, 0x7d, 0x25, 0x05, 0xc3, - 0x1a, 0x1d, 0x31, 0x46, 0x01, 0x16, 0x32, 0xde, - 0x1a, 0x2c, 0x32, 0x34, 0x4a, 0x0c, 0x04, 0xf5, - 0x79, 0x00, 0x3d, 0x01, 0x0f, 0x34, 0x0d, 0x07, - 0x15, 0x36, 0x34, 0x0d, 0x0e, 0x56, 0x0c, 0x03, - 0x2b, 0xd2, 0x0a, 0x63, 0x01, 0x2a, 0x33, 0x36, - 0x53, 0x24, 0x08, 0x49, 0x01, 0x17, 0x37, 0xbb, - 0x1f, 0x0f, 0x02, 0x30, 0x02, 0x1e, 0x36, 0x18, - 0x03, 0x04, 0xbb, 0x1d, 0x18, 0x36, 0x99, 0x2f, - 0x0b, 0xc4, 0x03, 0x02, 0xc0, 0x0c, 0x02, 0x9a, - 0x1b, 0x02, 0x5e, 0x00, 0x08, 0x45, 0x1f, 0x01, - 0xf4, 0x1f, 0x0f, 0xbe, 0x05, 0x05, 0x51, 0x6c, - 0x61, 0x72, 0x67, 0x65, 0x9a, 0x04, 0x4e, 0x69, - 0x6e, 0x69, 0x74, 0xc3, 0x05, 0x0e, 0x24, 0x00, - 0x0e, 0xc8, 0x05, 0x0c, 0x22, 0x00, 0x0f, 0x5a, - 0x10, 0x04, 0x0f, 0x2a, 0x00, 0x07, 0x1f, 0x31, - 0xad, 0x05, 0x02, 0x1e, 0x34, 0xad, 0x05, 0x1f, - 0x31, 0xbe, 0x28, 0x01, 0x1f, 0x36, 0xad, 0x05, - 0x0d, 0x0e, 0x9e, 0x00, 0x0f, 0x3d, 0x10, 0x05, - 0x1f, 0x36, 0x33, 0x00, 0x0a, 0x1c, 0x31, 0x0d, - 0x05, 0x08, 0x2c, 0x04, 0x07, 0x18, 0x00, 0x19, - 0x37, 0x11, 0x10, 0x0f, 0x32, 0x34, 0x05, 0x27, - 0x61, 0x64, 0x64, 0xe8, 0x05, 0xa9, 0x28, 0x02, - 0x3e, 0x00, 0x1e, 0x72, 0xc3, 0x4f, 0x07, 0x9a, - 0x28, 0x1c, 0x36, 0xff, 0x03, 0x04, 0x14, 0x72, - 0x0a, 0x85, 0x34, 0x07, 0x97, 0x0e, 0x0a, 0xd1, - 0xe8, 0x01, 0x73, 0x03, 0x02, 0x27, 0x1d, 0x0f, - 0x69, 0x29, 0x0d, 0x03, 0x57, 0x04, 0x11, 0x37, - 0x23, 0x03, 0x0e, 0x5d, 0x03, 0x01, 0x91, 0x00, - 0x03, 0xd9, 0x1d, 0x20, 0x6c, 0x70, 0x93, 0x01, - 0x03, 0xc2, 0x06, 0x30, 0x32, 0x2c, 0x20, 0xab, - 0x00, 0x2f, 0x70, 0x32, 0xaf, 0x06, 0x07, 0x1f, - 0x30, 0xb3, 0x28, 0x0f, 0x1e, 0x73, 0x2c, 0x37, - 0x12, 0x35, 0x2b, 0x37, 0x0b, 0x3f, 0x03, 0x02, - 0x18, 0x01, 0x02, 0x5c, 0x06, 0x0f, 0x51, 0x0f, - 0x04, 0x09, 0x3b, 0x01, 0x17, 0x33, 0x3b, 0x01, - 0x05, 0xe3, 0x00, 0x2f, 0x33, 0x3a, 0x27, 0x03, - 0x10, 0x0f, 0x22, 0x03, 0x0c, 0x0f, 0x1d, 0x03, - 0x0b, 0x0f, 0xe5, 0x08, 0x08, 0x0c, 0x25, 0x00, - 0x1f, 0x31, 0x25, 0x00, 0x11, 0x0f, 0x72, 0x13, - 0x17, 0x4e, 0x32, 0x30, 0x34, 0x3e, 0x3a, 0x03, - 0x1f, 0x32, 0xe8, 0x08, 0x05, 0x1e, 0x37, 0x08, - 0x03, 0x0f, 0xe8, 0x08, 0x09, 0x1e, 0x35, 0x2f, - 0x00, 0x0f, 0x73, 0x13, 0x09, 0x0e, 0x66, 0x03, - 0x0f, 0xf9, 0x2b, 0x10, 0x15, 0x38, 0xc3, 0x11, - 0x0f, 0xf9, 0x2b, 0x11, 0x14, 0x34, 0x50, 0x03, - 0x1f, 0x39, 0xf8, 0x2b, 0x18, 0x03, 0x2a, 0x06, - 0x02, 0x84, 0x00, 0x00, 0x79, 0x00, 0x02, 0x40, - 0x02, 0x23, 0x72, 0x64, 0x26, 0x2a, 0x0f, 0x6e, - 0x20, 0x06, 0x2e, 0x34, 0x31, 0x7b, 0x09, 0x0e, - 0x70, 0x20, 0x0f, 0x7c, 0x09, 0x02, 0x2d, 0x34, - 0x32, 0xab, 0x0c, 0x00, 0xa4, 0x26, 0x03, 0x8d, - 0x20, 0x0f, 0x36, 0x00, 0x05, 0x2c, 0x35, 0x30, - 0x3c, 0x0d, 0x25, 0x35, 0x33, 0x36, 0x00, 0x05, - 0x50, 0x11, 0x0f, 0x3b, 0x00, 0x03, 0x02, 0x8b, - 0x0c, 0x02, 0x67, 0x0f, 0x12, 0x30, 0x6b, 0x12, - 0x06, 0x3b, 0x00, 0x04, 0x04, 0x2a, 0x0f, 0x3b, - 0x00, 0x02, 0x12, 0x36, 0xa9, 0x2b, 0x02, 0x48, - 0x10, 0x02, 0x18, 0x13, 0x16, 0x39, 0x3b, 0x00, - 0x5a, 0x36, 0x31, 0x34, 0x34, 0x5d, 0x86, 0x01, - 0x14, 0x37, 0x90, 0x2a, 0x1b, 0x34, 0x21, 0x05, - 0x1f, 0x35, 0xb8, 0x09, 0x03, 0x02, 0xe1, 0x37, - 0x11, 0x35, 0x06, 0x00, 0x0a, 0x88, 0xd7, 0x07, - 0xea, 0x06, 0x00, 0xb9, 0x09, 0x0f, 0x39, 0x01, - 0x05, 0x0f, 0x34, 0x00, 0x06, 0x02, 0x14, 0x01, - 0x2f, 0x2c, 0x20, 0x3c, 0x01, 0x05, 0x0f, 0x39, - 0x00, 0x07, 0x01, 0x12, 0x01, 0x2f, 0x2c, 0x20, - 0x3a, 0x01, 0x05, 0x0f, 0x39, 0x00, 0x07, 0x01, - 0x10, 0x01, 0x2f, 0x2c, 0x20, 0x38, 0x01, 0x05, - 0x0e, 0xf1, 0x08, 0x07, 0x38, 0x01, 0x14, 0x36, - 0xd1, 0x29, 0x0e, 0x23, 0x0b, 0x04, 0x20, 0x01, - 0x19, 0x36, 0x6b, 0x09, 0x07, 0xa6, 0x01, 0x12, - 0x37, 0x29, 0x38, 0x11, 0x39, 0x47, 0x06, 0x02, - 0x54, 0x3a, 0x03, 0xe1, 0x01, 0x2f, 0x34, 0x5d, - 0x34, 0x00, 0x05, 0x12, 0x38, 0x12, 0x37, 0x02, - 0x76, 0x36, 0x02, 0x81, 0x06, 0x13, 0x38, 0x34, - 0x00, 0x3f, 0x2b, 0x31, 0x36, 0x37, 0x00, 0x06, - 0x12, 0x39, 0x4a, 0x06, 0x11, 0x34, 0x06, 0x00, - 0x11, 0x35, 0x06, 0x00, 0x14, 0x36, 0x37, 0x00, - 0x0c, 0x0d, 0x0a, 0x08, 0x70, 0x0c, 0x13, 0x30, - 0xcd, 0x06, 0x03, 0x43, 0x06, 0x03, 0xa0, 0x05, - 0x14, 0x34, 0x3b, 0x00, 0x03, 0x0e, 0x14, 0x0b, - 0x72, 0x2e, 0x02, 0xd2, 0x00, 0x2a, 0x37, 0x38, - 0x1b, 0x00, 0x16, 0x37, 0xe7, 0x00, 0x0b, 0x2d, - 0x01, 0x02, 0xfe, 0x35, 0x02, 0x53, 0x07, 0x0a, - 0x1a, 0x00, 0x02, 0x1b, 0x01, 0x02, 0xf3, 0x00, - 0x0e, 0x48, 0x06, 0x04, 0x08, 0x01, 0x1e, 0x39, - 0x2e, 0x15, 0x04, 0x1d, 0x01, 0x2b, 0x31, 0x30, - 0x1c, 0x00, 0x12, 0x32, 0x33, 0x01, 0x02, 0x08, - 0x30, 0x0b, 0x1c, 0x00, 0x02, 0x24, 0x01, 0x06, - 0xde, 0x2d, 0x08, 0x1c, 0x00, 0x16, 0x34, 0x40, - 0x01, 0x1c, 0x31, 0xd3, 0x06, 0x16, 0x35, 0x56, - 0x01, 0x2b, 0x31, 0x34, 0x1c, 0x00, 0x12, 0x36, - 0x6c, 0x01, 0x02, 0x4c, 0x0d, 0x0b, 0x1c, 0x00, - 0x03, 0xa2, 0x00, 0x12, 0x31, 0x4f, 0x0d, 0x0b, - 0x1d, 0x00, 0x18, 0x38, 0x79, 0x01, 0x1b, 0x37, - 0x1d, 0x00, 0x18, 0x39, 0x8f, 0x01, 0x1b, 0x38, - 0x00, 0x0d, 0x13, 0x30, 0xa5, 0x01, 0x02, 0xa4, - 0x29, 0x0e, 0xbe, 0x02, 0x08, 0x75, 0x31, 0x14, - 0x39, 0xe0, 0x2d, 0x0b, 0x44, 0x00, 0x15, 0x31, - 0xc0, 0x02, 0x00, 0x25, 0x00, 0x0c, 0x2c, 0x37, - 0x13, 0x33, 0x78, 0x23, 0x0e, 0xac, 0x0d, 0x04, - 0x90, 0x10, 0x1f, 0x33, 0x1f, 0x00, 0x04, 0x01, - 0xf5, 0x14, 0x04, 0xb3, 0x10, 0x0b, 0x99, 0x00, - 0x0d, 0x8f, 0x0c, 0x10, 0x31, 0xae, 0x01, 0x03, - 0x37, 0x00, 0x14, 0x30, 0x28, 0x05, 0x0c, 0x23, - 0x00, 0x02, 0xd1, 0x0c, 0x03, 0x5a, 0x00, 0x0b, - 0xc6, 0x00, 0x03, 0xc7, 0x3b, 0x03, 0x07, 0x00, - 0x1f, 0x33, 0xba, 0x0c, 0x10, 0x08, 0xa2, 0x00, - 0x1f, 0x32, 0xa2, 0x00, 0x11, 0x16, 0x34, 0xa2, - 0x00, 0x1f, 0x34, 0xa2, 0x00, 0x04, 0x1e, 0x35, - 0xa2, 0x00, 0x0a, 0xff, 0x0e, 0x01, 0x46, 0x00, - 0x01, 0x2a, 0x00, 0x0f, 0xa2, 0x00, 0x1c, 0x1f, - 0x33, 0xa2, 0x00, 0x11, 0x14, 0x36, 0x7f, 0x00, - 0x15, 0x34, 0x31, 0x06, 0x0c, 0x23, 0x00, 0x1f, - 0x37, 0xa2, 0x00, 0x08, 0x03, 0x9b, 0x00, 0x12, - 0x36, 0x07, 0x00, 0x1f, 0x37, 0xa2, 0x00, 0x1c, - 0x1f, 0x34, 0xa2, 0x00, 0x11, 0x15, 0x38, 0xa2, - 0x00, 0x2f, 0x38, 0x30, 0xa2, 0x00, 0x04, 0x1e, - 0x39, 0xa2, 0x00, 0x0a, 0xf0, 0x0f, 0x01, 0x46, - 0x00, 0x01, 0x2a, 0x00, 0x0f, 0xa2, 0x00, 0x1c, - 0x1f, 0x35, 0xa2, 0x00, 0x10, 0x25, 0x32, 0x30, - 0xa2, 0x00, 0x05, 0xb0, 0x07, 0x0c, 0x23, 0x00, - 0x1f, 0x31, 0xa2, 0x00, 0x08, 0x02, 0x3d, 0x01, - 0x03, 0x99, 0x03, 0x2f, 0x32, 0x31, 0xa2, 0x00, - 0x1c, 0x1f, 0x36, 0xa2, 0x00, 0x11, 0x05, 0x2a, - 0x03, 0x3f, 0x33, 0x38, 0x34, 0xa2, 0x00, 0x04, - 0x0f, 0x2a, 0x03, 0x09, 0x02, 0x8b, 0x04, 0x03, - 0x31, 0x03, 0x1f, 0x32, 0x2a, 0x03, 0x1d, 0x1f, - 0x37, 0xa2, 0x00, 0x11, 0x05, 0x2a, 0x03, 0x03, - 0x52, 0x18, 0x1e, 0x6c, 0x23, 0x00, 0x0f, 0x2a, - 0x03, 0x09, 0x03, 0x73, 0x3f, 0x03, 0xd7, 0x11, - 0x0f, 0x2a, 0x03, 0x1d, 0x1e, 0x38, 0x2b, 0x0a, - 0x14, 0x32, 0x57, 0x0d, 0x0e, 0x95, 0x15, 0x1e, - 0x31, 0x99, 0x2a, 0x07, 0xf1, 0x13, 0x03, 0x69, - 0x10, 0x1e, 0x31, 0x23, 0x16, 0x0c, 0x86, 0x32, - 0x06, 0xf8, 0x0d, 0x11, 0x38, 0xbd, 0x0c, 0x0d, - 0xae, 0x0a, 0x15, 0x34, 0x9d, 0x00, 0x01, 0x96, - 0x05, 0x0a, 0x1d, 0x45, 0x23, 0x31, 0x34, 0xb2, - 0x0d, 0x21, 0x6f, 0x72, 0x1b, 0x00, 0x02, 0x1c, - 0x00, 0x03, 0x1b, 0x1e, 0x00, 0x9a, 0x18, 0x0d, - 0x97, 0x2d, 0x00, 0x05, 0x01, 0x21, 0x63, 0x67, - 0x89, 0x0b, 0x00, 0xeb, 0x09, 0x04, 0xad, 0x44, - 0x0e, 0x43, 0x31, 0x12, 0x0a, 0x93, 0x00, 0x0e, - 0x22, 0x1d, 0x7c, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x53, 0x5a, 0x35, 0x07, 0x14, 0x37, 0x71, 0x12, - 0x2b, 0x2d, 0x31, 0x36, 0x17, 0x02, 0x8c, 0x12, - 0x04, 0x22, 0x00, 0x0b, 0xc4, 0x12, 0x02, 0xbe, - 0x06, 0x04, 0xaf, 0x12, 0x00, 0xb3, 0x01, 0x63, - 0x72, 0x61, 0x2e, 0x75, 0x6e, 0x69, 0x13, 0x01, - 0x12, 0x33, 0xd0, 0x0d, 0x02, 0x97, 0x70, 0x09, - 0xc2, 0x06, 0x03, 0xc6, 0x3a, 0x07, 0x4c, 0x06, - 0x0d, 0x56, 0x00, 0x04, 0x07, 0x00, 0x14, 0x39, - 0x45, 0x00, 0x12, 0x33, 0x1b, 0x12, 0x00, 0xad, - 0x01, 0x23, 0x2e, 0x73, 0x60, 0x01, 0x13, 0x38, - 0x2a, 0x00, 0x0c, 0xf1, 0x0b, 0x03, 0x56, 0x17, - 0x06, 0x9c, 0x2c, 0x08, 0x7f, 0x01, 0x02, 0xa8, - 0x03, 0x01, 0x25, 0x00, 0x1c, 0x33, 0x39, 0x00, - 0x17, 0x37, 0x02, 0x02, 0x1e, 0x32, 0x3f, 0x2e, - 0x00, 0xd5, 0x02, 0x03, 0x81, 0x01, 0x04, 0xbd, - 0x52, 0x01, 0x36, 0x00, 0x1e, 0x5d, 0x2a, 0x00, - 0x21, 0x63, 0x76, 0xf5, 0x0e, 0x00, 0x2c, 0x00, - 0x03, 0x7a, 0x13, 0x04, 0xb5, 0x46, 0x01, 0x55, - 0x02, 0x47, 0x65, 0x71, 0x2e, 0x73, 0x50, 0x43, - 0x03, 0x77, 0x18, 0x09, 0x68, 0x16, 0x13, 0x38, - 0x8f, 0x01, 0x42, 0x76, 0x6f, 0x74, 0x65, 0xfd, - 0x18, 0x35, 0x61, 0x6e, 0x79, 0x5d, 0x0e, 0x11, - 0x33, 0xd5, 0x0f, 0x02, 0x9d, 0x01, 0x1c, 0x38, - 0x4c, 0x0f, 0x03, 0xc7, 0x74, 0x0a, 0x6a, 0x00, - 0x14, 0x34, 0x6a, 0x00, 0x19, 0x32, 0x55, 0x00, - 0x87, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x2e, - 0x62, 0x35, 0x13, 0x13, 0x70, 0x86, 0x03, 0x02, - 0xb9, 0x02, 0x16, 0x72, 0xc8, 0x11, 0x04, 0x7b, - 0x47, 0x03, 0xb9, 0x02, 0x0b, 0xe4, 0x00, 0x12, - 0x35, 0x37, 0x01, 0x1d, 0x31, 0xe4, 0x00, 0x14, - 0x36, 0x38, 0x13, 0x1c, 0x30, 0x47, 0x1d, 0x03, - 0x1a, 0x73, 0x36, 0x63, 0x6c, 0x7a, 0x2d, 0x43, - 0x12, 0x31, 0x2e, 0x00, 0x0c, 0xb4, 0x37, 0x04, - 0xaf, 0x34, 0x07, 0x2b, 0x02, 0x12, 0x31, 0xb4, - 0x14, 0x01, 0x1c, 0x00, 0x01, 0x3a, 0x00, 0x0d, - 0x71, 0x10, 0x15, 0x37, 0xa1, 0x02, 0x00, 0x2d, - 0x00, 0x05, 0x1e, 0x11, 0x01, 0x3f, 0x02, 0x11, - 0x31, 0x76, 0x01, 0x05, 0x8a, 0x02, 0x1c, 0x70, - 0xd2, 0x0e, 0x00, 0x16, 0x00, 0x0c, 0x5f, 0x0a, - 0x04, 0xfd, 0x13, 0x16, 0x34, 0xbb, 0x02, 0x09, - 0x33, 0x00, 0x1e, 0x37, 0xe5, 0x43, 0x01, 0x4a, - 0x45, 0x1f, 0x36, 0x51, 0x34, 0x07, 0x33, 0x34, - 0x30, 0x7c, 0x1e, 0x1d, 0x05, 0x5e, 0x00, 0x18, - 0x38, 0xd6, 0x00, 0x1c, 0x32, 0x1a, 0x0b, 0x03, - 0x1b, 0x3b, 0x03, 0x59, 0x0f, 0x0d, 0x29, 0x01, - 0x2e, 0x34, 0x32, 0x59, 0x1c, 0x08, 0x6f, 0x00, - 0x15, 0x33, 0xf8, 0x34, 0x04, 0x49, 0x00, 0x1f, - 0x32, 0x6f, 0x00, 0x0b, 0x12, 0x34, 0x26, 0x00, - 0x13, 0x33, 0x34, 0x00, 0x0c, 0x6f, 0x00, 0x1e, - 0x35, 0x60, 0x1c, 0x08, 0x6f, 0x00, 0x08, 0x30, - 0x35, 0x03, 0x4a, 0x00, 0x1f, 0x35, 0x70, 0x00, - 0x0b, 0x12, 0x37, 0x26, 0x00, 0x03, 0x06, 0x45, - 0x0f, 0x5c, 0x00, 0x09, 0x16, 0x38, 0xac, 0x34, - 0x03, 0x36, 0x00, 0x2f, 0x33, 0x37, 0x5c, 0x00, - 0x0b, 0x03, 0xf9, 0x00, 0x13, 0x38, 0x34, 0x00, - 0x0b, 0xcc, 0x00, 0x1f, 0x35, 0xe6, 0x31, 0x0a, - 0x36, 0x31, 0x35, 0x31, 0xe4, 0x34, 0x13, 0x34, - 0x3b, 0x36, 0x1f, 0x30, 0x70, 0x00, 0x0a, 0x01, - 0xd6, 0x0e, 0x00, 0x39, 0x00, 0x03, 0x34, 0x00, - 0x09, 0x5c, 0x00, 0x36, 0x69, 0x64, 0x78, 0x5b, - 0x00, 0x15, 0x33, 0xcb, 0x1c, 0x04, 0x35, 0x00, - 0x1e, 0x33, 0x27, 0x01, 0x0c, 0xc2, 0x16, 0x00, - 0x38, 0x00, 0x05, 0x62, 0x06, 0x0b, 0x90, 0x06, - 0x1e, 0x37, 0x90, 0x06, 0x03, 0x57, 0x55, 0x2c, - 0x33, 0x37, 0x11, 0x05, 0x03, 0xb9, 0x03, 0x0e, - 0x90, 0x06, 0x04, 0xa3, 0x55, 0x14, 0x64, 0x53, - 0x19, 0x0f, 0x90, 0x06, 0x11, 0x1f, 0x32, 0x90, - 0x06, 0x05, 0x2a, 0x37, 0x3a, 0xbe, 0x03, 0x26, - 0x35, 0x34, 0x0e, 0x21, 0x1c, 0x32, 0x6a, 0x03, - 0x02, 0x11, 0x1e, 0x03, 0x24, 0x00, 0x1c, 0x37, - 0x1d, 0x00, 0x17, 0x36, 0x1d, 0x00, 0x1c, 0x36, - 0x1d, 0x00, 0x18, 0x37, 0x3a, 0x00, 0x1f, 0x38, - 0x18, 0x10, 0x05, 0x03, 0x13, 0x10, 0x03, 0x28, - 0x00, 0x05, 0x36, 0x00, 0x03, 0x5a, 0x00, 0x2c, - 0x35, 0x7d, 0x56, 0x00, 0x17, 0x38, 0x56, 0x00, - 0x0d, 0x5b, 0x0e, 0x28, 0x35, 0x39, 0x1e, 0x00, - 0x1c, 0x30, 0x25, 0x0e, 0x17, 0x30, 0x1e, 0x00, - 0x1c, 0x39, 0x1d, 0x00, 0x17, 0x31, 0x1d, 0x00, - 0x0f, 0xae, 0x00, 0x07, 0x23, 0x2b, 0x31, 0xfd, - 0x10, 0x04, 0x31, 0x00, 0x04, 0x55, 0x00, 0x03, - 0x7a, 0x00, 0x1c, 0x38, 0xb1, 0x00, 0x02, 0xc6, - 0x21, 0x05, 0xdf, 0x00, 0x0c, 0x1e, 0x00, 0x18, - 0x33, 0x1e, 0x00, 0x0d, 0xd6, 0x0e, 0x18, 0x34, - 0x1e, 0x00, 0x1c, 0x33, 0x1e, 0x00, 0x08, 0x9b, - 0x01, 0x0b, 0x28, 0x3d, 0x09, 0xb3, 0x00, 0x24, - 0x33, 0x32, 0xb3, 0x00, 0x03, 0xcc, 0x1c, 0x03, - 0x5a, 0x1c, 0x12, 0x33, 0x07, 0x00, 0x1d, 0x32, - 0xb3, 0x00, 0x18, 0x36, 0x59, 0x00, 0x0d, 0x29, - 0x01, 0x18, 0x37, 0x1e, 0x00, 0x1c, 0x38, 0x1e, - 0x00, 0x09, 0xa0, 0x01, 0x1c, 0x37, 0x1e, 0x00, - 0x09, 0xa0, 0x01, 0x1f, 0x36, 0xb3, 0x00, 0x07, - 0x04, 0x9c, 0x12, 0x04, 0x32, 0x00, 0x03, 0x57, - 0x00, 0x03, 0x7c, 0x00, 0x2e, 0x36, 0x36, 0x2e, - 0x12, 0x0f, 0x26, 0x15, 0x04, 0x03, 0xbf, 0xec, - 0x1c, 0x35, 0x6c, 0x03, 0x05, 0x4b, 0x3f, 0x1c, - 0x34, 0xf4, 0x58, 0x18, 0x38, 0xf7, 0xec, 0x2f, - 0x32, 0x37, 0xb4, 0x11, 0x06, 0x22, 0x37, 0x30, - 0xe3, 0x00, 0x12, 0x31, 0x07, 0x00, 0x03, 0x42, - 0x10, 0x03, 0x76, 0x14, 0x2f, 0x33, 0x5d, 0x98, - 0x1a, 0x06, 0x14, 0x32, 0xdb, 0x00, 0x0f, 0x41, - 0x00, 0x05, 0x0f, 0x72, 0x00, 0x07, 0x12, 0x38, - 0x23, 0x00, 0x12, 0x39, 0x7a, 0x01, 0x02, 0x3f, - 0x00, 0x04, 0xcc, 0x12, 0x03, 0xd2, 0x13, 0x0f, - 0x77, 0x00, 0x08, 0x07, 0xf3, 0x13, 0x0f, 0x4b, - 0x00, 0x06, 0x0f, 0x7c, 0x00, 0x06, 0x12, 0x38, - 0x14, 0x02, 0x03, 0xef, 0x11, 0x03, 0xda, 0x11, - 0x13, 0x38, 0xee, 0x14, 0x03, 0x15, 0x14, 0x0f, - 0x7c, 0x00, 0x09, 0x06, 0x36, 0x14, 0x0f, 0x4b, - 0x00, 0x06, 0x0f, 0x7c, 0x00, 0x06, 0x03, 0x10, - 0x12, 0x03, 0xfb, 0x11, 0x03, 0xe6, 0x11, 0x10, - 0x39, 0x37, 0x39, 0x06, 0x58, 0x14, 0x0f, 0x7c, - 0x00, 0x09, 0x06, 0x79, 0x14, 0x0f, 0x4b, 0x00, - 0x06, 0x0f, 0x11, 0x1c, 0x03, 0x82, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0xaf, 0x20, - 0x0d, 0xea, 0x18, 0x0a, 0x1f, 0x00, 0x0b, 0xea, - 0x18, 0x0a, 0x1d, 0x00, 0x0e, 0xea, 0x18, 0x0f, - 0x25, 0x00, 0x07, 0x0c, 0xcf, 0x21, 0x0f, 0x25, - 0x00, 0x02, 0x1f, 0x32, 0x4a, 0x00, 0x11, 0x1f, - 0x33, 0x0f, 0x19, 0x02, 0x1e, 0x38, 0x0e, 0x19, - 0x1f, 0x35, 0x0d, 0x19, 0x02, 0x1f, 0x30, 0x05, - 0x45, 0x08, 0x0e, 0xdf, 0x00, 0x0f, 0xf5, 0x21, - 0x0a, 0x0e, 0xe9, 0x00, 0x0f, 0x80, 0x2c, 0x0a, - 0x0f, 0xce, 0x00, 0x03, 0x0f, 0x0d, 0x19, 0x08, - 0x1f, 0x34, 0x06, 0x45, 0x02, 0x1f, 0x36, 0x24, - 0x22, 0x09, 0x03, 0x0c, 0x05, 0x0e, 0x02, 0x04, - 0x03, 0xc6, 0x1e, 0x05, 0x38, 0x04, 0x0d, 0x22, - 0x2b, 0x04, 0x27, 0x44, 0x0d, 0xb2, 0x27, 0x03, - 0xca, 0x03, 0x04, 0x50, 0x29, 0x35, 0x62, 0x66, - 0x65, 0x33, 0x00, 0x14, 0x38, 0x1b, 0x00, 0x03, - 0xf7, 0x3d, 0x0d, 0x1d, 0x22, 0x02, 0x21, 0x00, - 0x0b, 0x36, 0x00, 0x14, 0x39, 0x36, 0x00, 0x00, - 0xa8, 0x00, 0x0c, 0x7b, 0x08, 0x07, 0xed, 0x4a, - 0x04, 0x21, 0x0c, 0x09, 0x9b, 0x14, 0x00, 0x88, - 0x00, 0x0b, 0x52, 0x06, 0x03, 0x30, 0x0b, 0x0f, - 0x53, 0x22, 0x07, 0x1f, 0x36, 0x53, 0x22, 0x27, - 0x0b, 0x35, 0x22, 0x1f, 0x30, 0x66, 0x22, 0x09, - 0x0d, 0x18, 0x4c, 0x1e, 0x35, 0x66, 0x22, 0x0b, - 0x4a, 0x22, 0x04, 0x30, 0x06, 0x07, 0xb3, 0x00, - 0x14, 0x37, 0x34, 0x2e, 0x1e, 0x32, 0xc5, 0x10, - 0x05, 0x9b, 0x00, 0x1f, 0x37, 0x88, 0x00, 0x03, - 0x15, 0x38, 0x68, 0x22, 0x0b, 0xa5, 0x27, 0x1f, - 0x31, 0x7b, 0x22, 0x04, 0x1d, 0x35, 0x1a, 0x01, - 0x02, 0xf5, 0x09, 0x0d, 0x7b, 0x22, 0x14, 0x39, - 0x41, 0x1d, 0x1f, 0x39, 0x7b, 0x22, 0x0b, 0x26, - 0x33, 0x33, 0xf3, 0x2e, 0x1b, 0x35, 0x41, 0x23, - 0x03, 0x99, 0x3d, 0x1e, 0x33, 0x7b, 0x22, 0x07, - 0x42, 0x23, 0x01, 0x24, 0x22, 0x0e, 0x5d, 0x22, - 0x12, 0x36, 0x17, 0x05, 0x1f, 0x35, 0x7b, 0x22, - 0x03, 0x03, 0x84, 0x14, 0x0c, 0x51, 0x18, 0x27, - 0x35, 0x33, 0x8a, 0x21, 0x0f, 0x7e, 0x14, 0x12, - 0x02, 0x41, 0x01, 0x1b, 0x35, 0x47, 0x02, 0x03, - 0x40, 0x1a, 0x0f, 0x48, 0x01, 0x02, 0x05, 0x1b, - 0x00, 0x03, 0x0f, 0x14, 0x09, 0x7d, 0x22, 0x04, - 0x73, 0x78, 0x00, 0x3f, 0x01, 0x1e, 0x3a, 0xef, - 0x21, 0x01, 0x80, 0x01, 0x1e, 0x2d, 0x0c, 0x12, - 0x17, 0x33, 0x24, 0x25, 0x0d, 0x93, 0x46, 0x02, - 0xaf, 0x7a, 0x0f, 0x33, 0x04, 0x05, 0x16, 0x37, - 0x96, 0x10, 0x0e, 0xf2, 0x27, 0x15, 0x37, 0xde, - 0x00, 0x12, 0x0a, 0x49, 0x00, 0x0b, 0x34, 0x0b, - 0x16, 0x31, 0x82, 0x29, 0x1e, 0x34, 0xfb, 0x18, - 0x04, 0x21, 0x00, 0x0e, 0xfa, 0x18, 0x05, 0x1b, - 0x00, 0x0f, 0xf9, 0x18, 0x02, 0x03, 0x81, 0x2e, - 0x1e, 0x3b, 0x33, 0x10, 0x02, 0x29, 0x13, 0x1c, - 0x30, 0x4b, 0x2e, 0x03, 0xf7, 0x78, 0x0f, 0x22, - 0x1e, 0x0a, 0x1f, 0x31, 0x14, 0x3e, 0x07, 0x0e, - 0xff, 0x08, 0x0f, 0x15, 0x3e, 0x09, 0x06, 0x0f, - 0x29, 0x12, 0x30, 0xc5, 0x03, 0x05, 0xb2, 0x01, - 0x2c, 0x36, 0x3a, 0xb2, 0x00, 0x02, 0xb1, 0x03, - 0x03, 0x42, 0x0d, 0x0c, 0x5b, 0x2e, 0x03, 0x08, - 0x79, 0x08, 0x98, 0x04, 0x14, 0x35, 0x6d, 0x4d, - 0x0f, 0x81, 0x21, 0x09, 0x1f, 0x31, 0xd0, 0x00, - 0x07, 0x13, 0x31, 0x9f, 0x0d, 0x0e, 0xd1, 0x00, - 0x04, 0xca, 0x13, 0x03, 0x3d, 0x00, 0x1f, 0x32, - 0xd3, 0x00, 0x04, 0x12, 0x33, 0x10, 0x04, 0x03, - 0x71, 0x58, 0x02, 0x43, 0x79, 0x0e, 0x3e, 0x11, - 0x05, 0x1a, 0x28, 0x0c, 0x41, 0x11, 0x04, 0x36, - 0x79, 0x08, 0xd4, 0x00, 0x14, 0x38, 0xd4, 0x00, - 0x1f, 0x32, 0xd4, 0x00, 0x08, 0x1f, 0x34, 0xd4, - 0x00, 0x08, 0x03, 0x7a, 0x0e, 0x0e, 0xd4, 0x00, - 0x02, 0xf1, 0x02, 0x05, 0x3d, 0x00, 0x1f, 0x35, - 0xd4, 0x00, 0x04, 0x24, 0x36, 0x5d, 0x8a, 0x2c, - 0x13, 0x0a, 0xa3, 0x00, 0x0d, 0xd5, 0x00, 0x16, - 0x37, 0x99, 0x28, 0x1d, 0x35, 0xb7, 0x2e, 0x04, - 0x66, 0x79, 0x08, 0x28, 0x04, 0x14, 0x31, 0xd5, - 0x00, 0x1f, 0x33, 0xd5, 0x00, 0x08, 0x1f, 0x37, - 0xd5, 0x00, 0x08, 0x03, 0xf4, 0x0f, 0x0e, 0xd5, - 0x00, 0x04, 0x2e, 0x14, 0x13, 0x37, 0x35, 0x14, - 0x0f, 0xd5, 0x00, 0x04, 0x12, 0x39, 0x9a, 0x03, - 0x05, 0x7c, 0x02, 0x01, 0xf2, 0x2e, 0x0f, 0xbc, - 0x09, 0x09, 0x01, 0x54, 0x21, 0x0e, 0xbc, 0x09, - 0x09, 0x1f, 0x00, 0x0e, 0xbc, 0x09, 0x07, 0x1d, - 0x00, 0x0f, 0xbc, 0x09, 0x0d, 0x08, 0x25, 0x00, - 0x1f, 0x31, 0x25, 0x00, 0x11, 0x1f, 0x32, 0x25, - 0x00, 0x11, 0x1f, 0x33, 0xb0, 0x2b, 0x03, 0x2e, - 0x32, 0x3e, 0x04, 0x26, 0x2f, 0x34, 0x35, 0x05, - 0x26, 0x01, 0x0f, 0xbe, 0x09, 0x05, 0x00, 0x07, - 0x1a, 0x0e, 0xe1, 0x00, 0x0f, 0xbe, 0x09, 0x06, - 0x1e, 0x39, 0x2f, 0x00, 0x0f, 0xcb, 0x22, 0x0d, - 0x0f, 0xf5, 0x00, 0x03, 0x0e, 0x2f, 0x00, 0x03, - 0x58, 0x23, 0x0f, 0xff, 0x00, 0x03, 0x0f, 0xf3, - 0x4e, 0x0e, 0x0f, 0x77, 0x68, 0x15, 0x23, 0x35, - 0x36, 0x3e, 0x05, 0x1f, 0x37, 0xfa, 0x22, 0x12, - 0x07, 0xc8, 0x2e, 0x0f, 0xb8, 0x03, 0x09, 0x03, - 0x27, 0x05, 0x0f, 0xd8, 0x18, 0x07, 0x1f, 0x33, - 0x02, 0x23, 0x01, 0x13, 0x32, 0x67, 0x2e, 0x06, - 0xdb, 0x18, 0x0f, 0x93, 0x22, 0x03, 0x02, 0xbd, - 0x35, 0x09, 0x5f, 0x21, 0x04, 0x58, 0x22, 0x0c, - 0x86, 0x37, 0x01, 0x12, 0x14, 0x1c, 0x30, 0xf2, - 0x30, 0x04, 0x87, 0x2f, 0x0d, 0x89, 0x0a, 0x15, - 0x36, 0xa2, 0x2f, 0x0e, 0x89, 0x0a, 0x02, 0xb6, - 0x33, 0x02, 0xaf, 0x29, 0x0b, 0x36, 0x00, 0x02, - 0x91, 0x00, 0x0f, 0x89, 0x0a, 0x03, 0x07, 0xcd, - 0x21, 0x1a, 0x35, 0x89, 0x0a, 0x25, 0x36, 0x38, - 0x88, 0x00, 0x0b, 0x26, 0x07, 0x08, 0xfb, 0x21, - 0x0c, 0xf7, 0x32, 0x14, 0x39, 0xfd, 0x00, 0x02, - 0xbd, 0x00, 0x0c, 0xc2, 0x20, 0x12, 0x36, 0xf7, - 0x20, 0x0a, 0xa1, 0x00, 0x15, 0x37, 0x56, 0x30, - 0x0e, 0xd7, 0x00, 0x02, 0x30, 0x00, 0x05, 0x4d, - 0x5c, 0x08, 0x36, 0x00, 0x14, 0x31, 0x36, 0x00, - 0x0e, 0xd7, 0x00, 0x03, 0xfb, 0x20, 0x15, 0x37, - 0xee, 0x4e, 0x07, 0xd8, 0x00, 0x25, 0x37, 0x32, - 0xa3, 0x00, 0x1f, 0x34, 0x15, 0x21, 0x01, 0x03, - 0xcc, 0x0f, 0x0c, 0x96, 0x01, 0x24, 0x37, 0x33, - 0xd1, 0x01, 0x0d, 0xda, 0x00, 0x02, 0x1a, 0x02, - 0x13, 0x37, 0x21, 0x08, 0x0b, 0xa6, 0x00, 0x14, - 0x34, 0x37, 0x00, 0x1e, 0x38, 0xa5, 0x00, 0x02, - 0x22, 0x24, 0x06, 0x03, 0x12, 0x08, 0x38, 0x00, - 0x14, 0x35, 0x38, 0x00, 0x0f, 0xde, 0x00, 0x01, - 0x17, 0x34, 0x7b, 0x20, 0x1b, 0x33, 0xdf, 0x00, - 0x15, 0x36, 0xa8, 0x00, 0x0c, 0xdf, 0x00, 0x03, - 0x6b, 0x23, 0x06, 0xae, 0x12, 0x08, 0xdf, 0x00, - 0x14, 0x37, 0x09, 0x24, 0x0e, 0xdf, 0x00, 0x02, - 0xb1, 0x22, 0x03, 0x3a, 0x12, 0x0b, 0xa7, 0x00, - 0x14, 0x38, 0x37, 0x00, 0x0e, 0xdf, 0x00, 0x02, - 0x0d, 0x06, 0x13, 0x37, 0xfd, 0x11, 0x0b, 0x38, - 0x00, 0x05, 0x78, 0x24, 0x0f, 0xdf, 0x00, 0x01, - 0x07, 0xf4, 0x23, 0x2a, 0x31, 0x37, 0xdf, 0x00, - 0x03, 0x1d, 0x23, 0x1e, 0x30, 0xdf, 0x00, 0x02, - 0x83, 0x06, 0x04, 0x0e, 0x11, 0x0a, 0x47, 0x04, - 0x02, 0x39, 0x23, 0x0e, 0x73, 0x2f, 0x1f, 0x38, - 0x20, 0x0d, 0x05, 0x02, 0x71, 0x02, 0x02, 0x09, - 0x23, 0x0f, 0x73, 0x2f, 0x04, 0x23, 0x30, 0x5d, - 0xd4, 0x17, 0x0f, 0x1f, 0x00, 0x04, 0x05, 0x59, - 0x1d, 0x0e, 0x6f, 0x1f, 0x0e, 0xdb, 0x0b, 0x13, - 0x38, 0x79, 0x1e, 0x1f, 0x30, 0xc6, 0x21, 0x06, - 0x25, 0x38, 0x34, 0x22, 0x00, 0x0e, 0xf9, 0x1d, - 0x02, 0xce, 0x23, 0x02, 0x23, 0x5d, 0x0f, 0x7d, - 0x2e, 0x11, 0x07, 0x9e, 0x00, 0x2f, 0x32, 0x31, - 0x9e, 0x00, 0x10, 0x16, 0x35, 0x9e, 0x00, 0x1f, - 0x34, 0x9e, 0x00, 0x03, 0x1e, 0x36, 0x9e, 0x00, - 0x0a, 0x63, 0x22, 0x04, 0x95, 0x25, 0x0f, 0x9e, - 0x00, 0x1c, 0x1f, 0x32, 0x9e, 0x00, 0x10, 0x14, - 0x37, 0x7c, 0x00, 0x0f, 0xbe, 0x21, 0x05, 0x2f, - 0x38, 0x38, 0x9e, 0x00, 0x08, 0x18, 0x33, 0x27, - 0x26, 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x33, 0x9e, - 0x00, 0x10, 0x15, 0x39, 0x9e, 0x00, 0x0f, 0xba, - 0x21, 0x04, 0x2e, 0x39, 0x30, 0x9e, 0x00, 0x0a, - 0x5b, 0x22, 0x00, 0x44, 0x00, 0x00, 0x28, 0x00, - 0x0f, 0x9e, 0x00, 0x1c, 0x0f, 0x59, 0x22, 0x10, - 0x25, 0x39, 0x31, 0x9e, 0x00, 0x0f, 0xb6, 0x21, - 0x04, 0x2f, 0x39, 0x32, 0x9e, 0x00, 0x08, 0x02, - 0xd6, 0x25, 0x02, 0x66, 0x05, 0x1f, 0x32, 0x9e, - 0x00, 0x1c, 0x1f, 0x35, 0x9e, 0x00, 0x10, 0x05, - 0x16, 0x03, 0x0f, 0xb2, 0x21, 0x05, 0x1e, 0x39, - 0x16, 0x03, 0x0b, 0x7f, 0x10, 0x04, 0xd6, 0x27, - 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x36, 0x9e, 0x00, - 0x10, 0x05, 0x16, 0x03, 0x0f, 0xae, 0x21, 0x05, - 0x1f, 0x39, 0x16, 0x03, 0x09, 0x18, 0x37, 0x68, - 0x28, 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x37, 0xab, - 0x21, 0x1a, 0x1f, 0x33, 0xab, 0x21, 0x11, 0x1f, - 0x33, 0xab, 0x21, 0x18, 0x2f, 0x33, 0x30, 0xab, - 0x21, 0x03, 0x02, 0x79, 0x09, 0x0c, 0x1b, 0x1b, - 0x04, 0x15, 0x0c, 0x1e, 0x36, 0xab, 0x21, 0x05, - 0xc7, 0x21, 0x1f, 0x37, 0xab, 0x21, 0x18, 0x1e, - 0x35, 0x1b, 0x1b, 0x02, 0x93, 0x00, 0x0b, 0xab, - 0x21, 0x1f, 0x38, 0xab, 0x21, 0x04, 0x24, 0x39, - 0x38, 0x0b, 0x3f, 0x0d, 0xaa, 0x21, 0x12, 0x32, - 0x69, 0x03, 0x1e, 0x38, 0xa9, 0x21, 0x04, 0x7a, - 0x1d, 0x03, 0x74, 0x34, 0x1f, 0x38, 0xce, 0x14, - 0x0d, 0x1a, 0x37, 0xca, 0x21, 0x12, 0x33, 0xc9, - 0x7f, 0x01, 0x09, 0x00, 0x3b, 0x34, 0x31, 0x3a, - 0xce, 0x07, 0x07, 0xb4, 0x5c, 0x03, 0x50, 0x06, - 0x0d, 0x78, 0x00, 0x04, 0x7f, 0x00, 0x14, 0x38, - 0x46, 0x00, 0x1e, 0x33, 0xcb, 0x21, 0x14, 0x32, - 0x23, 0x1e, 0x0f, 0xd0, 0x72, 0x03, 0x03, 0xb4, - 0x21, 0x0d, 0xcb, 0x21, 0x02, 0xd8, 0x0a, 0x04, - 0x17, 0x0e, 0x0e, 0xd6, 0x0d, 0x04, 0xcb, 0x21, - 0x1f, 0x32, 0xcb, 0x21, 0x0d, 0x13, 0x38, 0xe6, - 0x0a, 0x1f, 0x39, 0xcb, 0x21, 0x0f, 0x17, 0x33, - 0x28, 0x0e, 0x1e, 0x65, 0xcb, 0x21, 0x1d, 0x33, - 0xcb, 0x21, 0x2f, 0x39, 0x39, 0xca, 0x21, 0x14, - 0x1c, 0x39, 0x4a, 0x12, 0x2f, 0x33, 0x30, 0xc9, - 0x21, 0x07, 0x1f, 0x33, 0xc9, 0x21, 0x0c, 0x15, - 0x35, 0xc9, 0x21, 0x2c, 0x39, 0x39, 0xc8, 0x21, - 0x04, 0xc3, 0x00, 0x0f, 0xc8, 0x21, 0x03, 0x03, - 0xfc, 0x6f, 0x0e, 0x0f, 0x12, 0x05, 0xeb, 0x54, - 0x0c, 0xc8, 0x21, 0x01, 0x1a, 0x02, 0x0c, 0xc9, - 0x21, 0x03, 0x1e, 0x24, 0x0b, 0x88, 0x86, 0x01, - 0xd6, 0x2a, 0x0d, 0xc9, 0x21, 0x29, 0x30, 0x34, - 0x81, 0x2c, 0x0e, 0x7a, 0x65, 0x05, 0xa2, 0x24, - 0x01, 0x2d, 0x00, 0x0b, 0xc9, 0x21, 0x10, 0x30, - 0x93, 0x00, 0x05, 0x88, 0x02, 0x0d, 0xc9, 0x21, - 0x2e, 0x30, 0x36, 0xc9, 0x21, 0x13, 0x30, 0x9d, - 0x2b, 0x16, 0x35, 0xb9, 0x02, 0x09, 0x33, 0x00, - 0x0e, 0xae, 0x65, 0x01, 0x4d, 0x2b, 0x0f, 0xc9, - 0x21, 0x09, 0x25, 0x31, 0x31, 0xc9, 0x21, 0x04, - 0x5e, 0x00, 0x08, 0xc8, 0x2b, 0x1d, 0x39, 0xc7, - 0x2c, 0x03, 0xb1, 0x13, 0x13, 0x31, 0x33, 0x00, - 0x0c, 0xe6, 0x5c, 0x1f, 0x33, 0xc8, 0x21, 0x0a, - 0x16, 0x31, 0x78, 0x62, 0x05, 0x01, 0x2b, 0x0f, - 0x6e, 0x00, 0x0a, 0x19, 0x35, 0x8b, 0x2a, 0x0d, - 0x54, 0x5d, 0x1f, 0x36, 0xc7, 0x21, 0x0a, 0x16, - 0x31, 0x52, 0x62, 0x05, 0x4a, 0x00, 0x1f, 0x36, - 0x6f, 0x00, 0x0a, 0x13, 0x38, 0x51, 0x2a, 0x06, - 0xfa, 0x2a, 0x0f, 0x5b, 0x00, 0x05, 0x16, 0x39, - 0xc6, 0x21, 0x04, 0x16, 0x2d, 0x1f, 0x38, 0x5b, - 0x00, 0x09, 0x23, 0x32, 0x30, 0x0a, 0x2a, 0x03, - 0x33, 0x00, 0x0c, 0x38, 0x25, 0x1f, 0x31, 0xc5, - 0x21, 0x0a, 0x16, 0x32, 0x05, 0x62, 0x06, 0xb2, - 0x29, 0x0f, 0x6f, 0x00, 0x0a, 0x19, 0x33, 0x3c, - 0x29, 0x1f, 0x30, 0xc4, 0x21, 0x06, 0x02, 0xeb, - 0x55, 0x03, 0x2e, 0x00, 0x03, 0x8c, 0x01, 0x0f, - 0x24, 0x01, 0x09, 0x27, 0x33, 0x36, 0xf3, 0x28, - 0x0e, 0xa8, 0x06, 0x03, 0x19, 0x83, 0x0a, 0x9c, - 0x03, 0x14, 0x31, 0xac, 0x21, 0x1e, 0x3b, 0x45, - 0x07, 0x03, 0x66, 0x25, 0x0f, 0x71, 0x1e, 0x03, - 0x1e, 0x32, 0xc2, 0x06, 0x06, 0xf9, 0x21, 0x1f, - 0x37, 0xdd, 0x21, 0x18, 0x0e, 0x5d, 0x58, 0x0a, - 0x7e, 0x01, 0x1a, 0x36, 0xf0, 0x36, 0x0e, 0x67, - 0x28, 0x01, 0x23, 0x00, 0x0e, 0x52, 0x17, 0x03, - 0x58, 0x56, 0x03, 0xe1, 0x00, 0x06, 0xb8, 0x07, - 0x1c, 0x35, 0x11, 0x01, 0x1e, 0x73, 0x9c, 0x13, - 0x24, 0x34, 0x5d, 0xfb, 0x00, 0x12, 0x0a, 0x28, - 0x00, 0x0a, 0x35, 0x17, 0x08, 0xee, 0x39, 0x0c, - 0x56, 0x20, 0x04, 0x9a, 0x39, 0x0e, 0x25, 0x3a, - 0x04, 0xbb, 0x39, 0x05, 0x60, 0x10, 0x08, 0x63, - 0x15, 0x17, 0x30, 0xc8, 0x43, 0x0f, 0x4d, 0x3b, - 0x02, 0x02, 0x40, 0x0e, 0x0b, 0x1b, 0x00, 0x07, - 0xfe, 0x43, 0x0b, 0x37, 0x0e, 0x03, 0x47, 0x07, - 0x1e, 0x37, 0x21, 0x22, 0x03, 0x53, 0x33, 0x1e, - 0x33, 0xef, 0x30, 0x05, 0xbf, 0x16, 0x13, 0x33, - 0x65, 0x03, 0x0b, 0x1c, 0x00, 0x03, 0x54, 0x19, - 0x0e, 0xef, 0x30, 0x04, 0x93, 0x42, 0x04, 0x2d, - 0x25, 0x1e, 0x3b, 0x3f, 0x16, 0x04, 0x1c, 0x00, - 0x0c, 0xc7, 0x1b, 0x07, 0x13, 0x01, 0x0c, 0x53, - 0x22, 0x17, 0x35, 0x14, 0x01, 0x0c, 0xee, 0x30, - 0x27, 0x35, 0x31, 0x1c, 0x00, 0x0c, 0x2d, 0x93, - 0x07, 0x16, 0x01, 0x0c, 0xfc, 0x0e, 0x27, 0x35, - 0x33, 0x3b, 0x6c, 0x0a, 0x8c, 0x06, 0x02, 0x7f, - 0x04, 0x07, 0xaf, 0x41, 0x08, 0x8d, 0x06, 0x02, - 0x14, 0x17, 0x0e, 0x70, 0x7a, 0x05, 0xdb, 0x00, - 0x0d, 0x67, 0x08, 0x18, 0x39, 0x71, 0x7a, 0x0f, - 0x03, 0x16, 0x04, 0x13, 0x32, 0x03, 0x16, 0x05, - 0x0e, 0x09, 0x0e, 0xd8, 0x16, 0x04, 0x06, 0x58, - 0x18, 0x38, 0x19, 0x1a, 0x28, 0x31, 0x37, 0x9b, - 0x00, 0x0c, 0xda, 0x16, 0x01, 0xe9, 0x29, 0x02, - 0xeb, 0x00, 0x0e, 0x03, 0x0b, 0x05, 0x91, 0x75, - 0x0e, 0xfe, 0x6d, 0x02, 0xdf, 0x75, 0x06, 0x89, - 0x63, 0x0f, 0x43, 0x42, 0x04, 0x35, 0x33, 0x31, - 0x5d, 0x41, 0x26, 0x13, 0x0a, 0x82, 0x00, 0x0e, - 0xb6, 0x00, 0x16, 0x38, 0xac, 0x3c, 0x14, 0x34, - 0x51, 0x01, 0x18, 0x38, 0xb6, 0x00, 0x1d, 0x34, - 0xb6, 0x00, 0x02, 0x2e, 0x13, 0x04, 0x69, 0x45, - 0x0d, 0xb6, 0x00, 0x05, 0x44, 0x46, 0x0d, 0xb6, - 0x00, 0x18, 0x33, 0xb6, 0x00, 0x1f, 0x32, 0xb6, - 0x00, 0x04, 0x03, 0x15, 0x40, 0x03, 0xff, 0x2b, - 0x01, 0x82, 0x00, 0x0e, 0xb6, 0x00, 0x03, 0xb0, - 0x00, 0x05, 0x14, 0x38, 0x09, 0xb9, 0x58, 0x00, - 0x34, 0x00, 0x1c, 0x36, 0xb6, 0x00, 0x24, 0x33, - 0x30, 0xb6, 0x00, 0x1f, 0x33, 0xb6, 0x00, 0x02, - 0x14, 0x34, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, - 0x35, 0xb6, 0x00, 0x1f, 0x34, 0xb6, 0x00, 0x04, - 0x01, 0x14, 0x3b, 0x00, 0x66, 0x00, 0x05, 0xb6, - 0x00, 0x0e, 0xa2, 0x1a, 0x06, 0xbc, 0x7d, 0x03, - 0x15, 0x46, 0x10, 0x40, 0x14, 0x00, 0x08, 0xb6, - 0x00, 0x1d, 0x38, 0xb6, 0x00, 0x05, 0xf6, 0x1b, - 0x1f, 0x34, 0xb6, 0x00, 0x02, 0x05, 0xe9, 0x3e, - 0x0d, 0xb6, 0x00, 0x18, 0x37, 0xb6, 0x00, 0x1f, - 0x36, 0xb6, 0x00, 0x04, 0x25, 0x37, 0x5d, 0x3f, - 0x2b, 0x03, 0xb6, 0x00, 0x0e, 0x85, 0x1a, 0x02, - 0x24, 0x07, 0x04, 0xeb, 0x37, 0x03, 0xb6, 0x00, - 0x09, 0x55, 0x0d, 0x1d, 0x30, 0xb6, 0x00, 0x14, - 0x32, 0xb6, 0x00, 0x1f, 0x35, 0xb6, 0x00, 0x02, - 0x05, 0xcf, 0x91, 0x0d, 0xb6, 0x00, 0x18, 0x39, + 0x74, 0x0f, 0x4a, 0x79, 0x07, 0xfd, 0x00, 0x73, + 0x63, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x72, 0x67, + 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x8e, 0x0a, + 0x0b, 0x20, 0x00, 0x0b, 0x8f, 0x0a, 0x0b, 0x1e, + 0x00, 0x0f, 0x90, 0x0a, 0x04, 0x0f, 0x26, 0x00, + 0x03, 0x1f, 0x31, 0x6c, 0x0a, 0x02, 0x1e, 0x34, + 0x6b, 0x0a, 0x1f, 0x31, 0xf0, 0x22, 0x01, 0x1e, + 0x36, 0x6a, 0x0a, 0x05, 0x0c, 0x0a, 0x0e, 0x96, + 0x00, 0x0f, 0x6b, 0x0a, 0x06, 0x1e, 0x36, 0x2f, + 0x00, 0x08, 0x6b, 0x0a, 0x0b, 0xa1, 0x22, 0x2e, + 0x6e, 0x74, 0x3c, 0x0a, 0x19, 0x37, 0x3b, 0x0a, + 0x0f, 0x5c, 0x2e, 0x05, 0x27, 0x61, 0x64, 0x8e, + 0xe2, 0x05, 0xd3, 0x22, 0x02, 0x3e, 0x00, 0x1e, + 0x72, 0xed, 0x49, 0x07, 0xc4, 0x22, 0x1c, 0x36, + 0x29, 0x0a, 0x04, 0xe8, 0x77, 0x0a, 0xaf, 0x2e, + 0x07, 0xc1, 0x08, 0x0a, 0xfb, 0xe2, 0x01, 0xe6, + 0x02, 0x02, 0x51, 0x17, 0x0f, 0x93, 0x23, 0x0d, + 0x03, 0x94, 0x05, 0x4c, 0x36, 0x5f, 0x32, 0x3a, + 0xd1, 0x08, 0x14, 0x32, 0x91, 0x00, 0x03, 0x03, + 0x18, 0x20, 0x6c, 0x70, 0x8b, 0x01, 0x03, 0x92, + 0x0a, 0x30, 0x32, 0x2c, 0x20, 0xab, 0x00, 0x2f, + 0x70, 0x32, 0x97, 0x0a, 0x06, 0x2f, 0x31, 0x30, + 0xdd, 0x22, 0x0f, 0x0d, 0x56, 0x31, 0x00, 0x91, + 0x0a, 0x05, 0x2b, 0x24, 0x08, 0xf5, 0x08, 0x15, + 0x30, 0x4a, 0x2e, 0x1f, 0x31, 0x7b, 0x09, 0x04, + 0x09, 0x3b, 0x01, 0x17, 0x33, 0x3b, 0x01, 0x05, + 0xe3, 0x00, 0x1f, 0x33, 0x0f, 0x03, 0x08, 0x8f, + 0x65, 0x78, 0x63, 0x5f, 0x73, 0x6d, 0x61, 0x6c, + 0xe5, 0xed, 0x03, 0x0e, 0x23, 0x00, 0x0e, 0x15, + 0x03, 0x0b, 0x21, 0x00, 0x0e, 0x18, 0x03, 0x0f, + 0x29, 0x00, 0x0b, 0x1e, 0x31, 0x41, 0x03, 0x0e, + 0x29, 0x00, 0x0f, 0xb0, 0x0d, 0x07, 0x1e, 0x33, + 0x49, 0x26, 0x0f, 0x34, 0x26, 0x03, 0x1f, 0x30, + 0x34, 0x26, 0x08, 0x0f, 0xc6, 0x00, 0x07, 0x0f, + 0x84, 0x0d, 0x06, 0x0f, 0xd0, 0x00, 0x07, 0x0f, + 0x0e, 0x26, 0x08, 0x03, 0x06, 0x36, 0x0e, 0x69, + 0x23, 0x04, 0x3d, 0x03, 0x00, 0x39, 0x00, 0x00, + 0x2e, 0x00, 0x02, 0xe0, 0x01, 0x03, 0x32, 0x02, + 0x01, 0xdf, 0x2e, 0x0d, 0x6c, 0x02, 0x14, 0x35, + 0x86, 0x23, 0x2b, 0x31, 0x36, 0x6d, 0x02, 0x03, + 0x13, 0xd2, 0x01, 0x06, 0x00, 0x19, 0x35, 0x44, + 0x0c, 0x22, 0x76, 0x34, 0x3f, 0x00, 0x02, 0x60, + 0x20, 0x05, 0xd6, 0x1f, 0x01, 0x75, 0x1c, 0x00, + 0x6d, 0x1f, 0x02, 0x5b, 0x0c, 0x1c, 0x36, 0x0e, + 0x04, 0x03, 0x15, 0x29, 0x07, 0x97, 0x02, 0x17, + 0x32, 0x3d, 0x00, 0x1e, 0x34, 0x19, 0x31, 0x03, + 0x52, 0x00, 0x0b, 0x46, 0x0d, 0x02, 0x72, 0x00, + 0x02, 0x01, 0x1c, 0x0b, 0x7a, 0x0e, 0x14, 0x32, + 0xcd, 0x00, 0x0c, 0x7f, 0x2c, 0x0e, 0x12, 0x3e, + 0x06, 0xdd, 0x0e, 0x03, 0x64, 0x1e, 0x1f, 0x32, + 0x7d, 0x09, 0x03, 0x32, 0x32, 0x34, 0x5d, 0x68, + 0x1f, 0x0b, 0x2d, 0x07, 0x08, 0xdb, 0x04, 0x0c, + 0x26, 0x26, 0x03, 0x54, 0x01, 0x0d, 0x68, 0x03, + 0x02, 0xf5, 0x07, 0x0e, 0x2e, 0x09, 0x02, 0x4c, + 0x08, 0x0c, 0xb5, 0x04, 0x03, 0xf3, 0x70, 0x0c, + 0x5a, 0x0f, 0x00, 0x63, 0x00, 0x0b, 0x12, 0x01, + 0x17, 0x37, 0xc6, 0x00, 0x0c, 0x99, 0x21, 0x00, + 0x4e, 0x2f, 0x0f, 0x6f, 0x00, 0x04, 0x11, 0x0a, + 0x65, 0x00, 0x01, 0xb9, 0x04, 0x0d, 0xf7, 0x00, + 0x22, 0x37, 0x5d, 0x23, 0x1d, 0x0e, 0x02, 0x0d, + 0x25, 0x75, 0x62, 0x3e, 0x01, 0x02, 0x25, 0x0e, + 0x02, 0x81, 0x20, 0x0b, 0x8a, 0x01, 0x14, 0x39, + 0x46, 0x0e, 0x1b, 0x32, 0xd7, 0x01, 0x17, 0x31, + 0xac, 0x00, 0x00, 0x8f, 0x1c, 0x0e, 0x2e, 0x0b, + 0x02, 0xa2, 0x23, 0x14, 0x33, 0xb8, 0x10, 0x0e, + 0x3f, 0x0d, 0x01, 0x9f, 0x00, 0x0b, 0x14, 0x02, + 0x17, 0x30, 0xd5, 0x0d, 0x1e, 0x33, 0xb5, 0x00, + 0x07, 0x30, 0x0e, 0x15, 0x38, 0x72, 0x33, 0x1e, + 0x3b, 0xb2, 0x05, 0x05, 0x4c, 0x21, 0x1c, 0x35, + 0x82, 0x0f, 0x14, 0x37, 0x08, 0x05, 0x02, 0x09, + 0x72, 0x0e, 0x9a, 0x03, 0x07, 0xbc, 0x27, 0x14, + 0x32, 0x73, 0x00, 0x09, 0x8e, 0x0f, 0x0e, 0x67, + 0x10, 0x03, 0x91, 0x08, 0x12, 0x37, 0xa2, 0x1d, + 0x0a, 0x5d, 0x01, 0x26, 0x33, 0x34, 0xa4, 0x1e, + 0x0c, 0x1b, 0x03, 0x17, 0x35, 0xd7, 0x1f, 0x0b, + 0x1b, 0x00, 0x07, 0xf2, 0x1f, 0x0c, 0x7a, 0x01, + 0x07, 0x45, 0x20, 0x1a, 0x31, 0x3d, 0x06, 0x26, + 0x76, 0x34, 0x06, 0x09, 0x22, 0x39, 0x5d, 0xeb, + 0x1e, 0x16, 0x34, 0x3d, 0x0d, 0x04, 0x76, 0x23, + 0x2f, 0x7d, 0x3b, 0x00, 0x06, 0x12, 0x1e, 0x36, + 0x3a, 0x2c, 0x0e, 0x23, 0x00, 0x0f, 0x00, 0x06, + 0x0c, 0x0e, 0x42, 0x2c, 0x0f, 0x29, 0x00, 0x0d, + 0x0e, 0x00, 0x06, 0x0e, 0x29, 0x00, 0x0f, 0x00, + 0x06, 0x1b, 0x3e, 0x31, 0x38, 0x3e, 0x00, 0x06, + 0x2f, 0x32, 0x35, 0x00, 0x06, 0x04, 0x1e, 0x38, + 0xcd, 0x05, 0x0f, 0xbe, 0x45, 0x06, 0x06, 0x2d, + 0x02, 0x0f, 0x33, 0x00, 0x07, 0x0e, 0x00, 0x06, + 0x0c, 0x04, 0x0b, 0x1b, 0x38, 0x41, 0x13, 0x0f, + 0xff, 0x05, 0x0c, 0x1f, 0x36, 0x33, 0x0b, 0x07, + 0x04, 0xd1, 0x25, 0x0f, 0x33, 0x0b, 0x0b, 0x07, + 0x00, 0x06, 0x12, 0x32, 0x8b, 0x00, 0x10, 0x7b, + 0x1b, 0x00, 0x12, 0x32, 0x22, 0x00, 0x00, 0xf8, + 0x23, 0x03, 0x46, 0x0b, 0x0b, 0x4a, 0x00, 0x03, + 0x80, 0x13, 0x03, 0x07, 0x00, 0x1a, 0x32, 0x8f, + 0x03, 0x02, 0x9e, 0x0f, 0x0d, 0x36, 0x2a, 0x1e, + 0x38, 0xb0, 0x05, 0x04, 0xb6, 0x09, 0x02, 0x38, + 0x2a, 0x05, 0x93, 0x58, 0x07, 0x04, 0x3b, 0x1f, + 0x30, 0x40, 0x41, 0x02, 0x16, 0x39, 0x66, 0x3a, + 0x0f, 0x9c, 0x0a, 0x06, 0x0d, 0x93, 0x06, 0x04, + 0x31, 0x01, 0x1e, 0x73, 0xc0, 0x05, 0x17, 0x31, + 0xc0, 0x05, 0x0a, 0x42, 0x45, 0x1c, 0x33, 0xc2, + 0x05, 0x1d, 0x38, 0xc2, 0x05, 0x27, 0x31, 0x31, + 0x26, 0x2b, 0x0c, 0xee, 0x06, 0x12, 0x38, 0x51, + 0x2d, 0x0b, 0xa8, 0x00, 0x17, 0x37, 0xc1, 0x05, + 0x0d, 0x70, 0x00, 0x11, 0x0a, 0x66, 0x00, 0x0b, + 0xc3, 0x05, 0x03, 0xf9, 0x00, 0x03, 0x5f, 0x3b, + 0x2f, 0x32, 0x34, 0xc4, 0x05, 0x09, 0x03, 0x66, + 0x25, 0x02, 0x53, 0x07, 0x0b, 0x46, 0x2e, 0x14, + 0x34, 0x4e, 0x07, 0x0c, 0x4d, 0x0a, 0x16, 0x36, + 0xae, 0x00, 0x1a, 0x34, 0xa5, 0x05, 0x08, 0x6a, + 0x48, 0x00, 0x29, 0x00, 0x1f, 0x5d, 0x1f, 0x00, + 0x03, 0x12, 0x37, 0xe3, 0x05, 0x1f, 0x5d, 0x8a, + 0x46, 0x04, 0x12, 0x36, 0x07, 0x00, 0x1f, 0x37, + 0xc8, 0x05, 0x09, 0x24, 0x31, 0x37, 0x07, 0x08, + 0x0f, 0xc8, 0x05, 0x04, 0x03, 0x21, 0x00, 0x0c, + 0xc8, 0x05, 0x14, 0x38, 0xc8, 0x05, 0x1f, 0x38, + 0xc8, 0x05, 0x09, 0x12, 0x31, 0xb3, 0x05, 0x05, + 0x12, 0x01, 0x07, 0xa0, 0x49, 0x0e, 0xca, 0x05, + 0x06, 0x25, 0x48, 0x04, 0x38, 0x00, 0x24, 0x31, + 0x39, 0x66, 0x01, 0x0a, 0x2a, 0x48, 0x2a, 0x32, + 0x34, 0x9d, 0x0b, 0x07, 0x24, 0x48, 0x07, 0x4f, + 0x48, 0x0a, 0x30, 0x3d, 0x04, 0x6d, 0x03, 0x11, + 0x5b, 0x66, 0x00, 0x02, 0x9e, 0x05, 0x05, 0x50, + 0x00, 0x1f, 0x32, 0x94, 0x05, 0x13, 0x1f, 0x66, + 0x94, 0x0b, 0x0f, 0x0e, 0x3a, 0x3d, 0x0e, 0x21, + 0x00, 0x0f, 0x94, 0x05, 0x13, 0x1f, 0x66, 0x94, + 0x0b, 0x15, 0x0f, 0x46, 0x3d, 0x0d, 0x1e, 0x37, + 0x45, 0x3d, 0x3e, 0x32, 0x39, 0x3e, 0x45, 0x3d, + 0x2e, 0x30, 0x3e, 0xa8, 0x05, 0x1f, 0x39, 0xec, + 0x0e, 0x0d, 0x0e, 0xd9, 0x00, 0x0e, 0xa7, 0x05, + 0x06, 0x89, 0x19, 0x0f, 0xe3, 0x00, 0x07, 0x0f, + 0x22, 0x0f, 0x0a, 0x0e, 0xec, 0x00, 0x0e, 0xe7, + 0x31, 0x0e, 0xab, 0x18, 0x1e, 0x32, 0x2e, 0x0f, + 0x17, 0x74, 0xa8, 0x0e, 0x0e, 0x2b, 0x0e, 0x1e, + 0x37, 0xc0, 0x05, 0x0e, 0xc2, 0x18, 0x08, 0xbe, + 0x0b, 0x12, 0x66, 0xbe, 0x0b, 0x11, 0x66, 0xdc, + 0x35, 0x11, 0x39, 0x1d, 0x34, 0x11, 0x30, 0x06, + 0x00, 0x27, 0x31, 0x7d, 0xd7, 0x18, 0x07, 0x6e, + 0x03, 0x13, 0x38, 0x67, 0x00, 0x1e, 0x32, 0x14, + 0x05, 0x05, 0x0c, 0x04, 0x04, 0x82, 0x00, 0x04, + 0x28, 0x35, 0x01, 0xce, 0x36, 0x10, 0x38, 0xc9, + 0x3d, 0x09, 0x02, 0x32, 0x20, 0x6c, 0x70, 0x22, + 0x00, 0x00, 0x21, 0x00, 0x01, 0x72, 0x00, 0x18, + 0x36, 0x21, 0x00, 0x00, 0x12, 0x0f, 0x1f, 0x31, + 0xf3, 0x05, 0x03, 0x0f, 0xe6, 0x03, 0x04, 0x02, + 0x38, 0x15, 0x0b, 0x59, 0x00, 0x13, 0x37, 0xd7, + 0x00, 0x0a, 0x59, 0x00, 0x1a, 0x32, 0xa0, 0x00, + 0x11, 0x32, 0x7f, 0x00, 0x0e, 0x94, 0x3d, 0x05, + 0x93, 0x3e, 0x0e, 0xee, 0x00, 0x0d, 0x2a, 0x0f, + 0x08, 0x75, 0x00, 0x14, 0x38, 0x47, 0x01, 0x0a, + 0x76, 0x00, 0x1a, 0x33, 0x76, 0x00, 0x11, 0x33, + 0x4e, 0x37, 0x04, 0x4c, 0x3d, 0x0e, 0x98, 0x18, + 0x00, 0xb8, 0x39, 0x0d, 0x76, 0x00, 0x05, 0x6a, + 0x33, 0x0e, 0x76, 0x00, 0x12, 0x39, 0xb7, 0x01, + 0x0c, 0x76, 0x00, 0x1a, 0x34, 0x76, 0x00, 0x02, + 0xb3, 0x36, 0x05, 0x4b, 0x3c, 0x08, 0x5f, 0x06, + 0x0f, 0x26, 0x19, 0x05, 0x03, 0x98, 0x31, 0x08, + 0x9d, 0x3f, 0x07, 0x4a, 0x3d, 0x1f, 0x30, 0xa9, + 0x16, 0x03, 0x25, 0x33, 0x5d, 0x15, 0x06, 0x08, + 0x31, 0x00, 0x09, 0x2d, 0x0d, 0x0a, 0xdb, 0x00, + 0x02, 0x2b, 0x0d, 0x07, 0x14, 0x0d, 0x09, 0x12, + 0x39, 0x1c, 0x34, 0xb0, 0x18, 0x03, 0xb3, 0x65, + 0x08, 0xa9, 0x00, 0x07, 0x57, 0x2e, 0x1b, 0x37, + 0x85, 0x0c, 0x14, 0x30, 0x5a, 0x2d, 0x1b, 0x32, + 0xdd, 0x00, 0x06, 0xdc, 0x00, 0x2e, 0x32, 0x30, + 0x57, 0x39, 0x1f, 0x31, 0x8b, 0x00, 0x04, 0x11, + 0x0a, 0x81, 0x00, 0x0a, 0x6d, 0x07, 0x14, 0x66, + 0xfb, 0x00, 0x15, 0x5d, 0xa5, 0x39, 0x0f, 0x30, + 0x0d, 0x07, 0x17, 0x34, 0xba, 0x3a, 0x1b, 0x39, + 0xac, 0x00, 0x06, 0xa6, 0x19, 0x0b, 0x90, 0x08, + 0x17, 0x37, 0xad, 0x00, 0x2f, 0x35, 0x3b, 0xa4, + 0x3d, 0x07, 0x2a, 0x32, 0x37, 0x6d, 0x07, 0x0a, + 0x1f, 0x3d, 0x05, 0x96, 0x09, 0x0a, 0x72, 0x3a, + 0x15, 0x31, 0xbd, 0x3d, 0x0e, 0x69, 0x07, 0x0a, + 0xcb, 0x0d, 0x1e, 0x39, 0x83, 0x03, 0x04, 0xb5, + 0x19, 0x03, 0x82, 0x01, 0x0c, 0xb6, 0x19, 0x14, + 0x39, 0x6a, 0x07, 0x02, 0xeb, 0x66, 0x00, 0x09, + 0x01, 0x07, 0x11, 0x3d, 0x08, 0xe3, 0x01, 0x0f, + 0x0e, 0x05, 0x04, 0x03, 0x07, 0x08, 0x0e, 0xdb, + 0x1c, 0x06, 0x9d, 0x10, 0x0b, 0xd5, 0x00, 0x02, + 0x5e, 0x03, 0x02, 0x9b, 0x39, 0x0b, 0x1b, 0x00, + 0x16, 0x34, 0x1b, 0x00, 0x0c, 0x09, 0x04, 0x16, + 0x35, 0x1b, 0x00, 0x04, 0x6d, 0x00, 0x0a, 0x2d, + 0x3c, 0x1c, 0x32, 0xc5, 0x04, 0x1c, 0x74, 0x4c, + 0x05, 0x02, 0x4b, 0x1d, 0x00, 0x9c, 0x07, 0x04, + 0x34, 0x00, 0x17, 0x35, 0x67, 0x3c, 0x1f, 0x33, + 0xa6, 0x07, 0x14, 0x0f, 0x3a, 0x0d, 0x0f, 0x0e, + 0x78, 0x39, 0x0e, 0x21, 0x00, 0x0f, 0xa6, 0x07, + 0x14, 0x0f, 0x3a, 0x0d, 0x15, 0x0f, 0x84, 0x39, + 0x0d, 0x1e, 0x35, 0x92, 0x07, 0x3e, 0x32, 0x31, + 0x3e, 0x83, 0x39, 0x2f, 0x31, 0x39, 0x83, 0x39, + 0x1d, 0x0e, 0xdb, 0x00, 0x0f, 0x4f, 0x13, 0x1d, + 0x0e, 0x8c, 0x39, 0x0f, 0xa8, 0x07, 0x0e, 0x0e, + 0x8f, 0x39, 0x0f, 0x81, 0x13, 0x15, 0x1f, 0x37, + 0x81, 0x0d, 0x0c, 0x1f, 0x37, 0x7f, 0x13, 0x06, + 0x1f, 0x37, 0x7e, 0x13, 0x1b, 0x11, 0x32, 0x55, + 0x01, 0x00, 0xc0, 0x07, 0x21, 0x64, 0x36, 0xb8, + 0x2d, 0x09, 0x72, 0x13, 0x1e, 0x73, 0xb6, 0x07, + 0x1f, 0x31, 0xb6, 0x07, 0x11, 0x04, 0xbe, 0x2e, + 0x11, 0x30, 0x53, 0x00, 0x10, 0x36, 0xc2, 0x39, + 0x09, 0xbf, 0x39, 0x08, 0xc0, 0x07, 0x21, 0x36, + 0x34, 0x2b, 0x00, 0x02, 0x35, 0x2e, 0x1e, 0x30, + 0x2b, 0x00, 0x0f, 0xca, 0x07, 0x30, 0x03, 0x63, + 0x00, 0x12, 0x31, 0xe1, 0x00, 0x0f, 0x63, 0x00, + 0x05, 0x1b, 0x32, 0xbe, 0x00, 0x01, 0xc5, 0x03, + 0x04, 0x99, 0x00, 0x1f, 0x31, 0x16, 0x3b, 0x01, + 0x1e, 0x37, 0xa2, 0x38, 0x1e, 0x31, 0xa2, 0x38, + 0x0c, 0xbb, 0x44, 0x03, 0x37, 0x17, 0x08, 0x85, + 0x0d, 0x1f, 0x37, 0x71, 0x0e, 0x05, 0x35, 0x31, + 0x32, 0x5d, 0x3d, 0x0c, 0x0f, 0x71, 0x0e, 0x1a, + 0x1e, 0x37, 0x6f, 0x08, 0x0b, 0x71, 0x0e, 0x08, + 0x01, 0x3a, 0x00, 0xee, 0x00, 0x0b, 0xad, 0x17, + 0x2e, 0x33, 0x30, 0x71, 0x0e, 0x1f, 0x34, 0x71, + 0x0e, 0x08, 0x03, 0xda, 0x00, 0x0e, 0xbf, 0x41, + 0x06, 0x03, 0x07, 0x0d, 0x71, 0x00, 0x11, 0x0a, + 0x67, 0x00, 0x0b, 0x05, 0x07, 0x08, 0x72, 0x0e, + 0x02, 0x78, 0x3a, 0x0e, 0x72, 0x0e, 0x0a, 0x3e, + 0x0e, 0x06, 0x7d, 0x07, 0x0e, 0xd4, 0x0d, 0x1e, + 0x36, 0x72, 0x0e, 0x17, 0x39, 0xaf, 0x00, 0x03, + 0xd0, 0x22, 0x0c, 0xd0, 0x39, 0x12, 0x32, 0xe8, + 0x06, 0x2f, 0x39, 0x5d, 0x1f, 0x00, 0x03, 0x1a, + 0x33, 0x73, 0x0e, 0x0b, 0xd9, 0x00, 0x22, 0x31, + 0x33, 0x07, 0x00, 0x0e, 0xf2, 0x21, 0x0d, 0x50, + 0x08, 0x04, 0x1f, 0x01, 0x0e, 0xa3, 0x09, 0x04, + 0x71, 0x08, 0x0b, 0x0b, 0x22, 0x00, 0x2f, 0x01, + 0x04, 0x38, 0x01, 0x05, 0x09, 0x07, 0x0a, 0x2c, + 0x32, 0x07, 0xd0, 0x01, 0x0f, 0xfa, 0x31, 0x0e, + 0x08, 0x90, 0x0e, 0x0f, 0x8f, 0x0e, 0x06, 0x0d, + 0xf6, 0x31, 0x09, 0xf4, 0x00, 0x02, 0xcf, 0x35, + 0x04, 0x7c, 0x00, 0x0c, 0x1e, 0x00, 0x15, 0x36, + 0x1e, 0x00, 0x0e, 0x02, 0x04, 0x0c, 0x9a, 0x0e, + 0x0a, 0x43, 0x32, 0x17, 0x7b, 0x3f, 0x00, 0x0f, + 0x2e, 0x14, 0x0a, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, + 0x0e, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0x0c, 0x2f, + 0x69, 0x6e, 0x2e, 0x1a, 0x14, 0x2f, 0x69, 0x6e, + 0x2e, 0x1a, 0x14, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, + 0x5f, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0x1e, 0x0e, + 0xd0, 0x00, 0x0f, 0x2e, 0x1a, 0xff, 0xf1, 0x2f, + 0x33, 0x31, 0x2e, 0x1a, 0x50, 0x2f, 0x33, 0x31, + 0x2e, 0x1a, 0xff, 0x15, 0x24, 0x33, 0x31, 0xf3, + 0x05, 0x02, 0x09, 0x5b, 0x0f, 0xd8, 0x19, 0x08, + 0x0f, 0x49, 0x1a, 0x43, 0x0f, 0x2e, 0x1a, 0x5d, + 0x09, 0x28, 0x1a, 0x02, 0xe1, 0x00, 0x0f, 0x00, + 0x06, 0x14, 0x0f, 0xf4, 0x0c, 0x05, 0x09, 0x23, + 0x00, 0x0f, 0x00, 0x06, 0x0c, 0x0e, 0xf4, 0x0c, + 0x0f, 0x29, 0x00, 0x0d, 0x0f, 0x00, 0x06, 0x0d, + 0x0f, 0x2e, 0x1a, 0x56, 0x2f, 0x69, 0x6e, 0x2e, + 0x1a, 0x1e, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0xff, + 0xc3, 0x2f, 0x33, 0x32, 0x2e, 0x1a, 0x51, 0x2f, + 0x33, 0x32, 0x2e, 0x1a, 0xff, 0x1a, 0x00, 0x2e, + 0x01, 0x04, 0x37, 0x01, 0x05, 0xc8, 0x05, 0x0a, + 0x23, 0x1a, 0x07, 0xce, 0x01, 0x0f, 0x4c, 0x1a, + 0x05, 0x1e, 0x39, 0x4c, 0x1a, 0x07, 0x32, 0x1a, + 0x1e, 0x2c, 0x4c, 0x1a, 0x04, 0x73, 0x63, 0x06, + 0x58, 0x62, 0x0e, 0x2e, 0x1a, 0x05, 0x6b, 0x1a, + 0x0f, 0x2e, 0x1a, 0x08, 0x14, 0x31, 0x2e, 0x1a, + 0x13, 0x32, 0xab, 0x00, 0x0f, 0x94, 0x05, 0x13, + 0x1f, 0x66, 0x94, 0x0b, 0x0f, 0x0e, 0x2e, 0x1a, + 0x0e, 0x21, 0x00, 0x0f, 0x94, 0x05, 0x13, 0x1f, + 0x66, 0x94, 0x0b, 0x15, 0x0f, 0x2e, 0x1a, 0x6a, + 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0x1e, 0x2f, 0x69, + 0x6e, 0x2e, 0x1a, 0x1d, 0x2f, 0x69, 0x6e, 0x2e, + 0x1a, 0xff, 0xff, 0xff, 0x3e, 0x2f, 0x33, 0x33, + 0x2e, 0x1a, 0x6c, 0x2f, 0x33, 0x33, 0x2e, 0x1a, + 0xff, 0x17, 0x00, 0x2b, 0x01, 0x04, 0x34, 0x01, + 0x0f, 0x2e, 0x1a, 0x60, 0x1e, 0x34, 0x2e, 0x1a, + 0x0e, 0x49, 0x1a, 0x0d, 0x2e, 0x1a, 0x1e, 0x32, + 0x2e, 0x1a, 0x08, 0x49, 0x1a, 0x0f, 0x27, 0x1a, + 0x3a, 0x07, 0x1d, 0x06, 0x0f, 0x33, 0x0d, 0x0f, + 0x0e, 0x27, 0x1a, 0x0e, 0x21, 0x00, 0x0f, 0x9f, + 0x07, 0x14, 0x0f, 0x33, 0x0d, 0x15, 0x0f, 0x27, + 0x1a, 0x6c, 0x2f, 0x69, 0x6e, 0x27, 0x1a, 0x1e, + 0x0e, 0xe5, 0x00, 0x0f, 0xa1, 0x07, 0x18, 0x0f, + 0x27, 0x1a, 0xff, 0xff, 0xac, 0x1f, 0x34, 0x27, + 0x1a, 0x53, 0x1f, 0x34, 0x27, 0x1a, 0xff, 0x1c, + 0x25, 0x34, 0x5f, 0x38, 0x01, 0x0f, 0x27, 0x1a, + 0x80, 0x1e, 0x32, 0x27, 0x1a, 0x0b, 0x45, 0x1a, + 0x0f, 0x19, 0x1a, 0x31, 0x00, 0x89, 0x1f, 0x02, + 0x57, 0x36, 0x0f, 0x47, 0x34, 0x0a, 0x05, 0x23, + 0x00, 0x0e, 0x0d, 0x21, 0x0b, 0x21, 0x00, 0x0f, + 0x0d, 0x21, 0x0d, 0x0c, 0x29, 0x00, 0x0f, 0x0d, + 0x21, 0x06, 0x0c, 0x29, 0x00, 0x1f, 0x32, 0x52, + 0x00, 0x15, 0x1f, 0x33, 0x20, 0x42, 0x16, 0x3f, + 0x32, 0x30, 0x32, 0x44, 0x14, 0x01, 0x1f, 0x38, + 0xfc, 0x06, 0x04, 0x09, 0xbe, 0x20, 0x0d, 0xf1, + 0x00, 0x0f, 0xfc, 0x06, 0x02, 0x1e, 0x34, 0x33, + 0x00, 0x0f, 0x29, 0x42, 0x0d, 0x1f, 0x35, 0x33, + 0x00, 0x09, 0x2f, 0x33, 0x5d, 0x92, 0x5a, 0x14, + 0x14, 0x33, 0x9f, 0x4e, 0x1f, 0x39, 0x91, 0x5a, + 0x13, 0x16, 0x30, 0x15, 0x3d, 0x1e, 0x32, 0x28, + 0x07, 0x03, 0xf7, 0x4f, 0x0f, 0x3e, 0x17, 0x0d, + 0x0f, 0xc4, 0x14, 0x02, 0x14, 0x38, 0x7f, 0x17, + 0x0d, 0x4b, 0x07, 0x0c, 0x44, 0x17, 0x0f, 0xc2, + 0x1a, 0x02, 0x03, 0x35, 0x59, 0x18, 0x32, 0x6a, + 0x3b, 0x03, 0x57, 0x07, 0x2f, 0x39, 0x5d, 0x35, + 0x00, 0x06, 0x16, 0x39, 0x33, 0x3c, 0x04, 0xfa, + 0x3b, 0x04, 0x35, 0x00, 0x05, 0x07, 0x40, 0x0f, + 0x3a, 0x00, 0x02, 0x27, 0x35, 0x37, 0x48, 0x3b, + 0x02, 0xfb, 0x06, 0x15, 0x30, 0x3a, 0x00, 0x04, + 0xba, 0x58, 0x0f, 0x3a, 0x00, 0x02, 0x12, 0x36, + 0x9e, 0x3f, 0x02, 0x04, 0x1a, 0x02, 0x38, 0x15, + 0x15, 0x38, 0x3a, 0x00, 0x5b, 0x36, 0x31, 0x34, + 0x34, 0x5d, 0x5b, 0x15, 0x04, 0xdb, 0x13, 0x1b, + 0x34, 0xaf, 0x08, 0x0f, 0x38, 0x65, 0x04, 0x02, + 0x96, 0x66, 0x02, 0x51, 0x10, 0x0a, 0x38, 0x65, + 0x07, 0x20, 0x18, 0x00, 0xea, 0x05, 0x0f, 0x35, + 0x01, 0x05, 0x0f, 0x34, 0x00, 0x06, 0x02, 0x12, + 0x01, 0x2f, 0x2c, 0x20, 0x39, 0x01, 0x05, 0x0f, + 0x39, 0x00, 0x07, 0x01, 0x11, 0x01, 0x2f, 0x2c, + 0x20, 0x38, 0x01, 0x05, 0x0f, 0x39, 0x00, 0x07, + 0x01, 0x10, 0x01, 0x2f, 0x2c, 0x20, 0x37, 0x01, + 0x05, 0x0f, 0xee, 0x05, 0x09, 0x24, 0x37, 0x35, + 0x86, 0x58, 0x0e, 0x78, 0x1c, 0x04, 0x20, 0x01, + 0x0a, 0x89, 0x0d, 0x07, 0xa5, 0x01, 0x21, 0x37, + 0x37, 0x20, 0x00, 0x02, 0x81, 0x09, 0x02, 0xf9, + 0x08, 0x03, 0xdf, 0x01, 0x2f, 0x34, 0x5d, 0x34, + 0x00, 0x05, 0x12, 0x38, 0x61, 0x60, 0x02, 0xcd, + 0x65, 0x02, 0x5c, 0x15, 0x13, 0x37, 0x34, 0x00, + 0x1c, 0x2b, 0x43, 0x15, 0x07, 0x37, 0x00, 0x12, + 0x39, 0x3e, 0x09, 0x02, 0xdb, 0x3a, 0x11, 0x34, + 0x06, 0x00, 0x14, 0x35, 0x37, 0x00, 0x2f, 0x33, + 0x32, 0x37, 0x00, 0x06, 0x32, 0x31, 0x30, 0x30, + 0xd7, 0x08, 0x03, 0xde, 0x08, 0x03, 0xd5, 0x3a, + 0x14, 0x33, 0x3b, 0x00, 0x03, 0xc3, 0x42, 0x0b, + 0xd3, 0x1c, 0x03, 0xd2, 0x00, 0x1e, 0x37, 0x79, + 0x1c, 0x03, 0xe7, 0x00, 0x0b, 0x2d, 0x01, 0x02, + 0xb3, 0x64, 0x02, 0x79, 0x09, 0x0e, 0x0e, 0x0a, + 0x04, 0xf3, 0x00, 0x0f, 0x78, 0x11, 0x02, 0x14, + 0x35, 0xa8, 0x5c, 0x0e, 0x1d, 0x11, 0x15, 0x36, + 0x91, 0x09, 0x0d, 0xad, 0x09, 0x25, 0x38, 0x37, + 0x3e, 0x17, 0x0d, 0xc7, 0x10, 0x12, 0x39, 0xe4, + 0x00, 0x0c, 0x06, 0x10, 0x16, 0x34, 0x40, 0x01, + 0x1c, 0x31, 0x78, 0x08, 0x02, 0x85, 0x00, 0x06, + 0x2d, 0x1b, 0x0d, 0xff, 0x16, 0x13, 0x39, 0xba, + 0x10, 0x0b, 0x1c, 0x00, 0x02, 0x86, 0x00, 0x03, + 0x63, 0x01, 0x1b, 0x36, 0x1d, 0x00, 0x18, 0x38, + 0x79, 0x01, 0x1e, 0x37, 0xea, 0x08, 0x06, 0x8f, + 0x01, 0x1b, 0x38, 0x2b, 0x0a, 0x13, 0x30, 0xa5, + 0x01, 0x02, 0x41, 0x10, 0x0f, 0x18, 0x17, 0x0a, + 0x14, 0x30, 0x9e, 0x5a, 0x0c, 0x49, 0x10, 0x15, + 0x31, 0xc0, 0x02, 0x00, 0x25, 0x00, 0x0c, 0xfb, + 0x09, 0x1f, 0x31, 0xd5, 0x11, 0x05, 0x14, 0x32, + 0x45, 0x3f, 0x1f, 0x31, 0x1f, 0x00, 0x04, 0x23, + 0x2b, 0x35, 0xf9, 0x0a, 0x0e, 0x48, 0x10, 0x0e, + 0xc0, 0x1d, 0x10, 0x31, 0xca, 0x01, 0x03, 0x37, + 0x00, 0x14, 0x30, 0x26, 0x05, 0x0c, 0x23, 0x00, + 0x02, 0xd2, 0x09, 0x03, 0x5a, 0x00, 0x0b, 0xc6, + 0x00, 0x03, 0x9a, 0x0b, 0x02, 0x44, 0x01, 0x0e, + 0xb7, 0x09, 0x0f, 0xa2, 0x00, 0x0c, 0x1f, 0x32, + 0xa2, 0x00, 0x11, 0x16, 0x33, 0xa2, 0x00, 0x1f, + 0x34, 0xa2, 0x00, 0x04, 0x1f, 0x34, 0xa2, 0x00, + 0x08, 0x03, 0x62, 0x0b, 0x03, 0x07, 0x00, 0x1f, + 0x34, 0xa2, 0x00, 0x1c, 0x1f, 0x33, 0xa2, 0x00, + 0x11, 0x14, 0x35, 0x7f, 0x00, 0x15, 0x34, 0x30, + 0x06, 0x0c, 0x23, 0x00, 0x1e, 0x36, 0xa2, 0x00, + 0x0b, 0x88, 0x12, 0x03, 0x78, 0x21, 0x2f, 0x31, + 0x36, 0xa2, 0x00, 0x1c, 0x1f, 0x34, 0xa2, 0x00, + 0x11, 0x15, 0x37, 0xa2, 0x00, 0x2f, 0x38, 0x30, + 0xa2, 0x00, 0x04, 0x1f, 0x38, 0xa2, 0x00, 0x08, + 0x03, 0x9b, 0x00, 0x03, 0xd4, 0x03, 0x1f, 0x38, + 0xa2, 0x00, 0x1c, 0x1f, 0x35, 0xa2, 0x00, 0x11, + 0x15, 0x39, 0xa2, 0x00, 0x1f, 0x34, 0x88, 0x02, + 0x04, 0x2f, 0x32, 0x30, 0xa2, 0x00, 0x08, 0x02, + 0x8b, 0x04, 0x03, 0xb6, 0x03, 0x2f, 0x32, 0x30, + 0xa2, 0x00, 0x1c, 0x1f, 0x36, 0xa2, 0x00, 0x10, + 0x15, 0x32, 0x2a, 0x03, 0x3f, 0x33, 0x38, 0x34, + 0xa2, 0x00, 0x04, 0x0e, 0x2a, 0x03, 0x0d, 0x39, + 0x14, 0x03, 0xed, 0x14, 0x0f, 0x2a, 0x03, 0x1d, + 0x1f, 0x37, 0xa2, 0x00, 0x11, 0x05, 0x2a, 0x03, + 0x03, 0x07, 0x47, 0x1e, 0x6c, 0x23, 0x00, 0x0f, + 0x2a, 0x03, 0x09, 0x03, 0x28, 0x6e, 0x03, 0x6b, + 0x16, 0x0e, 0x58, 0x02, 0x0b, 0x25, 0x0a, 0x02, + 0xfb, 0x03, 0x0f, 0xc7, 0x1e, 0x07, 0x0e, 0x2c, + 0x59, 0x03, 0x00, 0x19, 0x17, 0x35, 0x26, 0x44, + 0x0a, 0xb6, 0x44, 0x0c, 0x19, 0x61, 0x06, 0xbc, + 0x1d, 0x11, 0x35, 0xbc, 0x0d, 0x0d, 0xa8, 0x0a, + 0x14, 0x33, 0xf2, 0x95, 0x0a, 0x46, 0x36, 0x15, + 0x34, 0xe4, 0x1e, 0x23, 0x33, 0x32, 0xc5, 0x4f, + 0x21, 0x36, 0x34, 0x38, 0x45, 0x05, 0x21, 0x1f, + 0x03, 0xc7, 0x68, 0x0c, 0x2a, 0x5c, 0x41, 0x74, + 0x2e, 0x63, 0x67, 0xe6, 0x0a, 0x00, 0xc8, 0x09, + 0x04, 0x40, 0x73, 0x0e, 0x12, 0x78, 0x12, 0x0a, + 0x93, 0x00, 0x1b, 0x3a, 0x95, 0x45, 0x18, 0x39, + 0x8a, 0x60, 0x09, 0x31, 0x06, 0x05, 0xb5, 0x4b, + 0x21, 0x2d, 0x33, 0xfb, 0x01, 0x63, 0x72, 0x61, + 0x2e, 0x75, 0x6e, 0x69, 0xdb, 0x00, 0x03, 0x3a, + 0x1e, 0x02, 0xc4, 0x49, 0x09, 0x37, 0x00, 0x17, + 0x31, 0x40, 0x22, 0x1f, 0x30, 0x55, 0x00, 0x04, + 0x23, 0x30, 0x30, 0x56, 0x00, 0x02, 0x44, 0x00, + 0x03, 0x75, 0x37, 0x00, 0x74, 0x01, 0x02, 0x57, + 0x01, 0x02, 0xe1, 0x1d, 0x01, 0x29, 0x00, 0x0c, + 0x9e, 0x0e, 0x03, 0xe2, 0x1c, 0x0e, 0x0c, 0x23, + 0x08, 0x8c, 0x37, 0x17, 0x38, 0x07, 0x10, 0x07, + 0x51, 0x1e, 0x06, 0xc9, 0x01, 0x0e, 0x72, 0x5d, + 0x00, 0x7a, 0x02, 0x03, 0x48, 0x01, 0x03, 0x0d, + 0x20, 0x11, 0x5b, 0x36, 0x00, 0x1e, 0x5d, 0x2a, + 0x00, 0x01, 0xd2, 0x01, 0x11, 0x33, 0x55, 0x1d, + 0x03, 0x50, 0x24, 0x04, 0x1e, 0x20, 0x5b, 0x73, + 0x68, 0x72, 0x2e, 0x75, 0xcc, 0x1d, 0x13, 0x35, + 0xd2, 0x01, 0x0b, 0x36, 0x00, 0x03, 0xe0, 0x7b, + 0x05, 0x52, 0x02, 0x23, 0x65, 0x71, 0x52, 0x02, + 0x05, 0xee, 0x4b, 0x1c, 0x30, 0x68, 0x19, 0x04, + 0x19, 0x49, 0x42, 0x76, 0x6f, 0x74, 0x65, 0x8d, + 0x47, 0x35, 0x61, 0x6e, 0x79, 0x3f, 0x0e, 0x11, + 0x33, 0xd5, 0x12, 0x02, 0x09, 0x03, 0x0c, 0xb2, + 0x43, 0x03, 0xb1, 0x01, 0x0b, 0x6a, 0x00, 0x14, + 0x34, 0x6a, 0x00, 0x19, 0x32, 0x55, 0x00, 0x66, + 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x1f, 0x6b, + 0x01, 0x0e, 0x1a, 0x06, 0x58, 0x00, 0x0a, 0x44, + 0x00, 0x05, 0xdf, 0x23, 0x1c, 0x30, 0xbd, 0x17, + 0x03, 0x47, 0x4c, 0x36, 0x63, 0x6c, 0x7a, 0x0f, + 0x66, 0x03, 0x7b, 0x5f, 0x0c, 0x77, 0x28, 0x13, + 0x30, 0x7f, 0x02, 0x09, 0x56, 0x20, 0x03, 0x72, + 0x28, 0x12, 0x30, 0x7a, 0x00, 0x1d, 0x39, 0x37, + 0x11, 0x17, 0x37, 0x3a, 0x18, 0x25, 0x33, 0x31, + 0x4e, 0x45, 0x21, 0x33, 0x32, 0x3e, 0x00, 0x03, + 0x4c, 0x45, 0x02, 0x68, 0x01, 0x1c, 0x70, 0x50, + 0x13, 0x04, 0x5f, 0x01, 0x09, 0xe8, 0x09, 0x03, + 0xad, 0x20, 0x16, 0x32, 0xba, 0x02, 0x09, 0x33, + 0x00, 0x1e, 0x35, 0x3f, 0x72, 0x05, 0xf6, 0x62, + 0x0f, 0xab, 0x62, 0x04, 0x33, 0x33, 0x38, 0x7c, + 0x78, 0x4b, 0x05, 0x5e, 0x00, 0x19, 0x36, 0xd6, + 0x00, 0x1c, 0x36, 0x84, 0x00, 0x03, 0xcf, 0x00, + 0x04, 0x34, 0x00, 0x0c, 0x37, 0x1b, 0x1f, 0x30, + 0xb3, 0x4a, 0x09, 0x35, 0x31, 0x34, 0x31, 0x52, + 0x63, 0x03, 0x49, 0x00, 0x2f, 0x34, 0x30, 0x6f, + 0x00, 0x0a, 0x03, 0xad, 0x77, 0x23, 0x34, 0x31, + 0x34, 0x00, 0x0c, 0x6f, 0x00, 0x1e, 0x33, 0xba, + 0x4a, 0x08, 0x6f, 0x00, 0x17, 0x34, 0x8a, 0x63, + 0x03, 0x4a, 0x00, 0x1f, 0x33, 0x70, 0x00, 0x0b, + 0x03, 0xa8, 0x29, 0x13, 0x34, 0x34, 0x00, 0x0f, + 0x5c, 0x00, 0x08, 0x16, 0x36, 0x06, 0x63, 0x13, + 0x34, 0x0d, 0x29, 0x1f, 0x35, 0x5c, 0x00, 0x0b, + 0x12, 0x37, 0x2d, 0x00, 0x13, 0x36, 0x34, 0x00, + 0x0c, 0xcc, 0x00, 0x1e, 0x38, 0xc9, 0x4a, 0x08, + 0x70, 0x00, 0x16, 0x39, 0x3e, 0x63, 0x04, 0x4a, + 0x00, 0x1f, 0x38, 0x70, 0x00, 0x0a, 0x13, 0x35, + 0xf9, 0x00, 0x03, 0x69, 0x01, 0x0a, 0x64, 0x60, + 0x35, 0x69, 0x64, 0x78, 0x5b, 0x00, 0x25, 0x35, + 0x31, 0x25, 0x4b, 0x04, 0x35, 0x00, 0x1f, 0x33, + 0x27, 0x01, 0x0a, 0x03, 0x24, 0x02, 0x13, 0x35, + 0xaa, 0x6f, 0x0e, 0x57, 0x06, 0x2e, 0x37, 0x3b, + 0x57, 0x06, 0x03, 0x14, 0x63, 0x1c, 0x36, 0x51, + 0x22, 0x03, 0x67, 0x04, 0x0e, 0x57, 0x06, 0x07, + 0x02, 0x22, 0x02, 0xd9, 0x02, 0x0f, 0x57, 0x06, + 0x11, 0x1f, 0x32, 0x57, 0x06, 0x05, 0x2a, 0x37, + 0x3a, 0xbe, 0x03, 0x26, 0x35, 0x32, 0xfd, 0x27, + 0x1c, 0x32, 0x6a, 0x03, 0x02, 0xc0, 0x4c, 0x03, + 0x24, 0x00, 0x1c, 0x37, 0x1d, 0x00, 0x17, 0x34, + 0x1d, 0x00, 0x0d, 0x75, 0x01, 0x18, 0x35, 0x3a, + 0x00, 0x1f, 0x37, 0xbd, 0x0f, 0x05, 0x03, 0xb8, + 0x0f, 0x03, 0x28, 0x00, 0x05, 0x36, 0x00, 0x03, + 0x5a, 0x00, 0x2c, 0x33, 0x7d, 0x56, 0x00, 0x17, + 0x36, 0x56, 0x00, 0x0d, 0x00, 0x0e, 0x28, 0x35, + 0x37, 0x1e, 0x00, 0x0d, 0xcc, 0x00, 0x17, 0x38, + 0x1e, 0x00, 0x1c, 0x39, 0x1d, 0x00, 0x17, 0x39, + 0x1d, 0x00, 0x1f, 0x38, 0xae, 0x00, 0x06, 0x23, + 0x2b, 0x31, 0xa2, 0x10, 0x05, 0x31, 0x00, 0x03, + 0x55, 0x00, 0x03, 0x7a, 0x00, 0x2c, 0x36, 0x7d, + 0x3f, 0x0e, 0x18, 0x30, 0x93, 0x00, 0x1c, 0x35, + 0x1e, 0x00, 0x18, 0x31, 0x1e, 0x00, 0x0d, 0x7b, + 0x0e, 0x18, 0x32, 0x1e, 0x00, 0x0d, 0x98, 0x25, + 0x08, 0x9b, 0x01, 0x0b, 0x82, 0x6b, 0x09, 0xb3, + 0x00, 0x23, 0x33, 0x32, 0xb3, 0x00, 0x03, 0x32, + 0x00, 0x03, 0x57, 0x00, 0x03, 0x7c, 0x00, 0x2d, + 0x36, 0x30, 0xb3, 0x00, 0x18, 0x34, 0x59, 0x00, + 0x1c, 0x39, 0x1e, 0x00, 0x08, 0xd8, 0x01, 0x0d, + 0xd7, 0x20, 0x19, 0x36, 0xa0, 0x01, 0x1c, 0x37, + 0x1e, 0x00, 0x09, 0xa0, 0x01, 0x1f, 0x36, 0xb3, + 0x00, 0x07, 0x04, 0x41, 0x12, 0x04, 0x32, 0x00, + 0x03, 0x57, 0x00, 0x13, 0x36, 0x7a, 0x2e, 0x1e, + 0x34, 0xd3, 0x11, 0x0e, 0x4a, 0x14, 0x05, 0xf9, + 0x86, 0x04, 0x6d, 0x4b, 0x08, 0x6c, 0x03, 0x1f, + 0x36, 0xbd, 0x25, 0x06, 0x13, 0x37, 0x09, 0x87, + 0x06, 0xca, 0x85, 0x0f, 0x59, 0x11, 0x03, 0x22, + 0x36, 0x38, 0x8c, 0x00, 0x12, 0x39, 0xea, 0x00, + 0x12, 0x30, 0x07, 0x00, 0x26, 0x31, 0x7d, 0x81, + 0x18, 0x0f, 0x73, 0x2b, 0x03, 0x10, 0x32, 0x6d, + 0x2d, 0x0f, 0x41, 0x00, 0x09, 0x0f, 0x72, 0x00, + 0x06, 0x13, 0x37, 0x72, 0x2f, 0x03, 0x0c, 0x27, + 0x12, 0x38, 0x07, 0x00, 0x00, 0xc9, 0x68, 0x06, + 0x77, 0x13, 0x0f, 0x77, 0x00, 0x08, 0x07, 0x98, + 0x13, 0x0f, 0x4b, 0x00, 0x06, 0x0f, 0x7c, 0x00, + 0x06, 0x22, 0x38, 0x34, 0xef, 0x01, 0x02, 0x81, + 0x01, 0x03, 0x9b, 0x11, 0x04, 0xb9, 0x12, 0x03, + 0xba, 0x13, 0x0f, 0x7c, 0x00, 0x09, 0x06, 0xdb, + 0x13, 0x0f, 0x4b, 0x00, 0x06, 0x0f, 0x7c, 0x00, + 0x06, 0x03, 0xd1, 0x11, 0x03, 0xbc, 0x11, 0x03, + 0xa7, 0x11, 0x04, 0xfe, 0x12, 0x03, 0xfd, 0x13, + 0x0f, 0x7c, 0x00, 0x09, 0x06, 0x1e, 0x14, 0x0f, + 0x4b, 0x00, 0x06, 0x0f, 0xd3, 0x18, 0x13, 0x0e, + 0xe0, 0x39, 0x0d, 0x37, 0x18, 0x0e, 0xe0, 0x39, + 0x0d, 0x21, 0x00, 0x0f, 0xd3, 0x18, 0x14, 0x0f, + 0xe0, 0x39, 0x0f, 0x0c, 0x29, 0x00, 0x1f, 0x32, + 0x52, 0x00, 0x15, 0x0f, 0xd3, 0x18, 0x03, 0x08, + 0xcf, 0x1f, 0x05, 0x16, 0x2d, 0x2f, 0x30, 0x34, + 0xcf, 0x1f, 0x02, 0x0e, 0xd4, 0x18, 0x07, 0x68, + 0x8a, 0x0e, 0xf3, 0x00, 0x0f, 0xd1, 0x1f, 0x0b, + 0x1f, 0x34, 0x34, 0x00, 0x09, 0x0f, 0xa3, 0x18, + 0x16, 0x2f, 0x31, 0x32, 0xa3, 0x18, 0x1a, 0x08, + 0xf3, 0x24, 0x0f, 0x91, 0x1b, 0x08, 0x03, 0x29, + 0x04, 0x02, 0x6a, 0x78, 0x0d, 0x93, 0x8b, 0x1e, + 0x37, 0x4f, 0x33, 0x07, 0xdf, 0x88, 0x07, 0x3f, + 0x00, 0x1f, 0x37, 0x52, 0x2d, 0x06, 0x23, 0x32, + 0x39, 0x4a, 0x86, 0x13, 0x7d, 0xa2, 0x8b, 0x0c, + 0x4d, 0x18, 0x07, 0x2c, 0x00, 0x23, 0x33, 0x33, + 0x46, 0x84, 0x05, 0x2c, 0x00, 0x0e, 0x7e, 0x18, + 0x0a, 0x31, 0x00, 0x13, 0x37, 0x5a, 0x82, 0x06, + 0x31, 0x00, 0x0e, 0x75, 0x18, 0x08, 0x31, 0x00, + 0x05, 0xf3, 0x81, 0x06, 0x31, 0x00, 0x0e, 0x6c, + 0x18, 0x06, 0x6e, 0x1e, 0x0e, 0xfb, 0x25, 0x0f, + 0x6c, 0x18, 0x07, 0x07, 0xf9, 0x33, 0x07, 0xf5, + 0x05, 0x19, 0x32, 0xc1, 0x2c, 0x0a, 0x11, 0x01, + 0x0f, 0x2a, 0x00, 0x06, 0x07, 0xca, 0x04, 0x07, + 0x14, 0x01, 0x0f, 0x2f, 0x00, 0x07, 0x06, 0x7d, + 0x04, 0x07, 0x12, 0x01, 0x0f, 0x2f, 0x00, 0x07, + 0x06, 0x30, 0x04, 0x07, 0x10, 0x01, 0x0f, 0x86, + 0x15, 0x0a, 0x1f, 0x36, 0x44, 0x18, 0x08, 0x04, + 0x2e, 0x35, 0x0a, 0xdf, 0x04, 0x08, 0x74, 0x01, + 0x03, 0xa3, 0x06, 0x1e, 0x36, 0x3a, 0x18, 0x0c, + 0x2a, 0x00, 0x12, 0x38, 0x2a, 0x00, 0x1e, 0x39, + 0x30, 0x18, 0x0e, 0x2d, 0x00, 0x22, 0x35, 0x32, + 0x45, 0x0f, 0x1f, 0x33, 0x26, 0x18, 0x06, 0x08, + 0x2d, 0x00, 0x03, 0x72, 0x0f, 0x1e, 0x37, 0x18, + 0x18, 0x0a, 0x5d, 0x11, 0x13, 0x34, 0xb1, 0x22, + 0x1c, 0x35, 0x33, 0x84, 0x02, 0x17, 0x00, 0x03, + 0xb8, 0x5c, 0x0e, 0x9e, 0x2a, 0x01, 0xb7, 0x00, + 0x09, 0xc6, 0x25, 0x0a, 0x02, 0x23, 0x04, 0xae, + 0x00, 0x0e, 0x4c, 0x75, 0x01, 0xc4, 0x00, 0x05, + 0x10, 0x1c, 0x0e, 0x1c, 0x26, 0x25, 0x35, 0x36, + 0x87, 0x21, 0x0e, 0x0e, 0x1c, 0x16, 0x35, 0x0f, + 0x1c, 0x0f, 0xbe, 0x01, 0x07, 0x1f, 0x38, 0x3c, + 0x21, 0x03, 0x05, 0xad, 0x28, 0x08, 0x10, 0x36, + 0x05, 0x30, 0x31, 0x0f, 0x18, 0x22, 0x06, 0x13, + 0x35, 0xd6, 0x11, 0x02, 0x61, 0x2f, 0x0e, 0x1f, + 0x00, 0x02, 0x92, 0x5b, 0x05, 0xb2, 0x1f, 0x0e, + 0x76, 0x13, 0x0a, 0x3e, 0x2f, 0x00, 0xa6, 0x09, + 0x03, 0x37, 0x00, 0x0f, 0x61, 0x2f, 0x05, 0x00, + 0xd0, 0x09, 0x06, 0x5a, 0x00, 0x0f, 0x23, 0x20, + 0x03, 0x13, 0x36, 0x90, 0x76, 0x0e, 0x19, 0x14, + 0x0f, 0xa3, 0x00, 0x0b, 0x2f, 0x31, 0x30, 0xa4, + 0x00, 0x11, 0x15, 0x33, 0x81, 0x00, 0x0d, 0xe6, + 0x17, 0x04, 0x23, 0x00, 0x1f, 0x34, 0xa4, 0x00, + 0x09, 0x03, 0x9d, 0x00, 0x03, 0xe7, 0x01, 0x1f, + 0x34, 0xa4, 0x00, 0x1d, 0x1f, 0x31, 0xa4, 0x00, + 0x11, 0x13, 0x35, 0x81, 0x00, 0x3f, 0x39, 0x39, + 0x32, 0xa3, 0x00, 0x04, 0x1f, 0x36, 0xa3, 0x00, + 0x09, 0x02, 0xa0, 0x02, 0x01, 0x81, 0x0a, 0x00, + 0x2b, 0x00, 0x0f, 0xa3, 0x00, 0x1d, 0x1f, 0x32, + 0xa3, 0x00, 0x11, 0x14, 0x37, 0xa3, 0x00, 0x2f, + 0x36, 0x30, 0xa3, 0x00, 0x04, 0x1f, 0x38, 0xa3, + 0x00, 0x09, 0x03, 0x3f, 0x01, 0x03, 0x3d, 0x1f, + 0x1f, 0x38, 0xa3, 0x00, 0x1d, 0x1f, 0x33, 0xa3, + 0x00, 0x11, 0x13, 0x39, 0x81, 0x00, 0x1d, 0x38, + 0x8b, 0x18, 0x04, 0xb2, 0x03, 0x1f, 0x30, 0xa3, + 0x00, 0x09, 0x12, 0x34, 0x9c, 0x00, 0x03, 0xab, + 0x1f, 0x1f, 0x30, 0xa3, 0x00, 0x1d, 0x1f, 0x34, + 0xa3, 0x00, 0x10, 0x14, 0x37, 0x31, 0x03, 0x3f, + 0x37, 0x36, 0x38, 0xa3, 0x00, 0x04, 0x0f, 0x30, + 0x03, 0x0a, 0x12, 0x35, 0x9c, 0x00, 0x12, 0x31, + 0x07, 0x00, 0x0f, 0x30, 0x03, 0x1e, 0x1f, 0x35, + 0xa3, 0x00, 0x11, 0x04, 0x30, 0x03, 0x03, 0x26, + 0x17, 0x1e, 0x6c, 0x22, 0x00, 0x0f, 0x2f, 0x03, + 0x0a, 0x03, 0xf2, 0x04, 0x03, 0x1f, 0x62, 0x0f, + 0x4a, 0x17, 0x0e, 0x06, 0x1c, 0x33, 0x0e, 0x80, + 0x62, 0x1e, 0x35, 0x77, 0x70, 0x0d, 0x1e, 0x33, + 0x00, 0x27, 0x00, 0x0f, 0x4d, 0x17, 0x19, 0x02, + 0x73, 0x58, 0x09, 0x70, 0x0d, 0x25, 0x37, 0x38, + 0xec, 0x33, 0x0c, 0xdb, 0x10, 0x02, 0x84, 0x0c, + 0x01, 0x22, 0x00, 0x0f, 0x32, 0x17, 0x0e, 0x13, + 0x31, 0x4d, 0x91, 0x01, 0x4f, 0x10, 0x0e, 0xdc, + 0x10, 0x1d, 0x36, 0x33, 0x17, 0x1e, 0x36, 0x32, + 0x17, 0x03, 0x38, 0x1d, 0x04, 0x4e, 0x95, 0x0e, + 0x31, 0x17, 0x14, 0x36, 0x31, 0x17, 0x16, 0x36, + 0x31, 0x17, 0x08, 0xf7, 0x05, 0x07, 0x30, 0x16, + 0x0e, 0x4c, 0x30, 0x15, 0x33, 0xbb, 0x1d, 0x05, + 0x34, 0x17, 0x1f, 0x36, 0x34, 0x17, 0x01, 0x14, + 0x38, 0x89, 0x1f, 0x0c, 0xd4, 0x06, 0x12, 0x33, + 0xb1, 0x06, 0x03, 0x47, 0x18, 0x0c, 0x75, 0x34, + 0x02, 0x3c, 0x0d, 0x01, 0x26, 0x00, 0x0d, 0x3a, + 0x00, 0x09, 0xa3, 0x4e, 0x2f, 0x38, 0x34, 0x36, + 0x17, 0x0c, 0x23, 0x38, 0x30, 0x41, 0x64, 0x1f, + 0x31, 0x36, 0x17, 0x0e, 0x13, 0x32, 0x66, 0x26, + 0x1b, 0x30, 0x25, 0x5e, 0x14, 0x39, 0x0d, 0x27, + 0x1e, 0x33, 0x4f, 0x17, 0x04, 0x63, 0x00, 0x1f, + 0x32, 0x34, 0x17, 0x03, 0x00, 0xaf, 0x31, 0x0e, + 0x62, 0x84, 0x0f, 0x32, 0x17, 0x12, 0x0d, 0x5d, + 0x64, 0x2f, 0x33, 0x36, 0x31, 0x17, 0x06, 0x1f, + 0x39, 0x30, 0x17, 0x0b, 0x12, 0x31, 0x3e, 0x31, + 0x05, 0x56, 0x00, 0x0e, 0x2f, 0x17, 0x01, 0x23, + 0x00, 0x0d, 0x2f, 0x17, 0x1d, 0x36, 0x2f, 0x17, + 0x13, 0x34, 0xed, 0x1f, 0x0e, 0xb7, 0x60, 0x0c, + 0x2d, 0x17, 0x27, 0x35, 0x30, 0xa2, 0x60, 0x1f, + 0x38, 0x2a, 0x17, 0x03, 0x15, 0x36, 0x4f, 0xab, + 0x08, 0x76, 0x5c, 0x10, 0x39, 0x73, 0x08, 0x06, + 0x7f, 0x02, 0x1c, 0x70, 0xf2, 0x08, 0x02, 0x51, + 0x0f, 0x01, 0x27, 0x00, 0x05, 0x9c, 0x02, 0x0f, + 0xd6, 0x76, 0x08, 0x03, 0x29, 0x77, 0x02, 0xaa, + 0x01, 0x0f, 0x06, 0x79, 0x0b, 0x18, 0x35, 0x06, + 0x39, 0x06, 0x2a, 0x61, 0x0e, 0x4f, 0x17, 0x0a, + 0x55, 0x85, 0x16, 0x38, 0x54, 0x85, 0x03, 0x2a, + 0x61, 0x03, 0xc5, 0x84, 0x0f, 0x37, 0x00, 0x07, + 0x14, 0x36, 0x16, 0x17, 0x2e, 0x32, 0x34, 0x37, + 0x00, 0x0f, 0x72, 0x8f, 0x0a, 0x00, 0x48, 0x10, + 0x07, 0xad, 0x77, 0x0e, 0x2c, 0x00, 0x09, 0x2b, + 0x01, 0x03, 0x17, 0x0a, 0x1e, 0x36, 0xfe, 0x00, + 0x0e, 0x2a, 0x01, 0x04, 0x4e, 0x77, 0x02, 0x2c, + 0x00, 0x1f, 0x37, 0x2a, 0x01, 0x0b, 0x1f, 0x34, + 0xf6, 0x17, 0x09, 0x26, 0x33, 0x31, 0x6b, 0x86, + 0x17, 0x39, 0xf2, 0x61, 0x0f, 0x17, 0x01, 0x0d, + 0x0d, 0x0e, 0x86, 0x2f, 0x35, 0x34, 0x18, 0x01, + 0x17, 0x28, 0x38, 0x2c, 0xc0, 0x77, 0x0f, 0x18, + 0x01, 0x0c, 0x03, 0x6c, 0x3c, 0x1e, 0x38, 0xec, + 0x00, 0x0e, 0x13, 0x78, 0x04, 0x4e, 0x77, 0x02, + 0x2c, 0x00, 0x1f, 0x39, 0x18, 0x01, 0x0b, 0x1e, + 0x35, 0xee, 0x86, 0x0c, 0xd7, 0x85, 0x07, 0x3b, + 0x67, 0x2f, 0x35, 0x35, 0x18, 0x01, 0x13, 0x16, + 0x34, 0x0f, 0x86, 0x1e, 0x32, 0x38, 0x00, 0x0f, + 0x18, 0x01, 0x0a, 0x24, 0x39, 0x30, 0x28, 0x59, + 0x04, 0x1b, 0x59, 0x0f, 0x18, 0x01, 0x08, 0x13, + 0x39, 0x1f, 0x3d, 0x1f, 0x30, 0xec, 0x00, 0x0a, + 0x04, 0x18, 0x01, 0x10, 0x36, 0x53, 0x00, 0x03, + 0xbf, 0x93, 0x2f, 0x39, 0x31, 0x30, 0x7a, 0x15, + 0x11, 0x33, 0xd7, 0x18, 0x07, 0xb7, 0x59, 0x2f, + 0x35, 0x31, 0x05, 0x01, 0x13, 0x01, 0xd9, 0x63, + 0x07, 0x97, 0x7d, 0x2f, 0x35, 0x31, 0x05, 0x01, + 0x17, 0x03, 0x18, 0x79, 0x20, 0x38, 0x2c, 0x80, + 0x00, 0x0f, 0x05, 0x01, 0x0d, 0x24, 0x33, 0x2c, + 0x34, 0x00, 0x0e, 0xd9, 0x00, 0x0b, 0x05, 0x01, + 0x00, 0xa2, 0x29, 0x00, 0x38, 0x28, 0x03, 0x05, + 0x01, 0x0f, 0xb8, 0x7e, 0x0b, 0x00, 0xc2, 0x0d, + 0x0f, 0x45, 0x66, 0x08, 0x01, 0x76, 0x65, 0x05, + 0xbe, 0x83, 0x04, 0xbf, 0x64, 0x0f, 0x18, 0x01, + 0x0e, 0x25, 0x34, 0x32, 0x68, 0x7a, 0x17, 0x34, + 0x84, 0xaf, 0x0f, 0x18, 0x01, 0x13, 0x01, 0x7d, + 0x7e, 0x00, 0xf2, 0x28, 0x00, 0x80, 0x00, 0x0f, + 0x18, 0x01, 0x0d, 0x03, 0x78, 0x05, 0x1e, 0x34, + 0xec, 0x00, 0x0d, 0x18, 0x01, 0x00, 0x70, 0x65, + 0x00, 0x08, 0x67, 0x03, 0x18, 0x01, 0x0f, 0x77, + 0x05, 0x0c, 0x04, 0x64, 0x0e, 0x0e, 0xac, 0x1a, + 0x03, 0x5c, 0x67, 0x26, 0x31, 0x38, 0x57, 0x67, + 0x2e, 0x35, 0x37, 0x17, 0x01, 0x0e, 0x37, 0x00, + 0x02, 0xad, 0x1b, 0x07, 0x20, 0x67, 0x2f, 0x35, + 0x37, 0x16, 0x01, 0x17, 0x12, 0x36, 0x16, 0x01, + 0x10, 0x36, 0xc3, 0x00, 0x0e, 0x63, 0x05, 0x0e, + 0x05, 0x3d, 0x03, 0x34, 0x00, 0x04, 0x81, 0x94, + 0x0b, 0x25, 0x0a, 0x1b, 0x37, 0xd3, 0x63, 0x02, + 0x0e, 0x27, 0x0a, 0xd4, 0x63, 0x0a, 0xf8, 0x21, + 0x25, 0x31, 0x36, 0x36, 0x27, 0x1f, 0x38, 0xbc, + 0x3b, 0x02, 0x1f, 0x31, 0x7f, 0x14, 0x0a, 0x0d, + 0x82, 0x3e, 0x01, 0xda, 0x25, 0x04, 0x38, 0x00, + 0x02, 0x61, 0x00, 0x0c, 0xa5, 0x20, 0x25, 0x30, + 0x30, 0xdb, 0x57, 0x0c, 0xb9, 0x0a, 0x14, 0x39, + 0x2e, 0x41, 0x1f, 0x30, 0x95, 0x1b, 0x10, 0x24, + 0x31, 0x31, 0xf4, 0x0f, 0x1f, 0x39, 0xbb, 0x0a, + 0x04, 0x2a, 0x37, 0x3a, 0xe1, 0x64, 0x08, 0xe1, + 0x47, 0x07, 0xae, 0x10, 0x06, 0x08, 0x2a, 0x1b, + 0x36, 0xc1, 0x93, 0x1f, 0x31, 0x46, 0x41, 0x04, + 0x02, 0x7c, 0x8a, 0x12, 0x31, 0x1b, 0x29, 0x0b, + 0xd8, 0x58, 0x03, 0x9f, 0x28, 0x05, 0xae, 0x01, + 0x0d, 0x3d, 0x10, 0x13, 0x32, 0xe4, 0x00, 0x16, + 0x31, 0xf7, 0x11, 0x0f, 0x36, 0x13, 0x02, 0x14, + 0x39, 0xda, 0x58, 0x03, 0x2b, 0x00, 0x00, 0x3b, + 0x00, 0x1d, 0x7d, 0x4e, 0x00, 0x1a, 0x33, 0x4e, + 0x00, 0x0d, 0x20, 0x00, 0x19, 0x34, 0x20, 0x00, + 0x1f, 0x33, 0x6d, 0x00, 0x07, 0x05, 0x87, 0x1b, + 0x07, 0x35, 0x00, 0x1e, 0x33, 0x70, 0x00, 0x19, + 0x35, 0x50, 0x00, 0x1d, 0x36, 0x20, 0x00, 0x19, + 0x36, 0x20, 0x00, 0x0f, 0xdd, 0x00, 0x08, 0x05, + 0x44, 0x1b, 0x07, 0x35, 0x00, 0x1e, 0x35, 0x70, + 0x00, 0x19, 0x37, 0x50, 0x00, 0x0e, 0xcb, 0x7d, + 0x19, 0x38, 0x20, 0x00, 0x1f, 0x37, 0x70, 0x00, + 0x08, 0x05, 0xe0, 0x14, 0x06, 0x35, 0x00, 0x1e, + 0x37, 0x84, 0x14, 0x09, 0x3e, 0x03, 0x1f, 0x31, + 0x31, 0x02, 0x03, 0x08, 0x02, 0x2c, 0x1b, 0x34, + 0x33, 0x02, 0x1f, 0x39, 0x33, 0x02, 0x04, 0x11, + 0x38, 0x2d, 0x02, 0x13, 0x39, 0xde, 0x2a, 0x0b, + 0x35, 0x00, 0x0f, 0xfe, 0x67, 0x06, 0x2f, 0x39, + 0x36, 0xb3, 0x02, 0x04, 0x01, 0x5f, 0x2b, 0x00, + 0x38, 0x00, 0x0b, 0x4c, 0x1c, 0x04, 0xc8, 0x2c, + 0x01, 0x06, 0x00, 0x2e, 0x36, 0x3b, 0xb9, 0x0e, + 0x13, 0x31, 0xef, 0x2c, 0x0f, 0xed, 0x03, 0x03, + 0x1e, 0x32, 0xed, 0x03, 0x0f, 0x52, 0x45, 0x13, + 0x33, 0x31, 0x30, 0x39, 0xf0, 0x03, 0x0d, 0x95, + 0x24, 0x14, 0x31, 0xda, 0x0d, 0x1e, 0x33, 0x86, + 0x6a, 0x03, 0x88, 0x2a, 0x07, 0x3f, 0x00, 0x1f, + 0x30, 0xb4, 0x1a, 0x05, 0x0a, 0xba, 0x2e, 0x02, + 0x1a, 0x71, 0x02, 0x5b, 0x15, 0x1f, 0x39, 0xa4, + 0x1b, 0x08, 0x11, 0x31, 0xc3, 0x6a, 0x0f, 0x3f, + 0x00, 0x05, 0x0f, 0x6c, 0x00, 0x05, 0x0a, 0xed, + 0x2e, 0x01, 0x06, 0x00, 0x14, 0x39, 0x6c, 0x00, + 0x0e, 0x15, 0x1c, 0x0c, 0x71, 0x00, 0x07, 0x4c, + 0x17, 0x0f, 0x49, 0x00, 0x02, 0x0f, 0xfb, 0x2e, + 0x06, 0x03, 0x1b, 0x2f, 0x01, 0x06, 0x00, 0x12, + 0x36, 0xe4, 0x1f, 0x05, 0x76, 0x00, 0x0e, 0x0f, + 0x1c, 0x0c, 0x76, 0x00, 0x06, 0x93, 0x17, 0x0f, + 0x49, 0x00, 0x02, 0x0f, 0x3d, 0x2f, 0x06, 0x02, + 0x9f, 0x1f, 0x17, 0x33, 0x56, 0x2e, 0x15, 0x35, + 0x76, 0x00, 0x0e, 0x09, 0x1c, 0x0c, 0x76, 0x00, + 0x06, 0xda, 0x17, 0x0f, 0x49, 0x00, 0x02, 0x0f, + 0x06, 0x1c, 0x12, 0x1f, 0x66, 0xd9, 0x34, 0x0f, + 0x0e, 0x8c, 0x5d, 0x0e, 0x21, 0x00, 0x0f, 0x06, + 0x1c, 0x13, 0x1f, 0x66, 0xd9, 0x34, 0x15, 0x1f, + 0x66, 0xd9, 0x34, 0x15, 0x1f, 0x66, 0xd9, 0x34, + 0x0c, 0x2e, 0x33, 0x31, 0x88, 0x43, 0x2f, 0x31, + 0x35, 0x31, 0x49, 0x01, 0x0f, 0xee, 0x34, 0x03, + 0x0e, 0x8b, 0x43, 0x0e, 0x2d, 0x63, 0x0e, 0x06, + 0x01, 0x0f, 0xbb, 0x34, 0x15, 0x0f, 0x8b, 0x43, + 0x0c, 0x0f, 0x13, 0x04, 0x01, 0x0b, 0x8c, 0x43, + 0x0f, 0x87, 0x35, 0x11, 0x1f, 0x66, 0x21, 0x35, + 0x1f, 0x2f, 0x31, 0x33, 0x7e, 0x1c, 0x1b, 0x05, + 0x6e, 0x47, 0x0f, 0x21, 0x35, 0x07, 0x2f, 0x31, + 0x34, 0x28, 0x38, 0x0d, 0x1f, 0x37, 0x49, 0x84, + 0x07, 0x1e, 0x34, 0xe5, 0x49, 0x0e, 0x2e, 0x38, + 0x0f, 0x26, 0x44, 0x02, 0x28, 0x32, 0x37, 0x37, + 0x94, 0x02, 0xc1, 0x93, 0x04, 0xee, 0x49, 0x1c, + 0x30, 0x09, 0x1c, 0x03, 0xd4, 0x1b, 0x0f, 0x2b, + 0x44, 0x06, 0x03, 0x21, 0x00, 0x0c, 0x8c, 0x31, + 0x03, 0x25, 0x22, 0x0f, 0xce, 0x47, 0x07, 0x1f, + 0x36, 0x37, 0x00, 0x02, 0x03, 0x3e, 0x22, 0x0f, + 0xab, 0x43, 0x07, 0x1f, 0x37, 0x37, 0x00, 0x02, + 0x03, 0xa2, 0x23, 0x0f, 0x6c, 0x43, 0x07, 0x06, + 0xc2, 0x9a, 0x0e, 0xa3, 0x31, 0x01, 0xd2, 0x74, + 0x1f, 0x38, 0x2d, 0x01, 0x05, 0x21, 0x33, 0x35, + 0x21, 0x01, 0x11, 0x36, 0x06, 0x00, 0x11, 0x37, + 0x06, 0x00, 0x15, 0x38, 0x2d, 0x01, 0x06, 0x7d, + 0x05, 0x0f, 0xa6, 0x42, 0x05, 0x0e, 0x1e, 0x43, + 0x04, 0x21, 0x00, 0x0e, 0xcf, 0x31, 0x0f, 0x94, + 0x3a, 0x06, 0x07, 0xaf, 0x96, 0x0d, 0x37, 0x00, + 0x03, 0x21, 0x29, 0x0e, 0x6e, 0x00, 0x04, 0x94, + 0x29, 0x0f, 0x2c, 0x33, 0x02, 0x03, 0xb1, 0x4f, + 0x1e, 0x30, 0x32, 0x01, 0x04, 0xd5, 0x11, 0x06, + 0xf6, 0x8f, 0x0e, 0x6a, 0x30, 0x01, 0xaa, 0x76, + 0x1f, 0x36, 0x32, 0x01, 0x05, 0x21, 0x34, 0x33, + 0xb0, 0x41, 0x11, 0x34, 0x06, 0x00, 0x11, 0x35, + 0x06, 0x00, 0x16, 0x36, 0x32, 0x01, 0x05, 0x39, + 0x06, 0x0e, 0x2c, 0x43, 0x0e, 0xc4, 0x00, 0x04, + 0x2b, 0x12, 0x0e, 0x64, 0x02, 0x0a, 0xc6, 0x7a, + 0x0e, 0x9b, 0x02, 0x16, 0x30, 0xc8, 0x7a, 0x1e, + 0x31, 0x82, 0x43, 0x03, 0x38, 0x00, 0x1e, 0x32, + 0x38, 0x00, 0x16, 0x31, 0x1c, 0x7a, 0x0d, 0x38, + 0x00, 0x05, 0xee, 0x12, 0x1e, 0x33, 0x38, 0x00, + 0x07, 0x94, 0x79, 0x0d, 0x38, 0x00, 0x05, 0x67, + 0x02, 0x2f, 0x33, 0x38, 0xba, 0x47, 0x06, 0x11, + 0x35, 0xeb, 0x3e, 0x21, 0x35, 0x32, 0x06, 0x00, + 0x11, 0x33, 0x06, 0x00, 0x16, 0x34, 0x35, 0x01, + 0x0e, 0xa2, 0x1f, 0x07, 0xc6, 0x79, 0x0e, 0xc6, + 0x00, 0x03, 0x31, 0x11, 0x0f, 0x68, 0x02, 0x02, + 0x03, 0xc8, 0x97, 0x0f, 0x68, 0x02, 0x02, 0x03, + 0x9c, 0x10, 0x0f, 0x69, 0x02, 0x02, 0x03, 0x8c, + 0x51, 0x0f, 0x69, 0x02, 0x02, 0x03, 0x9c, 0x10, + 0x0e, 0x6a, 0x02, 0x05, 0x91, 0x2d, 0x01, 0x55, + 0x2c, 0x0e, 0x38, 0x00, 0x16, 0x36, 0x11, 0x12, + 0x0c, 0x49, 0x4e, 0x1f, 0x33, 0x82, 0x20, 0x04, + 0x1f, 0x33, 0x82, 0x20, 0x09, 0x04, 0x4a, 0x51, + 0x0a, 0x55, 0x47, 0x13, 0x35, 0xe4, 0x04, 0x0e, + 0x55, 0x47, 0x09, 0x27, 0x00, 0x24, 0x36, 0x30, + 0x11, 0x05, 0x0e, 0xf2, 0x47, 0x08, 0x27, 0x00, + 0x14, 0x31, 0x3e, 0x05, 0x0e, 0x8f, 0x48, 0x08, + 0x27, 0x00, 0x12, 0x32, 0x2b, 0x9a, 0x0e, 0x0f, + 0x49, 0x0b, 0x13, 0x27, 0x19, 0x66, 0x8a, 0x39, + 0x03, 0x38, 0x00, 0x02, 0x65, 0x00, 0x02, 0x92, + 0x00, 0x3b, 0x35, 0x39, 0x7d, 0x5b, 0x00, 0x02, + 0x58, 0x99, 0x0d, 0x82, 0x00, 0x1b, 0x38, 0x27, + 0x00, 0x02, 0x26, 0x48, 0x0d, 0x82, 0x00, 0x1b, + 0x37, 0x27, 0x00, 0x05, 0xe1, 0x04, 0x0a, 0x27, + 0x00, 0x1b, 0x36, 0x27, 0x00, 0x02, 0x02, 0x05, + 0x1c, 0x35, 0x27, 0x00, 0x1e, 0x35, 0xd0, 0x00, + 0x0d, 0x26, 0x3a, 0x03, 0x3d, 0x00, 0x02, 0x6a, + 0x00, 0x02, 0x97, 0x00, 0x2c, 0x36, 0x33, 0xd5, + 0x00, 0x12, 0x37, 0x2a, 0x04, 0x0d, 0x30, 0x01, + 0x0c, 0x58, 0x01, 0x14, 0x38, 0x58, 0x04, 0x0b, + 0x28, 0x00, 0x1b, 0x31, 0x28, 0x00, 0x14, 0x39, + 0x86, 0x04, 0x0b, 0x28, 0x00, 0x0b, 0xb6, 0x4a, + 0x01, 0x96, 0x27, 0x01, 0xb4, 0x04, 0x0a, 0x28, + 0x00, 0x1e, 0x39, 0xd8, 0x00, 0x0d, 0xc5, 0x3a, + 0x03, 0x3d, 0x00, 0x02, 0x6b, 0x00, 0x02, 0x99, + 0x00, 0x3b, 0x36, 0x37, 0x7d, 0x60, 0x00, 0x02, + 0xd9, 0x03, 0x0e, 0x88, 0x00, 0x1b, 0x36, 0x28, + 0x00, 0x05, 0xfb, 0x03, 0x0b, 0x28, 0x00, 0x1b, + 0x35, 0x28, 0x00, 0x14, 0x33, 0x29, 0x04, 0x0b, + 0x28, 0x00, 0x0b, 0xce, 0x02, 0x01, 0x75, 0x0b, + 0x01, 0x57, 0x04, 0x0b, 0x28, 0x00, 0x1e, 0x33, + 0xd9, 0x00, 0x0d, 0x65, 0x3b, 0x03, 0x3e, 0x00, + 0x02, 0x6c, 0x00, 0x02, 0x9a, 0x00, 0x02, 0xb7, + 0x28, 0x0f, 0x87, 0x55, 0x07, 0x0f, 0x21, 0x23, + 0x09, 0x03, 0x97, 0x03, 0x0d, 0x6a, 0x29, 0x04, + 0xfd, 0x04, 0x21, 0x37, 0x35, 0x62, 0x00, 0x11, + 0x36, 0x06, 0x00, 0x11, 0x37, 0x06, 0x00, 0x1f, + 0x38, 0x65, 0x3b, 0x05, 0x05, 0xeb, 0x4c, 0x11, + 0x33, 0x8f, 0x4c, 0x11, 0x34, 0x06, 0x00, 0x11, + 0x35, 0x06, 0x00, 0x1e, 0x36, 0x65, 0x3b, 0x0d, + 0x37, 0x00, 0x21, 0x39, 0x31, 0x4c, 0x4c, 0x11, + 0x32, 0x06, 0x00, 0x11, 0x33, 0x06, 0x00, 0x1e, + 0x34, 0x65, 0x3b, 0x0e, 0x37, 0x00, 0x03, 0x55, + 0x4d, 0x12, 0x30, 0x07, 0x00, 0x12, 0x31, 0x07, + 0x00, 0x1e, 0x32, 0x4c, 0x23, 0x04, 0x2d, 0x4d, + 0x01, 0xc5, 0x00, 0x09, 0xa5, 0x02, 0x0f, 0xae, + 0x4c, 0x05, 0x2f, 0x37, 0x36, 0x52, 0x4c, 0x05, + 0x05, 0x9e, 0x3b, 0x0d, 0xf6, 0x4b, 0x2a, 0x37, + 0x38, 0x1a, 0x00, 0x02, 0x66, 0x07, 0x01, 0x05, + 0x01, 0x0b, 0x0d, 0x49, 0x01, 0x54, 0x01, 0x02, + 0x1f, 0x01, 0x0b, 0x42, 0x49, 0x11, 0x37, 0xaf, + 0x02, 0x02, 0x3f, 0x01, 0x0a, 0x1a, 0x00, 0x11, + 0x38, 0x63, 0x00, 0x02, 0x53, 0x01, 0x0a, 0x1a, + 0x00, 0x01, 0x06, 0x01, 0x02, 0x65, 0x4e, 0x0b, + 0x88, 0x63, 0x02, 0x6e, 0x46, 0x12, 0x39, 0x5d, + 0x01, 0x0b, 0x1b, 0x00, 0x03, 0x2e, 0x01, 0x02, + 0x73, 0x01, 0x0b, 0x1c, 0x00, 0x14, 0x32, 0xf0, + 0x4c, 0x00, 0x89, 0x01, 0x0b, 0x1c, 0x00, 0x02, + 0xe1, 0x4c, 0x02, 0xab, 0x01, 0x05, 0xfb, 0x42, + 0x08, 0xe3, 0x9d, 0x03, 0x22, 0x00, 0x0c, 0x5c, + 0x01, 0x22, 0x31, 0x35, 0x4d, 0x9d, 0x03, 0xac, + 0x01, 0x0e, 0xc7, 0x4e, 0x05, 0x23, 0x00, 0x2f, + 0x30, 0x32, 0x5b, 0x58, 0x0f, 0x0e, 0x7a, 0x3b, + 0x17, 0x35, 0xd4, 0x02, 0x1e, 0x38, 0x8c, 0x59, + 0x0f, 0x8c, 0x37, 0x03, 0x16, 0x35, 0x81, 0x59, + 0x0e, 0x6e, 0x4c, 0x02, 0x28, 0x20, 0x02, 0x40, + 0x4f, 0x0f, 0x5e, 0x20, 0x08, 0x05, 0x6c, 0x01, + 0x04, 0x47, 0x22, 0x0d, 0x73, 0x3b, 0x05, 0x22, + 0x00, 0x1a, 0x38, 0x80, 0x20, 0x08, 0x01, 0x01, + 0x12, 0x37, 0xfb, 0x00, 0x03, 0xe0, 0x4e, 0x0e, + 0x95, 0x53, 0x0f, 0x9f, 0x00, 0x0a, 0x1f, 0x37, + 0x9f, 0x00, 0x11, 0x04, 0x43, 0x22, 0x0d, 0x70, + 0x3b, 0x05, 0x12, 0x02, 0x1e, 0x30, 0x9f, 0x00, + 0x07, 0xe5, 0xa6, 0x03, 0x22, 0x00, 0x01, 0x4b, + 0x00, 0x0f, 0x9f, 0x00, 0x1b, 0x1f, 0x38, 0x9f, + 0x00, 0x10, 0x14, 0x31, 0x3f, 0x22, 0x0d, 0x6d, + 0x3b, 0x05, 0x22, 0x00, 0x1f, 0x32, 0x9f, 0x00, + 0x07, 0x03, 0xa1, 0x4f, 0x03, 0xb8, 0x02, 0x1f, + 0x31, 0x9f, 0x00, 0x1b, 0x1f, 0x39, 0x9f, 0x00, + 0x11, 0x04, 0x3b, 0x22, 0x0d, 0x6a, 0x3b, 0x05, + 0x22, 0x00, 0x1e, 0x34, 0x9f, 0x00, 0x07, 0x3c, + 0x4e, 0x03, 0x22, 0x00, 0x01, 0x4b, 0x00, 0x0f, + 0x9f, 0x00, 0x1a, 0x2f, 0x32, 0x30, 0x9f, 0x00, + 0x11, 0x04, 0x66, 0x25, 0x0d, 0x67, 0x3b, 0x05, + 0x22, 0x00, 0x1e, 0x36, 0x9f, 0x00, 0x07, 0xbd, + 0x4e, 0x03, 0x22, 0x00, 0x01, 0x4b, 0x00, 0x0f, + 0x9f, 0x00, 0x1b, 0x1f, 0x31, 0x9f, 0x00, 0x11, + 0x04, 0x1b, 0x03, 0x0d, 0x64, 0x3b, 0x05, 0x22, + 0x00, 0x0f, 0x1b, 0x03, 0x07, 0x03, 0x19, 0x4e, + 0x04, 0x83, 0x02, 0x1f, 0x37, 0x9f, 0x00, 0x1b, + 0x1f, 0x32, 0x9f, 0x00, 0x11, 0x04, 0x1b, 0x03, + 0x0d, 0x61, 0x3b, 0x05, 0x11, 0x05, 0x0e, 0x1b, + 0x03, 0x0a, 0x0f, 0x4f, 0x14, 0x31, 0xe4, 0x01, + 0x1f, 0x39, 0x60, 0x3b, 0x28, 0x1f, 0x31, 0x60, + 0x3b, 0x0a, 0x16, 0x36, 0x75, 0x27, 0x0b, 0x13, + 0x24, 0x1d, 0x37, 0x14, 0x24, 0x15, 0x37, 0xf0, + 0x19, 0x02, 0x80, 0x77, 0x09, 0x02, 0xa4, 0x25, + 0x34, 0x31, 0x95, 0xa6, 0x0c, 0x00, 0x11, 0x03, + 0x1f, 0xa0, 0x0c, 0x9e, 0x15, 0x15, 0x35, 0x5d, + 0x3b, 0x0e, 0x79, 0x3b, 0x04, 0xdb, 0x39, 0x0f, + 0x79, 0x3b, 0x18, 0x1f, 0x33, 0x8b, 0x19, 0x02, + 0x1f, 0x37, 0x46, 0x24, 0x18, 0x19, 0x31, 0x46, + 0x24, 0x07, 0x47, 0x52, 0x1a, 0x31, 0x84, 0x09, + 0x0b, 0x63, 0x24, 0x14, 0x37, 0x63, 0x24, 0x1c, + 0x37, 0x94, 0x3b, 0x05, 0xa9, 0x43, 0x1f, 0x31, + 0x55, 0x00, 0x05, 0x02, 0xf7, 0xa6, 0x02, 0x3d, + 0x00, 0x0f, 0x8d, 0x3b, 0x01, 0x04, 0x77, 0x42, + 0x0c, 0xfd, 0x11, 0x18, 0x39, 0x76, 0x58, 0x1e, + 0x32, 0xcd, 0x58, 0x04, 0xb3, 0x58, 0x0d, 0x8d, + 0x3b, 0x03, 0x50, 0x28, 0x06, 0x04, 0x3b, 0x0f, + 0x8d, 0x3b, 0x0a, 0x13, 0x36, 0x97, 0x0e, 0x1f, + 0x37, 0x57, 0x24, 0x0e, 0x03, 0x91, 0x00, 0x0e, + 0xa8, 0x3a, 0x2e, 0x31, 0x38, 0x23, 0x24, 0x04, + 0xc5, 0x84, 0x0f, 0x23, 0x24, 0x08, 0x01, 0xe2, + 0x00, 0x04, 0x13, 0x1d, 0x1c, 0x32, 0x9b, 0x97, + 0x03, 0x74, 0x01, 0x0a, 0xa8, 0x24, 0x04, 0x1e, + 0xb1, 0x0f, 0xf7, 0x3b, 0x02, 0x04, 0xd7, 0xb7, + 0x0a, 0xb9, 0xa6, 0x00, 0x63, 0x03, 0x03, 0xf7, + 0x83, 0x0e, 0xdb, 0x24, 0x1f, 0x30, 0x75, 0x24, + 0x16, 0x03, 0x95, 0xbc, 0x1e, 0x32, 0x44, 0x00, + 0x18, 0x32, 0x77, 0x24, 0x0d, 0xb9, 0x52, 0x03, + 0x03, 0x02, 0x02, 0xe2, 0x3f, 0x10, 0x40, 0x2f, + 0x00, 0x07, 0xe1, 0x00, 0x0d, 0x96, 0x24, 0x1f, + 0x36, 0x96, 0x24, 0x02, 0x1e, 0x37, 0x96, 0x24, + 0x09, 0x7d, 0x85, 0x0e, 0x0b, 0x5d, 0x05, 0x7c, + 0xbc, 0x05, 0xb4, 0x24, 0x06, 0x94, 0x56, 0x03, + 0x78, 0x04, 0x04, 0x9b, 0x02, 0x01, 0xdd, 0x00, + 0x0c, 0x68, 0xaa, 0x01, 0x5f, 0x1e, 0x00, 0x2b, + 0x00, 0x0b, 0x45, 0x24, 0x1e, 0x30, 0x58, 0x24, + 0x1e, 0x31, 0x58, 0x24, 0x0c, 0x83, 0x85, 0x17, + 0x32, 0xfe, 0x22, 0x2e, 0x35, 0x31, 0x36, 0x86, + 0x07, 0xaa, 0x01, 0x03, 0x84, 0x85, 0x0c, 0x57, + 0x0a, 0x02, 0x4b, 0x01, 0x04, 0x32, 0x05, 0x1b, + 0x34, 0xae, 0x00, 0x22, 0x35, 0x34, 0x18, 0x00, + 0x0c, 0x15, 0xd0, 0x1f, 0x35, 0x85, 0x86, 0x0a, + 0x10, 0x36, 0x9a, 0x00, 0x18, 0x35, 0x54, 0xd0, + 0x0f, 0x9a, 0x00, 0x0a, 0x02, 0xab, 0x21, 0x0c, + 0x46, 0x59, 0x02, 0x7d, 0x15, 0x05, 0xa1, 0x00, + 0x1c, 0x36, 0x9a, 0x00, 0x03, 0x1f, 0x00, 0x1b, + 0x37, 0x9a, 0x00, 0x1f, 0x38, 0xb7, 0x86, 0x0a, + 0x00, 0x59, 0x22, 0x03, 0x70, 0x00, 0x07, 0x57, + 0x49, 0x0f, 0x9a, 0x00, 0x06, 0x03, 0x7c, 0x1a, + 0x0c, 0x9a, 0x00, 0x03, 0xc3, 0x01, 0x03, 0x82, + 0x00, 0x1b, 0x38, 0x9a, 0x00, 0x02, 0x8d, 0x10, + 0x03, 0xfc, 0x3d, 0x0f, 0x87, 0x00, 0x02, 0x10, + 0x36, 0xfd, 0x24, 0x03, 0x58, 0x8d, 0x17, 0x30, + 0x83, 0x87, 0x0f, 0x87, 0x00, 0x04, 0x13, 0x33, + 0xf7, 0x1a, 0x0c, 0xf6, 0x0b, 0x13, 0x31, 0x68, + 0x00, 0x12, 0x2c, 0x25, 0x00, 0x0c, 0x87, 0x00, + 0x02, 0x1e, 0x03, 0x0c, 0xbc, 0x88, 0x2f, 0x36, + 0x33, 0x62, 0x22, 0x09, 0x10, 0x36, 0x47, 0x24, + 0x04, 0x32, 0x8d, 0x01, 0x06, 0x00, 0x1f, 0x33, + 0x9a, 0x00, 0x0a, 0x02, 0x24, 0x00, 0x0d, 0x90, + 0x0c, 0x13, 0x33, 0x7b, 0x00, 0x02, 0x07, 0x00, + 0x0b, 0x37, 0x00, 0x02, 0x99, 0x4a, 0x00, 0x26, + 0x00, 0x0f, 0x9a, 0x21, 0x05, 0x20, 0x36, 0x37, + 0x86, 0x00, 0x02, 0xf3, 0x1b, 0x03, 0x83, 0x63, + 0x0f, 0x86, 0x00, 0x0a, 0x12, 0x34, 0xad, 0x1b, + 0x0f, 0xc3, 0x56, 0x02, 0x03, 0x8b, 0x00, 0x1e, + 0x34, 0x86, 0x07, 0x06, 0x76, 0x21, 0x05, 0x99, + 0x00, 0x15, 0x38, 0x34, 0xad, 0x0c, 0x22, 0x08, + 0x02, 0x63, 0x00, 0x0c, 0xff, 0x42, 0x04, 0x1b, + 0x39, 0x0e, 0x86, 0x07, 0x04, 0xdb, 0x3c, 0x01, + 0x23, 0x00, 0x0f, 0xa8, 0x3c, 0x16, 0x0f, 0x86, + 0x07, 0x05, 0x1a, 0x37, 0x47, 0x58, 0x02, 0x55, + 0x3e, 0x03, 0xe2, 0x00, 0x1c, 0x31, 0x39, 0x03, + 0x02, 0x83, 0x17, 0x03, 0x24, 0x00, 0x0c, 0xf0, + 0x03, 0x02, 0x9a, 0x17, 0x04, 0x41, 0x00, 0x0c, + 0x1d, 0x00, 0x17, 0x38, 0x1d, 0x00, 0x0d, 0x6f, + 0x02, 0x03, 0x68, 0x02, 0x0c, 0xac, 0x0f, 0x0e, + 0x23, 0x11, 0x05, 0xcb, 0x3c, 0x06, 0x35, 0x00, + 0x03, 0x59, 0x00, 0x03, 0x7d, 0x00, 0x2c, 0x36, + 0x7d, 0xa5, 0x0e, 0x17, 0x30, 0x79, 0x00, 0x1c, + 0x37, 0x1d, 0x00, 0x17, 0x31, 0x1d, 0x00, 0x1c, + 0x36, 0x1d, 0x00, 0x17, 0x32, 0x1d, 0x00, 0x1c, + 0x35, 0x1d, 0x00, 0x17, 0x33, 0x1d, 0x00, 0x1e, + 0x34, 0xac, 0x00, 0x0b, 0xc9, 0x3c, 0x05, 0x31, + 0x00, 0x03, 0x55, 0x00, 0x03, 0x79, 0x00, 0x2d, + 0x34, 0x30, 0xaf, 0x00, 0x18, 0x34, 0x28, 0x01, + 0x1c, 0x31, 0x1e, 0x00, 0x18, 0x35, 0x1e, 0x00, + 0x1c, 0x30, 0x1e, 0x00, 0x08, 0x9e, 0x01, 0x0d, + 0xad, 0x0f, 0x08, 0x9e, 0x01, 0x1e, 0x38, 0xb1, + 0x00, 0x0b, 0xc7, 0x3c, 0x05, 0x31, 0x00, 0x03, + 0x55, 0x00, 0x13, 0x34, 0xd0, 0x0f, 0x1d, 0x34, + 0xb1, 0x00, 0x09, 0xd9, 0x01, 0x0d, 0x27, 0x01, + 0x18, 0x39, 0x1e, 0x00, 0x1c, 0x34, 0x24, 0x10, + 0x18, 0x30, 0x1e, 0x00, 0x1c, 0x33, 0x1e, 0x00, + 0x08, 0x9d, 0x01, 0x0e, 0x7a, 0x3d, 0x1c, 0x66, + 0xc7, 0x3c, 0x05, 0x32, 0x00, 0x03, 0x57, 0x00, + 0x03, 0x7c, 0x00, 0x2f, 0x34, 0x38, 0xc7, 0x3c, + 0x17, 0x03, 0x26, 0x35, 0x0c, 0x8b, 0x03, 0x1e, + 0x37, 0xc7, 0x3c, 0x0f, 0x80, 0x38, 0x09, 0x0e, + 0x3d, 0x20, 0x02, 0x8b, 0x31, 0x12, 0x37, 0xbb, + 0x4d, 0x02, 0x34, 0x4c, 0x1f, 0x32, 0xc3, 0x3c, + 0x0f, 0x04, 0x31, 0x20, 0x0f, 0x3d, 0x00, 0x01, + 0x0f, 0x2c, 0x4f, 0x1f, 0x0f, 0xbb, 0x3c, 0x0e, + 0x17, 0x38, 0xa5, 0x20, 0x0f, 0x47, 0x00, 0x02, + 0x0f, 0x2f, 0x20, 0x06, 0x09, 0x66, 0x4f, 0x01, + 0x06, 0x00, 0x1f, 0x38, 0xb3, 0x3c, 0x14, 0x17, + 0x38, 0xa3, 0x20, 0x0f, 0x47, 0x00, 0x02, 0x0f, + 0xa9, 0x4f, 0x06, 0x09, 0xa3, 0x4f, 0x02, 0xdb, + 0x22, 0x0f, 0xab, 0x3c, 0x14, 0x17, 0x38, 0xa1, + 0x20, 0x0f, 0x47, 0x00, 0x02, 0x0f, 0xa1, 0x20, + 0x13, 0x0f, 0xa7, 0x3c, 0x0f, 0x0e, 0x87, 0x76, + 0x0e, 0x21, 0x00, 0x0f, 0xa1, 0x20, 0x14, 0x0f, + 0xa7, 0x3c, 0x15, 0x1f, 0x66, 0xa7, 0x3c, 0x15, + 0x1f, 0x66, 0xa7, 0x3c, 0x0d, 0x1f, 0x39, 0x2f, + 0x8d, 0x01, 0x2e, 0x36, 0x3e, 0x8b, 0x5c, 0x3e, + 0x39, 0x37, 0x3e, 0xa1, 0x20, 0x2f, 0x33, 0x35, + 0xa1, 0x20, 0x18, 0x0e, 0x39, 0xb0, 0x0e, 0x6e, + 0x20, 0x0e, 0xe7, 0x00, 0x0f, 0x6e, 0x20, 0x1d, + 0x2f, 0x36, 0x34, 0x6e, 0x20, 0x5f, 0x0f, 0x55, + 0x20, 0x52, 0x07, 0xc2, 0x5c, 0x13, 0x31, 0x72, + 0xa7, 0x0f, 0x4b, 0x20, 0x10, 0x1f, 0x31, 0x4b, + 0x20, 0x57, 0x0e, 0xdd, 0x1f, 0x09, 0xb5, 0x00, + 0x05, 0x50, 0xaa, 0x0e, 0xd3, 0x1f, 0x0d, 0x40, + 0x3a, 0x0f, 0x9c, 0x68, 0x03, 0x1f, 0x33, 0x60, + 0x20, 0x0e, 0x1f, 0x38, 0x67, 0x5a, 0x06, 0x04, + 0x6e, 0x4e, 0x0e, 0x1d, 0x52, 0x0e, 0x65, 0x1f, + 0x0d, 0xba, 0x00, 0x04, 0xda, 0xa8, 0x0f, 0x5b, + 0x1f, 0x0b, 0x0f, 0x56, 0x20, 0x08, 0x1f, 0x35, + 0x56, 0x20, 0x0e, 0x1f, 0x31, 0x8d, 0x20, 0x07, + 0x0f, 0x56, 0x20, 0x08, 0x0e, 0xea, 0x1e, 0x0a, + 0xba, 0x00, 0x05, 0x77, 0xa7, 0x0f, 0xe0, 0x1e, + 0x0a, 0x06, 0xcb, 0x71, 0x0e, 0x83, 0x00, 0x05, + 0xe3, 0x95, 0x0e, 0x83, 0x00, 0x06, 0x4c, 0x20, + 0x1e, 0x31, 0xd9, 0x20, 0x0b, 0x4c, 0x20, 0x0e, + 0x12, 0x9b, 0x0d, 0x6e, 0x1e, 0x2e, 0x32, 0x37, + 0x53, 0x5e, 0x07, 0x70, 0x1e, 0x03, 0x4b, 0x20, + 0x0c, 0xed, 0x5e, 0x23, 0x33, 0x35, 0x0b, 0x03, + 0x0f, 0xee, 0x5e, 0x09, 0x09, 0x31, 0x00, 0x13, + 0x36, 0xc7, 0xb0, 0x0f, 0x82, 0x5f, 0x09, 0x09, + 0x49, 0x2a, 0x19, 0x66, 0x54, 0x3f, 0x05, 0x42, + 0x00, 0x02, 0xe8, 0x30, 0x09, 0x5b, 0x00, 0x03, + 0x28, 0x02, 0x0e, 0x2d, 0x76, 0x0d, 0x06, 0x1f, + 0x03, 0x31, 0x00, 0x15, 0x38, 0x6a, 0xad, 0x0f, + 0x31, 0x00, 0x03, 0x1e, 0x33, 0x8c, 0x00, 0x0d, + 0xb6, 0x3f, 0x05, 0x47, 0x00, 0x2d, 0x33, 0x37, + 0x91, 0x00, 0x13, 0x39, 0xb9, 0x02, 0x0f, 0x60, + 0x00, 0x05, 0x0c, 0x4e, 0x01, 0x25, 0x34, 0x30, + 0xcb, 0xab, 0x0f, 0x31, 0x00, 0x03, 0x1e, 0x35, + 0x91, 0x00, 0x0d, 0x18, 0x40, 0x05, 0x47, 0x00, + 0x02, 0x05, 0x31, 0x09, 0x60, 0x00, 0x04, 0x90, + 0x02, 0x0f, 0x60, 0x00, 0x05, 0x1c, 0x38, 0x31, + 0x00, 0x15, 0x32, 0x3f, 0xaa, 0x0f, 0x31, 0x00, + 0x03, 0x1e, 0x37, 0x91, 0x00, 0x0d, 0x7a, 0x40, + 0x05, 0x47, 0x00, 0x1f, 0x34, 0x59, 0x1d, 0x0b, + 0x2f, 0x32, 0x38, 0x59, 0x1d, 0x08, 0x03, 0x80, + 0x02, 0x1c, 0x38, 0xf6, 0x3f, 0x05, 0x6c, 0x03, + 0x22, 0x34, 0x33, 0x64, 0x00, 0x1e, 0x34, 0x7a, + 0x40, 0x0c, 0x2a, 0x00, 0x12, 0x37, 0x2a, 0x00, + 0x1e, 0x38, 0x7a, 0x40, 0x0e, 0x2d, 0x00, 0x12, + 0x35, 0x33, 0x01, 0x2f, 0x35, 0x32, 0x7a, 0x40, + 0x08, 0x06, 0x2d, 0x00, 0x12, 0x35, 0x2d, 0x00, + 0x1e, 0x36, 0x2e, 0x1d, 0x05, 0xab, 0x5e, 0x02, + 0x7c, 0x00, 0x0f, 0x73, 0x02, 0x02, 0x0f, 0x19, + 0x62, 0x08, 0x2b, 0x34, 0x34, 0x1d, 0x00, 0x03, + 0xce, 0x05, 0x02, 0x1d, 0x00, 0x1b, 0x37, 0x1d, + 0x00, 0x03, 0xf5, 0xab, 0x03, 0xe7, 0x00, 0x0b, + 0x1d, 0x00, 0x12, 0x35, 0x17, 0x00, 0x02, 0xaa, + 0x00, 0x0c, 0x71, 0x79, 0x02, 0x5c, 0x03, 0x03, + 0xc7, 0x00, 0x0c, 0x67, 0x5f, 0x14, 0x37, 0x67, + 0x63, 0x01, 0xeb, 0x00, 0x0b, 0x1d, 0x00, 0x14, + 0x38, 0xf6, 0x62, 0x01, 0x01, 0x01, 0x0f, 0x6d, + 0x1c, 0x0a, 0x1f, 0x30, 0xa4, 0x40, 0x08, 0x03, + 0x5f, 0xae, 0x1d, 0x30, 0xa4, 0x40, 0x0f, 0xa3, + 0x40, 0x0e, 0x0e, 0x22, 0xb3, 0x09, 0xcf, 0x3c, + 0x2f, 0x66, 0x64, 0x32, 0x1b, 0x0a, 0x04, 0x1d, + 0x01, 0x1f, 0x39, 0xa2, 0x40, 0x06, 0x05, 0x23, + 0x01, 0x0e, 0x15, 0x3e, 0x06, 0x1d, 0x00, 0x12, + 0x39, 0x23, 0x01, 0x12, 0x30, 0x07, 0x01, 0x0e, + 0xd3, 0x1b, 0x0f, 0xa2, 0x00, 0x0b, 0x1f, 0x39, + 0xa2, 0x00, 0x10, 0x2e, 0x36, 0x31, 0xa0, 0x40, + 0x0c, 0x23, 0x00, 0x0e, 0x14, 0x3e, 0x0e, 0x2d, + 0x65, 0x12, 0x32, 0x07, 0x00, 0x1f, 0x31, 0xa3, + 0x00, 0x1c, 0x2f, 0x31, 0x30, 0xa4, 0x00, 0x11, + 0x1e, 0x33, 0xa0, 0x40, 0x0b, 0x22, 0x00, 0x1f, + 0x34, 0xa3, 0x00, 0x09, 0x02, 0xf4, 0x02, 0x01, + 0x3f, 0x23, 0x00, 0x4d, 0x00, 0x0f, 0xa3, 0x00, + 0x1d, 0x1f, 0x31, 0xa3, 0x00, 0x11, 0x1e, 0x35, + 0xa0, 0x40, 0x0b, 0x22, 0x00, 0x0e, 0x43, 0x41, + 0x0a, 0xbb, 0x63, 0x03, 0x24, 0x00, 0x01, 0x4d, + 0x00, 0x0f, 0xa3, 0x00, 0x1d, 0x1f, 0x32, 0xa3, + 0x00, 0x11, 0x1e, 0x37, 0xa0, 0x40, 0x0b, 0x22, + 0x00, 0x0e, 0x43, 0x41, 0x0a, 0x3f, 0x64, 0x03, + 0x24, 0x00, 0x01, 0x4d, 0x00, 0x0f, 0xa3, 0x00, + 0x1d, 0x1f, 0x33, 0xa3, 0x00, 0x11, 0x1e, 0x39, + 0xa0, 0x40, 0x0a, 0x22, 0x00, 0x0f, 0x43, 0x41, + 0x02, 0x0b, 0x4b, 0x64, 0x13, 0x37, 0x93, 0x02, + 0x0f, 0x2f, 0x03, 0x1d, 0x0f, 0x43, 0x41, 0x0a, + 0x05, 0x81, 0x00, 0x1e, 0x31, 0xa0, 0x40, 0x0b, + 0x22, 0x00, 0x0e, 0x2f, 0x03, 0x0d, 0x79, 0x64, + 0x01, 0x1a, 0x24, 0x00, 0x4d, 0x00, 0x0f, 0x8a, + 0x1c, 0x28, 0x1f, 0x32, 0x8a, 0x1c, 0x11, 0x0e, + 0xa2, 0xb1, 0x1c, 0x39, 0x89, 0x1c, 0x06, 0x07, + 0x1a, 0x17, 0x38, 0x88, 0x1c, 0x00, 0x4d, 0x00, + 0x04, 0x35, 0x1c, 0x01, 0xb8, 0x00, 0x04, 0xe1, + 0x3e, 0x05, 0x55, 0x1c, 0x15, 0x36, 0x55, 0x1c, + 0x2c, 0x2d, 0x34, 0x71, 0x1c, 0x06, 0xbf, 0x74, + 0x0f, 0x71, 0x1c, 0x16, 0x1f, 0x34, 0xeb, 0x14, + 0x02, 0x1f, 0x38, 0x71, 0x1c, 0x17, 0x2e, 0x31, + 0x35, 0x71, 0x1c, 0x04, 0x47, 0x05, 0x0e, 0xcc, + 0x69, 0x0e, 0x79, 0x1c, 0x14, 0x38, 0x79, 0x1c, + 0x1d, 0x38, 0x79, 0x1c, 0x04, 0x21, 0x5c, 0x1f, + 0x35, 0x5d, 0x00, 0x05, 0x03, 0x54, 0xbd, 0x02, + 0x3e, 0x00, 0x0f, 0x7a, 0x1c, 0x01, 0x13, 0x39, + 0x41, 0x00, 0x0e, 0x5b, 0x8f, 0x08, 0x0f, 0x75, + 0x0c, 0xc3, 0x12, 0x15, 0x31, 0xd3, 0x3e, 0x0d, + 0x7a, 0x1c, 0x08, 0xfd, 0x6d, 0x0e, 0x9c, 0x38, + 0x0c, 0x7a, 0x1c, 0x24, 0x37, 0x2c, 0x24, 0x42, + 0x0f, 0x07, 0x58, 0x0e, 0x07, 0x5e, 0x41, 0x0d, + 0xd1, 0x40, 0x13, 0x33, 0x66, 0x07, 0x0b, 0x94, + 0x1c, 0x1e, 0x30, 0x94, 0x1c, 0x04, 0xc1, 0x2a, + 0x0f, 0x94, 0x1c, 0x09, 0x12, 0x31, 0x56, 0x28, + 0x05, 0xaa, 0x7c, 0x00, 0x8f, 0x17, 0x06, 0x05, + 0x39, 0x03, 0x61, 0x92, 0x09, 0x74, 0x02, 0x14, + 0x32, 0x9d, 0x00, 0x03, 0x74, 0x02, 0x06, 0xaa, + 0x02, 0x00, 0x4d, 0x03, 0x07, 0x6d, 0xd8, 0x0b, + 0xa1, 0x00, 0x1f, 0x32, 0x7c, 0x1c, 0x16, 0x04, + 0x6a, 0x3d, 0x0e, 0x44, 0x00, 0x1d, 0x34, 0x7c, + 0x1c, 0x07, 0x74, 0xbf, 0x06, 0x07, 0x02, 0x2c, + 0x37, 0x34, 0xf6, 0x9f, 0x2d, 0x33, 0x38, 0x7d, + 0x1c, 0x2e, 0x36, 0x30, 0x7d, 0x1c, 0x02, 0x21, + 0xa6, 0x0c, 0x7d, 0x1c, 0x03, 0x75, 0x19, 0x12, + 0x31, 0x1b, 0x1a, 0x0f, 0x40, 0x2c, 0x04, 0x02, + 0x9c, 0x34, 0x0c, 0x1b, 0x0d, 0x02, 0x1c, 0x28, + 0x06, 0x9f, 0x02, 0x05, 0x14, 0x29, 0x0f, 0x9f, + 0x3d, 0x12, 0x00, 0x40, 0x00, 0x0f, 0x82, 0x3b, + 0x0a, 0x1e, 0x36, 0x5d, 0x80, 0x2e, 0x36, 0x34, + 0xa1, 0x1c, 0x0d, 0xc6, 0x3d, 0x17, 0x36, 0xba, + 0xa4, 0x17, 0x34, 0x36, 0xa7, 0x1f, 0x33, 0xc6, + 0x3d, 0x0c, 0x07, 0x87, 0x7d, 0x0d, 0x38, 0x00, + 0x0f, 0xde, 0xb6, 0x07, 0x2f, 0x37, 0x36, 0xc6, + 0x3d, 0x10, 0x05, 0xba, 0x05, 0x13, 0x37, 0xf9, + 0x00, 0x12, 0x2c, 0x3b, 0x00, 0x0f, 0xc6, 0x3d, + 0x15, 0x1e, 0x66, 0x75, 0x45, 0x0b, 0x2c, 0x01, + 0x0e, 0x66, 0xc7, 0x0d, 0xc6, 0x3d, 0x17, 0x38, + 0x86, 0xa4, 0x1f, 0x36, 0x18, 0x01, 0x12, 0x26, + 0x34, 0x32, 0xb0, 0x3c, 0x1e, 0x30, 0x38, 0x00, + 0x0f, 0x18, 0x01, 0x0b, 0x1f, 0x38, 0xc6, 0x3d, + 0x10, 0x05, 0x18, 0x01, 0x02, 0x87, 0x0a, 0x04, + 0x1f, 0x01, 0x1f, 0x38, 0xc6, 0x3d, 0x15, 0x00, + 0x3a, 0x00, 0x0f, 0x18, 0x01, 0x0b, 0x1e, 0x37, + 0x9d, 0x1d, 0x0b, 0x23, 0xa5, 0x03, 0x0d, 0x20, + 0x17, 0x35, 0x7f, 0x37, 0x0f, 0x18, 0x01, 0x0e, + 0x01, 0x6f, 0x1e, 0x02, 0xfd, 0x1e, 0x03, 0x0a, + 0x1c, 0x0f, 0x18, 0x01, 0x16, 0x2f, 0x38, 0x30, + 0xc8, 0x3d, 0x10, 0x05, 0xa4, 0x0c, 0x13, 0x31, + 0xe5, 0x00, 0x12, 0x2c, 0x3b, 0x00, 0x0f, 0x18, + 0x01, 0x0b, 0x10, 0x38, 0x53, 0x00, 0x03, 0x5b, + 0xbd, 0x1f, 0x38, 0xfb, 0x40, 0x16, 0x11, 0x35, + 0x1b, 0x1e, 0x07, 0xec, 0x43, 0x2f, 0x36, 0x33, + 0x05, 0x01, 0x12, 0x01, 0xf9, 0xa5, 0x26, 0x32, + 0x33, 0xf9, 0xa5, 0x2f, 0x36, 0x33, 0x05, 0x01, + 0x17, 0x01, 0xfb, 0x40, 0x00, 0x85, 0x1e, 0x00, + 0x80, 0x00, 0x0f, 0x05, 0x01, 0x0d, 0x13, 0x33, + 0xd2, 0x00, 0x12, 0x2c, 0x3b, 0x00, 0x0f, 0x05, + 0x01, 0x0a, 0x10, 0x35, 0x70, 0x02, 0x01, 0x77, + 0x4f, 0x01, 0x3a, 0x00, 0x0f, 0x1d, 0x02, 0x0b, + 0x0e, 0xeb, 0x5a, 0x0c, 0x1c, 0xa6, 0x04, 0xc4, + 0x20, 0x07, 0x96, 0x39, 0x0f, 0x18, 0x01, 0x0e, + 0x16, 0x34, 0x8c, 0x20, 0x1e, 0x32, 0x38, 0x00, + 0x0f, 0x18, 0x01, 0x0b, 0x01, 0xfb, 0x40, 0x00, + 0xc4, 0x20, 0x00, 0x80, 0x00, 0x0f, 0x18, 0x01, + 0x0d, 0x02, 0x46, 0x04, 0x04, 0x1f, 0x01, 0x0f, + 0x78, 0xbf, 0x0a, 0x00, 0x80, 0x41, 0x00, 0x82, + 0x20, 0x03, 0x18, 0x01, 0x0f, 0x79, 0x05, 0x0c, + 0x1f, 0x39, 0xfb, 0x40, 0x08, 0x0d, 0xd1, 0x20, + 0x2f, 0x36, 0x39, 0x17, 0x01, 0x06, 0x08, 0x37, + 0x00, 0x15, 0x38, 0x81, 0x20, 0x2e, 0x35, 0x36, + 0x37, 0x00, 0x0f, 0x16, 0x01, 0x0b, 0x14, 0x36, + 0x98, 0x3b, 0x00, 0x7f, 0x00, 0x0f, 0x16, 0x01, + 0x0c, 0x04, 0x6d, 0x70, 0x03, 0x1d, 0x01, 0x1e, + 0x36, 0x83, 0x0a, 0x0d, 0xfb, 0x40, 0x2f, 0x31, + 0x34, 0xfb, 0x40, 0x0b, 0x13, 0x33, 0xc5, 0x65, + 0x03, 0x5f, 0x46, 0x0e, 0x48, 0x75, 0x1f, 0x33, + 0x58, 0x18, 0x0e, 0x09, 0x3f, 0x0b, 0x04, 0xa0, + 0xd9, 0x06, 0x7b, 0xd9, 0x09, 0x11, 0x0b, 0x26, + 0x32, 0x35, 0xe2, 0x71, 0x0a, 0x9d, 0x08, 0x04, + 0x0f, 0x55, 0x0e, 0x11, 0x0b, 0x05, 0xc0, 0x5c, + 0x1f, 0x36, 0xfc, 0x1f, 0x11, 0x17, 0x32, 0xaf, + 0x80, 0x0f, 0x12, 0x0b, 0x01, 0x0b, 0x0e, 0x41, + 0x02, 0xcb, 0x3f, 0x0f, 0xde, 0x3e, 0x02, 0x03, + 0xb4, 0x08, 0x1d, 0x35, 0x11, 0x41, 0x2f, 0x31, + 0x30, 0xbb, 0xc6, 0x06, 0x06, 0x08, 0x6b, 0x02, + 0x07, 0x00, 0x2a, 0x34, 0x3b, 0xb0, 0x71, 0x28, + 0x38, 0x37, 0xb0, 0x71, 0x0c, 0x0e, 0x12, 0x01, + 0x1f, 0x47, 0x06, 0x25, 0x00, 0x0c, 0x1e, 0x00, + 0x15, 0x39, 0x1e, 0x00, 0x0f, 0x80, 0x8b, 0x05, + 0x0e, 0xfb, 0x13, 0x23, 0x31, 0x30, 0xdd, 0x1e, + 0x05, 0x3f, 0x00, 0x2c, 0x38, 0x7d, 0x27, 0x11, + 0x18, 0x30, 0x76, 0x00, 0x1c, 0x33, 0x1e, 0x00, + 0x18, 0x31, 0x1e, 0x00, 0x1f, 0x32, 0x68, 0x00, + 0x08, 0x05, 0xf9, 0x1f, 0x04, 0x34, 0x00, 0x2d, + 0x39, 0x30, 0x6b, 0x00, 0x18, 0x32, 0x4d, 0x00, + 0x1c, 0x35, 0x1e, 0x00, 0x18, 0x33, 0x1e, 0x00, + 0x1f, 0x34, 0x6b, 0x00, 0x09, 0x04, 0xb3, 0x1f, + 0x04, 0x34, 0x00, 0x2d, 0x39, 0x32, 0x6b, 0x00, + 0x18, 0x34, 0x4d, 0x00, 0x1c, 0x37, 0x1e, 0x00, + 0x18, 0x35, 0x1e, 0x00, 0x1f, 0x36, 0x6b, 0x00, + 0x09, 0x05, 0x5b, 0x16, 0x13, 0x39, 0x13, 0x0a, + 0x0e, 0x24, 0x5c, 0x0a, 0x72, 0x03, 0x0e, 0x60, + 0x43, 0x06, 0x90, 0x6a, 0x03, 0x20, 0x00, 0x0c, + 0xdf, 0x56, 0x0f, 0x43, 0x76, 0x08, 0x2d, 0x31, + 0x30, 0xaa, 0x6a, 0x09, 0x8b, 0x02, 0x1e, 0x39, + 0x35, 0x41, 0x08, 0xc2, 0x6b, 0x0f, 0xda, 0x02, + 0x02, 0x03, 0x5e, 0x6c, 0x1d, 0x39, 0x38, 0x41, + 0x03, 0x84, 0x42, 0x05, 0x22, 0x00, 0x1e, 0x38, + 0x54, 0x0f, 0x13, 0x33, 0x47, 0x2a, 0x1f, 0x36, + 0x2e, 0x04, 0x02, 0x1f, 0x30, 0x2e, 0x04, 0x09, + 0x0f, 0x3a, 0x41, 0x09, 0x26, 0x32, 0x37, 0x18, + 0xe0, 0x09, 0xc6, 0x0d, 0x03, 0xf9, 0x55, 0x0e, + 0x8a, 0x20, 0x04, 0xd0, 0x57, 0x04, 0x58, 0x5d, + 0x1f, 0x38, 0x20, 0x20, 0x06, 0x09, 0x47, 0x20, + 0x02, 0x98, 0x70, 0x13, 0x7d, 0xd3, 0xae, 0x1f, + 0x30, 0x35, 0x1f, 0x08, 0x03, 0xc3, 0x88, 0x0f, + 0x3f, 0x00, 0x02, 0x0f, 0x6c, 0x00, 0x06, 0x09, + 0x3f, 0x20, 0x01, 0x06, 0x00, 0x15, 0x31, 0x6c, + 0x00, 0x0f, 0x8e, 0x20, 0x0d, 0x18, 0x39, 0x8e, + 0x20, 0x0e, 0x49, 0x00, 0x0f, 0xa9, 0x41, 0x07, + 0x0a, 0x41, 0x20, 0x01, 0x06, 0x00, 0x16, 0x39, + 0x76, 0x00, 0x0f, 0x90, 0x20, 0x0c, 0x18, 0x39, + 0x90, 0x20, 0x0e, 0x49, 0x00, 0x0f, 0xa9, 0x41, + 0x07, 0x0a, 0x43, 0x20, 0x02, 0x8a, 0x43, 0x06, + 0x76, 0x00, 0x0f, 0x92, 0x20, 0x0c, 0x18, 0x39, + 0x92, 0x20, 0x0f, 0x49, 0x00, 0x01, 0x0f, 0xf2, + 0x7c, 0x0c, 0x0f, 0x0c, 0x76, 0x0c, 0x09, 0x23, + 0x00, 0x0f, 0xf2, 0x7c, 0x05, 0x0e, 0x0c, 0x76, + 0x0f, 0x29, 0x00, 0x14, 0x0f, 0xf2, 0x7c, 0x06, + 0x0f, 0x0c, 0x76, 0x12, 0x2f, 0x69, 0x6e, 0x0c, + 0x76, 0x61, 0x2f, 0x69, 0x6e, 0x0c, 0x76, 0x1e, + 0x2f, 0x69, 0x6e, 0x0c, 0x76, 0x1e, 0x2f, 0x69, + 0x6e, 0x0c, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x13, 0x1f, + 0x39, 0x0c, 0x76, 0x7f, 0x1f, 0x39, 0x0c, 0x76, + 0x34, 0x14, 0x39, 0xff, 0x1d, 0x1f, 0x39, 0x0c, + 0x76, 0x30, 0x1f, 0x39, 0x0c, 0x76, 0xff, 0x51, + 0x1f, 0x39, 0x0c, 0x76, 0x5f, 0x1f, 0x39, 0x0c, + 0x76, 0xff, 0xff, 0xff, 0x47, 0x1f, 0x39, 0x0c, + 0x76, 0x7f, 0x1f, 0x39, 0x0c, 0x76, 0x28, 0x1f, + 0x38, 0x0c, 0x76, 0x09, 0x1f, 0x37, 0x0c, 0x76, + 0x09, 0x1e, 0x36, 0xd3, 0x75, 0x0f, 0x29, 0x76, + 0x1a, 0x1f, 0x36, 0x29, 0x76, 0x13, 0x1c, 0x37, + 0x1e, 0x75, 0x0e, 0x0b, 0x76, 0x0e, 0x47, 0x76, + 0x0e, 0x0c, 0x76, 0x0e, 0x75, 0x0e, 0x09, 0xd2, + 0x75, 0x1f, 0x39, 0x2a, 0x76, 0x10, 0x04, 0x31, + 0x00, 0x0b, 0x31, 0x76, 0x1f, 0x7d, 0x0c, 0x76, + 0x0a, 0x1f, 0x36, 0x0c, 0x76, 0x0a, 0x1f, 0x35, + 0x0c, 0x76, 0x0a, 0x1f, 0x34, 0xd1, 0x75, 0x0a, + 0x1f, 0x33, 0x2a, 0x76, 0x11, 0x02, 0x32, 0x00, + 0x0c, 0x31, 0x76, 0x1f, 0x7d, 0x0c, 0x76, 0x0a, + 0x1f, 0x39, 0x0c, 0x76, 0x0a, 0x1f, 0x38, 0x0c, + 0x76, 0x0a, 0x1f, 0x37, 0x0c, 0x76, 0x24, 0x2f, + 0x33, 0x36, 0x0b, 0x76, 0xff, 0xff, 0x5a, 0x2f, + 0x69, 0x6e, 0x0b, 0x76, 0x0e, 0x09, 0x23, 0x00, + 0x0f, 0xd2, 0x18, 0x0c, 0x0f, 0xc4, 0x95, 0x0f, + 0x0f, 0x0b, 0x76, 0x12, 0x0e, 0x29, 0x00, 0x0f, + 0xd2, 0x18, 0x0f, 0x0f, 0x0b, 0x76, 0x5a, 0x2f, + 0x69, 0x6e, 0x0b, 0x76, 0x1f, 0x2f, 0x69, 0x6e, + 0x0b, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xba, 0x2f, 0x34, 0x30, 0x0b, + 0x76, 0x64, 0x2f, 0x34, 0x30, 0x0b, 0x76, 0x31, + 0x12, 0x34, 0x90, 0xb7, 0x01, 0x09, 0x00, 0x0f, + 0x0b, 0x76, 0x31, 0x2f, 0x34, 0x30, 0x0b, 0x76, + 0xff, 0x4d, 0x2f, 0x34, 0x30, 0x0b, 0x76, 0x5c, + 0x2f, 0x34, 0x30, 0x0b, 0x76, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x36, 0x2f, 0x34, 0x30, + 0x0b, 0x76, 0x4b, 0x2f, 0x69, 0x6e, 0x0b, 0x76, + 0x9a, 0x2f, 0x34, 0x30, 0x0b, 0x76, 0x92, 0x1e, + 0x33, 0xdd, 0x75, 0x0f, 0x2b, 0x76, 0x1f, 0x1e, + 0x33, 0x2b, 0x76, 0x0e, 0x0b, 0x76, 0x0e, 0x0d, + 0x12, 0x0e, 0xdb, 0x75, 0x1f, 0x34, 0x2b, 0x76, + 0x13, 0x04, 0x35, 0x00, 0x2f, 0x34, 0x7d, 0x0b, + 0x76, 0x0c, 0x1f, 0x37, 0xdb, 0x75, 0x0c, 0x1f, + 0x36, 0x2b, 0x76, 0x13, 0x04, 0x35, 0x00, 0x2f, + 0x36, 0x7d, 0x0b, 0x76, 0x0c, 0x1f, 0x38, 0x0b, + 0x76, 0x19, 0x2f, 0x32, 0x31, 0x0a, 0x76, 0xfe, + 0x0e, 0xec, 0x03, 0x0f, 0x0a, 0x76, 0xff, 0xff, + 0x48, 0x2f, 0x69, 0x6e, 0x0a, 0x76, 0x0e, 0x09, + 0x23, 0x00, 0x0f, 0x05, 0x1c, 0x0b, 0x0f, 0x68, + 0xb9, 0x10, 0x0f, 0x0a, 0x76, 0x12, 0x0e, 0x29, + 0x00, 0x0f, 0x05, 0x1c, 0x0e, 0x0f, 0x0a, 0x76, + 0x6e, 0x0f, 0x06, 0x01, 0x02, 0x0f, 0xb9, 0x34, + 0x15, 0x0f, 0x0a, 0x76, 0x16, 0x2f, 0x69, 0x6e, + 0x0a, 0x76, 0x1e, 0x2f, 0x69, 0x6e, 0x0a, 0x76, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x59, 0x2f, 0x34, 0x31, 0x0a, 0x76, 0x95, + 0x2f, 0x34, 0x31, 0x0a, 0x76, 0x4e, 0x24, 0x34, + 0x31, 0x62, 0x24, 0x1f, 0x31, 0x0a, 0x76, 0x28, + 0x2f, 0x34, 0x31, 0x0a, 0x76, 0xff, 0x1a, 0x2f, + 0x34, 0x31, 0x0a, 0x76, 0xcc, 0x2f, 0x34, 0x31, + 0x0a, 0x76, 0xff, 0xff, 0xff, 0xff, 0x13, 0x2f, + 0x34, 0x31, 0x0a, 0x76, 0x95, 0x2f, 0x34, 0x31, + 0x0a, 0x76, 0x28, 0x1f, 0x34, 0x0a, 0x76, 0x09, + 0x1f, 0x33, 0x0a, 0x76, 0x09, 0x0d, 0x27, 0x76, + 0x09, 0x30, 0x74, 0x0f, 0x03, 0x76, 0x41, 0x1f, + 0x38, 0x03, 0x76, 0x09, 0x1f, 0x37, 0x03, 0x76, + 0x09, 0x1f, 0x36, 0x03, 0x76, 0x09, 0x1f, 0x35, + 0x03, 0x76, 0x45, 0x1f, 0x32, 0x03, 0x76, 0x0a, + 0x1f, 0x31, 0x03, 0x76, 0x09, 0x0e, 0x21, 0x76, + 0x1b, 0x37, 0x21, 0x76, 0x0f, 0x04, 0x76, 0x42, + 0x1f, 0x36, 0x04, 0x76, 0x0a, 0x1f, 0x35, 0x04, + 0x76, 0x0a, 0x1f, 0x34, 0x04, 0x76, 0x0a, 0x1f, + 0x33, 0x04, 0x76, 0xff, 0xff, 0x74, 0x07, 0xb8, + 0x1e, 0x0f, 0xa0, 0x3c, 0x0f, 0x0f, 0x64, 0xd2, + 0x08, 0x0e, 0x04, 0x76, 0x0f, 0x29, 0x00, 0x14, + 0x0f, 0x9b, 0x20, 0x0d, 0x0f, 0xa0, 0x3c, 0x15, + 0x0f, 0x04, 0x76, 0x6e, 0x2f, 0x69, 0x6e, 0x04, + 0x76, 0x1e, 0x0e, 0xe7, 0x00, 0x0f, 0x68, 0x20, + 0x19, 0x0f, 0x04, 0x76, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x66, 0x2f, 0x34, 0x32, 0x04, 0x76, 0x7e, + 0x2f, 0x34, 0x32, 0x04, 0x76, 0x56, 0x24, 0x34, + 0x32, 0x73, 0x1c, 0x1f, 0x32, 0x04, 0x76, 0x29, + 0x2f, 0x34, 0x32, 0x04, 0x76, 0xff, 0x34, 0x2f, + 0x34, 0x32, 0x04, 0x76, 0xb5, 0x2f, 0x34, 0x32, + 0x04, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x1e, 0x2f, 0x34, 0x32, 0x04, 0x76, 0x49, + 0x2f, 0x69, 0x6e, 0x04, 0x76, 0xaf, 0x2f, 0x34, + 0x32, 0x04, 0x76, 0x98, 0x1e, 0x32, 0x04, 0x76, + 0x0b, 0x22, 0x76, 0x0f, 0xf6, 0x75, 0x33, 0x1f, + 0x34, 0xf6, 0x75, 0x0a, 0x1f, 0x33, 0xf6, 0x75, + 0x39, 0x1f, 0x36, 0xf6, 0x75, 0x0a, 0x1f, 0x35, + 0xf6, 0x75, 0x39, 0x1f, 0x38, 0xf6, 0x75, 0x0a, + 0x1f, 0x37, 0xf6, 0x75, 0xff, 0x40, 0x2f, 0x69, + 0x6e, 0xf6, 0x75, 0xff, 0xff, 0x44, 0x82, 0x63, + 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x64, + 0xf1, 0x0d, 0x80, 0x20, 0x0a, 0x1f, 0x00, 0x0b, + 0x7c, 0x20, 0x0a, 0x1d, 0x00, 0x0e, 0x78, 0x20, + 0x0f, 0x25, 0x00, 0x07, 0x0c, 0x74, 0x20, 0x0f, + 0x25, 0x00, 0x02, 0x1f, 0x32, 0x4a, 0x00, 0x11, + 0x0f, 0x6c, 0x20, 0x03, 0x1e, 0x38, 0x6b, 0x20, + 0x2f, 0x35, 0x34, 0xf0, 0x40, 0x01, 0x1f, 0x30, + 0xe4, 0xf2, 0x08, 0x0e, 0xdf, 0x00, 0x0f, 0x81, + 0xfa, 0x0a, 0x0f, 0xe9, 0x00, 0x03, 0x0f, 0x0f, + 0xf3, 0x06, 0x0f, 0xce, 0x00, 0x03, 0x0f, 0xd9, + 0xf2, 0x1d, 0x18, 0x31, 0xb5, 0x45, 0x0e, 0xc2, + 0xf2, 0x04, 0x49, 0x1f, 0x1f, 0x34, 0xc2, 0xf2, + 0x16, 0x07, 0xd4, 0xfe, 0x05, 0xb7, 0xf2, 0x08, + 0x6b, 0x11, 0x03, 0x0e, 0x71, 0x00, 0xc6, 0x1e, + 0x01, 0x09, 0x16, 0x15, 0x66, 0x6e, 0x00, 0x06, + 0x4f, 0x1f, 0x3c, 0x38, 0x2c, 0x20, 0x12, 0x71, + 0x07, 0x4f, 0x1f, 0x0b, 0x36, 0x00, 0x15, 0x39, + 0x85, 0x1f, 0x1d, 0x36, 0x37, 0x00, 0x17, 0x33, + 0x8e, 0xf7, 0x04, 0xa4, 0x52, 0x09, 0x4e, 0x1f, + 0x00, 0x88, 0x00, 0x0b, 0x39, 0x63, 0x07, 0xee, + 0xef, 0x1f, 0x33, 0x36, 0x1f, 0x01, 0x04, 0xc4, + 0x54, 0x08, 0x0f, 0x1e, 0x0e, 0x62, 0xf9, 0x08, + 0x49, 0x3f, 0x06, 0xb7, 0x52, 0x08, 0x34, 0x00, + 0x1f, 0x34, 0x82, 0x71, 0x06, 0x16, 0x33, 0x79, + 0x6f, 0x08, 0x31, 0x00, 0x09, 0x63, 0xf9, 0x0e, + 0xeb, 0x3e, 0x06, 0x67, 0x5c, 0x08, 0xb3, 0x00, + 0x14, 0x37, 0xeb, 0x3e, 0x0e, 0xb0, 0x3e, 0x06, + 0x9b, 0x00, 0x1f, 0x37, 0x88, 0x00, 0x03, 0x12, + 0x38, 0x96, 0x36, 0x0e, 0xf9, 0x51, 0x0f, 0xa9, + 0x21, 0x04, 0x2e, 0x32, 0x35, 0xd0, 0x2d, 0x02, + 0xa4, 0x0d, 0x0c, 0xfd, 0x4b, 0x03, 0x38, 0xf8, + 0x00, 0x09, 0x00, 0x2f, 0x31, 0x3a, 0x50, 0xf2, + 0x08, 0x02, 0xa8, 0x0a, 0x03, 0xf2, 0x0b, 0x0e, + 0x04, 0x3e, 0x07, 0x12, 0x6b, 0x08, 0xf5, 0x01, + 0x16, 0x35, 0xdb, 0x00, 0x2e, 0x33, 0x34, 0xa7, + 0x6e, 0x02, 0x69, 0x11, 0x00, 0x77, 0x1d, 0x01, + 0x03, 0xfd, 0x0e, 0x1e, 0x00, 0x03, 0xcd, 0x70, + 0x0c, 0x19, 0x75, 0x26, 0x35, 0x33, 0xa5, 0x11, + 0x1f, 0x33, 0x22, 0x18, 0x09, 0x0b, 0x41, 0x01, + 0x1b, 0x35, 0x47, 0x02, 0x02, 0x9a, 0x0d, 0x0f, + 0x48, 0x01, 0x03, 0x05, 0x1b, 0x00, 0x03, 0xd7, + 0x70, 0x00, 0xe3, 0x2f, 0x07, 0x36, 0x01, 0x14, + 0x31, 0x36, 0x01, 0x2a, 0x32, 0x3a, 0xf3, 0x00, + 0x05, 0x0a, 0x41, 0x1e, 0x2d, 0x98, 0x33, 0x03, + 0xcf, 0x65, 0x02, 0x91, 0x79, 0x0c, 0x3c, 0x55, + 0x20, 0x33, 0x5f, 0xf6, 0xfa, 0x0f, 0x87, 0x79, + 0x0b, 0x19, 0x32, 0x35, 0x06, 0x05, 0x32, 0x06, + 0x15, 0x37, 0xde, 0x00, 0x12, 0x0a, 0x49, 0x00, + 0x0b, 0x57, 0x68, 0x16, 0x31, 0xbf, 0x0e, 0x1f, + 0x34, 0x7c, 0xf5, 0x08, 0x0e, 0x97, 0x61, 0x04, + 0x1b, 0x00, 0x0e, 0xc1, 0x75, 0x05, 0x1b, 0x00, + 0x0e, 0xc3, 0x14, 0x02, 0x1d, 0x00, 0x05, 0xad, + 0x55, 0x17, 0x34, 0xe2, 0x00, 0x1f, 0x36, 0xe2, + 0x00, 0x08, 0x03, 0x92, 0x4b, 0x0f, 0xfb, 0x24, + 0x07, 0x0f, 0x81, 0xf3, 0x11, 0x0e, 0x1d, 0x01, + 0x02, 0x42, 0xf3, 0x02, 0xf6, 0x03, 0x12, 0x0a, + 0x85, 0x00, 0x1c, 0x3a, 0xb2, 0x00, 0x03, 0x72, + 0x22, 0x05, 0x9f, 0x67, 0x08, 0x06, 0xfd, 0x22, + 0x34, 0x33, 0x57, 0x15, 0x08, 0x98, 0x04, 0x18, + 0x35, 0x7d, 0x23, 0x0e, 0xdb, 0x4a, 0x08, 0x4a, + 0x5d, 0x0f, 0x54, 0x19, 0x09, 0x03, 0xce, 0x22, + 0x0e, 0x3a, 0x5c, 0x05, 0x3d, 0x00, 0x0f, 0xf0, + 0x01, 0x04, 0x03, 0xfb, 0xfd, 0x24, 0x34, 0x35, + 0xd3, 0x00, 0x2f, 0x38, 0x3a, 0x33, 0x57, 0x03, + 0x03, 0xef, 0x23, 0x0b, 0x36, 0x57, 0x00, 0xbf, + 0x02, 0x1c, 0x30, 0xd4, 0x00, 0x14, 0x38, 0xd4, + 0x00, 0x1f, 0x32, 0xd4, 0x00, 0x08, 0x1f, 0x34, + 0xd4, 0x00, 0x08, 0x03, 0x68, 0x6c, 0x0e, 0xd4, + 0x00, 0x04, 0xc2, 0x19, 0x17, 0x34, 0xf1, 0x6f, + 0x0e, 0xd4, 0x00, 0x01, 0x21, 0x0d, 0x02, 0xd6, + 0x32, 0x13, 0x0a, 0xa3, 0x00, 0x0d, 0xd5, 0x00, + 0x05, 0x32, 0x26, 0x02, 0xcb, 0x03, 0x00, 0xd5, + 0x00, 0x18, 0x37, 0xd5, 0x00, 0x1b, 0x32, 0xd5, + 0x00, 0x03, 0x0c, 0x6c, 0x00, 0xf0, 0x16, 0x0f, + 0xd5, 0x00, 0x08, 0x1f, 0x37, 0xd5, 0x00, 0x08, + 0x14, 0x38, 0x72, 0x00, 0x1f, 0x34, 0xc6, 0x35, + 0x04, 0x13, 0x37, 0xcd, 0x35, 0x0f, 0xd5, 0x00, + 0x04, 0x22, 0x39, 0x5d, 0x1c, 0x33, 0x05, 0xd5, + 0x00, 0x2f, 0x32, 0x3a, 0xbc, 0x09, 0x0b, 0x01, + 0x18, 0x0c, 0x0e, 0xbc, 0x09, 0x09, 0x1f, 0x00, + 0x0e, 0xbc, 0x09, 0x07, 0x1d, 0x00, 0x0f, 0xbc, + 0x09, 0x0d, 0x08, 0x25, 0x00, 0x1f, 0x31, 0x25, + 0x00, 0x11, 0x1f, 0x32, 0x25, 0x00, 0x11, 0x0f, + 0xc3, 0x4a, 0x04, 0x2e, 0x32, 0x3e, 0x28, 0x2a, + 0x3e, 0x34, 0x35, 0x3e, 0xbe, 0x09, 0x1f, 0x36, + 0xbe, 0x09, 0x05, 0x00, 0x2b, 0x1e, 0x0e, 0xe1, + 0x00, 0x0f, 0xbe, 0x09, 0x06, 0x1e, 0x39, 0x2f, + 0x00, 0x0f, 0xbe, 0x09, 0x09, 0x1e, 0x36, 0x2f, + 0x00, 0x0f, 0x3a, 0x2a, 0x09, 0x1e, 0x37, 0x2f, + 0x00, 0x0f, 0xed, 0x09, 0x0f, 0x06, 0xd0, 0x51, + 0x0f, 0x57, 0x2a, 0x11, 0x23, 0x35, 0x36, 0x3e, + 0x05, 0x1f, 0x37, 0x57, 0x2a, 0x12, 0x16, 0x33, + 0x4b, 0x13, 0x0f, 0xb8, 0x03, 0x09, 0x03, 0x27, + 0x05, 0x0f, 0x64, 0x3a, 0x07, 0x0e, 0x39, 0x67, + 0x06, 0x40, 0x75, 0x04, 0x89, 0x4f, 0x0f, 0x59, + 0x7f, 0x20, 0x02, 0xbc, 0x1e, 0x0c, 0x1d, 0x71, + 0x0c, 0xbe, 0x5c, 0x05, 0xfe, 0x54, 0x0d, 0x89, + 0x0a, 0x15, 0x36, 0x62, 0x14, 0x0e, 0x89, 0x0a, + 0x07, 0x5e, 0x7e, 0x1b, 0x34, 0x36, 0x00, 0x02, + 0x91, 0x00, 0x0f, 0x89, 0x0a, 0x03, 0x07, 0x5b, + 0x4f, 0x05, 0x7b, 0x74, 0x06, 0x09, 0x16, 0x03, + 0x88, 0x00, 0x0b, 0x26, 0x07, 0x08, 0x89, 0x4f, + 0x1b, 0x3b, 0x27, 0x1e, 0x14, 0x39, 0xfd, 0x00, + 0x02, 0xbd, 0x00, 0x0c, 0x8a, 0x7d, 0x03, 0xa0, + 0x2f, 0x0a, 0xa1, 0x00, 0x24, 0x37, 0x30, 0x35, + 0x00, 0x0e, 0xd7, 0x00, 0x07, 0xd0, 0x2f, 0x1b, + 0x38, 0x36, 0x00, 0x14, 0x31, 0x36, 0x00, 0x0e, + 0xd7, 0x00, 0x04, 0x77, 0xfd, 0x02, 0x5c, 0x54, + 0x0a, 0xd8, 0x00, 0x25, 0x37, 0x32, 0xa3, 0x00, + 0x0c, 0xfe, 0x07, 0x07, 0xb9, 0x0f, 0x1c, 0x31, + 0x96, 0x01, 0x24, 0x37, 0x33, 0xd1, 0x01, 0x0d, + 0xda, 0x00, 0x13, 0x31, 0xeb, 0x0f, 0x05, 0xbe, + 0x6f, 0x08, 0xa6, 0x00, 0x14, 0x34, 0x37, 0x00, + 0x1e, 0x38, 0xa5, 0x00, 0x17, 0x33, 0x0a, 0x7d, + 0x1b, 0x32, 0x38, 0x00, 0x14, 0x35, 0x38, 0x00, + 0x0f, 0xde, 0x00, 0x01, 0x07, 0x9b, 0x50, 0x2b, + 0x31, 0x33, 0xdf, 0x00, 0x15, 0x36, 0xa8, 0x00, + 0x0c, 0xdf, 0x00, 0x07, 0xcb, 0x50, 0x2c, 0x31, + 0x34, 0xdf, 0x00, 0x05, 0x01, 0x37, 0x0e, 0xdf, + 0x00, 0x03, 0xfd, 0x50, 0x05, 0xeb, 0x6f, 0x08, + 0xa7, 0x00, 0x14, 0x38, 0x37, 0x00, 0x1e, 0x38, + 0xa6, 0x00, 0x07, 0x18, 0x31, 0x2b, 0x31, 0x36, + 0x38, 0x00, 0x05, 0x43, 0x52, 0x0f, 0xdf, 0x00, + 0x01, 0x07, 0xd1, 0x10, 0x2a, 0x31, 0x37, 0xdf, + 0x00, 0x25, 0x38, 0x30, 0xa8, 0x00, 0x0c, 0xdf, + 0x00, 0x07, 0x01, 0x11, 0x2a, 0x31, 0x38, 0x47, + 0x04, 0x14, 0x38, 0x15, 0x62, 0x0b, 0x06, 0x0c, + 0x1e, 0x38, 0x20, 0x0d, 0x07, 0x85, 0x0d, 0x03, + 0x8c, 0x51, 0x0f, 0x70, 0x7e, 0x04, 0x23, 0x30, + 0x5d, 0xad, 0x74, 0x0f, 0x1f, 0x00, 0x04, 0x05, + 0xc3, 0x7a, 0x0f, 0x40, 0x41, 0x0a, 0x04, 0x89, + 0x00, 0x03, 0xc2, 0x7a, 0x1f, 0x30, 0x8e, 0x7e, + 0x06, 0x00, 0x06, 0x19, 0x06, 0x58, 0x00, 0x0e, + 0x86, 0x4d, 0x06, 0x35, 0x52, 0x0f, 0x01, 0x0c, + 0x11, 0x16, 0x30, 0x61, 0x7b, 0x1f, 0x31, 0x9e, + 0x00, 0x10, 0x16, 0x35, 0x9e, 0x00, 0x1f, 0x34, + 0x9e, 0x00, 0x03, 0x1f, 0x36, 0x9e, 0x00, 0x08, + 0x18, 0x32, 0x57, 0x82, 0x0f, 0x9e, 0x00, 0x1c, + 0x1f, 0x32, 0x9e, 0x00, 0x10, 0x14, 0x37, 0x7c, + 0x00, 0x0f, 0x86, 0x7e, 0x05, 0x2f, 0x38, 0x38, + 0x9e, 0x00, 0x08, 0x18, 0x33, 0xc8, 0x12, 0x0f, + 0x9e, 0x00, 0x1c, 0x1f, 0x33, 0x9e, 0x00, 0x10, + 0x15, 0x39, 0x9e, 0x00, 0x0e, 0x82, 0x7e, 0x05, + 0x08, 0x59, 0x0e, 0x9e, 0x00, 0x08, 0x56, 0x2e, + 0x02, 0xfe, 0x5e, 0x2f, 0x39, 0x30, 0x9e, 0x00, + 0x1c, 0x0f, 0x21, 0x7f, 0x10, 0x25, 0x39, 0x31, + 0x9e, 0x00, 0x0e, 0x7e, 0x7e, 0x05, 0xd7, 0x59, + 0x0f, 0x9e, 0x00, 0x06, 0x1b, 0x35, 0xc2, 0x59, + 0x0f, 0x9e, 0x00, 0x19, 0x1f, 0x35, 0x9e, 0x00, + 0x10, 0x05, 0x16, 0x03, 0x0f, 0x7a, 0x7e, 0x05, + 0x1f, 0x39, 0x16, 0x03, 0x09, 0x18, 0x36, 0x98, + 0x84, 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x36, 0x9e, + 0x00, 0x10, 0x05, 0x16, 0x03, 0x0f, 0x76, 0x7e, + 0x05, 0x1f, 0x39, 0x16, 0x03, 0x09, 0x1b, 0x37, + 0x64, 0x58, 0x0f, 0x9e, 0x00, 0x19, 0x1f, 0x37, + 0xb3, 0x26, 0x1a, 0x1f, 0x33, 0xb3, 0x26, 0x11, + 0x1f, 0x33, 0x49, 0x67, 0x19, 0x1f, 0x34, 0x95, + 0x7e, 0x03, 0x02, 0x79, 0x09, 0x0c, 0x1b, 0x66, + 0x04, 0x15, 0x0c, 0x1e, 0x36, 0x1e, 0x43, 0x05, + 0x3a, 0x43, 0x1f, 0x37, 0xb3, 0x26, 0x18, 0x1e, + 0x35, 0xa1, 0x1b, 0x02, 0x93, 0x00, 0x0a, 0xa1, + 0x1b, 0x00, 0x49, 0x12, 0x7e, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x53, 0x5a, 0x46, 0x5a, 0x02, 0x1f, + 0x00, 0x01, 0x94, 0x10, 0x0e, 0xc8, 0x7e, 0x03, + 0x21, 0x00, 0x0b, 0x4b, 0x7c, 0x02, 0xd5, 0x20, + 0x03, 0xea, 0x7e, 0x1f, 0x38, 0xce, 0x14, 0x0d, + 0x1b, 0x37, 0xe7, 0x26, 0x14, 0x34, 0xe7, 0x26, + 0x5b, 0x34, 0x5f, 0x34, 0x31, 0x3a, 0xce, 0x07, + 0x16, 0x33, 0xed, 0x7e, 0x03, 0x50, 0x06, 0x0d, + 0x78, 0x00, 0x04, 0x7f, 0x00, 0x14, 0x38, 0x46, + 0x00, 0x1e, 0x33, 0xef, 0x26, 0x04, 0x89, 0x33, + 0x0d, 0xfe, 0x18, 0x06, 0xd1, 0x26, 0x0e, 0xef, + 0x26, 0x05, 0xc1, 0x79, 0x03, 0x17, 0x0e, 0x0e, + 0xd6, 0x0d, 0x04, 0xef, 0x26, 0x1f, 0x32, 0xef, + 0x26, 0x0d, 0x13, 0x38, 0xe6, 0x0a, 0x1f, 0x39, + 0xee, 0x7e, 0x16, 0x1f, 0x38, 0xb8, 0x7e, 0x16, + 0x2f, 0x39, 0x39, 0x86, 0x67, 0x14, 0x1d, 0x39, + 0x4a, 0x12, 0x1f, 0x34, 0xb6, 0x7e, 0x31, 0x2c, + 0x39, 0x39, 0x4b, 0x68, 0x04, 0xc3, 0x00, 0x0f, + 0x99, 0x7f, 0x0a, 0x1f, 0x33, 0xeb, 0x7e, 0x17, + 0x01, 0x1a, 0x02, 0x0c, 0xec, 0x7e, 0x2e, 0x30, + 0x32, 0xec, 0x7e, 0x03, 0x26, 0x1e, 0x0d, 0xec, + 0x7e, 0x29, 0x30, 0x34, 0x42, 0x1e, 0x1f, 0x32, + 0xec, 0x7e, 0x0a, 0x2b, 0x30, 0x34, 0xec, 0x7e, + 0x2f, 0x30, 0x35, 0xec, 0x7e, 0x0a, 0x2e, 0x30, + 0x36, 0xec, 0x7e, 0x04, 0xfb, 0x1b, 0x16, 0x35, + 0xb9, 0x02, 0x0c, 0x55, 0x1c, 0x0e, 0x84, 0x1c, + 0x0f, 0xec, 0x7e, 0x0b, 0x25, 0x31, 0x31, 0xec, + 0x7e, 0x07, 0x7b, 0x1c, 0x05, 0xd6, 0x00, 0x1d, + 0x39, 0x8f, 0x89, 0x09, 0x87, 0x87, 0x2e, 0x30, + 0x37, 0x61, 0x1d, 0x0f, 0xeb, 0x7e, 0x09, 0x25, + 0x31, 0x34, 0xeb, 0x7e, 0x07, 0x72, 0x1d, 0x0e, + 0x6e, 0x00, 0x0c, 0x91, 0x2a, 0x1f, 0x34, 0x61, + 0x1d, 0x03, 0x04, 0x90, 0x18, 0x0f, 0x6e, 0x00, + 0x05, 0x16, 0x37, 0xea, 0x7e, 0x05, 0xf4, 0x86, + 0x0f, 0x6f, 0x00, 0x0a, 0x19, 0x38, 0x7e, 0x86, + 0x1f, 0x35, 0x5b, 0x00, 0x08, 0x16, 0x39, 0xe9, + 0x7e, 0x04, 0x69, 0x47, 0x1f, 0x38, 0x5b, 0x00, + 0x09, 0x28, 0x32, 0x30, 0x37, 0x86, 0x06, 0x46, + 0x72, 0x07, 0xf3, 0x85, 0x0f, 0xe8, 0x7e, 0x08, + 0x26, 0x32, 0x32, 0xe8, 0x7e, 0x04, 0x18, 0x58, + 0x1f, 0x31, 0x6f, 0x00, 0x0a, 0x03, 0x2d, 0x55, + 0x04, 0x33, 0x00, 0x0f, 0xe7, 0x7e, 0x06, 0x16, + 0x32, 0x39, 0x67, 0x04, 0x35, 0x00, 0x1e, 0x30, + 0x24, 0x01, 0x0d, 0xe6, 0x7e, 0x03, 0x7d, 0x37, + 0x0e, 0xa8, 0x06, 0x03, 0x04, 0x2a, 0x09, 0x9c, + 0x03, 0x14, 0x31, 0x29, 0x42, 0x1e, 0x3b, 0x45, + 0x07, 0x1e, 0x36, 0x00, 0x7f, 0x07, 0x38, 0x1e, + 0x0e, 0xc2, 0x06, 0x06, 0x76, 0x42, 0x1f, 0x37, + 0x5a, 0x42, 0x18, 0x0f, 0x6a, 0x24, 0x0b, 0x02, + 0x84, 0x45, 0x16, 0x6e, 0x10, 0x11, 0x09, 0x4a, + 0x01, 0x13, 0x37, 0xee, 0x7f, 0x0e, 0x52, 0x17, + 0x05, 0x99, 0x2a, 0x03, 0xe1, 0x00, 0x06, 0xb8, + 0x07, 0x1c, 0x35, 0x11, 0x01, 0x1e, 0x73, 0x9c, + 0x13, 0x24, 0x34, 0x5d, 0xfb, 0x00, 0x12, 0x0a, + 0x28, 0x00, 0x1a, 0x3a, 0xf1, 0x18, 0x07, 0x09, + 0x2a, 0x1c, 0x31, 0x85, 0x01, 0x16, 0x38, 0x5d, + 0x2a, 0x2e, 0x34, 0x3b, 0x00, 0x18, 0x04, 0x37, + 0x68, 0x0e, 0x8a, 0x91, 0x05, 0x93, 0x2a, 0x0b, + 0x1b, 0x00, 0x16, 0x31, 0x1b, 0x00, 0x1b, 0x37, + 0x1b, 0x00, 0x16, 0x32, 0x1b, 0x00, 0x0b, 0x37, + 0x0e, 0x03, 0x47, 0x07, 0x02, 0x58, 0x09, 0x0b, + 0x1b, 0x00, 0x07, 0xbe, 0x68, 0x0c, 0x42, 0x7f, + 0x12, 0x34, 0x13, 0x51, 0x0e, 0xb7, 0x8d, 0x05, + 0xa9, 0x48, 0x1e, 0x33, 0x59, 0x59, 0x03, 0xaf, + 0x48, 0x05, 0x1c, 0x00, 0x2e, 0x33, 0x3b, 0x3f, + 0x16, 0x04, 0x1c, 0x00, 0x0c, 0xc7, 0x1b, 0x07, + 0x13, 0x01, 0x0c, 0x3a, 0x7f, 0x17, 0x35, 0x14, + 0x01, 0x0c, 0x74, 0x7f, 0x17, 0x35, 0x15, 0x01, + 0x0c, 0xdf, 0x6f, 0x17, 0x35, 0x16, 0x01, 0x0c, + 0xfc, 0x0e, 0x23, 0x35, 0x33, 0xd2, 0x12, 0x0e, + 0x18, 0x4a, 0x03, 0xbd, 0x68, 0x05, 0x8c, 0x06, + 0x18, 0x31, 0x8d, 0x06, 0x02, 0x14, 0x17, 0x0e, + 0x5b, 0x7a, 0x05, 0xdb, 0x00, 0x0f, 0x65, 0x21, + 0x04, 0x03, 0x6d, 0x08, 0x0e, 0x03, 0x16, 0x06, + 0x2b, 0x21, 0x06, 0x9d, 0x19, 0x1e, 0x34, 0xd8, + 0x16, 0x05, 0x75, 0x2c, 0x18, 0x38, 0x19, 0x1a, + 0x07, 0x2c, 0x46, 0x1e, 0x34, 0xda, 0x16, 0x04, + 0x1d, 0x48, 0x03, 0x7e, 0x3b, 0x0e, 0xad, 0x26, + 0x14, 0x30, 0x52, 0x00, 0x1c, 0x34, 0x04, 0x0b, + 0x03, 0x5b, 0x18, 0x07, 0x53, 0x22, 0x0e, 0xb5, + 0x00, 0x22, 0x33, 0x31, 0xc9, 0x0f, 0x06, 0x7e, + 0x09, 0x01, 0xb9, 0x16, 0x0e, 0x1e, 0x4c, 0x04, + 0xf1, 0x02, 0x14, 0x34, 0x51, 0x01, 0x18, 0x38, + 0xb6, 0x00, 0x1d, 0x34, 0xb6, 0x00, 0x02, 0x2e, + 0x13, 0x04, 0xd3, 0x2d, 0x0d, 0xb6, 0x00, 0x14, + 0x32, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, 0x33, + 0xb6, 0x00, 0x1f, 0x32, 0xb6, 0x00, 0x04, 0x25, + 0x33, 0x5d, 0xf6, 0x86, 0x13, 0x0a, 0x82, 0x00, + 0x0e, 0xb6, 0x00, 0x17, 0x39, 0xd3, 0x47, 0x1d, + 0x31, 0x9d, 0x4c, 0x20, 0x34, 0x5f, 0x87, 0x02, + 0x0b, 0xb6, 0x12, 0x14, 0x30, 0xb6, 0x00, 0x1f, + 0x33, 0x19, 0x28, 0x07, 0x00, 0x52, 0x00, 0x0d, + 0xb6, 0x00, 0x18, 0x35, 0xb6, 0x00, 0x1f, 0x34, + 0xb6, 0x00, 0x04, 0x23, 0x35, 0x5d, 0xd7, 0x84, + 0x05, 0xb6, 0x00, 0x0e, 0xa2, 0x1a, 0x13, 0x32, + 0xb0, 0x00, 0x08, 0x53, 0x4d, 0x28, 0x32, 0x30, + 0xb6, 0x00, 0x1d, 0x38, 0xb6, 0x00, 0x05, 0xf6, + 0x1b, 0x1f, 0x34, 0xb6, 0x00, 0x02, 0x05, 0xc8, + 0x6b, 0x0d, 0xb6, 0x00, 0x18, 0x37, 0xb6, 0x00, + 0x1f, 0x36, 0xb6, 0x00, 0x04, 0x25, 0x37, 0x5d, + 0x43, 0x88, 0x13, 0x0a, 0x82, 0x00, 0x0e, 0xb6, + 0x00, 0x09, 0xad, 0x94, 0x03, 0xb6, 0x00, 0x09, + 0x55, 0x0d, 0x1d, 0x30, 0xb6, 0x00, 0x14, 0x32, + 0xb6, 0x00, 0x0e, 0xe8, 0x7d, 0x01, 0x2e, 0x7c, + 0x04, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, 0x39, 0xb6, 0x00, 0x1f, 0x38, 0xb6, 0x00, 0x04, 0x13, - 0x39, 0xb6, 0x00, 0x02, 0xf5, 0x1e, 0x01, 0x82, - 0x00, 0x0e, 0xb6, 0x00, 0x09, 0x9b, 0x38, 0x03, - 0xb6, 0x00, 0x18, 0x32, 0xb6, 0x00, 0x1d, 0x32, - 0xb6, 0x00, 0x14, 0x33, 0xb6, 0x00, 0x0f, 0x61, - 0x74, 0x03, 0x02, 0xbe, 0x01, 0x0e, 0x1c, 0x1b, - 0x05, 0x98, 0x74, 0x06, 0x92, 0x7a, 0x0f, 0xaa, - 0x06, 0x01, 0x25, 0x31, 0x5d, 0x8c, 0x2c, 0x13, - 0x0a, 0x82, 0x00, 0x0e, 0xb6, 0x00, 0x09, 0x4b, - 0x39, 0x03, 0xb6, 0x00, 0x18, 0x33, 0xb6, 0x00, - 0x1d, 0x34, 0xb6, 0x00, 0x05, 0x9a, 0x47, 0x1f, - 0x37, 0x17, 0x75, 0x07, 0x1e, 0x34, 0xfd, 0x1a, - 0x04, 0x18, 0x75, 0x0e, 0x17, 0x75, 0x09, 0xb6, - 0x00, 0x03, 0x8e, 0x03, 0x03, 0x62, 0x62, 0x01, - 0x82, 0x00, 0x0e, 0xb6, 0x00, 0x17, 0x34, 0x10, - 0x49, 0x13, 0x36, 0xb6, 0x00, 0x18, 0x34, 0xb6, - 0x00, 0x0e, 0x8e, 0x03, 0x02, 0x29, 0x16, 0x03, - 0xe9, 0x0a, 0x0e, 0xb6, 0x00, 0x05, 0x52, 0x00, - 0x0d, 0xb6, 0x00, 0x09, 0xa0, 0x3e, 0x1f, 0x34, - 0xb6, 0x00, 0x04, 0x04, 0x8e, 0x03, 0x15, 0x35, - 0xb6, 0x00, 0x0e, 0x8e, 0x03, 0x03, 0x82, 0x43, - 0x02, 0x42, 0x03, 0x04, 0xd2, 0x72, 0x18, 0x35, + 0x39, 0xb6, 0x00, 0x03, 0xf5, 0x1e, 0x00, 0x82, + 0x00, 0x0e, 0xb6, 0x00, 0x09, 0x5d, 0x95, 0x0c, + 0xde, 0x4d, 0x00, 0x34, 0x00, 0x0d, 0x8e, 0x03, + 0x03, 0x2c, 0x6f, 0x04, 0x0b, 0x6a, 0x0c, 0xb6, + 0x00, 0x03, 0x6e, 0x02, 0x1e, 0x33, 0xb6, 0x00, + 0x18, 0x34, 0x8e, 0x03, 0x04, 0x76, 0x56, 0x0d, + 0xaa, 0x06, 0x23, 0x31, 0x5d, 0x00, 0x87, 0x05, + 0xb6, 0x00, 0x0e, 0x8e, 0x03, 0x03, 0x84, 0x2d, + 0x02, 0x8c, 0x02, 0x04, 0xb1, 0x1e, 0x18, 0x33, + 0xb6, 0x00, 0x1d, 0x34, 0xb6, 0x00, 0x05, 0xd7, + 0x2c, 0x0f, 0x71, 0x42, 0x02, 0x03, 0xb8, 0x01, + 0x0e, 0xfd, 0x1a, 0x02, 0xb5, 0x3c, 0x05, 0xb6, + 0x00, 0x1f, 0x32, 0xb6, 0x00, 0x04, 0x25, 0x33, + 0x5d, 0x8f, 0x89, 0x13, 0x0a, 0x82, 0x00, 0x0e, + 0xb6, 0x00, 0x03, 0xb0, 0x00, 0x05, 0xef, 0x4e, + 0x10, 0x40, 0x14, 0x00, 0x08, 0xb6, 0x00, 0x0e, + 0x8e, 0x03, 0x02, 0x29, 0x16, 0x03, 0xe9, 0x0a, + 0x0e, 0xb6, 0x00, 0x05, 0x52, 0x00, 0x0d, 0xb6, + 0x00, 0x18, 0x35, 0xb6, 0x00, 0x1f, 0x34, 0xb6, + 0x00, 0x04, 0x04, 0x8e, 0x03, 0x15, 0x35, 0xb6, + 0x00, 0x1e, 0x36, 0xb6, 0x00, 0x03, 0xb0, 0x00, + 0x02, 0x17, 0x4c, 0x03, 0xb6, 0x00, 0x18, 0x35, 0xb6, 0x00, 0x0e, 0x8e, 0x03, 0x14, 0x36, 0xb6, 0x00, 0x1f, 0x39, 0xb6, 0x00, 0x02, 0x14, 0x36, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, 0x37, 0xb6, 0x00, 0x1f, 0x36, 0xb6, 0x00, 0x04, 0x04, 0x8e, 0x03, 0x15, 0x36, 0xb6, 0x00, 0x1e, 0x38, 0xb6, - 0x00, 0x17, 0x36, 0x59, 0x4a, 0x13, 0x38, 0xb6, + 0x00, 0x17, 0x36, 0xc7, 0x4c, 0x13, 0x38, 0xb6, 0x00, 0x18, 0x36, 0x36, 0x0e, 0x0e, 0x8e, 0x03, 0x15, 0x37, 0x66, 0x06, 0x1f, 0x30, 0xb7, 0x00, - 0x02, 0x05, 0xac, 0x4a, 0x0d, 0xb7, 0x00, 0x18, + 0x02, 0x05, 0xc1, 0x4e, 0x0d, 0xb7, 0x00, 0x18, 0x39, 0xb7, 0x00, 0x1f, 0x38, 0xb7, 0x00, 0x04, 0x04, 0x8f, 0x03, 0x15, 0x37, 0xe5, 0x0f, 0x1e, - 0x30, 0xb7, 0x00, 0x18, 0x37, 0xd1, 0x4a, 0x03, - 0xb7, 0x00, 0x18, 0x37, 0xb7, 0x00, 0x0e, 0x8f, - 0x03, 0x06, 0x1d, 0x07, 0x1f, 0x31, 0x4d, 0x25, - 0x02, 0x05, 0x24, 0x4b, 0x0d, 0x30, 0x51, 0x08, - 0x90, 0x03, 0x1f, 0x35, 0x90, 0x03, 0x04, 0x14, - 0x35, 0x90, 0x03, 0x06, 0x9c, 0x10, 0x1e, 0x32, - 0xb7, 0x00, 0x07, 0x82, 0x4b, 0x23, 0x35, 0x30, - 0xb7, 0x00, 0x18, 0x38, 0xb7, 0x00, 0x0e, 0x90, - 0x03, 0x05, 0x1e, 0x07, 0x02, 0x6a, 0x0d, 0x0d, - 0xb7, 0x00, 0x14, 0x32, 0x53, 0x00, 0x0d, 0xb7, - 0x00, 0x18, 0x33, 0xb7, 0x00, 0x1f, 0x32, 0xb7, - 0x00, 0x04, 0x04, 0x91, 0x03, 0x15, 0x39, 0xb7, - 0x00, 0x0e, 0x91, 0x03, 0x03, 0xa2, 0x07, 0x03, - 0x65, 0x3d, 0x03, 0xb7, 0x00, 0x18, 0x39, 0xb7, - 0x00, 0x0d, 0x91, 0x03, 0x15, 0x34, 0x1f, 0x07, - 0x01, 0x16, 0x0a, 0x0e, 0xb7, 0x00, 0x14, 0x34, - 0x53, 0x00, 0x0d, 0xb7, 0x00, 0x18, 0x35, 0xb7, - 0x00, 0x1f, 0x34, 0xb7, 0x00, 0x04, 0x23, 0x35, - 0x5d, 0xbb, 0x30, 0x05, 0xb7, 0x00, 0x0e, 0x92, - 0x03, 0x19, 0x33, 0x16, 0x3e, 0x03, 0x11, 0x11, - 0x08, 0x20, 0x07, 0x01, 0xac, 0x01, 0x0e, 0x12, - 0x31, 0x02, 0xb7, 0x00, 0x0f, 0x21, 0x07, 0x02, - 0x03, 0x1e, 0x4c, 0x0f, 0x55, 0x53, 0x01, 0x18, - 0x37, 0xb7, 0x00, 0x1f, 0x36, 0xb7, 0x00, 0x04, - 0x03, 0x93, 0x03, 0x01, 0xe3, 0x10, 0x03, 0x83, - 0x00, 0x0e, 0xb7, 0x00, 0x07, 0xc7, 0x3e, 0x14, - 0x33, 0xdd, 0x42, 0x18, 0x31, 0x21, 0x11, 0x1d, - 0x30, 0xb7, 0x00, 0x05, 0x21, 0x07, 0x01, 0x4c, - 0x0b, 0x0e, 0xb7, 0x00, 0x14, 0x38, 0x53, 0x00, - 0x0d, 0xb7, 0x00, 0x18, 0x39, 0xb7, 0x00, 0x1f, - 0x38, 0xb7, 0x00, 0x04, 0x23, 0x39, 0x5d, 0xe0, - 0x31, 0x05, 0xbe, 0x13, 0x1f, 0x30, 0xb3, 0x20, + 0x30, 0xb7, 0x00, 0x03, 0xb1, 0x00, 0x02, 0x9b, + 0x30, 0x03, 0xb7, 0x00, 0x18, 0x37, 0xb7, 0x00, + 0x0e, 0x8f, 0x03, 0x06, 0x1d, 0x07, 0x0f, 0x1e, + 0x07, 0x02, 0x03, 0xf1, 0x4e, 0x1e, 0x38, 0xb7, + 0x00, 0x18, 0x35, 0x90, 0x03, 0x1f, 0x35, 0x90, + 0x03, 0x04, 0x14, 0x35, 0x90, 0x03, 0x06, 0x9c, + 0x10, 0x0e, 0x90, 0x03, 0x02, 0xa1, 0x07, 0x04, + 0x76, 0x99, 0x03, 0xb7, 0x00, 0x18, 0x38, 0xb7, + 0x00, 0x0e, 0x90, 0x03, 0x15, 0x39, 0xb7, 0x00, + 0x0f, 0x1f, 0x07, 0x02, 0x06, 0x84, 0x75, 0x0d, + 0xb7, 0x00, 0x18, 0x33, 0xb7, 0x00, 0x1f, 0x32, + 0xb7, 0x00, 0x04, 0x04, 0x91, 0x03, 0x15, 0x39, + 0xb7, 0x00, 0x1e, 0x34, 0xb7, 0x00, 0x09, 0x27, + 0x9a, 0x03, 0xb7, 0x00, 0x18, 0x39, 0xb7, 0x00, + 0x0d, 0x91, 0x03, 0x25, 0x34, 0x30, 0xb7, 0x00, + 0x0f, 0x20, 0x07, 0x02, 0x03, 0x86, 0x51, 0x0e, + 0x20, 0x07, 0x02, 0x79, 0x40, 0x05, 0xb7, 0x00, + 0x1f, 0x34, 0xb7, 0x00, 0x04, 0x23, 0x35, 0x5d, + 0x95, 0x8d, 0x05, 0xb7, 0x00, 0x0e, 0x92, 0x03, + 0x19, 0x33, 0xd8, 0x9a, 0x03, 0x11, 0x11, 0x18, + 0x30, 0xb7, 0x00, 0x1d, 0x38, 0xb7, 0x00, 0x05, + 0x20, 0x07, 0x01, 0xb1, 0x0a, 0x0e, 0xb7, 0x00, + 0x05, 0xc3, 0x73, 0x0d, 0xb7, 0x00, 0x18, 0x37, + 0xb7, 0x00, 0x1f, 0x36, 0xb7, 0x00, 0x04, 0x23, + 0x37, 0x5d, 0x26, 0x8e, 0x05, 0xb7, 0x00, 0x0e, + 0x93, 0x03, 0x03, 0xa4, 0x07, 0x03, 0xf6, 0x8b, + 0x03, 0xb7, 0x00, 0x08, 0x21, 0x07, 0x01, 0xf5, + 0x00, 0x0e, 0x7d, 0x8e, 0x02, 0xb7, 0x00, 0x0f, + 0x22, 0x07, 0x02, 0x03, 0x88, 0x1d, 0x0e, 0x22, + 0x07, 0x01, 0x25, 0x40, 0x06, 0xb7, 0x00, 0x1f, + 0x38, 0xb7, 0x00, 0x04, 0x25, 0x39, 0x5d, 0x66, + 0x8e, 0x13, 0x0a, 0x83, 0x00, 0x0f, 0xb3, 0x20, 0x03, 0xfd, 0x04, 0x6d, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x31, 0x5f, 0x74, 0x69, 0x6e, 0x79, 0xb8, 0x20, @@ -4058,739 +5040,755 @@ const char kernels_50[] = { 0x6d, 0x22, 0x00, 0x0e, 0xc2, 0x20, 0x0f, 0x2a, 0x00, 0x0c, 0x0c, 0x83, 0x2a, 0x0f, 0x2a, 0x00, 0x07, 0x1f, 0x32, 0x2a, 0x00, 0x16, 0x1f, 0x33, - 0x2a, 0x00, 0x16, 0x1f, 0x34, 0xc6, 0x43, 0x03, - 0x1f, 0x36, 0x38, 0x57, 0x2d, 0x00, 0x0b, 0x18, - 0x0f, 0x1e, 0x01, 0x08, 0x0f, 0xa1, 0x20, 0x02, - 0x1f, 0x34, 0x34, 0x00, 0x0a, 0x0b, 0x04, 0x21, - 0x06, 0x35, 0x18, 0x0f, 0x34, 0x00, 0x08, 0x0b, - 0x09, 0x21, 0x07, 0x75, 0x55, 0x0f, 0x3c, 0x01, - 0x08, 0x0e, 0x34, 0x00, 0x03, 0x69, 0x56, 0x0f, - 0x46, 0x01, 0x08, 0x0e, 0x9d, 0x47, 0x0f, 0xae, - 0x57, 0x02, 0x0a, 0x9f, 0x7b, 0x0a, 0x19, 0x47, - 0x1b, 0x32, 0xb0, 0x16, 0x0c, 0x28, 0x21, 0x05, - 0xb8, 0xa0, 0x09, 0x5f, 0x55, 0x18, 0x30, 0x36, - 0x17, 0x08, 0xac, 0x4b, 0x08, 0xe5, 0x29, 0x26, - 0x64, 0x69, 0x31, 0x00, 0x02, 0xd5, 0x0a, 0x05, - 0x4f, 0x4b, 0x07, 0x1b, 0x00, 0x02, 0x86, 0x10, - 0x06, 0x84, 0x74, 0x09, 0x9e, 0x00, 0x17, 0x36, - 0x43, 0x74, 0x0e, 0x9f, 0xe2, 0x04, 0xb3, 0x18, - 0x0e, 0xe4, 0x46, 0x2d, 0x33, 0x31, 0x1f, 0x48, - 0x03, 0x13, 0x31, 0x02, 0xa2, 0x03, 0x3b, 0x31, - 0x5f, 0x32, 0x4a, 0x56, 0x02, 0xc4, 0x6f, 0x1e, - 0x34, 0x4a, 0x56, 0x0e, 0x50, 0x88, 0x0b, 0xc0, - 0x29, 0x04, 0xbb, 0x74, 0x0a, 0x39, 0x6b, 0x0f, - 0x9f, 0x19, 0x03, 0x13, 0x33, 0x41, 0x11, 0x0b, - 0xd2, 0x0f, 0x02, 0x9c, 0x00, 0x02, 0x06, 0x00, - 0x0e, 0x19, 0x4d, 0x07, 0x1d, 0x00, 0x1b, 0x36, - 0x1f, 0x28, 0x00, 0xc9, 0x00, 0x04, 0xd2, 0x00, - 0x1d, 0x33, 0x8b, 0x2a, 0x08, 0x62, 0x00, 0x15, - 0x35, 0xcd, 0x01, 0x0e, 0x68, 0x59, 0x02, 0x16, - 0x22, 0x02, 0xe2, 0x10, 0x0b, 0xca, 0x27, 0x2e, - 0x33, 0x31, 0x48, 0x0f, 0x15, 0x33, 0xec, 0x37, - 0x0d, 0x1b, 0x19, 0x18, 0x31, 0x9b, 0x10, 0x0d, - 0xce, 0x01, 0x03, 0x54, 0x29, 0x08, 0x9d, 0x1a, - 0x0e, 0x1c, 0x19, 0x05, 0xc1, 0x4f, 0x04, 0xd8, - 0x00, 0x1d, 0x35, 0x87, 0x49, 0x16, 0x36, 0xb0, - 0x00, 0x1c, 0x32, 0x8c, 0x6c, 0x0e, 0xcc, 0x39, - 0x0a, 0xae, 0x17, 0x01, 0xfd, 0x22, 0x03, 0x60, - 0x17, 0x0e, 0x72, 0x4a, 0x1b, 0x37, 0x5a, 0x00, - 0x08, 0x2d, 0x27, 0x00, 0x0b, 0x01, 0x1f, 0x31, - 0xcd, 0x71, 0x08, 0x0e, 0x3e, 0x0b, 0x03, 0x81, - 0x2a, 0x1e, 0x35, 0xce, 0x71, 0x06, 0x09, 0x37, - 0x06, 0xcd, 0x71, 0x02, 0xee, 0x00, 0x00, 0xbb, - 0x35, 0x3a, 0x6e, 0x65, 0x67, 0x1b, 0x13, 0x1d, - 0x36, 0xf0, 0x54, 0x02, 0xe1, 0x20, 0x06, 0x16, - 0x2b, 0x07, 0x0f, 0x18, 0x04, 0xd9, 0x47, 0x0b, - 0x9a, 0x03, 0x0e, 0xd6, 0x39, 0x04, 0xaf, 0x0d, - 0x06, 0x8a, 0xa0, 0x0e, 0x6f, 0x15, 0x01, 0x17, - 0x13, 0x05, 0x6e, 0x17, 0x17, 0x35, 0xe5, 0x0d, - 0x02, 0x31, 0x03, 0x0e, 0x67, 0x3b, 0x07, 0x3f, - 0x55, 0x2f, 0x31, 0x35, 0x89, 0x01, 0x08, 0x01, - 0xc0, 0x11, 0x16, 0x70, 0xdf, 0x00, 0x18, 0x78, - 0x9f, 0x61, 0x14, 0x36, 0xdf, 0x2e, 0x08, 0x63, - 0x00, 0x06, 0xc1, 0x14, 0x1b, 0x31, 0x64, 0x00, - 0x10, 0x40, 0x14, 0x00, 0x07, 0xa8, 0x01, 0x01, - 0x93, 0x37, 0x07, 0x46, 0x01, 0x2e, 0x34, 0x36, - 0xf9, 0x50, 0x02, 0xd1, 0x24, 0x0d, 0x57, 0x25, - 0x03, 0x3a, 0x13, 0x05, 0x5c, 0x0d, 0x08, 0x59, - 0x01, 0x03, 0xb9, 0x0b, 0x0b, 0x52, 0x19, 0x08, - 0xa4, 0x56, 0x0e, 0xa4, 0x9f, 0x03, 0x01, 0x17, - 0x02, 0x00, 0x17, 0x04, 0xa7, 0x12, 0x06, 0x19, - 0x0f, 0x04, 0xe4, 0x8a, 0x0d, 0xdf, 0x13, 0x04, - 0xfc, 0x17, 0x0b, 0xa7, 0x13, 0x05, 0x80, 0x56, - 0x0c, 0xaa, 0x2e, 0x0f, 0xa4, 0x22, 0x04, 0x03, - 0x43, 0x56, 0x15, 0x32, 0x9b, 0x0a, 0x45, 0x70, - 0x6f, 0x70, 0x63, 0x4e, 0x00, 0x06, 0xc3, 0x35, - 0x0d, 0x96, 0x1e, 0x22, 0x36, 0x37, 0xc2, 0x50, - 0x1c, 0x33, 0x47, 0x2e, 0x16, 0x35, 0x6e, 0x56, - 0x1f, 0x36, 0x7a, 0x2f, 0x03, 0x03, 0x34, 0x0b, - 0x13, 0x35, 0x0e, 0x0e, 0x03, 0x5c, 0x8b, 0x0e, - 0x5c, 0x02, 0x01, 0x77, 0x56, 0x05, 0xca, 0x17, - 0x03, 0xf9, 0x35, 0x07, 0x4e, 0x01, 0x25, 0x31, - 0x37, 0x41, 0x00, 0x04, 0x67, 0x2f, 0x43, 0x77, - 0x61, 0x72, 0x70, 0xe1, 0x04, 0x1c, 0x2d, 0x62, - 0x5c, 0x07, 0xc6, 0x04, 0x1e, 0x34, 0xe2, 0x2f, - 0x1d, 0x34, 0xe4, 0x04, 0x18, 0x31, 0x46, 0x05, - 0x06, 0xac, 0x00, 0x0b, 0x21, 0x1e, 0x18, 0x36, - 0xc1, 0x4e, 0x0e, 0xee, 0x2e, 0x07, 0xe2, 0x26, - 0x0a, 0x7c, 0x05, 0x0a, 0xfa, 0x04, 0x03, 0xe3, - 0x27, 0x05, 0xbf, 0x3f, 0x0e, 0x6d, 0x4b, 0x00, - 0x24, 0x00, 0x0f, 0xe4, 0x36, 0x08, 0x05, 0x20, - 0x4e, 0x49, 0x40, 0x21, 0x25, 0x70, 0x3f, 0x02, - 0x1a, 0x34, 0x44, 0x1e, 0x00, 0x13, 0x00, 0x15, - 0x33, 0xcd, 0x00, 0x1a, 0x33, 0xe6, 0x06, 0x03, - 0xc3, 0x49, 0x0e, 0x73, 0x1b, 0x2e, 0x36, 0x31, - 0x21, 0x81, 0x07, 0x51, 0xa5, 0x12, 0x31, 0x4f, - 0x25, 0x0f, 0x28, 0x02, 0x02, 0x03, 0x3e, 0x7e, - 0x2e, 0x32, 0x5d, 0xd7, 0x00, 0x02, 0x1b, 0x01, - 0x0c, 0x51, 0x20, 0x17, 0x39, 0x7f, 0x2e, 0x05, - 0xdf, 0x02, 0x0a, 0x75, 0x29, 0x08, 0x91, 0x53, - 0x0a, 0x1b, 0x2e, 0x1f, 0x32, 0xc6, 0x57, 0x11, - 0x2b, 0x36, 0x33, 0xc6, 0x00, 0x03, 0x89, 0x00, - 0x0f, 0x1b, 0x02, 0x04, 0x1a, 0x35, 0xc8, 0x01, - 0x0a, 0x0c, 0x19, 0x09, 0x4f, 0x01, 0x1f, 0x34, - 0xd6, 0x0b, 0x12, 0x0e, 0x4b, 0x36, 0x0e, 0xd7, - 0x0b, 0x0e, 0x51, 0x36, 0x0e, 0xae, 0x0b, 0x0e, - 0x57, 0x36, 0x0f, 0x2b, 0x00, 0x12, 0x0f, 0xda, - 0x0b, 0x0c, 0x0e, 0x63, 0x36, 0x0f, 0x2b, 0x00, - 0x12, 0x1f, 0x33, 0x2b, 0x00, 0x17, 0x0f, 0xdd, - 0x0b, 0x18, 0x1f, 0x32, 0xdd, 0x0b, 0x19, 0x0e, - 0xa9, 0x0b, 0x0f, 0x9b, 0x36, 0x10, 0x1f, 0x35, - 0x35, 0x00, 0x0b, 0x0f, 0xdf, 0x0b, 0x03, 0x1f, - 0x33, 0x35, 0x00, 0x0b, 0x0f, 0xe0, 0x0b, 0x03, - 0x0f, 0x6a, 0x00, 0x0c, 0x0f, 0xe1, 0x0b, 0x03, - 0x0f, 0xd4, 0x00, 0x0c, 0x1f, 0x34, 0x7f, 0x53, - 0x14, 0x2f, 0x32, 0x36, 0xe3, 0x0b, 0x0e, 0x03, - 0x67, 0x35, 0x0f, 0xe3, 0x0b, 0x06, 0x1e, 0x35, - 0xca, 0x0b, 0x09, 0xf7, 0x04, 0x0a, 0x76, 0x0b, - 0x03, 0xc4, 0x5b, 0x0c, 0x77, 0x0b, 0x1d, 0x32, - 0x77, 0x0b, 0x03, 0x2a, 0x5c, 0x02, 0x43, 0x03, - 0x1c, 0x32, 0x77, 0x0b, 0x15, 0x32, 0x76, 0x2c, - 0x0c, 0x94, 0x36, 0x1f, 0x38, 0x74, 0x29, 0x04, - 0x17, 0x39, 0xd7, 0x80, 0x1e, 0x37, 0x96, 0x0c, - 0x0f, 0x16, 0x25, 0x04, 0x25, 0x39, 0x5d, 0x61, - 0x0c, 0x08, 0xcc, 0x06, 0x16, 0x37, 0xcc, 0x5c, - 0x0e, 0xcd, 0x34, 0x05, 0x62, 0x2d, 0x06, 0xe9, - 0x00, 0x17, 0x34, 0xe9, 0x00, 0x14, 0x32, 0xd3, - 0x00, 0x0f, 0x78, 0x0b, 0x0a, 0x02, 0x5a, 0x10, - 0x02, 0x1d, 0x08, 0x0e, 0x78, 0x0b, 0x06, 0x04, - 0x2e, 0x0d, 0x78, 0x0b, 0x04, 0x51, 0x84, 0x08, - 0xe0, 0x00, 0x1f, 0x31, 0xac, 0x24, 0x04, 0x15, - 0x33, 0x6a, 0x81, 0x0d, 0x91, 0x0b, 0x16, 0x38, - 0xf0, 0x62, 0x1f, 0x34, 0x6f, 0x2f, 0x0d, 0x05, - 0xa5, 0x01, 0x0f, 0x72, 0x0b, 0x04, 0x03, 0xcc, - 0x00, 0x1e, 0x33, 0x21, 0x0d, 0x0f, 0x72, 0x0b, - 0x0a, 0x26, 0x35, 0x39, 0x72, 0x0b, 0x1e, 0x33, - 0x72, 0x0b, 0x0b, 0x5a, 0x00, 0x09, 0x72, 0x0b, - 0x1f, 0x32, 0x72, 0x0b, 0x0a, 0x1e, 0x35, 0x8c, - 0x14, 0x0f, 0x40, 0x7d, 0x08, 0x07, 0x56, 0x5c, - 0x08, 0x72, 0x0b, 0x1d, 0x32, 0x72, 0x0b, 0x03, - 0x8c, 0x2d, 0x0c, 0x9f, 0x47, 0x05, 0x6b, 0x2d, - 0x03, 0x97, 0x37, 0x07, 0x19, 0x0a, 0x04, 0x9a, - 0x78, 0x0e, 0x17, 0x79, 0x0c, 0x72, 0x0b, 0x08, - 0x05, 0x1f, 0x2e, 0x33, 0x36, 0x72, 0x0b, 0x04, - 0xf5, 0x0b, 0x05, 0x72, 0x0b, 0x18, 0x32, 0xd5, - 0x58, 0x05, 0x99, 0x00, 0x0e, 0x72, 0x0b, 0x03, - 0x29, 0x0c, 0x2f, 0x31, 0x32, 0x72, 0x0b, 0x09, - 0x15, 0x34, 0x72, 0x0b, 0x2b, 0x35, 0x39, 0x72, - 0x0b, 0x03, 0xdd, 0x40, 0x06, 0xfc, 0x00, 0x0e, - 0x72, 0x0b, 0x09, 0x64, 0x00, 0x0a, 0x72, 0x0b, - 0x1e, 0x32, 0x72, 0x0b, 0x03, 0x89, 0x43, 0x0b, - 0x67, 0x08, 0x1e, 0x30, 0x72, 0x0b, 0x03, 0xec, - 0x09, 0x03, 0xd4, 0x7f, 0x0b, 0x72, 0x0b, 0x03, - 0x6b, 0x0c, 0x0b, 0x72, 0x0b, 0x17, 0x36, 0x4a, - 0x20, 0x1f, 0x33, 0x72, 0x0b, 0x04, 0x06, 0x51, - 0x2e, 0x0a, 0x71, 0x0b, 0x04, 0x4b, 0x88, 0x08, - 0x08, 0x0b, 0x16, 0x34, 0x72, 0x50, 0x08, 0x50, - 0x55, 0x1e, 0x36, 0x83, 0x5d, 0x05, 0xd4, 0x1f, - 0x0e, 0x9c, 0x04, 0x0b, 0x85, 0x62, 0x01, 0xb2, - 0x0d, 0x34, 0x74, 0x6f, 0x6d, 0x8b, 0x04, 0x00, - 0x28, 0x00, 0x07, 0x06, 0x01, 0x10, 0x5b, 0x2f, - 0x00, 0x08, 0x91, 0x36, 0x2f, 0x33, 0x32, 0x27, - 0x0b, 0x09, 0x16, 0x30, 0x27, 0x0b, 0x02, 0x1e, - 0x0c, 0x08, 0x73, 0x20, 0x05, 0xb8, 0x03, 0x01, - 0x27, 0x0b, 0x0d, 0x7d, 0x04, 0x03, 0x50, 0x43, - 0x0f, 0x13, 0x0b, 0x04, 0x09, 0x7f, 0x04, 0x18, - 0x31, 0xe1, 0x04, 0x06, 0x98, 0x00, 0x0c, 0x13, - 0x0b, 0x1f, 0x31, 0x13, 0x0b, 0x0c, 0x03, 0xca, - 0x5d, 0x0f, 0x14, 0x0b, 0x0d, 0x1b, 0x32, 0x11, - 0x6a, 0x0e, 0xac, 0x2a, 0x03, 0x98, 0x16, 0x0f, - 0x36, 0x60, 0x0a, 0x1d, 0x35, 0x15, 0x0b, 0x1e, - 0x32, 0x15, 0x0b, 0x15, 0x32, 0xc6, 0x09, 0x1d, - 0x32, 0x15, 0x0b, 0x15, 0x35, 0x7d, 0x68, 0x0c, - 0x54, 0x0d, 0x0e, 0x36, 0x8c, 0x0d, 0x03, 0x0d, - 0x2e, 0x35, 0x33, 0x15, 0x0b, 0x02, 0x5d, 0x34, - 0x10, 0x5b, 0x29, 0x00, 0x0f, 0x15, 0x0b, 0x06, - 0x1f, 0x31, 0x15, 0x0b, 0x08, 0x1f, 0x32, 0x15, - 0x0b, 0x1d, 0x1f, 0x33, 0x15, 0x0b, 0x11, 0x2f, - 0x35, 0x36, 0x92, 0x69, 0x07, 0x1f, 0x31, 0x15, - 0x0b, 0x05, 0x06, 0xca, 0x01, 0x0a, 0x16, 0x0b, + 0x2a, 0x00, 0x16, 0x1f, 0x34, 0x95, 0xa0, 0x03, + 0x1e, 0x36, 0xfb, 0x20, 0x2f, 0x36, 0x39, 0xc2, + 0x87, 0x01, 0x1f, 0x32, 0xb8, 0x2a, 0x08, 0x0f, + 0x1e, 0x01, 0x08, 0x0f, 0x95, 0xa0, 0x06, 0x0f, + 0x28, 0x01, 0x08, 0x0e, 0x42, 0x4b, 0x02, 0x35, + 0x18, 0x0f, 0x34, 0x00, 0x08, 0x0b, 0x09, 0x21, + 0x06, 0x6a, 0x16, 0x1f, 0x5b, 0x3c, 0x01, 0x08, + 0x0f, 0x34, 0x00, 0x02, 0x1f, 0x37, 0x34, 0x00, + 0x0a, 0x1e, 0x34, 0x78, 0x4b, 0x06, 0x0d, 0x2b, + 0x07, 0xe4, 0x16, 0x1d, 0x39, 0xa5, 0x33, 0x29, + 0x6c, 0x6f, 0x9b, 0x2a, 0x07, 0xb0, 0x16, 0x0d, + 0x0d, 0x48, 0x05, 0x1a, 0x00, 0x08, 0x3e, 0x3c, + 0x18, 0x30, 0x36, 0x17, 0x08, 0x9e, 0x57, 0x08, + 0xe5, 0x29, 0x26, 0x64, 0x69, 0x31, 0x00, 0x02, + 0xd5, 0x0a, 0x05, 0xf0, 0x43, 0x07, 0x1b, 0x00, + 0x04, 0xc3, 0x7f, 0x04, 0x0a, 0x44, 0x09, 0x9e, + 0x00, 0x02, 0x5a, 0x0f, 0x03, 0xb9, 0x68, 0x04, + 0x9a, 0x0e, 0x29, 0x67, 0x65, 0xa6, 0x4a, 0x04, + 0x1b, 0x10, 0x09, 0xcf, 0x15, 0x3b, 0x35, 0x5f, + 0x33, 0xac, 0x34, 0x03, 0x1f, 0x8e, 0x02, 0xa2, + 0x03, 0x11, 0x35, 0x08, 0x18, 0x08, 0x8f, 0x29, + 0x14, 0x32, 0xbd, 0x3a, 0x1e, 0x32, 0x29, 0x3d, + 0x0e, 0x94, 0x67, 0x08, 0xc0, 0x29, 0x00, 0x3d, + 0x00, 0x0e, 0xc8, 0x67, 0x0f, 0x9f, 0x19, 0x03, + 0x13, 0x33, 0x41, 0x11, 0x0b, 0xd2, 0x0f, 0x03, + 0x35, 0x3b, 0x02, 0x86, 0x09, 0x0e, 0x56, 0x4b, + 0x07, 0x58, 0x3b, 0x0c, 0x1f, 0x28, 0x13, 0x35, + 0x8b, 0x2a, 0x00, 0xf1, 0x00, 0x0d, 0x8b, 0x2a, + 0x08, 0x62, 0x00, 0x15, 0x35, 0xcd, 0x01, 0x1d, + 0x31, 0x48, 0x01, 0x16, 0x35, 0xb7, 0x55, 0x0d, + 0xca, 0x27, 0x1e, 0x35, 0x48, 0x0f, 0x24, 0x33, + 0x37, 0xf7, 0x68, 0x0d, 0x1b, 0x19, 0x18, 0x31, + 0x9b, 0x10, 0x0d, 0xce, 0x01, 0x03, 0x54, 0x29, + 0x08, 0x9d, 0x1a, 0x0e, 0x1c, 0x19, 0x04, 0x70, + 0x87, 0x14, 0x33, 0xd8, 0x00, 0x2f, 0x35, 0x3a, + 0xad, 0x4b, 0x02, 0x03, 0xd2, 0x00, 0x1b, 0x36, + 0x7b, 0x01, 0x04, 0xb1, 0x19, 0x0e, 0xae, 0x17, + 0x07, 0x1e, 0x23, 0x03, 0x60, 0x17, 0x1d, 0x38, + 0x0a, 0x01, 0x1b, 0x37, 0x5a, 0x00, 0x08, 0x2d, + 0x27, 0x00, 0x0b, 0x01, 0x1f, 0x31, 0xee, 0x10, + 0x02, 0x05, 0x90, 0x00, 0x1e, 0x34, 0x00, 0x88, + 0x05, 0xd0, 0x00, 0x0a, 0xf5, 0x4c, 0x07, 0x73, + 0x8a, 0x02, 0x8d, 0x2a, 0x04, 0xee, 0x00, 0x00, + 0x41, 0x36, 0x3a, 0x6e, 0x65, 0x67, 0x1b, 0x13, + 0x1c, 0x36, 0x42, 0x23, 0x08, 0x54, 0x3c, 0x01, + 0xfd, 0x10, 0x08, 0x38, 0x5b, 0x06, 0x9f, 0xa4, + 0x0b, 0x7f, 0x5c, 0x0d, 0x38, 0x5b, 0x17, 0x33, + 0x6b, 0x0e, 0x0f, 0x74, 0x79, 0x07, 0x00, 0x6e, + 0x15, 0x05, 0x86, 0x6e, 0x0a, 0x36, 0x00, 0x1e, + 0x36, 0x00, 0x5d, 0x07, 0x9d, 0x79, 0x2f, 0x31, + 0x35, 0xd4, 0x3f, 0x09, 0x01, 0xf5, 0x3e, 0x06, + 0xdf, 0x00, 0x36, 0x78, 0x6f, 0x72, 0x21, 0x24, + 0x03, 0xe0, 0x8f, 0x0a, 0x63, 0x00, 0x06, 0xc1, + 0x14, 0x1b, 0x31, 0x64, 0x00, 0x0a, 0x9e, 0x40, + 0x12, 0x35, 0xa8, 0x38, 0x07, 0x46, 0x01, 0x25, + 0x34, 0x36, 0x10, 0x13, 0x0b, 0xe2, 0x3c, 0x0d, + 0x57, 0x25, 0x03, 0x3a, 0x13, 0x05, 0x5c, 0x0d, + 0x0d, 0x26, 0x81, 0x2b, 0x34, 0x37, 0x52, 0x19, + 0x17, 0x39, 0x45, 0x01, 0x1e, 0x38, 0xac, 0x00, + 0x05, 0x12, 0x5d, 0x03, 0x13, 0x15, 0x10, 0x40, + 0x14, 0x00, 0x08, 0x54, 0x02, 0x1c, 0x30, 0x81, + 0x29, 0x17, 0x30, 0x37, 0x50, 0x05, 0x45, 0x60, + 0x08, 0xdf, 0x13, 0x0f, 0x7a, 0x5c, 0x01, 0x0e, + 0xa4, 0x22, 0x07, 0xd8, 0x13, 0x25, 0x35, 0x32, + 0x9b, 0x0a, 0x46, 0x70, 0x6f, 0x70, 0x63, 0x70, + 0x3b, 0x05, 0x17, 0x01, 0x0d, 0x96, 0x1e, 0x04, + 0x92, 0x46, 0x1c, 0x33, 0x47, 0x2e, 0x07, 0x25, + 0x5c, 0x1f, 0x36, 0x7a, 0x2f, 0x03, 0x03, 0x34, + 0x0b, 0x24, 0x35, 0x35, 0xd4, 0x02, 0x02, 0xbe, + 0x13, 0x0f, 0xdc, 0x3a, 0x02, 0x15, 0x37, 0xca, + 0x17, 0x03, 0x2a, 0x93, 0x07, 0x4e, 0x01, 0x25, + 0x31, 0x37, 0x41, 0x00, 0x04, 0x67, 0x2f, 0x43, + 0x77, 0x61, 0x72, 0x70, 0xe1, 0x04, 0x2e, 0x2d, + 0x31, 0xe2, 0x04, 0x05, 0x7d, 0x5a, 0x0f, 0xff, + 0x6d, 0x04, 0x09, 0xe4, 0x04, 0x18, 0x31, 0x46, + 0x05, 0x06, 0xac, 0x00, 0x0b, 0x21, 0x1e, 0x19, + 0x36, 0xf5, 0x36, 0x0e, 0xee, 0x2e, 0x06, 0xe2, + 0x26, 0x0b, 0xc2, 0x37, 0x09, 0xfa, 0x04, 0x03, + 0xe3, 0x27, 0x02, 0x6c, 0x07, 0x0f, 0x32, 0x73, + 0x04, 0x2f, 0x35, 0x39, 0xce, 0x36, 0x08, 0x05, + 0x32, 0x7a, 0x49, 0x40, 0x21, 0x25, 0x70, 0x3f, + 0x02, 0x1a, 0x34, 0x44, 0x1e, 0x00, 0x13, 0x00, + 0x15, 0x33, 0xcd, 0x00, 0x1a, 0x33, 0xe6, 0x06, + 0x03, 0x8e, 0x77, 0x1e, 0x38, 0x1e, 0x42, 0x0f, + 0x7e, 0x7b, 0x04, 0x0d, 0xe3, 0x42, 0x0e, 0x28, + 0x02, 0x02, 0x7e, 0x21, 0x3e, 0x36, 0x32, 0x5d, + 0xd7, 0x00, 0x15, 0x38, 0x82, 0x5b, 0x0e, 0xdb, + 0x8c, 0x06, 0xba, 0x2e, 0x0a, 0xb1, 0x7c, 0x02, + 0xf9, 0x29, 0x07, 0x16, 0x31, 0x0a, 0x1b, 0x2e, + 0x04, 0x5f, 0x29, 0x0f, 0x3b, 0x2c, 0x04, 0x22, + 0x31, 0x5d, 0x4f, 0x3f, 0x0b, 0xc6, 0x00, 0x03, + 0x89, 0x00, 0x0f, 0x1b, 0x02, 0x04, 0x1a, 0x35, + 0xc8, 0x01, 0x0a, 0x0c, 0x19, 0x09, 0x4f, 0x01, + 0x1f, 0x34, 0xd6, 0x0b, 0x12, 0x0e, 0x4b, 0x36, + 0x0e, 0xd7, 0x0b, 0x0e, 0x51, 0x36, 0x0e, 0xae, + 0x0b, 0x0e, 0x57, 0x36, 0x0f, 0x2b, 0x00, 0x12, + 0x0f, 0xda, 0x0b, 0x0c, 0x0e, 0x63, 0x36, 0x0f, + 0x2b, 0x00, 0x12, 0x1f, 0x33, 0x2b, 0x00, 0x17, + 0x0f, 0xdd, 0x0b, 0x18, 0x1f, 0x32, 0xdd, 0x0b, + 0x19, 0x0e, 0xa9, 0x0b, 0x0f, 0x9b, 0x36, 0x10, + 0x1f, 0x35, 0x35, 0x00, 0x0b, 0x0f, 0xdf, 0x0b, + 0x03, 0x1f, 0x33, 0x35, 0x00, 0x0b, 0x0f, 0xe0, + 0x0b, 0x03, 0x0f, 0x6a, 0x00, 0x0c, 0x0f, 0xe1, + 0x0b, 0x03, 0x0f, 0xd4, 0x00, 0x0c, 0x0e, 0xe2, + 0x0b, 0x07, 0x60, 0x0b, 0x08, 0xe3, 0x0b, 0x1f, + 0x36, 0xe3, 0x0b, 0x0e, 0x03, 0x67, 0x35, 0x0f, + 0xe3, 0x0b, 0x06, 0x1e, 0x35, 0xca, 0x0b, 0x09, + 0xf7, 0x04, 0x0a, 0x76, 0x0b, 0x15, 0x34, 0x3c, + 0x26, 0x09, 0x77, 0x0b, 0x1d, 0x36, 0x77, 0x0b, + 0x03, 0xa1, 0x81, 0x02, 0x43, 0x03, 0x1c, 0x36, + 0x77, 0x0b, 0x15, 0x32, 0x76, 0x2c, 0x0c, 0x94, + 0x36, 0x1f, 0x38, 0x74, 0x29, 0x04, 0x16, 0x39, + 0x8d, 0x74, 0x0c, 0x49, 0x62, 0x1f, 0x33, 0xa1, + 0x6c, 0x06, 0x03, 0x50, 0x1a, 0x2b, 0x33, 0x30, + 0xcc, 0x06, 0x16, 0x37, 0x8c, 0x41, 0x0f, 0xcd, + 0x56, 0x04, 0x13, 0x35, 0x96, 0x55, 0x0c, 0x78, + 0x0b, 0x14, 0x36, 0x78, 0x0b, 0x1f, 0x36, 0x78, + 0x0b, 0x0b, 0x02, 0x5a, 0x10, 0x02, 0x1d, 0x08, + 0x0e, 0x78, 0x0b, 0x06, 0x04, 0x2e, 0x0d, 0x78, + 0x0b, 0x13, 0x36, 0x78, 0x0b, 0x08, 0xe0, 0x00, + 0x1e, 0x31, 0xac, 0x24, 0x08, 0xc0, 0x74, 0x2e, + 0x31, 0x2c, 0x91, 0x0b, 0x16, 0x38, 0xbe, 0x74, + 0x1f, 0x34, 0x6f, 0x2f, 0x0d, 0x05, 0xa5, 0x01, + 0x0f, 0x72, 0x0b, 0x04, 0x13, 0x35, 0x3e, 0x77, + 0x0f, 0x4a, 0x4a, 0x0e, 0x0a, 0xe9, 0x09, 0x26, + 0x35, 0x39, 0x72, 0x0b, 0x1e, 0x33, 0x72, 0x0b, + 0x0b, 0x5a, 0x00, 0x09, 0x72, 0x0b, 0x1f, 0x36, + 0x72, 0x0b, 0x0a, 0x04, 0x39, 0x64, 0x0e, 0x72, + 0x0b, 0x1f, 0x31, 0x72, 0x0b, 0x08, 0x1a, 0x32, + 0x72, 0x0b, 0x1d, 0x36, 0x72, 0x0b, 0x03, 0x8c, + 0x2d, 0x0b, 0x49, 0x01, 0x15, 0x33, 0x6b, 0x2d, + 0x03, 0x97, 0x37, 0x07, 0x19, 0x0a, 0x13, 0x33, + 0xaf, 0x23, 0x0b, 0x19, 0x01, 0x0e, 0xaa, 0x66, + 0x09, 0x05, 0x1f, 0x2e, 0x33, 0x36, 0x72, 0x0b, + 0x07, 0x8d, 0x49, 0x16, 0x38, 0x60, 0x35, 0x08, + 0x36, 0x00, 0x2f, 0x35, 0x39, 0x72, 0x0b, 0x03, + 0x03, 0x86, 0xa1, 0x0f, 0x46, 0x4b, 0x0a, 0x15, + 0x34, 0x72, 0x0b, 0x2b, 0x35, 0x39, 0x72, 0x0b, + 0x03, 0xe9, 0x9d, 0x06, 0xfc, 0x00, 0x0e, 0x72, + 0x0b, 0x09, 0x64, 0x00, 0x0a, 0x72, 0x0b, 0x1e, + 0x36, 0x72, 0x0b, 0x06, 0x05, 0x7c, 0x08, 0x67, + 0x08, 0x1e, 0x30, 0x72, 0x0b, 0x04, 0xcf, 0xa1, + 0x05, 0x85, 0x0c, 0x08, 0x72, 0x0b, 0x03, 0x6b, + 0x0c, 0x0b, 0x72, 0x0b, 0x17, 0x36, 0x4a, 0x20, + 0x1f, 0x33, 0x72, 0x0b, 0x04, 0x06, 0x51, 0x2e, + 0x0a, 0x71, 0x0b, 0x13, 0x36, 0x71, 0x0b, 0x08, + 0x08, 0x0b, 0x04, 0x2c, 0xa2, 0x0a, 0x6c, 0x0b, + 0x03, 0x35, 0x0c, 0x0e, 0x10, 0x2e, 0x2f, 0x34, + 0x37, 0x9c, 0x04, 0x03, 0x0d, 0x87, 0x68, 0x44, + 0x61, 0x74, 0x6f, 0x6d, 0x8b, 0x04, 0x00, 0x28, + 0x00, 0x07, 0x06, 0x01, 0x10, 0x5b, 0x2f, 0x00, + 0x09, 0x91, 0x36, 0x1f, 0x36, 0x27, 0x0b, 0x09, + 0x16, 0x30, 0x27, 0x0b, 0x03, 0xad, 0xad, 0x0a, + 0x3b, 0x20, 0x13, 0x0a, 0x2d, 0x03, 0x1e, 0x3a, + 0x7d, 0x04, 0x03, 0x06, 0x00, 0x0f, 0x12, 0x79, + 0x05, 0x09, 0x7f, 0x04, 0x18, 0x31, 0xe1, 0x04, + 0x06, 0x98, 0x00, 0x0c, 0x13, 0x0b, 0x1f, 0x31, + 0x13, 0x0b, 0x0c, 0x1f, 0x31, 0x59, 0x2c, 0x04, + 0x0b, 0x14, 0x0b, 0x08, 0x98, 0x06, 0x1f, 0x34, + 0xac, 0x2a, 0x04, 0x1f, 0x35, 0xa2, 0x33, 0x08, + 0x03, 0x2f, 0xa9, 0x0d, 0x15, 0x0b, 0x1e, 0x36, + 0x15, 0x0b, 0x15, 0x36, 0xc6, 0x09, 0x1d, 0x36, + 0x15, 0x0b, 0x15, 0x35, 0x7d, 0x49, 0x0c, 0x54, + 0x0d, 0x0e, 0x7b, 0xb2, 0x0d, 0x03, 0x0d, 0x01, + 0x53, 0x37, 0x0d, 0x15, 0x0b, 0x13, 0x35, 0x50, + 0x54, 0x1f, 0x35, 0x15, 0x0b, 0x06, 0x1f, 0x31, + 0x15, 0x0b, 0x08, 0x1f, 0x32, 0x15, 0x0b, 0x1d, + 0x1f, 0x33, 0x15, 0x0b, 0x11, 0x1b, 0x35, 0x2a, + 0x22, 0x03, 0xd5, 0x0b, 0x05, 0xc6, 0x3a, 0x0e, + 0x15, 0x0b, 0x09, 0xca, 0x01, 0x0a, 0x16, 0x0b, 0x09, 0x50, 0x01, 0x0f, 0x16, 0x0b, 0x13, 0x0e, 0xa5, 0x37, 0x0e, 0x16, 0x0b, 0x0e, 0xab, 0x37, 0x0e, 0xeb, 0x0a, 0x0e, 0xb1, 0x37, 0x0f, 0x2b, 0x00, 0x12, 0x0f, 0x16, 0x0b, 0x0c, 0x0e, 0xbd, 0x37, 0x0f, 0x2b, 0x00, 0x12, 0x1f, 0x33, 0x2b, - 0x00, 0x17, 0x0f, 0x16, 0x0b, 0x04, 0x2e, 0x32, - 0x3e, 0x9f, 0x63, 0x1f, 0x34, 0x16, 0x0b, 0x2c, - 0x0e, 0xf3, 0x37, 0x0f, 0x16, 0x0b, 0x10, 0x0f, - 0xf9, 0x37, 0x08, 0x06, 0x71, 0x33, 0x0f, 0x35, - 0x00, 0x09, 0x0f, 0x16, 0x0b, 0x03, 0x1f, 0x30, - 0x35, 0x00, 0x0b, 0x0e, 0x16, 0x0b, 0x03, 0x53, + 0x00, 0x17, 0x0f, 0x16, 0x0b, 0x04, 0x1e, 0x32, + 0x16, 0x0b, 0x2f, 0x34, 0x34, 0x16, 0x0b, 0x2c, + 0x0e, 0xf3, 0x37, 0x0f, 0x16, 0x0b, 0x10, 0x0e, + 0xf9, 0x37, 0x0c, 0x37, 0x62, 0x0e, 0xc1, 0x16, + 0x0f, 0xff, 0x37, 0x09, 0x06, 0x24, 0x33, 0x0f, + 0x35, 0x00, 0x09, 0x0e, 0x16, 0x0b, 0x03, 0x53, 0x11, 0x0f, 0x35, 0x00, 0x09, 0x0e, 0x16, 0x0b, - 0x0f, 0xfd, 0x0a, 0x08, 0x04, 0x83, 0x50, 0x0e, - 0xfa, 0x48, 0x08, 0x40, 0x8c, 0x1b, 0x30, 0xbc, - 0x07, 0x0f, 0x34, 0x5b, 0x09, 0x1a, 0x32, 0xc4, - 0x3d, 0x0a, 0xc4, 0x6d, 0x03, 0x23, 0x00, 0x0b, - 0xfd, 0x3e, 0x30, 0x33, 0x33, 0x5f, 0x41, 0x1c, - 0x0c, 0x76, 0x41, 0x0e, 0xce, 0x09, 0x09, 0x77, - 0x41, 0x0d, 0xce, 0x09, 0x17, 0x35, 0x16, 0x7f, - 0x0e, 0xea, 0x00, 0x15, 0x34, 0xea, 0x00, 0x1f, - 0x31, 0x64, 0x10, 0x05, 0x0d, 0x79, 0x6f, 0x08, - 0x50, 0x0c, 0x0f, 0x7c, 0x10, 0x0a, 0x2f, 0x35, - 0x3b, 0x30, 0x62, 0x0c, 0x03, 0x86, 0x06, 0x1e, - 0x33, 0x37, 0x5f, 0x08, 0x55, 0x86, 0x2e, 0x31, - 0x38, 0x17, 0x42, 0x0f, 0x3e, 0x0a, 0x0a, 0x01, - 0x1f, 0x08, 0x25, 0x70, 0x33, 0xa3, 0x0c, 0x0a, - 0x73, 0x01, 0x1b, 0x34, 0x5a, 0x00, 0x09, 0xa4, - 0x0b, 0x03, 0x58, 0x85, 0x0e, 0x38, 0x6f, 0x0e, - 0xc5, 0x23, 0x0e, 0xe3, 0x62, 0x0e, 0x39, 0x6f, - 0x03, 0xdf, 0x16, 0x05, 0x39, 0x6f, 0x0b, 0x60, - 0x01, 0x05, 0x8a, 0x5f, 0x02, 0x06, 0x01, 0x1a, - 0x34, 0x56, 0x0a, 0x03, 0x48, 0x20, 0x1c, 0x32, - 0x4b, 0x30, 0x16, 0x37, 0xef, 0x12, 0x1b, 0x32, - 0x6f, 0x14, 0x0e, 0xe5, 0x0c, 0x04, 0x01, 0x0d, - 0x0d, 0x56, 0x0a, 0x1b, 0x30, 0xc5, 0x19, 0x0f, - 0x56, 0x0a, 0x03, 0x00, 0x36, 0x2d, 0x16, 0x35, - 0x8e, 0x14, 0x08, 0x36, 0x00, 0x1e, 0x34, 0x9d, - 0x2e, 0x04, 0x87, 0x9b, 0x0f, 0x9c, 0x2e, 0x04, - 0x06, 0xb4, 0x8d, 0x0f, 0x6f, 0x0a, 0x06, 0x01, - 0xba, 0x01, 0x06, 0xf8, 0x00, 0x1d, 0x78, 0xdb, - 0x76, 0x12, 0x31, 0x32, 0x03, 0x0e, 0x25, 0x7f, - 0x1b, 0x38, 0x63, 0x00, 0x08, 0xc5, 0x6c, 0x12, - 0x33, 0x1e, 0x8a, 0x0e, 0xb3, 0x0b, 0x1e, 0x31, - 0x9b, 0x6c, 0x0d, 0x6d, 0x0a, 0x17, 0x33, 0xb6, - 0x40, 0x0f, 0xc6, 0x0b, 0x08, 0x09, 0x5a, 0x31, - 0x06, 0x26, 0x01, 0x1e, 0x33, 0x8b, 0x16, 0x02, - 0x4e, 0x0b, 0x08, 0x32, 0x40, 0x17, 0x39, 0xa9, - 0x00, 0x1c, 0x37, 0x6a, 0x0a, 0x07, 0xf0, 0x94, - 0x0e, 0xfe, 0x07, 0x1f, 0x33, 0x13, 0x13, 0x2e, - 0x01, 0x71, 0x0a, 0x03, 0xb3, 0x02, 0x07, 0x71, - 0x0a, 0x00, 0x0a, 0x01, 0x07, 0x0a, 0x08, 0x04, - 0x83, 0x21, 0x12, 0x33, 0x28, 0x4e, 0x0f, 0xf4, - 0x17, 0x02, 0x07, 0x16, 0x6d, 0x07, 0x2a, 0x69, - 0x15, 0x32, 0x01, 0x0c, 0x12, 0x0a, 0x60, 0x03, - 0x0f, 0x5b, 0x8a, 0x07, 0x1e, 0x36, 0x53, 0x08, - 0x07, 0x1e, 0x00, 0x0e, 0x43, 0x0c, 0x25, 0x33, - 0x5f, 0x56, 0x00, 0x1f, 0x39, 0x50, 0x08, 0x10, - 0x1f, 0x33, 0x4a, 0x08, 0x0b, 0x1f, 0x33, 0x44, - 0x08, 0x09, 0x1f, 0x33, 0xad, 0x65, 0x04, 0x0e, - 0x25, 0x00, 0x0f, 0x38, 0x08, 0x0d, 0x1f, 0x33, - 0x32, 0x08, 0x11, 0x1e, 0x33, 0x2c, 0x08, 0x0f, - 0x94, 0x00, 0x07, 0x1f, 0x34, 0x25, 0x00, 0x11, - 0x1f, 0x35, 0x4b, 0x08, 0x03, 0x2e, 0x31, 0x3e, - 0xf6, 0x49, 0x1f, 0x36, 0x4b, 0x08, 0x01, 0x1f, - 0x34, 0x76, 0x76, 0x08, 0x0f, 0x2a, 0x01, 0x03, - 0x0f, 0xdb, 0x07, 0x13, 0x1f, 0x33, 0x55, 0x13, - 0x0a, 0x0e, 0x5e, 0x00, 0x0f, 0x39, 0x08, 0x0a, - 0x1e, 0x32, 0x2f, 0x00, 0x0e, 0x33, 0x08, 0x0a, - 0x54, 0x4a, 0x0e, 0x52, 0x01, 0x04, 0x2d, 0x08, - 0x0f, 0x29, 0x20, 0x0f, 0x05, 0x5c, 0x01, 0x0f, - 0x54, 0x1f, 0x14, 0x0f, 0x89, 0x13, 0x05, 0x1a, - 0x33, 0x8c, 0x08, 0x2e, 0x61, 0x64, 0xf2, 0x0c, - 0x06, 0xc5, 0x07, 0x0e, 0x8b, 0x1d, 0x07, 0xaf, - 0x19, 0x0d, 0x09, 0x75, 0x22, 0x33, 0x34, 0x76, - 0x0b, 0x09, 0x41, 0x13, 0x04, 0xf5, 0x07, 0x0c, - 0x40, 0x13, 0x0e, 0x6f, 0x62, 0x07, 0x1f, 0x4a, - 0x07, 0x1d, 0x95, 0x0a, 0x44, 0x14, 0x0e, 0x91, - 0x08, 0x09, 0x86, 0x49, 0x0e, 0x0b, 0x37, 0x03, - 0xa4, 0x06, 0x05, 0xf0, 0x1d, 0x0b, 0xa9, 0x06, - 0x0b, 0xba, 0x0f, 0x1b, 0x35, 0xa8, 0x06, 0x0b, - 0xbd, 0x13, 0x0e, 0xbf, 0x67, 0x0a, 0x08, 0x20, - 0x1f, 0x30, 0xb3, 0x41, 0x13, 0x1f, 0x32, 0x61, - 0x46, 0x0e, 0x03, 0xbc, 0x0c, 0x16, 0x34, 0xac, - 0x08, 0x0a, 0x52, 0x08, 0x03, 0x81, 0x01, 0x0c, - 0x94, 0xbc, 0x03, 0x99, 0x09, 0x0c, 0x68, 0x08, - 0x1f, 0x34, 0x85, 0x48, 0x0a, 0x0f, 0xff, 0x45, - 0x08, 0x1e, 0x35, 0x76, 0x24, 0x0f, 0xa0, 0x4c, - 0x14, 0x26, 0x35, 0x33, 0xa0, 0x4c, 0x12, 0x0a, - 0x83, 0x00, 0x0b, 0x53, 0x49, 0x04, 0x9f, 0x9f, - 0x0e, 0xed, 0x4a, 0x07, 0x03, 0x77, 0x0f, 0x73, - 0x74, 0x03, 0x16, 0x34, 0xf8, 0x49, 0x0a, 0xc0, - 0x0f, 0x09, 0x36, 0x33, 0x2c, 0x34, 0x5f, 0xbe, - 0x38, 0x14, 0x34, 0x33, 0x10, 0x11, 0x34, 0x59, - 0x06, 0x0e, 0x16, 0x0f, 0x14, 0x34, 0xed, 0x62, - 0x1d, 0x5d, 0x3a, 0x00, 0x14, 0x38, 0x3a, 0x00, - 0x2e, 0x35, 0x3a, 0xa3, 0x41, 0x0a, 0x6e, 0x4a, - 0x0a, 0x3f, 0x15, 0x03, 0xf8, 0x71, 0x0c, 0xab, - 0x01, 0x03, 0x08, 0x8a, 0x0c, 0x56, 0x15, 0x03, - 0x77, 0x81, 0x0f, 0x30, 0x4a, 0x0a, 0x0f, 0xab, - 0x01, 0x02, 0x05, 0xaf, 0x9e, 0x1e, 0x34, 0xbb, - 0x07, 0x05, 0x3a, 0x00, 0x1e, 0x38, 0xab, 0x01, - 0x05, 0xf6, 0x00, 0x25, 0x64, 0x39, 0xab, 0x01, - 0x2c, 0x38, 0x3a, 0x46, 0x08, 0x1b, 0x36, 0x51, - 0x10, 0x0b, 0x98, 0x8d, 0x0e, 0x21, 0x0b, 0x0d, - 0xd6, 0x13, 0x15, 0x36, 0xd2, 0x08, 0x0e, 0xfe, - 0x47, 0x08, 0x5a, 0x00, 0x09, 0x5f, 0x15, 0x04, - 0x3b, 0x81, 0x08, 0x4b, 0x09, 0x06, 0xf9, 0x41, - 0x0e, 0xd1, 0x22, 0x0a, 0x4b, 0x09, 0x18, 0x37, - 0x9b, 0x8d, 0x0b, 0x4b, 0x09, 0x15, 0x38, 0x66, - 0x4c, 0x0b, 0xf8, 0x8b, 0x0d, 0x90, 0x38, 0x09, - 0xbc, 0x6d, 0x0e, 0x09, 0x0a, 0x06, 0xee, 0x17, - 0x0c, 0x3f, 0x76, 0x25, 0x35, 0x35, 0xaf, 0x09, - 0x09, 0x1f, 0x0a, 0x13, 0x34, 0x34, 0x16, 0x09, - 0xe1, 0x13, 0x07, 0x7d, 0x55, 0x0e, 0x23, 0x09, - 0x04, 0x4e, 0x00, 0x07, 0xf9, 0x4a, 0x03, 0x71, - 0xa9, 0x01, 0x4d, 0x00, 0x0f, 0x24, 0x09, 0x06, - 0x14, 0x36, 0x18, 0x38, 0x03, 0x42, 0x57, 0x07, - 0xcb, 0x00, 0x0d, 0x4c, 0x14, 0x08, 0x86, 0x49, - 0x0b, 0x86, 0x1f, 0x07, 0x57, 0x20, 0x0d, 0x01, - 0x34, 0x03, 0xe3, 0x2c, 0x1f, 0x38, 0x11, 0x4b, - 0x07, 0x14, 0x34, 0x2c, 0x39, 0x0f, 0x12, 0x4b, - 0x0d, 0x07, 0x86, 0x05, 0x1b, 0x30, 0x15, 0x02, - 0x0e, 0x57, 0x53, 0x05, 0x31, 0x4b, 0x16, 0x7b, - 0x31, 0x68, 0x06, 0xe4, 0x2a, 0x35, 0x33, 0x35, - 0x7d, 0x1f, 0x01, 0x1b, 0x32, 0x73, 0x14, 0x06, - 0x0c, 0x95, 0x1e, 0x35, 0x5c, 0x3a, 0x06, 0xce, - 0x03, 0x07, 0xd2, 0x7d, 0x17, 0x30, 0xbb, 0x01, - 0x15, 0x32, 0x58, 0x00, 0x1f, 0x33, 0x05, 0x0a, - 0x10, 0x1f, 0x34, 0x41, 0x29, 0x10, 0x1f, 0x34, - 0x41, 0x29, 0x0e, 0x1f, 0x34, 0x41, 0x29, 0x16, - 0x1e, 0x34, 0x41, 0x29, 0x0f, 0x2a, 0x00, 0x11, - 0x0f, 0x1e, 0x0a, 0x0a, 0x1f, 0x34, 0x41, 0x29, - 0x16, 0x19, 0x34, 0xfb, 0x27, 0x0f, 0x2a, 0x00, - 0x16, 0x0f, 0x2d, 0x0a, 0x04, 0x2e, 0x34, 0x3e, - 0x8e, 0x1d, 0x1f, 0x35, 0x2d, 0x0a, 0x01, 0x1f, - 0x36, 0x78, 0x12, 0x15, 0x1f, 0x34, 0x6b, 0x29, - 0x0f, 0x0d, 0x37, 0x29, 0x0a, 0x52, 0x01, 0x0f, - 0xab, 0x12, 0x13, 0x1f, 0x34, 0x6b, 0x29, 0x0f, - 0x0e, 0x34, 0x00, 0x0f, 0x6b, 0x29, 0x20, 0x0a, - 0x70, 0x01, 0x0f, 0x07, 0x2a, 0x13, 0x0a, 0x7a, - 0x01, 0x0f, 0xe1, 0x4a, 0x0e, 0x1e, 0x36, 0xf5, - 0x1c, 0x0f, 0xc9, 0x12, 0x06, 0x1b, 0x31, 0xf9, - 0x1c, 0x0d, 0x5f, 0x54, 0x0f, 0x13, 0x1d, 0x02, - 0x0f, 0xa8, 0x29, 0x1c, 0x03, 0x0e, 0x10, 0x05, - 0x61, 0x12, 0x19, 0x6f, 0xa7, 0x29, 0x0e, 0x31, - 0x00, 0x03, 0xea, 0x03, 0x0e, 0x91, 0x12, 0x07, - 0x97, 0x10, 0x16, 0x38, 0xa8, 0x27, 0x0a, 0x1f, - 0x00, 0x1b, 0x31, 0xd4, 0x62, 0x0f, 0x00, 0x18, - 0x01, 0x1e, 0x33, 0x46, 0x28, 0x17, 0x37, 0x45, - 0x0a, 0x1f, 0x36, 0x49, 0x81, 0x08, 0x1c, 0x37, - 0x84, 0x13, 0x1e, 0x35, 0x14, 0x2a, 0x02, 0x79, - 0x23, 0x02, 0x75, 0x04, 0x14, 0x35, 0x14, 0x75, - 0x08, 0x85, 0x00, 0x1e, 0x37, 0xae, 0x17, 0x06, - 0x99, 0x6f, 0x0e, 0xae, 0x17, 0x08, 0xca, 0x17, - 0x0d, 0xaf, 0x0f, 0x03, 0x14, 0x4c, 0x0e, 0x1d, - 0x6f, 0x08, 0xb6, 0x80, 0x06, 0x06, 0x6f, 0x08, - 0x9e, 0x2a, 0x0f, 0xa3, 0x18, 0x05, 0x1f, 0x33, - 0xa3, 0x18, 0x04, 0x03, 0xd9, 0x90, 0x1f, 0x34, - 0xf8, 0xca, 0x08, 0x03, 0x43, 0x37, 0x2f, 0x33, - 0x32, 0x17, 0x18, 0x07, 0x1f, 0x34, 0xa8, 0x81, - 0x09, 0x0c, 0x97, 0xa5, 0x00, 0x40, 0x01, 0x04, - 0x49, 0x01, 0x0f, 0x8b, 0x2a, 0x0b, 0x06, 0xaf, - 0x02, 0x0f, 0xd1, 0x13, 0x04, 0x03, 0x87, 0x82, - 0x0c, 0x68, 0x0b, 0x1e, 0x35, 0x8b, 0x2a, 0x03, - 0xb4, 0x11, 0x0f, 0x8a, 0x2a, 0x01, 0x16, 0x31, - 0x8b, 0x3c, 0x0f, 0x99, 0x1d, 0x01, 0x0c, 0x54, - 0x1c, 0x1b, 0x32, 0xe0, 0x3b, 0x0f, 0x74, 0x1a, - 0x0e, 0x0b, 0x9e, 0x03, 0x16, 0x33, 0xe1, 0x25, - 0x1f, 0x36, 0x80, 0x0c, 0x0e, 0x14, 0x34, 0x29, - 0x01, 0x0e, 0x6a, 0x1f, 0x17, 0x35, 0x01, 0x01, - 0x1f, 0x35, 0xdc, 0x2a, 0x1d, 0x01, 0xe1, 0x42, - 0x1f, 0x35, 0xdc, 0x2a, 0x04, 0x1b, 0x36, 0x5a, - 0x00, 0x09, 0x57, 0x42, 0x1e, 0x35, 0x6a, 0x1f, - 0x08, 0x66, 0x08, 0x1f, 0x36, 0x77, 0x53, 0x13, - 0x0f, 0x48, 0x59, 0x05, 0x00, 0x4c, 0x08, 0x04, - 0xf3, 0x00, 0x0e, 0xe1, 0x2a, 0x05, 0xb2, 0x25, - 0x0e, 0xe1, 0x2a, 0x1f, 0x33, 0xe1, 0x2a, 0x56, - 0x08, 0xf8, 0x29, 0x08, 0xe1, 0x2a, 0x0e, 0x00, - 0x15, 0x17, 0x38, 0x7d, 0x2a, 0x1f, 0x37, 0x99, - 0x0b, 0x09, 0x01, 0xf8, 0x20, 0x15, 0x38, 0x46, - 0x00, 0x09, 0xe1, 0x2a, 0x07, 0xdb, 0x59, 0x2e, - 0x36, 0x33, 0xc3, 0x1e, 0x1b, 0x30, 0x64, 0x00, - 0x0a, 0x28, 0x09, 0x1e, 0x35, 0xe1, 0x2a, 0x06, - 0x73, 0x3f, 0x0b, 0xf3, 0x2e, 0x0f, 0xe1, 0x2a, - 0x04, 0x1f, 0x39, 0xe1, 0x2a, 0x17, 0x2f, 0x32, - 0x31, 0xe1, 0x2a, 0x0b, 0x17, 0x31, 0xf3, 0x56, - 0x1d, 0x31, 0xd8, 0x13, 0x1f, 0x35, 0xe1, 0x2a, - 0x06, 0x06, 0x14, 0x3f, 0x0f, 0xe1, 0x2a, 0x4d, - 0x1f, 0x39, 0xb9, 0x28, 0x02, 0x1f, 0x34, 0xe1, - 0x2a, 0x10, 0x1f, 0x34, 0xe1, 0x2a, 0x11, 0x1f, - 0x35, 0xe1, 0x2a, 0x0e, 0x05, 0x5d, 0x30, 0x0a, - 0x4e, 0x01, 0x2b, 0x31, 0x39, 0xfd, 0x00, 0x02, - 0xe9, 0x0c, 0x06, 0x66, 0x21, 0x09, 0xcc, 0x00, - 0x03, 0x35, 0x51, 0x0b, 0x4d, 0x05, 0x02, 0x52, - 0x0b, 0x06, 0x1b, 0x22, 0x0e, 0xc1, 0x03, 0x02, - 0xca, 0x00, 0x0e, 0xbb, 0x0e, 0x05, 0x3b, 0xb0, - 0x03, 0x6a, 0x56, 0x0f, 0x3e, 0x1e, 0x04, 0x18, - 0x35, 0x80, 0x84, 0x2d, 0x33, 0x35, 0x65, 0x20, - 0x18, 0x36, 0xcf, 0xce, 0x0e, 0xf2, 0x0b, 0x1d, - 0x33, 0xd1, 0x05, 0x18, 0x31, 0x33, 0x06, 0x06, - 0x43, 0x01, 0x1f, 0x32, 0xf1, 0x0b, 0x12, 0x0f, - 0x5c, 0x29, 0x10, 0x1f, 0x34, 0x5c, 0x29, 0x0f, - 0x1f, 0x34, 0x5c, 0x29, 0x17, 0x1e, 0x34, 0x5c, - 0x29, 0x0f, 0x2b, 0x00, 0x13, 0x0f, 0xf6, 0x0b, - 0x0c, 0x0f, 0x5c, 0x29, 0x16, 0x1a, 0x34, 0x11, - 0x28, 0x0f, 0x2b, 0x00, 0x17, 0x0f, 0xf9, 0x0b, - 0x17, 0x2f, 0x35, 0x38, 0xf9, 0x0b, 0x19, 0x0e, - 0x5d, 0x0b, 0x0f, 0x87, 0x29, 0x10, 0x0e, 0x5e, - 0x0b, 0x0e, 0x28, 0x60, 0x0f, 0x2f, 0x0c, 0x11, - 0x0f, 0x87, 0x29, 0x0f, 0x0d, 0x67, 0x16, 0x0b, - 0x6c, 0x01, 0x0f, 0xf1, 0x29, 0x13, 0x0b, 0x76, - 0x01, 0x0f, 0xa2, 0x16, 0x13, 0x0b, 0x80, 0x01, - 0x0f, 0xff, 0x0b, 0x0e, 0x1f, 0x37, 0xdd, 0x29, - 0x14, 0x1f, 0x34, 0xdd, 0x29, 0x0e, 0x15, 0x34, - 0x40, 0x27, 0x0f, 0xdd, 0x29, 0x03, 0x0e, 0x2e, - 0x1e, 0x08, 0xdd, 0x81, 0x1f, 0x32, 0xe5, 0x46, - 0x01, 0x0f, 0x15, 0x2a, 0x1b, 0x16, 0x32, 0x15, - 0x2a, 0x0d, 0xfc, 0x1e, 0x1e, 0x36, 0x15, 0x2a, - 0x17, 0x34, 0x15, 0x2a, 0x05, 0x8c, 0x80, 0x0d, - 0x26, 0x23, 0x2f, 0x35, 0x34, 0x26, 0x23, 0x39, - 0x16, 0x31, 0x28, 0x1b, 0x0e, 0x12, 0x8d, 0x15, - 0x36, 0x22, 0x1b, 0x0e, 0x82, 0x60, 0x02, 0xb0, - 0x00, 0x0f, 0xa1, 0x2a, 0x25, 0x0f, 0x8e, 0x2a, - 0x06, 0x1c, 0x32, 0xbb, 0x45, 0x16, 0x34, 0x79, - 0x06, 0x1f, 0x31, 0x7a, 0x0b, 0x03, 0x0a, 0xd7, - 0x14, 0x17, 0x33, 0x62, 0x01, 0x14, 0x32, 0x4c, - 0x01, 0x0f, 0x8e, 0x2a, 0x0b, 0x1e, 0x35, 0x8e, - 0x2a, 0x0b, 0xfa, 0x16, 0x08, 0x22, 0x31, 0x17, - 0x34, 0x61, 0x00, 0x0e, 0x8e, 0x2a, 0x1e, 0x30, - 0x8e, 0x2a, 0x0b, 0xd8, 0x0d, 0x0e, 0x8e, 0x2a, - 0x07, 0xb9, 0x9d, 0x0e, 0xb1, 0x8d, 0x0c, 0x94, - 0x0b, 0x16, 0x39, 0xa9, 0x16, 0x1f, 0x38, 0x92, - 0x0b, 0x0d, 0x1f, 0x36, 0x6b, 0x4f, 0x0d, 0x14, - 0x35, 0x21, 0x01, 0x0f, 0x73, 0x0b, 0x04, 0x16, - 0x35, 0x7d, 0x8f, 0x0f, 0xdd, 0x2a, 0x1a, 0x16, - 0x36, 0x73, 0x0b, 0x1e, 0x33, 0x73, 0x0b, 0x0b, - 0x5a, 0x00, 0x09, 0x73, 0x0b, 0x1f, 0x36, 0x73, - 0x0b, 0x0b, 0x2f, 0x35, 0x35, 0x73, 0x0b, 0x06, - 0x1f, 0x34, 0x72, 0x0b, 0x09, 0x1b, 0x33, 0x72, - 0x0b, 0x1e, 0x36, 0xe1, 0x2a, 0x06, 0x0f, 0x26, + 0x0e, 0xfd, 0x0a, 0x0a, 0xf6, 0x32, 0x03, 0x31, + 0x60, 0x0e, 0x96, 0x41, 0x05, 0x4c, 0x60, 0x0b, + 0xbc, 0x07, 0x0f, 0x18, 0xb8, 0x04, 0x16, 0x31, + 0x33, 0x00, 0x0e, 0xcb, 0x08, 0x16, 0x32, 0x6f, + 0x22, 0x1c, 0x32, 0xfd, 0x3e, 0x20, 0x37, 0x5f, + 0x41, 0x1c, 0x0c, 0x76, 0x41, 0x0e, 0xce, 0x09, + 0x09, 0x77, 0x41, 0x0d, 0xce, 0x09, 0x16, 0x35, + 0xbf, 0x80, 0x1e, 0x33, 0xea, 0x00, 0x15, 0x34, + 0xea, 0x00, 0x1f, 0x31, 0x64, 0x10, 0x05, 0x1c, + 0x32, 0x91, 0x07, 0x08, 0x50, 0x0c, 0x0f, 0x7c, + 0x10, 0x0a, 0x1f, 0x35, 0x21, 0x00, 0x07, 0x18, + 0x36, 0x3e, 0x0a, 0x02, 0x8a, 0xe8, 0x0e, 0x4e, + 0x62, 0x04, 0x12, 0x08, 0x1e, 0x38, 0x17, 0x42, + 0x0f, 0x3e, 0x0a, 0x0a, 0x21, 0x34, 0x32, 0x9e, + 0x5f, 0x05, 0xa3, 0x0c, 0x0a, 0x73, 0x01, 0x1b, + 0x34, 0x5a, 0x00, 0x09, 0xa4, 0x0b, 0x03, 0x5d, + 0xe6, 0x0e, 0x36, 0x98, 0x0e, 0xc5, 0x23, 0x08, + 0x4e, 0x3f, 0x06, 0x91, 0x9d, 0x0e, 0x3d, 0x0a, + 0x04, 0x76, 0x96, 0x1e, 0x5d, 0xc8, 0x48, 0x03, + 0x88, 0x2a, 0x04, 0x06, 0x01, 0x1a, 0x34, 0x56, + 0x0a, 0x03, 0x48, 0x20, 0x1c, 0x32, 0x4b, 0x30, + 0x16, 0x37, 0xef, 0x12, 0x1b, 0x32, 0x6f, 0x14, + 0x0e, 0xe5, 0x0c, 0x04, 0x01, 0x0d, 0x0d, 0x56, + 0x0a, 0x1b, 0x30, 0xc5, 0x19, 0x0e, 0x56, 0x0a, + 0x04, 0xbf, 0x93, 0x16, 0x35, 0x8e, 0x14, 0x08, + 0x36, 0x00, 0x1e, 0x34, 0x9d, 0x2e, 0x04, 0x6c, + 0x4d, 0x0f, 0x9c, 0x2e, 0x04, 0x02, 0x04, 0x03, + 0x0f, 0x6f, 0x0a, 0x0a, 0x01, 0xba, 0x01, 0x06, + 0xf8, 0x00, 0x08, 0x6f, 0x0a, 0x03, 0xf5, 0x09, + 0x02, 0x32, 0x03, 0x0e, 0x08, 0x59, 0x1a, 0x38, + 0x63, 0x00, 0x00, 0xd7, 0x01, 0x17, 0x38, 0xd7, + 0x01, 0x01, 0x05, 0x20, 0x0d, 0xb3, 0x0b, 0x0c, + 0x6a, 0x2d, 0x0f, 0x36, 0x3b, 0x01, 0x17, 0x33, + 0xb6, 0x40, 0x0f, 0xc6, 0x0b, 0x08, 0x09, 0x5a, + 0x31, 0x06, 0x26, 0x01, 0x02, 0xb2, 0x0b, 0x0e, + 0xb2, 0x59, 0x06, 0x3f, 0x0a, 0x09, 0x30, 0x4f, + 0x03, 0xb9, 0xe4, 0x08, 0x6a, 0x0a, 0x1b, 0x33, + 0x53, 0x65, 0x09, 0xfe, 0x07, 0x1f, 0x33, 0x13, + 0x13, 0x2e, 0x01, 0x71, 0x0a, 0x03, 0xb3, 0x02, + 0x07, 0x71, 0x0a, 0x00, 0x0a, 0x01, 0x07, 0x0a, + 0x08, 0x04, 0x83, 0x21, 0x03, 0xaf, 0xe4, 0x0f, + 0xf4, 0x17, 0x02, 0x01, 0x71, 0x0a, 0x05, 0x82, + 0x25, 0x0a, 0x07, 0x01, 0x13, 0x31, 0xfb, 0x0e, + 0x0d, 0x09, 0xec, 0x27, 0x34, 0x31, 0x28, 0x55, + 0x0e, 0x80, 0x84, 0x07, 0x1e, 0x00, 0x0e, 0x43, + 0x0c, 0x02, 0x6c, 0xed, 0x02, 0x2a, 0x05, 0x0f, + 0x50, 0x08, 0x10, 0x1f, 0x33, 0x4a, 0x08, 0x0b, + 0x1f, 0x33, 0x44, 0x08, 0x09, 0x1e, 0x33, 0x3e, + 0x08, 0x0e, 0xbd, 0x07, 0x1f, 0x33, 0x38, 0x08, + 0x11, 0x1f, 0x33, 0x32, 0x08, 0x11, 0x1e, 0x33, + 0x2c, 0x08, 0x0f, 0x94, 0x00, 0x07, 0x1f, 0x34, + 0x25, 0x00, 0x11, 0x1f, 0x35, 0x4b, 0x08, 0x03, + 0x2e, 0x31, 0x3e, 0xf6, 0x49, 0x1f, 0x36, 0x4b, + 0x08, 0x01, 0x1e, 0x34, 0x4b, 0x08, 0x05, 0xc7, + 0x49, 0x0f, 0x2a, 0x01, 0x03, 0x0f, 0xdb, 0x07, + 0x13, 0x1f, 0x33, 0x55, 0x13, 0x0a, 0x0e, 0x5e, + 0x00, 0x0f, 0x39, 0x08, 0x0a, 0x1e, 0x32, 0x2f, + 0x00, 0x0e, 0x33, 0x08, 0x0a, 0x54, 0x4a, 0x0e, + 0x52, 0x01, 0x04, 0x2d, 0x08, 0x0f, 0x29, 0x20, + 0x0f, 0x05, 0x5c, 0x01, 0x0f, 0x54, 0x1f, 0x14, + 0x0f, 0x89, 0x13, 0x05, 0x1a, 0x33, 0x8c, 0x08, + 0x2e, 0x61, 0x64, 0xf2, 0x0c, 0x07, 0x84, 0x88, + 0x0e, 0x5d, 0x13, 0x07, 0x42, 0x47, 0x0d, 0x2a, + 0x9c, 0x12, 0x38, 0x76, 0x0b, 0x0e, 0x51, 0x68, + 0x1e, 0x31, 0x40, 0x13, 0x0e, 0x4b, 0x86, 0x07, + 0x1f, 0x4a, 0x03, 0x4f, 0x68, 0x0e, 0x44, 0x14, + 0x0e, 0x91, 0x08, 0x09, 0x86, 0x49, 0x0e, 0x0b, + 0x37, 0x17, 0x38, 0x54, 0x88, 0x1e, 0x3b, 0xa9, + 0x06, 0x1b, 0x32, 0x3e, 0x9c, 0x0b, 0xa8, 0x06, + 0x0b, 0xbd, 0x13, 0x08, 0xcf, 0x30, 0x0f, 0x08, + 0x20, 0x01, 0x1f, 0x30, 0xb3, 0x41, 0x13, 0x1f, + 0x32, 0x61, 0x46, 0x0e, 0x03, 0xbc, 0x0c, 0x02, + 0xc5, 0xd4, 0x0e, 0x52, 0x08, 0x04, 0x81, 0x01, + 0x1e, 0x30, 0x0e, 0x4a, 0x03, 0x6d, 0x3c, 0x09, + 0x68, 0x08, 0x1f, 0x38, 0x85, 0x48, 0x0a, 0x0f, + 0xff, 0x45, 0x08, 0x05, 0xea, 0x56, 0x0f, 0xa0, + 0x4c, 0x1e, 0x26, 0x35, 0x33, 0xa0, 0x4c, 0x12, + 0x0a, 0x83, 0x00, 0x0b, 0x53, 0x49, 0x04, 0x82, + 0x60, 0x0f, 0xed, 0x4a, 0x04, 0x15, 0x33, 0x3a, + 0xaa, 0x0e, 0x2e, 0x15, 0x16, 0x34, 0xf8, 0x49, + 0x0a, 0xc0, 0x0f, 0x09, 0x36, 0x33, 0x2c, 0x38, + 0x5f, 0xbe, 0x38, 0x14, 0x38, 0x33, 0x10, 0x02, + 0x0b, 0xcb, 0x0e, 0x16, 0x0f, 0x14, 0x34, 0x2b, + 0x67, 0x1d, 0x5d, 0x3a, 0x00, 0x14, 0x38, 0x3a, + 0x00, 0x1c, 0x35, 0x52, 0x7c, 0x0d, 0x6e, 0x4a, + 0x0a, 0x3f, 0x15, 0x13, 0x31, 0xe6, 0xb7, 0x0e, + 0xbb, 0x0f, 0x06, 0xab, 0x01, 0x17, 0x35, 0xb5, + 0x00, 0x1f, 0x38, 0x30, 0x4a, 0x0e, 0x1f, 0x31, + 0xb7, 0xc3, 0x06, 0x1e, 0x31, 0x8f, 0x27, 0x0f, + 0xb6, 0xc3, 0x08, 0x0a, 0xf6, 0x00, 0x25, 0x64, + 0x39, 0xab, 0x01, 0x2c, 0x38, 0x3a, 0x46, 0x08, + 0x1b, 0x36, 0x51, 0x10, 0x08, 0x18, 0x03, 0x1e, + 0x34, 0x21, 0x0b, 0x0e, 0xd6, 0x13, 0x03, 0x95, + 0x09, 0x0e, 0xbd, 0x31, 0x02, 0x34, 0x14, 0x0e, + 0xfe, 0x47, 0x04, 0x50, 0x04, 0x1c, 0x32, 0x4b, + 0x09, 0x06, 0xf9, 0x41, 0x0e, 0xd1, 0x22, 0x0a, + 0x4b, 0x09, 0x07, 0x59, 0x48, 0x1b, 0x33, 0xbb, + 0x0a, 0x04, 0xb1, 0x14, 0x0b, 0x46, 0x00, 0x0e, + 0xbb, 0x0a, 0x05, 0xd9, 0x4b, 0x0a, 0x90, 0x21, + 0x0a, 0x09, 0x0a, 0x16, 0x32, 0xcc, 0x13, 0x0b, + 0xd1, 0x7a, 0x03, 0xaf, 0x09, 0x09, 0x1f, 0x0a, + 0x13, 0x38, 0x34, 0x16, 0x09, 0xe1, 0x13, 0x07, + 0x1b, 0xc1, 0x0e, 0x23, 0x09, 0x04, 0x4e, 0x00, + 0x07, 0xf9, 0x4a, 0x24, 0x34, 0x34, 0xad, 0x01, + 0x01, 0x54, 0x13, 0x0f, 0x8c, 0x9a, 0x07, 0x16, + 0x39, 0x2d, 0x7b, 0x08, 0xcb, 0x00, 0x0d, 0x4c, + 0x14, 0x08, 0x86, 0x49, 0x0b, 0x86, 0x1f, 0x07, + 0x57, 0x20, 0x0d, 0x01, 0x34, 0x16, 0x34, 0xb6, + 0x7c, 0x0f, 0x11, 0x4b, 0x04, 0x14, 0x34, 0x2c, + 0x39, 0x0f, 0x12, 0x4b, 0x0d, 0x0c, 0xc4, 0xa1, + 0x07, 0x15, 0x02, 0x0f, 0x73, 0x94, 0x04, 0x13, + 0x33, 0xcf, 0x95, 0x05, 0x3d, 0x29, 0x05, 0x7b, + 0x34, 0x25, 0x35, 0x7d, 0x1f, 0x01, 0x0b, 0xcb, + 0x4d, 0x03, 0xb8, 0x5b, 0x06, 0xf2, 0x4e, 0x0e, + 0xbb, 0x8e, 0x0b, 0xdf, 0x06, 0x16, 0x31, 0x72, + 0x2a, 0x02, 0xe8, 0xda, 0x03, 0xe9, 0x06, 0x0f, + 0x05, 0x0a, 0x10, 0x1f, 0x34, 0x41, 0x29, 0x10, + 0x1f, 0x34, 0x41, 0x29, 0x0e, 0x1f, 0x34, 0x41, + 0x29, 0x16, 0x1e, 0x34, 0x41, 0x29, 0x0f, 0x2a, + 0x00, 0x11, 0x0f, 0x1e, 0x0a, 0x0a, 0x1f, 0x34, + 0x41, 0x29, 0x16, 0x19, 0x34, 0xfb, 0x27, 0x0f, + 0x2a, 0x00, 0x16, 0x0f, 0x2d, 0x0a, 0x04, 0x2e, + 0x34, 0x3e, 0x8e, 0x1d, 0x1f, 0x35, 0x2d, 0x0a, + 0x01, 0x1f, 0x36, 0x78, 0x12, 0x15, 0x1f, 0x34, + 0x6b, 0x29, 0x0f, 0x0d, 0x37, 0x29, 0x0a, 0x52, + 0x01, 0x0f, 0xab, 0x12, 0x13, 0x1f, 0x34, 0x6b, + 0x29, 0x0f, 0x0e, 0x34, 0x00, 0x0f, 0x6b, 0x29, + 0x20, 0x0a, 0x70, 0x01, 0x0f, 0x07, 0x2a, 0x13, + 0x0a, 0x7a, 0x01, 0x0f, 0xe1, 0x4a, 0x0e, 0x1e, + 0x36, 0xf5, 0x1c, 0x0f, 0xc9, 0x12, 0x06, 0x1b, + 0x31, 0xf9, 0x1c, 0x0d, 0x5f, 0x54, 0x0f, 0x13, + 0x1d, 0x02, 0x0f, 0xa8, 0x29, 0x1c, 0x03, 0x0e, + 0x10, 0x05, 0x61, 0x12, 0x19, 0x6f, 0xa7, 0x29, + 0x0e, 0x31, 0x00, 0x03, 0xea, 0x03, 0x0e, 0x91, + 0x12, 0x07, 0x97, 0x10, 0x16, 0x38, 0xa8, 0x27, + 0x0a, 0x1f, 0x00, 0x18, 0x31, 0x86, 0x10, 0x0f, + 0x00, 0x18, 0x04, 0x1e, 0x33, 0x46, 0x28, 0x07, + 0xa1, 0x3e, 0x06, 0x25, 0xbe, 0x0a, 0x85, 0x13, + 0x02, 0xc4, 0x48, 0x0c, 0x84, 0x13, 0x1e, 0x39, + 0x14, 0x2a, 0x02, 0x79, 0x23, 0x02, 0x75, 0x04, + 0x02, 0xb1, 0xc0, 0x0b, 0x85, 0x00, 0x1e, 0x37, + 0xae, 0x17, 0x06, 0x72, 0x76, 0x0e, 0xae, 0x17, + 0x08, 0xca, 0x17, 0x0d, 0xaf, 0x0f, 0x03, 0x14, + 0x4c, 0x0e, 0x72, 0x76, 0x05, 0xae, 0x01, 0x1f, + 0x32, 0x65, 0x76, 0x04, 0x1f, 0x33, 0xa3, 0x18, + 0x05, 0x1e, 0x33, 0x1e, 0xcb, 0x07, 0x45, 0x54, + 0x04, 0xa4, 0x2a, 0x0e, 0x8b, 0x2a, 0x02, 0x3f, + 0x54, 0x05, 0x60, 0x11, 0x0f, 0x17, 0x18, 0x04, + 0x0e, 0x2c, 0x23, 0x07, 0xa8, 0x62, 0x1c, 0x37, + 0x9e, 0x0c, 0x14, 0x39, 0xbe, 0x05, 0x1f, 0x39, + 0x8b, 0x2a, 0x0c, 0x06, 0xaf, 0x02, 0x0f, 0xd1, + 0x13, 0x04, 0x02, 0x22, 0x00, 0x0d, 0x68, 0x0b, + 0x1e, 0x39, 0x8b, 0x2a, 0x03, 0xb4, 0x11, 0x0f, + 0x8a, 0x2a, 0x01, 0x17, 0x31, 0x53, 0xa4, 0x1e, + 0x3b, 0x99, 0x1d, 0x0c, 0x54, 0x1c, 0x1b, 0x32, + 0xe0, 0x3b, 0x0f, 0x74, 0x1a, 0x0e, 0x0b, 0x9e, + 0x03, 0x16, 0x33, 0xe1, 0x25, 0x1f, 0x36, 0x80, + 0x0c, 0x0e, 0x14, 0x34, 0x29, 0x01, 0x0e, 0x6a, + 0x1f, 0x17, 0x35, 0x01, 0x01, 0x1f, 0x35, 0xdc, + 0x2a, 0x1d, 0x11, 0x33, 0x39, 0x74, 0x0f, 0xdc, + 0x2a, 0x04, 0x1b, 0x36, 0x5a, 0x00, 0x09, 0x57, + 0x42, 0x1e, 0x39, 0x6a, 0x1f, 0x08, 0x66, 0x08, + 0x1f, 0x36, 0x77, 0x53, 0x13, 0x0f, 0x48, 0x59, + 0x05, 0x00, 0x4c, 0x08, 0x04, 0xf3, 0x00, 0x0e, + 0xe1, 0x2a, 0x05, 0xb2, 0x25, 0x0e, 0xe1, 0x2a, + 0x1f, 0x33, 0xe1, 0x2a, 0x56, 0x08, 0xf8, 0x29, + 0x08, 0xe1, 0x2a, 0x0e, 0x00, 0x15, 0x17, 0x38, + 0x7d, 0x2a, 0x1f, 0x37, 0x99, 0x0b, 0x09, 0x01, + 0xf8, 0x20, 0x03, 0xe0, 0x65, 0x0c, 0xe1, 0x2a, + 0x07, 0xdb, 0x59, 0x2e, 0x36, 0x33, 0xc3, 0x1e, + 0x1b, 0x30, 0x64, 0x00, 0x0a, 0x28, 0x09, 0x1f, + 0x39, 0xe1, 0x2a, 0x05, 0x1e, 0x39, 0xf4, 0x69, + 0x0f, 0xe1, 0x2a, 0x04, 0x1f, 0x39, 0xe1, 0x2a, + 0x17, 0x2f, 0x32, 0x31, 0xe1, 0x2a, 0x0b, 0x17, + 0x31, 0xf3, 0x56, 0x1d, 0x31, 0xd8, 0x13, 0x1f, + 0x39, 0xe1, 0x2a, 0x06, 0x06, 0x14, 0x3f, 0x0f, + 0xe1, 0x2a, 0x4d, 0x1f, 0x39, 0xb9, 0x28, 0x02, + 0x1f, 0x34, 0xe1, 0x2a, 0x10, 0x1f, 0x34, 0xe1, + 0x2a, 0x11, 0x1f, 0x39, 0xe1, 0x2a, 0x0e, 0x05, + 0x5d, 0x30, 0x0a, 0x4e, 0x01, 0x2b, 0x31, 0x39, + 0xfd, 0x00, 0x1b, 0x38, 0x40, 0x7b, 0x09, 0xcc, + 0x00, 0x03, 0x35, 0x51, 0x0b, 0x4d, 0x05, 0x17, + 0x30, 0x1a, 0x87, 0x0f, 0x26, 0x39, 0x02, 0x03, + 0xfa, 0x2a, 0x0e, 0xbb, 0x0e, 0x04, 0x57, 0x49, + 0x16, 0x33, 0xe4, 0x6f, 0x0f, 0x3e, 0x1e, 0x01, + 0x12, 0x35, 0x53, 0x29, 0x05, 0xdc, 0x05, 0x0c, + 0x65, 0x20, 0x03, 0x23, 0x2a, 0x0a, 0xe3, 0x24, + 0x0b, 0xaf, 0x99, 0x09, 0xd1, 0x05, 0x18, 0x31, + 0x33, 0x06, 0x06, 0x43, 0x01, 0x1f, 0x32, 0xf1, + 0x0b, 0x12, 0x0f, 0x5c, 0x29, 0x10, 0x1f, 0x34, + 0x5c, 0x29, 0x0f, 0x1f, 0x34, 0x5c, 0x29, 0x17, + 0x1e, 0x34, 0x5c, 0x29, 0x0f, 0x2b, 0x00, 0x13, + 0x0f, 0xf6, 0x0b, 0x0c, 0x0f, 0x5c, 0x29, 0x16, + 0x1a, 0x34, 0x11, 0x28, 0x0f, 0x2b, 0x00, 0x17, + 0x0f, 0xf9, 0x0b, 0x17, 0x2f, 0x35, 0x38, 0xf9, + 0x0b, 0x19, 0x0e, 0x5d, 0x0b, 0x0f, 0x87, 0x29, + 0x10, 0x0e, 0x5e, 0x0b, 0x0e, 0x28, 0x60, 0x0f, + 0x2f, 0x0c, 0x11, 0x0f, 0x87, 0x29, 0x0f, 0x0d, + 0x67, 0x16, 0x0b, 0x6c, 0x01, 0x0f, 0xf1, 0x29, + 0x13, 0x0b, 0x76, 0x01, 0x0f, 0xa2, 0x16, 0x13, + 0x0b, 0x80, 0x01, 0x0f, 0xff, 0x0b, 0x0e, 0x1f, + 0x37, 0xdd, 0x29, 0x14, 0x1f, 0x34, 0xdd, 0x29, + 0x0e, 0x03, 0x57, 0x7e, 0x0f, 0xdd, 0x29, 0x06, + 0x0e, 0x2e, 0x1e, 0x06, 0x53, 0x7e, 0x03, 0x28, + 0x13, 0x0e, 0x7e, 0x0b, 0x0f, 0x15, 0x2a, 0x19, + 0x16, 0x32, 0x15, 0x2a, 0x0c, 0xfc, 0x1e, 0x2e, + 0x35, 0x30, 0x15, 0x2a, 0x16, 0x34, 0x15, 0x2a, + 0x2f, 0x35, 0x30, 0x78, 0x0b, 0x01, 0x03, 0x28, + 0xb0, 0x0f, 0x26, 0x23, 0x39, 0x04, 0xff, 0xa6, + 0x0e, 0xa8, 0x08, 0x03, 0xca, 0x0d, 0x02, 0x22, + 0x1b, 0x0e, 0x82, 0x60, 0x02, 0xb0, 0x00, 0x0f, + 0xa1, 0x2a, 0x25, 0x0f, 0x8e, 0x2a, 0x06, 0x1c, + 0x32, 0xbb, 0x45, 0x16, 0x34, 0x79, 0x06, 0x0f, + 0x92, 0x81, 0x04, 0x0a, 0xd7, 0x14, 0x17, 0x33, + 0x62, 0x01, 0x14, 0x32, 0x4c, 0x01, 0x0f, 0x8e, + 0x2a, 0x0b, 0x1e, 0x35, 0x8e, 0x2a, 0x0b, 0xfa, + 0x16, 0x08, 0x22, 0x31, 0x17, 0x34, 0x61, 0x00, + 0x0e, 0x8e, 0x2a, 0x1e, 0x30, 0x8e, 0x2a, 0x0b, + 0xd8, 0x0d, 0x0e, 0x8e, 0x2a, 0x06, 0xd8, 0x1d, + 0x0c, 0x62, 0x14, 0x1e, 0x32, 0x94, 0x0b, 0x16, + 0x39, 0xa9, 0x16, 0x1f, 0x38, 0x92, 0x0b, 0x0d, + 0x1f, 0x36, 0x6b, 0x4f, 0x0d, 0x14, 0x35, 0x21, + 0x01, 0x0f, 0x73, 0x0b, 0x04, 0x13, 0x35, 0xa0, + 0x5e, 0x0f, 0xdd, 0x2a, 0x1d, 0x16, 0x36, 0x73, + 0x0b, 0x1e, 0x33, 0x73, 0x0b, 0x0b, 0x5a, 0x00, + 0x08, 0x73, 0x0b, 0x2f, 0x35, 0x30, 0x73, 0x0b, + 0x0b, 0x2f, 0x35, 0x35, 0x73, 0x0b, 0x06, 0x1f, + 0x34, 0x72, 0x0b, 0x09, 0x1a, 0x33, 0x72, 0x0b, + 0x2e, 0x35, 0x30, 0xe1, 0x2a, 0x06, 0x0f, 0x26, 0x0e, 0xe1, 0x2a, 0x1f, 0x36, 0xe1, 0x2a, 0x56, - 0x03, 0x00, 0x0a, 0x0d, 0xe1, 0x2a, 0x1e, 0x36, - 0x72, 0x0b, 0x07, 0x59, 0x15, 0x1f, 0x33, 0x72, + 0x05, 0x7e, 0xc2, 0x0b, 0xe1, 0x2a, 0x1f, 0x36, + 0x72, 0x0b, 0x03, 0x04, 0xb0, 0xcc, 0x0f, 0x72, 0x0b, 0x09, 0x15, 0x35, 0x72, 0x0b, 0x1c, 0x35, - 0x53, 0x36, 0x04, 0x6f, 0x6c, 0x0f, 0x95, 0x8a, - 0x05, 0x1b, 0x30, 0x64, 0x00, 0x0a, 0x72, 0x0b, - 0x1f, 0x36, 0xe1, 0x2a, 0x05, 0x0e, 0xfc, 0xd5, - 0x0f, 0xe1, 0x2a, 0x05, 0x1f, 0x35, 0xe1, 0x2a, - 0x18, 0x1e, 0x37, 0xe1, 0x2a, 0x0d, 0x72, 0x0b, - 0x03, 0x6f, 0x66, 0x0d, 0x71, 0x0b, 0x1f, 0x36, - 0xe1, 0x2a, 0x07, 0x1f, 0x35, 0xe1, 0x2a, 0x02, - 0x1f, 0x33, 0xe1, 0x2a, 0x3e, 0x00, 0x06, 0x01, - 0x0e, 0xe1, 0x2a, 0x1f, 0x36, 0xe1, 0x2a, 0x0e, - 0x17, 0x32, 0x8f, 0x2f, 0x1b, 0x37, 0x00, 0x4b, - 0x0d, 0x24, 0x0c, 0x03, 0x2d, 0x7c, 0x0c, 0x26, - 0x0b, 0x06, 0x09, 0x0c, 0x0e, 0x25, 0x0c, 0x03, - 0x7e, 0x16, 0x0f, 0x26, 0x0b, 0x07, 0x2f, 0x35, - 0x33, 0x26, 0x0b, 0x2b, 0x16, 0x35, 0xeb, 0x00, - 0x0c, 0x8b, 0x2b, 0x07, 0x65, 0x04, 0x0e, 0x93, - 0x1b, 0x03, 0x5b, 0x8d, 0x09, 0x9e, 0x36, 0x08, - 0xde, 0x05, 0x06, 0x57, 0x00, 0x0f, 0x26, 0x0b, - 0x13, 0x0f, 0x6c, 0x29, 0x10, 0x1f, 0x34, 0x6c, - 0x29, 0x0f, 0x1f, 0x34, 0x6c, 0x29, 0x17, 0x1e, - 0x34, 0x23, 0x61, 0x0f, 0x2b, 0x00, 0x13, 0x0f, - 0x26, 0x0b, 0x0c, 0x0f, 0x6c, 0x29, 0x16, 0x1a, - 0x34, 0x21, 0x28, 0x0f, 0x2b, 0x00, 0x17, 0x1f, - 0x35, 0x97, 0x29, 0x17, 0x1f, 0x39, 0x26, 0x0b, - 0x19, 0x0e, 0x52, 0x0a, 0x0f, 0x97, 0x29, 0x10, - 0x1f, 0x34, 0x35, 0x00, 0x0b, 0x0f, 0x21, 0x17, - 0x16, 0x0f, 0x97, 0x29, 0x0e, 0x0e, 0xcc, 0x29, - 0x0b, 0x6c, 0x01, 0x0f, 0xf1, 0x21, 0x13, 0x0b, - 0x76, 0x01, 0x0f, 0xcc, 0x29, 0x13, 0x0b, 0x80, - 0x01, 0x0f, 0x70, 0x21, 0x17, 0x0f, 0xe3, 0x29, - 0x0b, 0x06, 0xb3, 0x1f, 0x0d, 0x03, 0x0b, 0x0e, - 0xfe, 0x29, 0x05, 0xfe, 0x04, 0x1a, 0x32, 0x00, - 0x2d, 0x0b, 0xd0, 0x0a, 0x05, 0xb7, 0x8a, 0x09, - 0xd0, 0x0a, 0x1f, 0x37, 0xcc, 0x29, 0x3d, 0x0e, - 0x5c, 0x6b, 0x0d, 0x0c, 0x09, 0x16, 0x36, 0xae, - 0x0b, 0x1f, 0x35, 0xcc, 0x0b, 0x05, 0x0f, 0xfa, - 0x29, 0x0b, 0x0f, 0xc1, 0x29, 0x0e, 0x0e, 0xef, - 0x65, 0x0b, 0x78, 0x91, 0x0f, 0x41, 0x34, 0x09, - 0x18, 0x33, 0x65, 0x09, 0x1f, 0x37, 0x04, 0x2a, - 0x06, 0x03, 0x18, 0x70, 0x0e, 0x79, 0x22, 0x0f, - 0x04, 0x2a, 0x0b, 0x16, 0x37, 0x04, 0x2a, 0x1e, - 0x36, 0x04, 0x2a, 0x0b, 0x5a, 0x00, 0x09, 0xb9, - 0x0a, 0x1f, 0x37, 0x04, 0x2a, 0x0a, 0x1f, 0x36, - 0x04, 0x2a, 0x3c, 0x18, 0x32, 0x04, 0x2a, 0x1d, - 0x37, 0x04, 0x2a, 0x16, 0x37, 0xe9, 0x1d, 0x0d, - 0x44, 0x23, 0x16, 0x34, 0x1c, 0xb8, 0x08, 0x04, - 0x2a, 0x0f, 0x2c, 0x23, 0x06, 0x0d, 0x79, 0x09, - 0x0c, 0x4e, 0x19, 0x0f, 0x79, 0x09, 0x03, 0x1b, - 0x32, 0x04, 0x2a, 0x17, 0x31, 0x13, 0xa9, 0x1e, - 0x37, 0x04, 0x2a, 0x06, 0x99, 0x91, 0x0f, 0x04, - 0x2a, 0x01, 0x06, 0x57, 0xe3, 0x0f, 0x04, 0x2a, - 0x11, 0x1c, 0x37, 0x04, 0x2a, 0x17, 0x37, 0x04, - 0x2a, 0x1e, 0x37, 0x04, 0x2a, 0x0b, 0x63, 0x00, - 0x09, 0xe5, 0x1f, 0x1e, 0x37, 0x04, 0x2a, 0x1f, - 0x35, 0x04, 0x2a, 0x02, 0x1e, 0x38, 0xb9, 0x20, - 0x04, 0x0e, 0x56, 0x05, 0xd3, 0x0a, 0x08, 0xe9, - 0x0a, 0x07, 0xb9, 0x0a, 0x0c, 0x04, 0x2a, 0x13, - 0x33, 0xdc, 0x42, 0x0f, 0x04, 0x2a, 0x1a, 0x2e, - 0x37, 0x5f, 0x04, 0x2a, 0x1e, 0x39, 0x04, 0x2a, - 0x07, 0xbd, 0x24, 0x0e, 0x05, 0x2a, 0x07, 0xc3, - 0x0e, 0x03, 0x18, 0x15, 0x0e, 0x72, 0x66, 0x04, - 0xdf, 0x94, 0x1f, 0x31, 0x06, 0x2a, 0x08, 0x15, - 0x38, 0x60, 0x66, 0x04, 0x56, 0x17, 0x02, 0xa7, - 0x02, 0x0f, 0x06, 0x2a, 0x07, 0x1b, 0x31, 0x1c, - 0x97, 0x08, 0x09, 0x01, 0x0c, 0x12, 0x92, 0x08, - 0xd3, 0x2b, 0x1c, 0x36, 0xe3, 0x20, 0x06, 0xe7, - 0x0a, 0x0d, 0x70, 0x55, 0x03, 0xce, 0x17, 0x1f, - 0x33, 0x96, 0x09, 0x07, 0x0e, 0x4e, 0x4f, 0x06, - 0x13, 0x5e, 0x0f, 0x97, 0x09, 0x12, 0x13, 0x34, - 0xe2, 0x4d, 0x02, 0xba, 0xfd, 0x0b, 0x97, 0x98, - 0x0f, 0x95, 0x70, 0x02, 0x06, 0x5b, 0x4e, 0x03, - 0x19, 0x50, 0x0e, 0xcb, 0x2a, 0x0b, 0x1f, 0x06, - 0x07, 0x82, 0x0b, 0x14, 0x37, 0x8e, 0x0f, 0x1f, - 0x37, 0xcb, 0x2a, 0x05, 0x8e, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x70, 0x6f, 0x73, 0xa4, 0x09, 0x05, - 0x1a, 0x00, 0x0b, 0x99, 0x09, 0x05, 0x18, 0x00, - 0x0e, 0x8e, 0x09, 0x0e, 0x20, 0x00, 0x0e, 0xb7, - 0x2a, 0x0d, 0x20, 0x00, 0x1f, 0x32, 0x20, 0x00, - 0x0c, 0x0f, 0x9c, 0x6a, 0x03, 0x2e, 0x37, 0x3e, - 0x66, 0x8d, 0x1f, 0x35, 0x4c, 0x96, 0x18, 0x00, - 0x9c, 0x13, 0x0d, 0xca, 0x00, 0x0f, 0xcf, 0x29, - 0x06, 0x0d, 0xd4, 0x00, 0x0f, 0x81, 0xb9, 0x05, - 0x0d, 0xdd, 0x00, 0x0e, 0x89, 0x08, 0x03, 0xb8, - 0x05, 0x0d, 0xe7, 0x00, 0x0c, 0x7e, 0x08, 0x0f, - 0x57, 0xb9, 0x07, 0x08, 0x4f, 0x6f, 0x0f, 0x64, - 0x6a, 0x14, 0x1f, 0x31, 0x54, 0xb9, 0x01, 0x06, - 0xca, 0x08, 0x1f, 0x79, 0x53, 0xb9, 0x01, 0x0e, - 0x3a, 0x8c, 0x04, 0x7a, 0x1f, 0x1e, 0x79, 0x93, - 0xb8, 0x03, 0x06, 0x6a, 0x0e, 0x39, 0xa1, 0x09, - 0x91, 0xb8, 0x0e, 0x57, 0xc4, 0x07, 0x37, 0x90, - 0x22, 0x6f, 0x72, 0xdf, 0x01, 0x05, 0x20, 0x5f, - 0x14, 0x31, 0xc4, 0x90, 0x09, 0x62, 0x12, 0x06, - 0x77, 0x83, 0x0f, 0x66, 0xa1, 0x0c, 0x2e, 0x61, - 0x64, 0x16, 0x1d, 0x07, 0x70, 0x06, 0x0f, 0x1c, - 0x91, 0x07, 0x1f, 0x33, 0x89, 0xa1, 0x20, 0x29, - 0x31, 0x34, 0xce, 0xb9, 0x09, 0x7b, 0x00, 0x13, - 0x35, 0x96, 0x05, 0x16, 0x31, 0x51, 0x83, 0x07, - 0xce, 0x01, 0x05, 0x0e, 0x10, 0x0c, 0x9f, 0x01, - 0x0e, 0xfb, 0x0e, 0x0b, 0xde, 0x75, 0x0d, 0xd6, - 0x7a, 0x05, 0xaa, 0x9d, 0x28, 0x38, 0x5d, 0x8f, - 0x39, 0x2e, 0x38, 0x5f, 0xa9, 0x9d, 0x0c, 0x1f, + 0x53, 0x36, 0x04, 0x83, 0xc9, 0x0a, 0x63, 0x00, + 0x0b, 0x72, 0x0b, 0x07, 0x64, 0x00, 0x09, 0x72, + 0x0b, 0x2f, 0x35, 0x30, 0xe1, 0x2a, 0x05, 0x0c, + 0x66, 0x91, 0x1f, 0x37, 0xe1, 0x2a, 0x06, 0x1f, + 0x35, 0xe1, 0x2a, 0x18, 0x1f, 0x37, 0xe1, 0x2a, + 0x0b, 0x02, 0xc9, 0x57, 0x09, 0x1d, 0x0c, 0x18, + 0x31, 0x57, 0x02, 0x0e, 0xe1, 0x2a, 0x06, 0xff, + 0xd7, 0x0e, 0xe1, 0x2a, 0x1f, 0x33, 0xe1, 0x2a, + 0x3e, 0x2e, 0x35, 0x37, 0xe1, 0x2a, 0x02, 0x99, + 0x00, 0x0f, 0xe1, 0x2a, 0x0b, 0x17, 0x32, 0x8f, + 0x2f, 0x1b, 0x37, 0x00, 0x4b, 0x0d, 0x24, 0x0c, + 0x03, 0xf5, 0xd8, 0x0c, 0x26, 0x0b, 0x06, 0x09, + 0x0c, 0x0e, 0x25, 0x0c, 0x03, 0x7e, 0x16, 0x0f, + 0x26, 0x0b, 0x07, 0x2f, 0x35, 0x33, 0x26, 0x0b, + 0x2b, 0x16, 0x35, 0xeb, 0x00, 0x0c, 0x8b, 0x2b, + 0x17, 0x35, 0x29, 0x18, 0x0f, 0x26, 0x0b, 0x04, + 0x19, 0x35, 0x9e, 0x36, 0x08, 0xde, 0x05, 0x06, + 0x57, 0x00, 0x0f, 0x26, 0x0b, 0x13, 0x0f, 0x6c, + 0x29, 0x10, 0x1f, 0x34, 0x6c, 0x29, 0x0f, 0x1f, + 0x34, 0x6c, 0x29, 0x17, 0x1e, 0x34, 0x23, 0x61, + 0x0f, 0x2b, 0x00, 0x13, 0x0f, 0x26, 0x0b, 0x0c, + 0x0f, 0x6c, 0x29, 0x16, 0x1a, 0x34, 0x21, 0x28, + 0x0f, 0x2b, 0x00, 0x17, 0x1f, 0x35, 0x97, 0x29, + 0x17, 0x1f, 0x39, 0x26, 0x0b, 0x19, 0x0e, 0x52, + 0x0a, 0x0f, 0x97, 0x29, 0x10, 0x1f, 0x34, 0x35, + 0x00, 0x0b, 0x0f, 0x21, 0x17, 0x16, 0x0f, 0x97, + 0x29, 0x0e, 0x0e, 0xcc, 0x29, 0x0b, 0x6c, 0x01, + 0x0f, 0xf1, 0x21, 0x13, 0x0b, 0x76, 0x01, 0x0f, + 0xcc, 0x29, 0x13, 0x0b, 0x80, 0x01, 0x0f, 0x70, + 0x21, 0x17, 0x0f, 0xe3, 0x29, 0x0b, 0x06, 0xb3, + 0x1f, 0x0d, 0x03, 0x0b, 0x0f, 0xfe, 0x29, 0x02, + 0x18, 0x34, 0x7a, 0xaa, 0x0f, 0xd0, 0x0a, 0x04, + 0x02, 0xf7, 0x06, 0x0c, 0xd0, 0x0a, 0x1f, 0x31, + 0xcc, 0x29, 0x3d, 0x0e, 0x5c, 0x6b, 0x0d, 0x0c, + 0x09, 0x17, 0x36, 0x56, 0xbc, 0x0f, 0xcc, 0x0b, + 0x05, 0x0f, 0xfa, 0x29, 0x0b, 0x0f, 0xc1, 0x29, + 0x0e, 0x0f, 0xef, 0x65, 0x08, 0x06, 0xfb, 0xc6, + 0x0f, 0xd0, 0x0c, 0x05, 0x18, 0x33, 0x65, 0x09, + 0x1f, 0x31, 0x04, 0x2a, 0x06, 0x03, 0x2e, 0xcd, + 0x0e, 0x79, 0x22, 0x0f, 0x04, 0x2a, 0x0b, 0x16, + 0x37, 0x04, 0x2a, 0x1e, 0x36, 0x04, 0x2a, 0x0b, + 0x5a, 0x00, 0x09, 0xb9, 0x0a, 0x1f, 0x31, 0x04, + 0x2a, 0x0a, 0x1f, 0x36, 0x04, 0x2a, 0x3c, 0x05, + 0x15, 0x62, 0x02, 0x06, 0x01, 0x0c, 0x04, 0x2a, + 0x16, 0x37, 0xe9, 0x1d, 0x0d, 0x44, 0x23, 0x26, + 0x34, 0x37, 0x17, 0x41, 0x07, 0x04, 0x2a, 0x0f, + 0x2c, 0x23, 0x06, 0x0d, 0x79, 0x09, 0x0c, 0x4e, + 0x19, 0x0f, 0x79, 0x09, 0x03, 0x1b, 0x32, 0x04, + 0x2a, 0x07, 0x36, 0x00, 0x2e, 0x34, 0x37, 0x04, + 0x2a, 0x03, 0x11, 0x97, 0x0f, 0x04, 0x2a, 0x04, + 0x06, 0x90, 0x7f, 0x0f, 0x04, 0x2a, 0x11, 0x1c, + 0x37, 0x04, 0x2a, 0x17, 0x37, 0x04, 0x2a, 0x1e, + 0x37, 0x04, 0x2a, 0x0b, 0x63, 0x00, 0x08, 0xe5, + 0x1f, 0x2e, 0x35, 0x31, 0x04, 0x2a, 0x1f, 0x35, + 0x04, 0x2a, 0x02, 0x1e, 0x38, 0xb9, 0x20, 0x04, + 0x0e, 0x56, 0x05, 0xd3, 0x0a, 0x08, 0xe9, 0x0a, + 0x07, 0xb9, 0x0a, 0x0c, 0x04, 0x2a, 0x13, 0x33, + 0xdc, 0x42, 0x0f, 0x04, 0x2a, 0x18, 0x00, 0xa9, + 0x00, 0x0e, 0x04, 0x2a, 0x0b, 0x20, 0x8f, 0x0b, + 0xbd, 0x24, 0x0f, 0x05, 0x2a, 0x03, 0x04, 0xbd, + 0x0e, 0x0e, 0xde, 0x0e, 0x03, 0x72, 0x66, 0x04, + 0xd5, 0xb5, 0x0f, 0x06, 0x2a, 0x08, 0x15, 0x38, + 0x60, 0x66, 0x04, 0x56, 0x17, 0x02, 0xa7, 0x02, + 0x0f, 0x06, 0x2a, 0x07, 0x06, 0xf1, 0xbf, 0x03, + 0x22, 0xc2, 0x07, 0x09, 0x01, 0x0c, 0x6d, 0x8e, + 0x08, 0xd3, 0x2b, 0x1c, 0x36, 0xe3, 0x20, 0x06, + 0xe7, 0x0a, 0x0d, 0x70, 0x55, 0x03, 0xce, 0x17, + 0x1f, 0x33, 0x96, 0x09, 0x07, 0x0e, 0x4e, 0x4f, + 0x06, 0x13, 0x5e, 0x0f, 0x97, 0x09, 0x12, 0x24, + 0x34, 0x36, 0xeb, 0x00, 0x2a, 0x38, 0x3a, 0x1f, + 0x02, 0x0f, 0x95, 0x70, 0x05, 0x06, 0x5b, 0x4e, + 0x03, 0x19, 0x50, 0x0e, 0xcb, 0x2a, 0x0b, 0x1f, + 0x06, 0x07, 0x82, 0x0b, 0x14, 0x31, 0x8e, 0x0f, + 0x1f, 0x31, 0xcb, 0x2a, 0x05, 0x8e, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0xa4, 0x09, + 0x05, 0x1a, 0x00, 0x0b, 0x99, 0x09, 0x05, 0x18, + 0x00, 0x0e, 0x8e, 0x09, 0x0e, 0x20, 0x00, 0x0e, + 0xb7, 0x2a, 0x0d, 0x20, 0x00, 0x1f, 0x32, 0x20, + 0x00, 0x0c, 0x0f, 0x9c, 0x6a, 0x03, 0x2e, 0x37, + 0x3e, 0x35, 0xea, 0x0f, 0x35, 0x20, 0x01, 0x1f, + 0x39, 0x61, 0x2a, 0x08, 0x0d, 0xca, 0x00, 0x0f, + 0xcf, 0x29, 0x06, 0x0d, 0xd4, 0x00, 0x0f, 0x60, + 0x08, 0x01, 0x1e, 0x39, 0x29, 0x00, 0x0f, 0xf3, + 0x08, 0x04, 0x1e, 0x30, 0x2a, 0x00, 0x0e, 0xba, + 0x94, 0x0f, 0xbb, 0x94, 0x07, 0x08, 0x4f, 0x6f, + 0x0f, 0x64, 0x6a, 0x14, 0x05, 0xeb, 0x2c, 0x09, + 0xb8, 0x59, 0x05, 0x62, 0x00, 0x1b, 0x79, 0x41, + 0x03, 0x08, 0xe0, 0x6e, 0x1e, 0x6d, 0x7a, 0x1f, + 0x1e, 0x79, 0x94, 0x69, 0x03, 0x06, 0x6a, 0x0d, + 0x13, 0x07, 0x04, 0xd9, 0xa3, 0x03, 0xd7, 0x68, + 0x0e, 0xda, 0x08, 0x05, 0xad, 0x30, 0x00, 0xa6, + 0x5a, 0x01, 0xdf, 0x01, 0x05, 0x20, 0x5f, 0x01, + 0xfa, 0x85, 0x0d, 0x62, 0x12, 0x03, 0x7f, 0x88, + 0x0f, 0x84, 0x11, 0x0a, 0x1d, 0x31, 0xf1, 0x2a, + 0x07, 0x16, 0x1d, 0x15, 0x31, 0x93, 0x74, 0x0e, + 0x11, 0x51, 0x0e, 0x05, 0x6f, 0x09, 0x09, 0x48, + 0x05, 0x7d, 0x08, 0x0e, 0x8c, 0x07, 0x03, 0x5c, + 0x27, 0x2e, 0x35, 0x5d, 0x7b, 0x00, 0x13, 0x35, + 0x96, 0x05, 0x03, 0xd8, 0xa5, 0x0e, 0xf3, 0xd0, + 0x06, 0x8d, 0xb5, 0x08, 0x9f, 0x01, 0x0e, 0xfb, + 0x0e, 0x0b, 0xde, 0x75, 0x04, 0xa6, 0x74, 0x0d, + 0xd7, 0x13, 0x03, 0xde, 0xc9, 0x03, 0x8f, 0x39, + 0x00, 0x32, 0x01, 0x0e, 0x8b, 0x13, 0x0b, 0x1f, 0x6b, 0x0a, 0x0f, 0x0e, 0x0a, 0xd2, 0x08, 0x0f, - 0x87, 0x5a, 0x02, 0x16, 0x38, 0x67, 0x15, 0x0e, - 0x0f, 0x29, 0x05, 0x16, 0x10, 0x1b, 0x39, 0xd8, - 0x01, 0x05, 0x6a, 0x82, 0x1d, 0x70, 0xf8, 0x1d, - 0x02, 0x70, 0xf8, 0x0c, 0x3c, 0x01, 0x14, 0x39, - 0xd5, 0x63, 0x07, 0xf3, 0x6b, 0x06, 0x13, 0x15, - 0x03, 0xcc, 0x46, 0x0f, 0xe8, 0xc1, 0x02, 0x0f, - 0x13, 0x15, 0x02, 0x0c, 0x69, 0x35, 0x0d, 0x8c, - 0x1b, 0x04, 0x52, 0x87, 0x1e, 0x32, 0xc8, 0x01, - 0x16, 0x32, 0x0d, 0x01, 0x1f, 0x39, 0x0a, 0x14, - 0x0c, 0x1f, 0x36, 0x1e, 0x9c, 0x07, 0x05, 0xba, - 0x9f, 0x0f, 0xef, 0x09, 0x0d, 0x1e, 0x73, 0x45, + 0x87, 0x5a, 0x02, 0x16, 0x38, 0x67, 0x15, 0x0f, + 0x0f, 0x29, 0x03, 0x02, 0x7d, 0xa4, 0x0b, 0xd8, + 0x01, 0x14, 0x36, 0xa1, 0x60, 0x2c, 0x70, 0x35, + 0x85, 0x12, 0x12, 0x32, 0x49, 0x07, 0x0b, 0x3c, + 0x01, 0x05, 0x88, 0x8a, 0x07, 0xf3, 0x6b, 0x0f, + 0x05, 0xb6, 0x04, 0x0b, 0x04, 0xc9, 0x0f, 0x13, + 0x15, 0x02, 0x0c, 0x69, 0x35, 0x0d, 0x8c, 0x1b, + 0x04, 0x9b, 0xe3, 0x1e, 0x32, 0xc8, 0x01, 0x16, + 0x32, 0x0d, 0x01, 0x02, 0xbb, 0x69, 0x0f, 0xc7, + 0x0a, 0x0d, 0x0f, 0xdf, 0x0f, 0x02, 0x05, 0x5c, + 0x95, 0x0f, 0xef, 0x09, 0x0d, 0x1e, 0x73, 0x45, 0x06, 0x15, 0x38, 0xc6, 0x67, 0x02, 0xd7, 0x01, 0x0f, 0xef, 0x38, 0x04, 0x7d, 0x70, 0x6f, 0x6b, 0x65, 0x5f, 0x75, 0x38, 0xd2, 0x05, 0x03, 0x18, 0x00, 0x0b, 0xd0, 0x05, 0x03, 0x16, 0x00, 0x0f, - 0xce, 0x05, 0x01, 0x1b, 0x38, 0x1d, 0x00, 0x09, - 0x2a, 0x96, 0x30, 0x62, 0x31, 0x36, 0xb8, 0x00, - 0x2f, 0x73, 0x3c, 0x3a, 0x43, 0x01, 0x1f, 0x33, - 0x77, 0x05, 0x08, 0x0b, 0x71, 0x00, 0x1f, 0x5d, - 0xf0, 0x35, 0x0d, 0x19, 0x31, 0x43, 0x05, 0x11, - 0x38, 0x75, 0x00, 0x0e, 0x48, 0x00, 0x2a, 0x31, - 0x5d, 0x34, 0x01, 0x13, 0x38, 0xc0, 0x5b, 0x01, - 0x33, 0x01, 0x3f, 0x73, 0x31, 0x3b, 0x2a, 0x01, - 0x08, 0x2e, 0x31, 0x36, 0x2b, 0x01, 0x03, 0x19, - 0x00, 0x0e, 0x2c, 0x01, 0x01, 0x17, 0x00, 0x0f, - 0x2d, 0x01, 0x01, 0x2c, 0x31, 0x36, 0x1f, 0x00, - 0x0f, 0x2f, 0x01, 0x39, 0x06, 0x74, 0x00, 0x0a, - 0x52, 0x06, 0x2b, 0x31, 0x36, 0x10, 0x01, 0x06, - 0x7e, 0x00, 0x0f, 0x59, 0x01, 0x12, 0x07, 0x32, - 0x01, 0x2f, 0x31, 0x36, 0x33, 0x01, 0x17, 0x1e, - 0x33, 0x8b, 0x95, 0x04, 0x19, 0x00, 0x0f, 0x33, - 0x01, 0x02, 0x0f, 0xf1, 0xa8, 0x06, 0x0b, 0x1f, - 0x00, 0x0a, 0x33, 0x01, 0x04, 0xd9, 0x07, 0x0f, - 0x32, 0x01, 0x22, 0x0f, 0xa9, 0xa8, 0x0b, 0x0e, - 0x28, 0x00, 0x0f, 0x31, 0x01, 0x1f, 0x28, 0x33, - 0x32, 0x31, 0x01, 0x0f, 0x30, 0x01, 0x0a, 0x1e, - 0x36, 0xc7, 0xc2, 0x04, 0x19, 0x00, 0x0f, 0x30, - 0x01, 0x02, 0x0e, 0xbb, 0xc2, 0x0e, 0x1f, 0x00, - 0x0e, 0x30, 0x01, 0x04, 0x1d, 0x01, 0x1f, 0x34, - 0x1d, 0x01, 0x0e, 0x0e, 0x4b, 0xc2, 0x0d, 0xf4, - 0x08, 0x0c, 0x6a, 0x00, 0x0f, 0x35, 0x9f, 0x0e, - 0x1e, 0x31, 0x34, 0x98, 0x08, 0x45, 0x62, 0x0f, - 0x1f, 0x01, 0x03, 0x6e, 0x66, 0x69, 0x6c, 0x6c, - 0x5f, 0x36, 0x1e, 0x01, 0x03, 0x18, 0x00, 0x0b, - 0x1d, 0x01, 0x03, 0x16, 0x00, 0x0f, 0x4c, 0x02, - 0x04, 0x0a, 0x1e, 0x00, 0x0c, 0xfb, 0x13, 0x0a, - 0x1e, 0x00, 0x0f, 0xa2, 0xa0, 0x16, 0x0f, 0xf5, - 0x9a, 0x1e, 0x0b, 0xa4, 0x00, 0x0f, 0xe9, 0x9a, - 0x05, 0x0b, 0xad, 0x00, 0x0f, 0x1b, 0x34, 0x06, - 0x0b, 0xb7, 0x00, 0x0f, 0x05, 0x9b, 0x84, 0x2f, - 0x34, 0x33, 0x05, 0x9b, 0x4c, 0x12, 0x34, 0xce, - 0x3b, 0x0f, 0xce, 0x9a, 0x6e, 0x1d, 0x32, 0x04, - 0x01, 0x17, 0x32, 0x04, 0x01, 0x05, 0xac, 0x00, - 0x0f, 0x34, 0x2e, 0x04, 0x21, 0x76, 0x63, 0x95, - 0x1f, 0x5e, 0x72, 0x65, 0x70, 0x61, 0x72, 0x72, - 0x0d, 0x09, 0x1e, 0x00, 0x0b, 0xfa, 0x02, 0x09, - 0x1c, 0x00, 0x0e, 0x1c, 0x04, 0x0f, 0x24, 0x00, - 0x06, 0x0c, 0x7e, 0x0d, 0x0e, 0x24, 0x00, 0x0e, - 0x0c, 0x03, 0x0e, 0xba, 0x81, 0x04, 0xbc, 0x06, - 0x0f, 0x20, 0x03, 0x15, 0x0f, 0xd3, 0xc6, 0x0a, - 0x0e, 0xcb, 0x00, 0x0f, 0x85, 0x16, 0x09, 0x0e, - 0xd5, 0x00, 0x0f, 0xd6, 0x37, 0x05, 0x0f, 0x2d, - 0x00, 0x04, 0x0c, 0x33, 0x03, 0x0b, 0x17, 0x37, - 0x0f, 0x8a, 0x2c, 0x04, 0x0f, 0x70, 0x2c, 0x04, - 0x0b, 0x33, 0x03, 0x06, 0xa3, 0x2c, 0x0f, 0xfe, - 0x0c, 0x08, 0x09, 0x67, 0x3a, 0x05, 0x2d, 0x02, - 0x04, 0xf2, 0x32, 0x0f, 0x7a, 0x54, 0x0a, 0x0e, - 0xda, 0x5a, 0x04, 0x23, 0x0a, 0x0e, 0xf4, 0x9a, - 0x0f, 0xe4, 0x53, 0x09, 0x26, 0x76, 0x32, 0xa1, - 0x98, 0x01, 0xdc, 0x03, 0x17, 0x7d, 0xba, 0xc5, - 0x0e, 0x67, 0xdf, 0x13, 0x31, 0x1e, 0x00, 0x2f, - 0x2b, 0x38, 0x36, 0x44, 0x05, 0x1f, 0x37, 0xa2, - 0x15, 0x0d, 0x0c, 0x9b, 0x6d, 0x08, 0x1b, 0x12, - 0x17, 0x38, 0x29, 0xaa, 0x07, 0x46, 0x6d, 0x00, - 0x1a, 0x77, 0x0c, 0x53, 0x03, 0x02, 0xc9, 0x35, - 0x0e, 0xf3, 0x13, 0x08, 0xdb, 0xca, 0x18, 0x36, - 0x54, 0x01, 0x1a, 0x31, 0xd0, 0x35, 0x12, 0x34, - 0x34, 0xb9, 0x03, 0x1c, 0x00, 0x1e, 0x3a, 0x07, - 0x04, 0x05, 0xbf, 0x07, 0x1e, 0x64, 0x3a, 0x00, - 0x03, 0x5e, 0x3c, 0x00, 0x85, 0x00, 0x0e, 0xfb, - 0x5b, 0x07, 0xdf, 0xd1, 0x08, 0x9f, 0x0e, 0x14, - 0x34, 0xaa, 0xb6, 0x0e, 0xbf, 0x6d, 0x00, 0x2f, - 0x00, 0x0b, 0xbe, 0x4b, 0x00, 0x2f, 0x00, 0x1d, - 0x39, 0x78, 0x00, 0x14, 0x37, 0x77, 0x00, 0x12, - 0x39, 0xbc, 0x36, 0x0b, 0xef, 0x15, 0x0c, 0xea, - 0x0a, 0x0b, 0x87, 0x08, 0x1f, 0x30, 0xc8, 0x00, - 0x08, 0x1e, 0x33, 0x94, 0x7d, 0x0a, 0x7a, 0x01, - 0x17, 0x37, 0x99, 0x00, 0x1f, 0x34, 0x49, 0x00, - 0x08, 0x13, 0x34, 0x9a, 0x00, 0x02, 0x8e, 0x0b, - 0x1e, 0x32, 0x99, 0x00, 0x0e, 0x83, 0x0b, 0x1f, - 0x32, 0x4f, 0x00, 0x08, 0x23, 0x31, 0x30, 0x50, - 0x00, 0x07, 0xcf, 0x0a, 0x0e, 0x51, 0x00, 0x0e, - 0xa2, 0x0a, 0x0f, 0x52, 0x00, 0x07, 0x1d, 0x37, - 0xda, 0x36, 0x04, 0x95, 0x0e, 0x1b, 0x38, 0x8a, - 0x37, 0x17, 0x34, 0xb7, 0xb7, 0x08, 0xbf, 0x39, - 0x0e, 0x81, 0x00, 0x0e, 0x33, 0x02, 0x15, 0x30, - 0xc1, 0x00, 0x0f, 0x0e, 0x1d, 0x04, 0xaf, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x70, - 0x79, 0x34, 0x0b, 0x02, 0x0a, 0x1f, 0x00, 0x0b, - 0xf3, 0x05, 0x0a, 0x1d, 0x00, 0x0e, 0xf4, 0x05, - 0x0f, 0x25, 0x00, 0x07, 0x0c, 0xf5, 0x05, 0x0f, - 0x25, 0x00, 0x02, 0x1f, 0x32, 0x25, 0x00, 0x11, - 0x1f, 0x33, 0xf0, 0xcc, 0x03, 0x0e, 0x07, 0x06, - 0x1f, 0x39, 0x7c, 0x13, 0x1c, 0x0e, 0xdd, 0x00, - 0x0f, 0x8d, 0x0a, 0x0a, 0x0e, 0xe7, 0x00, 0x0f, - 0x07, 0x06, 0x05, 0x1e, 0x33, 0x2e, 0x00, 0x0f, - 0xa4, 0x27, 0x09, 0x0f, 0x2e, 0x00, 0x05, 0x0c, - 0x8f, 0x13, 0x1f, 0x34, 0x36, 0x06, 0x05, 0x09, - 0xb8, 0x15, 0x0b, 0xd0, 0x44, 0x0f, 0x36, 0x06, - 0x08, 0x15, 0x35, 0x3b, 0x06, 0x1f, 0x36, 0x36, - 0x06, 0x08, 0x1c, 0x33, 0x36, 0x06, 0x1f, 0x35, - 0xfd, 0x12, 0x14, 0x07, 0x18, 0x33, 0x1a, 0x37, - 0x00, 0x14, 0x0f, 0x41, 0x09, 0x02, 0x1f, 0x37, - 0xf2, 0x12, 0x20, 0x17, 0x38, 0xf1, 0x12, 0x0f, - 0x07, 0x11, 0x24, 0x1f, 0x31, 0x06, 0x11, 0x28, - 0x02, 0xa7, 0x3b, 0x00, 0x11, 0x01, 0x0f, 0x7a, - 0x03, 0x09, 0x3f, 0x73, 0x75, 0x6d, 0x79, 0x03, - 0x08, 0x03, 0x1e, 0x00, 0x0e, 0x78, 0x03, 0x06, - 0x1c, 0x00, 0x0e, 0x77, 0x03, 0x0e, 0x24, 0x00, - 0x0f, 0x76, 0x03, 0x0a, 0x0a, 0x24, 0x00, 0x1f, - 0x32, 0x24, 0x00, 0x10, 0x0f, 0x74, 0x03, 0x16, - 0x2f, 0x31, 0x30, 0x75, 0x03, 0x22, 0x0b, 0xda, - 0x00, 0x0f, 0x74, 0x03, 0x0c, 0x0b, 0xe4, 0x00, - 0x0f, 0x73, 0x03, 0x0b, 0x0b, 0xed, 0x00, 0x0f, - 0x72, 0x03, 0x0b, 0x0b, 0xf6, 0x00, 0x0f, 0x71, - 0x03, 0x83, 0x1f, 0x36, 0x71, 0x03, 0x2d, 0x0f, - 0x0b, 0x28, 0x0a, 0x1f, 0x32, 0x8c, 0x3f, 0x06, - 0x1f, 0x37, 0x8b, 0x3f, 0x0f, 0x0f, 0x54, 0x03, - 0x1c, 0x0f, 0x86, 0xb7, 0x08, 0x09, 0x85, 0xb7, - 0x0f, 0xb3, 0x1b, 0x03, 0x14, 0x39, 0xe6, 0x3f, - 0x07, 0x7c, 0x03, 0x2f, 0x36, 0x5f, 0xf6, 0x06, - 0x10, 0x1e, 0x36, 0xdc, 0x0f, 0x0a, 0x1f, 0x00, - 0x0f, 0xf6, 0x06, 0x08, 0x0e, 0x06, 0x11, 0x0f, - 0x25, 0x00, 0x09, 0x0f, 0xf6, 0x06, 0x09, 0x06, - 0x41, 0x0f, 0x0f, 0x25, 0x00, 0x11, 0x0f, 0x82, - 0x03, 0x16, 0x0f, 0xae, 0x2e, 0x02, 0x1f, 0x30, - 0xf7, 0x06, 0x14, 0x0f, 0x84, 0x11, 0x10, 0x0e, - 0xe8, 0x00, 0x0f, 0xf7, 0x06, 0x15, 0x2f, 0x36, - 0x34, 0xf7, 0x06, 0x19, 0x2f, 0x36, 0x34, 0x86, - 0x03, 0x8b, 0x1f, 0x37, 0xf7, 0x06, 0x46, 0x1f, - 0x38, 0xf7, 0x06, 0x17, 0x07, 0x0b, 0x30, 0x0f, - 0xf8, 0x06, 0x0c, 0x06, 0x8f, 0x39, 0x0e, 0xbe, - 0x41, 0x0e, 0xdc, 0x7c, 0x0e, 0xbd, 0x41, 0x0e, - 0x75, 0x0a, 0x02, 0xb7, 0x41, 0x04, 0xda, 0x0d, - 0x12, 0x0a, 0x13, 0x01, 0x0f, 0xf9, 0x06, 0x0e, - 0x0e, 0x7c, 0x03, 0x08, 0x71, 0x06, 0x0e, 0x7b, - 0x03, 0x08, 0x1c, 0x00, 0x0f, 0xf9, 0x06, 0x0f, - 0x0f, 0x79, 0x03, 0x0c, 0x0a, 0x24, 0x00, 0x0f, - 0xf9, 0x06, 0x08, 0x0f, 0x77, 0x03, 0x34, 0x1f, - 0x31, 0xf9, 0x06, 0x13, 0x2f, 0x36, 0x34, 0xf9, - 0x06, 0x19, 0x0f, 0x75, 0x03, 0x15, 0x0b, 0xed, - 0x00, 0x0f, 0xf9, 0x06, 0x10, 0x0f, 0x73, 0x03, - 0x8d, 0x1f, 0x38, 0xf9, 0x06, 0x67, 0x1f, 0x38, - 0xf9, 0x06, 0x25, 0x1f, 0x38, 0xf9, 0x06, 0x17, - 0x07, 0x71, 0x8a, 0x0f, 0xfa, 0x06, 0x06, 0x0b, - 0x0d, 0x0e, 0x24, 0x36, 0x5d, 0x30, 0x3d, 0x12, - 0x0a, 0x20, 0x01, 0x0f, 0xfd, 0x06, 0x0e, 0x1f, - 0x66, 0xf3, 0x0d, 0x0b, 0x0e, 0x26, 0xe6, 0x0a, - 0x1d, 0x00, 0x0f, 0xfd, 0x06, 0x0f, 0x1f, 0x66, - 0xf3, 0x0d, 0x11, 0x1f, 0x66, 0xf3, 0x0d, 0x11, - 0x1f, 0x66, 0x7f, 0x0a, 0x17, 0x04, 0x4a, 0xe6, - 0x0f, 0x99, 0x03, 0x14, 0x0f, 0x06, 0x0e, 0x14, - 0x1f, 0x66, 0x06, 0x0e, 0x1b, 0x1f, 0x66, 0x06, - 0x0e, 0x1a, 0x1f, 0x66, 0x06, 0x0e, 0x1a, 0x1f, - 0x66, 0x95, 0x0a, 0x8d, 0x1f, 0x39, 0x06, 0x0e, - 0x70, 0x04, 0x87, 0xde, 0x0f, 0x06, 0x0e, 0x5c, - 0x19, 0x66, 0x06, 0x0e, 0x22, 0x66, 0x31, 0x8d, - 0x03, 0x1f, 0x39, 0x0d, 0x07, 0x0f, 0x1f, 0x66, - 0x06, 0x0e, 0x0a, 0x0e, 0x8b, 0x03, 0x09, 0x1c, - 0x00, 0x0f, 0x0d, 0x07, 0x0e, 0x1f, 0x66, 0x06, - 0x0e, 0x10, 0x1f, 0x66, 0x06, 0x0e, 0x10, 0x0f, - 0x87, 0x03, 0x20, 0x1f, 0x33, 0x87, 0x03, 0x35, - 0x0b, 0xec, 0x00, 0x0f, 0x1f, 0x07, 0x10, 0x1f, - 0x66, 0x18, 0x0e, 0x19, 0x1f, 0x66, 0x18, 0x0e, - 0x19, 0x0f, 0x83, 0x03, 0x8d, 0x2f, 0x35, 0x30, - 0x18, 0x0e, 0xca, 0x0a, 0xdd, 0x03, 0x0f, 0x1e, - 0x07, 0x02, 0x04, 0x33, 0xe4, 0x07, 0x1c, 0x07, - 0x03, 0x8e, 0x03, 0x2f, 0x35, 0x30, 0x1b, 0x07, - 0x11, 0x0f, 0x18, 0x0e, 0x0b, 0x0e, 0xd9, 0xe1, - 0x0a, 0x1d, 0x00, 0x0f, 0x1b, 0x07, 0x10, 0x0f, - 0x18, 0x0e, 0x11, 0x1f, 0x66, 0x18, 0x0e, 0x11, - 0x1f, 0x66, 0xa1, 0x0a, 0x2a, 0x05, 0xfc, 0xe1, - 0x1f, 0x32, 0x1c, 0x07, 0x28, 0x0f, 0x2b, 0x0e, - 0x1b, 0x1f, 0x66, 0x2b, 0x0e, 0x1a, 0x1f, 0x66, - 0x2b, 0x0e, 0x1a, 0x1f, 0x66, 0xb8, 0x0a, 0x8c, - 0x2f, 0x35, 0x31, 0x2b, 0x0e, 0x70, 0x05, 0x83, - 0xd7, 0x0f, 0x1d, 0x07, 0x32, 0x1f, 0x38, 0x1d, - 0x07, 0x17, 0x04, 0x2b, 0x0e, 0x03, 0x1e, 0xde, - 0x03, 0x90, 0x03, 0x1f, 0x31, 0x1e, 0x07, 0x10, - 0x0f, 0x2b, 0x0e, 0x0a, 0x0e, 0x8e, 0x03, 0x09, - 0x1c, 0x00, 0x0f, 0x1e, 0x07, 0x0f, 0x0f, 0x2b, - 0x0e, 0x10, 0x1f, 0x66, 0x2b, 0x0e, 0x10, 0x0f, - 0x8a, 0x03, 0x0d, 0x1f, 0x33, 0x8a, 0x03, 0x13, - 0x1f, 0x34, 0x8a, 0x56, 0x19, 0x1a, 0x35, 0x98, - 0x06, 0x0f, 0x8a, 0x03, 0x0c, 0x1e, 0x36, 0x2e, - 0x00, 0x0f, 0x20, 0x07, 0x16, 0x0f, 0x3f, 0x0e, - 0x19, 0x0f, 0x87, 0x03, 0x8e, 0x03, 0x7f, 0x69, - 0x0f, 0x21, 0x11, 0x0a, 0x1f, 0x35, 0x20, 0x07, - 0x20, 0x03, 0xfd, 0x02, 0x0f, 0x67, 0x9c, 0x06, - 0x2e, 0x37, 0x2c, 0x7b, 0xda, 0x0b, 0x65, 0x9c, - 0x0f, 0xb1, 0xc5, 0x04, 0x0f, 0xb5, 0xda, 0x01, - 0x03, 0x1d, 0x41, 0x0e, 0xaf, 0x3f, 0x0d, 0xe4, - 0x03, 0x14, 0x31, 0xe2, 0x01, 0x0e, 0x8f, 0x34, - 0x05, 0x4a, 0x1c, 0x00, 0x8c, 0x03, 0x02, 0x78, - 0x6a, 0x04, 0xd4, 0xdb, 0x00, 0xdf, 0xe9, 0x04, - 0x5c, 0x26, 0x04, 0x32, 0x1f, 0x05, 0xd8, 0xdc, - 0x02, 0xc3, 0x03, 0x02, 0xdd, 0xdc, 0x19, 0x3b, - 0x34, 0x00, 0x02, 0x6b, 0x31, 0x00, 0x24, 0x00, - 0x0b, 0x99, 0x07, 0x35, 0x63, 0x61, 0x73, 0xd3, - 0x02, 0x14, 0x34, 0x79, 0x00, 0x09, 0x9f, 0x30, - 0x09, 0xe2, 0x5c, 0x24, 0x36, 0x34, 0x7c, 0x1f, - 0x05, 0xd0, 0x3d, 0x04, 0x1c, 0x02, 0x0b, 0xe7, - 0x3d, 0x0b, 0x98, 0x1f, 0x00, 0xc7, 0x00, 0x04, - 0xd0, 0x00, 0x04, 0xeb, 0x22, 0x50, 0x0a, 0x7d, - 0x0a, 0x0a, 0x0a + 0xce, 0x05, 0x01, 0x1b, 0x38, 0x1d, 0x00, 0x18, + 0x31, 0x8b, 0x05, 0x30, 0x62, 0x31, 0x36, 0xb8, + 0x00, 0x3f, 0x73, 0x3c, 0x32, 0x24, 0x9a, 0x01, + 0x0f, 0x77, 0x05, 0x08, 0x0b, 0x71, 0x00, 0x1f, + 0x5d, 0xf0, 0x35, 0x0d, 0x19, 0x31, 0x43, 0x05, + 0x11, 0x38, 0x75, 0x00, 0x0e, 0x48, 0x00, 0x2a, + 0x31, 0x5d, 0x34, 0x01, 0x13, 0x38, 0xc0, 0x5b, + 0x01, 0x33, 0x01, 0x3f, 0x73, 0x31, 0x3b, 0x2a, + 0x01, 0x08, 0x2e, 0x31, 0x36, 0x2b, 0x01, 0x03, + 0x19, 0x00, 0x0e, 0x2c, 0x01, 0x01, 0x17, 0x00, + 0x0f, 0x2d, 0x01, 0x01, 0x2c, 0x31, 0x36, 0x1f, + 0x00, 0x0f, 0x2f, 0x01, 0x39, 0x06, 0x74, 0x00, + 0x0a, 0x52, 0x06, 0x2b, 0x31, 0x36, 0x10, 0x01, + 0x06, 0x7e, 0x00, 0x0f, 0x59, 0x01, 0x12, 0x07, + 0x32, 0x01, 0x2f, 0x31, 0x36, 0x33, 0x01, 0x17, + 0x1e, 0x33, 0xbc, 0xbd, 0x04, 0x19, 0x00, 0x0e, + 0x33, 0x01, 0x0e, 0x7f, 0xf2, 0x06, 0xee, 0x07, + 0x0b, 0x1f, 0x00, 0x0a, 0x33, 0x01, 0x04, 0xd9, + 0x07, 0x0f, 0x32, 0x01, 0x22, 0x0e, 0x15, 0xbd, + 0x09, 0x84, 0x07, 0x0e, 0x28, 0x00, 0x0f, 0x31, + 0x01, 0x1e, 0x28, 0x33, 0x32, 0x31, 0x01, 0x0f, + 0x30, 0x01, 0x0a, 0x1e, 0x36, 0x51, 0x9e, 0x04, + 0x19, 0x00, 0x0e, 0x30, 0x01, 0x0e, 0xdd, 0xda, + 0x0e, 0x1f, 0x00, 0x0e, 0x30, 0x01, 0x07, 0x1d, + 0x01, 0x1f, 0x34, 0x1d, 0x01, 0x0e, 0x0f, 0x4a, + 0xda, 0x0d, 0x0e, 0x29, 0x00, 0x0f, 0x1e, 0x01, + 0x09, 0x1e, 0x33, 0x1e, 0x01, 0x05, 0x2a, 0x95, + 0x05, 0x45, 0x62, 0x0f, 0x1f, 0x01, 0x03, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x36, 0x1e, 0x01, + 0x03, 0x18, 0x00, 0x0b, 0x1d, 0x01, 0x03, 0x16, + 0x00, 0x0f, 0x4c, 0x02, 0x04, 0x0a, 0x1e, 0x00, + 0x0c, 0xfb, 0x13, 0x0a, 0x1e, 0x00, 0x1f, 0x32, + 0xf2, 0x74, 0x03, 0x0f, 0x19, 0x9f, 0x01, 0x0f, + 0xf0, 0x74, 0x01, 0x0e, 0xb6, 0xdb, 0x05, 0x38, + 0x01, 0x0b, 0xa4, 0x00, 0x0f, 0x7d, 0x02, 0x01, + 0x1d, 0x36, 0x27, 0x00, 0x1f, 0x31, 0x1b, 0x34, + 0x06, 0x0b, 0xb7, 0x00, 0x0f, 0x86, 0x47, 0x14, + 0x0f, 0x5c, 0xc4, 0x06, 0x08, 0x44, 0x4c, 0x0b, + 0x6b, 0x07, 0x15, 0x30, 0x29, 0x0a, 0x05, 0xae, + 0x62, 0x0e, 0xcc, 0x09, 0x03, 0x27, 0x00, 0x0c, + 0x86, 0xc8, 0x2d, 0x35, 0x37, 0x5a, 0x1d, 0x1f, + 0x39, 0x46, 0x33, 0x09, 0x15, 0x33, 0x46, 0x07, + 0x1f, 0x31, 0x9b, 0x1e, 0x0d, 0x03, 0xc2, 0x0c, + 0x02, 0xce, 0x3b, 0x0f, 0xb2, 0x09, 0x04, 0x1e, + 0x30, 0x2d, 0x6c, 0x09, 0x2e, 0x5c, 0x0f, 0x9a, + 0x02, 0x03, 0x03, 0xc5, 0x97, 0x1e, 0x33, 0x8b, + 0x73, 0x08, 0x97, 0x0a, 0x0e, 0x12, 0x9f, 0x0a, + 0x04, 0x01, 0x17, 0x32, 0x04, 0x01, 0x05, 0xac, + 0x00, 0x0f, 0x34, 0x2e, 0x04, 0x21, 0x76, 0x63, + 0x95, 0x1f, 0x5e, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x72, 0x0d, 0x09, 0x1e, 0x00, 0x0b, 0xfa, 0x02, + 0x09, 0x1c, 0x00, 0x0e, 0x1c, 0x04, 0x0f, 0x24, + 0x00, 0x06, 0x0c, 0x7e, 0x0d, 0x0e, 0x24, 0x00, + 0x0e, 0x0c, 0x03, 0x0e, 0xba, 0x81, 0x04, 0xbc, + 0x06, 0x0f, 0x20, 0x03, 0x15, 0x2f, 0x31, 0x31, + 0x8c, 0x16, 0x08, 0x0e, 0xcb, 0x00, 0x0f, 0x85, + 0x16, 0x09, 0x0e, 0xd5, 0x00, 0x0f, 0xd6, 0x37, + 0x05, 0x0f, 0x2d, 0x00, 0x04, 0x0c, 0x33, 0x03, + 0x0b, 0x17, 0x37, 0x0f, 0x8a, 0x2c, 0x04, 0x0f, + 0x70, 0x2c, 0x04, 0x0b, 0x33, 0x03, 0x06, 0xa3, + 0x2c, 0x0f, 0xfe, 0x0c, 0x08, 0x09, 0x67, 0x3a, + 0x05, 0x2d, 0x02, 0x04, 0xf2, 0x32, 0x0f, 0x7a, + 0x54, 0x0a, 0x0e, 0xda, 0x5a, 0x04, 0x23, 0x0a, + 0x04, 0xdf, 0xad, 0x0f, 0xe4, 0x53, 0x13, 0x26, + 0x76, 0x32, 0xc7, 0x85, 0x01, 0xdc, 0x03, 0x16, + 0x7d, 0x7b, 0x48, 0x08, 0xcc, 0x0c, 0x07, 0x28, + 0x06, 0x00, 0x1e, 0x00, 0x2f, 0x2b, 0x38, 0x36, + 0x44, 0x05, 0x1f, 0x37, 0xa2, 0x15, 0x0d, 0x0c, + 0x9b, 0x6d, 0x08, 0x1b, 0x12, 0x06, 0x5a, 0x04, + 0x18, 0x74, 0x46, 0x6d, 0x03, 0xc9, 0x8d, 0x09, + 0x53, 0x03, 0x02, 0xc9, 0x35, 0x0f, 0xf3, 0x13, + 0x01, 0x1e, 0x38, 0x92, 0x6c, 0x12, 0x35, 0x71, + 0x33, 0x07, 0xd0, 0x35, 0x00, 0x13, 0x00, 0x03, + 0x2e, 0x0b, 0x04, 0x40, 0x33, 0x0e, 0x07, 0x04, + 0x03, 0x49, 0x8b, 0x0e, 0x3a, 0x00, 0x03, 0x5e, + 0x3c, 0x00, 0x85, 0x00, 0x0e, 0xfb, 0x5b, 0x03, + 0x84, 0x00, 0x0d, 0x9f, 0x0e, 0x13, 0x38, 0xf5, + 0x1c, 0x0e, 0xbf, 0x6d, 0x00, 0x2f, 0x00, 0x0b, + 0xbe, 0x4b, 0x00, 0x2f, 0x00, 0x1d, 0x39, 0x78, + 0x00, 0x14, 0x37, 0x77, 0x00, 0x12, 0x39, 0xbc, + 0x36, 0x0b, 0xef, 0x15, 0x0c, 0xea, 0x0a, 0x0b, + 0x87, 0x08, 0x1f, 0x30, 0xc8, 0x00, 0x08, 0x1e, + 0x33, 0x94, 0x7d, 0x0a, 0x7a, 0x01, 0x17, 0x37, + 0x99, 0x00, 0x1f, 0x34, 0x49, 0x00, 0x08, 0x13, + 0x34, 0x9a, 0x00, 0x02, 0x8e, 0x0b, 0x1e, 0x32, + 0x99, 0x00, 0x0e, 0x83, 0x0b, 0x1f, 0x32, 0x4f, + 0x00, 0x08, 0x23, 0x31, 0x30, 0x50, 0x00, 0x07, + 0xcf, 0x0a, 0x0e, 0x51, 0x00, 0x0e, 0xa2, 0x0a, + 0x0f, 0x52, 0x00, 0x07, 0x1d, 0x37, 0xda, 0x36, + 0x04, 0x95, 0x0e, 0x1b, 0x38, 0x8a, 0x37, 0x05, + 0x8a, 0x03, 0x16, 0x6c, 0x36, 0xda, 0x0f, 0x6b, + 0x01, 0x05, 0x0c, 0x33, 0x02, 0x15, 0x30, 0xc1, + 0x00, 0x0f, 0x0e, 0x1d, 0x04, 0xaf, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x70, 0x79, + 0x34, 0x0b, 0x02, 0x0a, 0x1f, 0x00, 0x0b, 0xf3, + 0x05, 0x0a, 0x1d, 0x00, 0x0e, 0xf4, 0x05, 0x0f, + 0x25, 0x00, 0x07, 0x0c, 0xf5, 0x05, 0x0f, 0x25, + 0x00, 0x02, 0x1f, 0x32, 0x25, 0x00, 0x11, 0x0f, + 0x41, 0xa8, 0x04, 0x0e, 0x07, 0x06, 0x1f, 0x39, + 0x7c, 0x13, 0x1c, 0x0e, 0xdd, 0x00, 0x0f, 0x8d, + 0x0a, 0x0a, 0x0e, 0xe7, 0x00, 0x0f, 0x07, 0x06, + 0x05, 0x1e, 0x33, 0x2e, 0x00, 0x0f, 0xa4, 0x27, + 0x09, 0x0f, 0x2e, 0x00, 0x05, 0x0c, 0x8f, 0x13, + 0x1f, 0x34, 0x36, 0x06, 0x05, 0x09, 0xb8, 0x15, + 0x0b, 0xd0, 0x44, 0x0f, 0x36, 0x06, 0x08, 0x15, + 0x35, 0x3b, 0x06, 0x1f, 0x36, 0x36, 0x06, 0x08, + 0x1c, 0x33, 0x36, 0x06, 0x1f, 0x39, 0xfd, 0x12, + 0x14, 0x07, 0x18, 0x33, 0x1a, 0x37, 0x00, 0x14, + 0x0f, 0x41, 0x09, 0x02, 0x1f, 0x37, 0xf2, 0x12, + 0x20, 0x17, 0x38, 0xf1, 0x12, 0x0f, 0x07, 0x11, + 0x24, 0x1f, 0x31, 0x06, 0x11, 0x28, 0x02, 0xa7, + 0x3b, 0x00, 0x11, 0x01, 0x0f, 0x7a, 0x03, 0x09, + 0x3f, 0x73, 0x75, 0x6d, 0x79, 0x03, 0x08, 0x03, + 0x1e, 0x00, 0x0e, 0x78, 0x03, 0x06, 0x1c, 0x00, + 0x0e, 0x77, 0x03, 0x0e, 0x24, 0x00, 0x0f, 0x76, + 0x03, 0x0a, 0x0a, 0x24, 0x00, 0x1f, 0x32, 0x24, + 0x00, 0x10, 0x0f, 0x74, 0x03, 0x16, 0x2f, 0x31, + 0x30, 0x75, 0x03, 0x22, 0x0b, 0xda, 0x00, 0x0f, + 0x74, 0x03, 0x0c, 0x0b, 0xe4, 0x00, 0x0f, 0x73, + 0x03, 0x0b, 0x0b, 0xed, 0x00, 0x0f, 0x72, 0x03, + 0x0b, 0x0b, 0xf6, 0x00, 0x0f, 0x71, 0x03, 0x82, + 0x2f, 0x36, 0x30, 0x71, 0x03, 0x2d, 0x0f, 0x0b, + 0x28, 0x0a, 0x1f, 0x32, 0x8c, 0x3f, 0x06, 0x1f, + 0x37, 0x8b, 0x3f, 0x0f, 0x0f, 0x54, 0x03, 0x1c, + 0x1f, 0x33, 0x49, 0x1e, 0x07, 0x17, 0x38, 0x48, + 0x1e, 0x0f, 0xb3, 0x1b, 0x04, 0x14, 0x39, 0xe6, + 0x3f, 0x06, 0x7c, 0x03, 0x00, 0x1c, 0x01, 0x0f, + 0xf6, 0x06, 0x0f, 0x1e, 0x36, 0xdc, 0x0f, 0x0a, + 0x1f, 0x00, 0x0f, 0xf6, 0x06, 0x08, 0x0e, 0x06, + 0x11, 0x0f, 0x25, 0x00, 0x09, 0x0f, 0xf6, 0x06, + 0x09, 0x0e, 0x3b, 0xaf, 0x0f, 0x25, 0x00, 0x09, + 0x0f, 0x82, 0x03, 0x16, 0x0f, 0xae, 0x2e, 0x02, + 0x1f, 0x30, 0xf7, 0x06, 0x14, 0x0f, 0x84, 0x11, + 0x10, 0x0e, 0xe8, 0x00, 0x0f, 0xf7, 0x06, 0x15, + 0x2f, 0x36, 0x34, 0xf7, 0x06, 0x19, 0x2f, 0x36, + 0x34, 0x86, 0x03, 0x8b, 0x1f, 0x31, 0xf7, 0x06, + 0x46, 0x1f, 0x38, 0xf7, 0x06, 0x17, 0x07, 0x0b, + 0x30, 0x0f, 0xf8, 0x06, 0x0c, 0x06, 0x8f, 0x39, + 0x0e, 0xbe, 0x41, 0x0e, 0xdc, 0x7c, 0x0e, 0xbd, + 0x41, 0x0e, 0x75, 0x0a, 0x02, 0xb7, 0x41, 0x04, + 0xda, 0x0d, 0x12, 0x0a, 0x13, 0x01, 0x0f, 0xf9, + 0x06, 0x0e, 0x0e, 0x7c, 0x03, 0x08, 0x71, 0x06, + 0x0e, 0x7b, 0x03, 0x08, 0x1c, 0x00, 0x0f, 0xf9, + 0x06, 0x0f, 0x0f, 0x79, 0x03, 0x0c, 0x0a, 0x24, + 0x00, 0x0f, 0xf9, 0x06, 0x08, 0x0f, 0x77, 0x03, + 0x34, 0x1f, 0x31, 0xf9, 0x06, 0x13, 0x2f, 0x36, + 0x34, 0xf9, 0x06, 0x19, 0x0f, 0x75, 0x03, 0x15, + 0x0b, 0xed, 0x00, 0x0f, 0xf9, 0x06, 0x10, 0x0f, + 0x73, 0x03, 0x8d, 0x1f, 0x32, 0xf9, 0x06, 0x67, + 0x1f, 0x38, 0xf9, 0x06, 0x25, 0x1f, 0x38, 0xf9, + 0x06, 0x17, 0x07, 0x71, 0x8a, 0x0f, 0xfa, 0x06, + 0x06, 0x0b, 0x0d, 0x0e, 0x15, 0x36, 0x6c, 0xec, + 0x12, 0x0a, 0x20, 0x01, 0x0f, 0xfd, 0x06, 0x0e, + 0x1f, 0x66, 0xf3, 0x0d, 0x0b, 0x0e, 0xdf, 0xd6, + 0x0a, 0x1d, 0x00, 0x0f, 0xfd, 0x06, 0x0f, 0x1f, + 0x66, 0xf3, 0x0d, 0x11, 0x1f, 0x66, 0xf3, 0x0d, + 0x11, 0x1f, 0x66, 0x7f, 0x0a, 0x17, 0x04, 0xce, + 0xd6, 0x0f, 0x99, 0x03, 0x14, 0x0f, 0x06, 0x0e, + 0x14, 0x1f, 0x66, 0x06, 0x0e, 0x1b, 0x1f, 0x66, + 0x06, 0x0e, 0x1a, 0x1f, 0x66, 0x06, 0x0e, 0x1a, + 0x1f, 0x66, 0x95, 0x0a, 0x8d, 0x1f, 0x33, 0x06, + 0x0e, 0x70, 0x06, 0x83, 0xcd, 0x0f, 0x06, 0x0e, + 0x5a, 0x19, 0x66, 0x06, 0x0e, 0x22, 0x66, 0x31, + 0x8d, 0x03, 0x1f, 0x33, 0x0d, 0x07, 0x0f, 0x1f, + 0x66, 0x06, 0x0e, 0x0a, 0x0e, 0x8b, 0x03, 0x09, + 0x1c, 0x00, 0x0f, 0x0d, 0x07, 0x0e, 0x1f, 0x66, + 0x06, 0x0e, 0x10, 0x1f, 0x66, 0x06, 0x0e, 0x10, + 0x0f, 0x87, 0x03, 0x20, 0x1f, 0x33, 0x87, 0x03, + 0x35, 0x0b, 0xec, 0x00, 0x0f, 0x1f, 0x07, 0x10, + 0x1f, 0x66, 0x18, 0x0e, 0x19, 0x1f, 0x66, 0x18, + 0x0e, 0x19, 0x0f, 0x83, 0x03, 0x8e, 0x1f, 0x34, + 0x18, 0x0e, 0xca, 0x0a, 0xdd, 0x03, 0x0e, 0x1e, + 0x07, 0x09, 0x62, 0xd1, 0x05, 0x1c, 0x07, 0x04, + 0x8e, 0x03, 0x1f, 0x34, 0x1b, 0x07, 0x11, 0x0f, + 0x18, 0x0e, 0x0b, 0x0e, 0x5f, 0xbd, 0x0a, 0x1d, + 0x00, 0x0f, 0x1b, 0x07, 0x10, 0x0f, 0x18, 0x0e, + 0x11, 0x1f, 0x66, 0x18, 0x0e, 0x11, 0x1f, 0x66, + 0xa1, 0x0a, 0x2a, 0x05, 0x4c, 0xbd, 0x1f, 0x32, + 0x1c, 0x07, 0x28, 0x0f, 0x2b, 0x0e, 0x1b, 0x1f, + 0x66, 0x2b, 0x0e, 0x1a, 0x1f, 0x66, 0x2b, 0x0e, + 0x1a, 0x1f, 0x66, 0xb8, 0x0a, 0x8d, 0x1f, 0x35, + 0x2b, 0x0e, 0x70, 0x07, 0x77, 0xb7, 0x0f, 0x1d, + 0x07, 0x30, 0x1f, 0x38, 0x1d, 0x07, 0x17, 0x28, + 0x36, 0x34, 0x1d, 0x07, 0x13, 0x64, 0x90, 0x03, + 0x1f, 0x35, 0x1e, 0x07, 0x10, 0x0f, 0x2b, 0x0e, + 0x0a, 0x0e, 0x8e, 0x03, 0x09, 0x1c, 0x00, 0x0f, + 0x1e, 0x07, 0x0f, 0x0f, 0x2b, 0x0e, 0x10, 0x1f, + 0x66, 0x2b, 0x0e, 0x10, 0x0f, 0x8a, 0x03, 0x0d, + 0x1f, 0x33, 0x8a, 0x03, 0x13, 0x1f, 0x34, 0x8a, + 0x56, 0x19, 0x1a, 0x35, 0x98, 0x06, 0x0f, 0x8a, + 0x03, 0x0c, 0x1e, 0x36, 0x2e, 0x00, 0x0f, 0x20, + 0x07, 0x16, 0x0f, 0x3f, 0x0e, 0x19, 0x0f, 0x87, + 0x03, 0x8e, 0x03, 0x7f, 0x69, 0x0f, 0x21, 0x11, + 0x0a, 0x1f, 0x35, 0x20, 0x07, 0x20, 0x03, 0xfd, + 0x02, 0x0f, 0x67, 0x9c, 0x06, 0x2e, 0x37, 0x2c, + 0x82, 0xf5, 0x0b, 0x65, 0x9c, 0x0e, 0xdc, 0x2f, + 0x1f, 0x30, 0xbc, 0xf5, 0x05, 0x03, 0x1d, 0x41, + 0x0e, 0xaf, 0x3f, 0x0d, 0xe4, 0x03, 0x14, 0x31, + 0xe2, 0x01, 0x0e, 0x8f, 0x34, 0x05, 0x4a, 0x1c, + 0x00, 0x8c, 0x03, 0x02, 0x78, 0x6a, 0x09, 0x92, + 0xb2, 0x16, 0x32, 0xd1, 0x8e, 0x0e, 0x6c, 0xbb, + 0x15, 0x31, 0x22, 0xa9, 0x0a, 0x70, 0xb5, 0x03, + 0x23, 0xbd, 0x0b, 0x99, 0x07, 0x35, 0x63, 0x61, + 0x73, 0xd3, 0x02, 0x14, 0x34, 0x79, 0x00, 0x09, + 0x9f, 0x30, 0x09, 0xe2, 0x5c, 0x24, 0x36, 0x34, + 0x7c, 0x1f, 0x05, 0xd0, 0x3d, 0x0c, 0x02, 0xbb, + 0x06, 0x17, 0x00, 0x08, 0x98, 0x1f, 0x00, 0xc7, + 0x00, 0x04, 0xd0, 0x00, 0x04, 0xeb, 0x22, 0x50, + 0x0a, 0x7d, 0x0a, 0x0a, 0x0a }; -const int kernels_70_size_uncompressed = 131014; -const int kernels_70_size_compressed = 18018; -const unsigned long long kernels_70_hash_low64 = 0x696b52caba4d16a1ull; -const unsigned long long kernels_70_hash_high64 = 0xa12821342ba2cb5bull; +const int kernels_70_size_uncompressed = 196943; +const int kernels_70_size_compressed = 25999; +const unsigned long long kernels_70_hash_low64 = 0xb088d593bebf7113ull; +const unsigned long long kernels_70_hash_high64 = 0xae101b6df9a54b7dull; const char kernels_70[] = { 0xf2, 0x19, 0x2f, 0x2f, 0x0a, 0x2f, 0x2f, 0x20, @@ -5746,635 +6744,1617 @@ const char kernels_70[] = { 0x68, 0x00, 0x0f, 0x8b, 0x0a, 0x35, 0x09, 0x55, 0x00, 0x0f, 0x8c, 0x0a, 0x48, 0x08, 0x68, 0x00, 0x0f, 0x8d, 0x0a, 0x28, 0x1f, 0x35, 0x8d, 0x0a, - 0x74, 0x0f, 0x4a, 0x79, 0x07, 0x9f, 0x73, 0x63, - 0x61, 0x6e, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0xd2, - 0xea, 0x03, 0x0a, 0x1f, 0x00, 0x0b, 0x8d, 0x0a, - 0x0a, 0x1d, 0x00, 0x0e, 0x8d, 0x0a, 0x0f, 0x25, - 0x00, 0x07, 0x1b, 0x31, 0xb2, 0x0a, 0x0e, 0x25, - 0x00, 0x0f, 0x8d, 0x0a, 0x06, 0x1f, 0x33, 0x98, - 0x3c, 0x14, 0x1e, 0x39, 0x8b, 0x0a, 0x05, 0x2d, - 0x0a, 0x0f, 0xb9, 0x00, 0x03, 0x0f, 0x68, 0x3c, - 0x03, 0x0e, 0x2f, 0x00, 0x07, 0x8b, 0x0a, 0x0f, - 0xa6, 0x09, 0x0a, 0x0c, 0x7e, 0x22, 0x08, 0xb1, - 0x22, 0x0f, 0xbe, 0x09, 0x03, 0x14, 0x31, 0x46, - 0x28, 0x0f, 0xbf, 0x09, 0x13, 0x22, 0x76, 0x34, - 0x3f, 0x00, 0x15, 0x7b, 0x7b, 0x20, 0x16, 0x34, - 0x97, 0x1c, 0x38, 0x31, 0x36, 0x7d, 0x1b, 0x22, - 0x07, 0x88, 0x00, 0x12, 0x37, 0xaa, 0x02, 0x0e, - 0xa5, 0x18, 0x08, 0x5a, 0x08, 0x1b, 0x32, 0x4b, - 0x2c, 0x0c, 0xe7, 0x2d, 0x03, 0xcd, 0x19, 0x0b, - 0x7c, 0x23, 0x02, 0x79, 0x00, 0x01, 0x05, 0x06, - 0x0b, 0x48, 0x0b, 0x14, 0x31, 0xe0, 0x00, 0x0c, - 0x4d, 0x29, 0x0e, 0xda, 0x08, 0x05, 0x3d, 0x29, - 0x06, 0x14, 0x29, 0x0f, 0x4b, 0x06, 0x02, 0x12, - 0x32, 0x74, 0x31, 0x01, 0xdc, 0x22, 0x0c, 0xe5, - 0x0b, 0x1e, 0x6e, 0x1a, 0x24, 0x04, 0xd2, 0x28, - 0x03, 0x6a, 0x01, 0x0f, 0xe8, 0x0b, 0x05, 0x0e, - 0xe7, 0x0a, 0x05, 0x87, 0x00, 0x1f, 0x36, 0x87, - 0x00, 0x02, 0x2f, 0x35, 0x5d, 0x7b, 0x22, 0x03, - 0x0e, 0xcc, 0x09, 0x09, 0xb1, 0x22, 0x0c, 0x00, - 0x0c, 0x23, 0x36, 0x5f, 0x13, 0x07, 0x02, 0xa7, - 0x7a, 0x0b, 0x12, 0x07, 0x25, 0x75, 0x62, 0xc6, - 0x00, 0x16, 0x39, 0x9e, 0x29, 0x2f, 0x34, 0x30, - 0xb0, 0x0a, 0x05, 0x1b, 0x32, 0xb3, 0x01, 0x17, - 0x32, 0x48, 0x1c, 0x2f, 0x30, 0x3b, 0xcb, 0x09, - 0x07, 0x3e, 0x33, 0x32, 0x5d, 0x1e, 0x00, 0x02, - 0x77, 0x1b, 0x01, 0xeb, 0x00, 0x0e, 0x6c, 0x25, - 0x06, 0x7e, 0x28, 0x0e, 0x61, 0x0a, 0x0f, 0x2c, - 0x01, 0x05, 0x1b, 0x31, 0x7d, 0x25, 0x05, 0xc3, - 0x1a, 0x1d, 0x31, 0x46, 0x01, 0x16, 0x32, 0xde, - 0x1a, 0x2c, 0x32, 0x34, 0x4a, 0x0c, 0x04, 0xf5, - 0x79, 0x00, 0x3d, 0x01, 0x0f, 0x34, 0x0d, 0x07, - 0x15, 0x36, 0x34, 0x0d, 0x0e, 0x56, 0x0c, 0x03, - 0x2b, 0xd2, 0x0a, 0x63, 0x01, 0x2a, 0x33, 0x36, - 0x53, 0x24, 0x08, 0x49, 0x01, 0x17, 0x37, 0xbb, - 0x1f, 0x0f, 0x02, 0x30, 0x02, 0x1e, 0x36, 0x18, - 0x03, 0x04, 0xbb, 0x1d, 0x18, 0x36, 0x99, 0x2f, - 0x0b, 0xc4, 0x03, 0x02, 0xc0, 0x0c, 0x02, 0x9a, - 0x1b, 0x02, 0x5e, 0x00, 0x08, 0x45, 0x1f, 0x01, - 0xf4, 0x1f, 0x0f, 0xbe, 0x05, 0x05, 0x51, 0x6c, - 0x61, 0x72, 0x67, 0x65, 0x9a, 0x04, 0x4e, 0x69, - 0x6e, 0x69, 0x74, 0xc3, 0x05, 0x0e, 0x24, 0x00, - 0x0e, 0xc8, 0x05, 0x0c, 0x22, 0x00, 0x0f, 0x5a, - 0x10, 0x04, 0x0f, 0x2a, 0x00, 0x07, 0x1f, 0x31, - 0xad, 0x05, 0x02, 0x1e, 0x34, 0xad, 0x05, 0x1f, - 0x31, 0xbe, 0x28, 0x01, 0x1f, 0x36, 0xad, 0x05, - 0x0d, 0x0e, 0x9e, 0x00, 0x0f, 0x3d, 0x10, 0x05, - 0x1f, 0x36, 0x33, 0x00, 0x0a, 0x1c, 0x31, 0x0d, - 0x05, 0x08, 0x2c, 0x04, 0x07, 0x18, 0x00, 0x19, - 0x37, 0x11, 0x10, 0x0f, 0x32, 0x34, 0x05, 0x27, - 0x61, 0x64, 0x64, 0xe8, 0x05, 0xa9, 0x28, 0x02, - 0x3e, 0x00, 0x1e, 0x72, 0xc3, 0x4f, 0x07, 0x9a, - 0x28, 0x1c, 0x36, 0xff, 0x03, 0x04, 0x14, 0x72, - 0x0a, 0x85, 0x34, 0x07, 0x97, 0x0e, 0x0a, 0xd1, - 0xe8, 0x01, 0x73, 0x03, 0x02, 0x27, 0x1d, 0x0f, - 0x69, 0x29, 0x0d, 0x03, 0x57, 0x04, 0x11, 0x37, - 0x23, 0x03, 0x0e, 0x5d, 0x03, 0x01, 0x91, 0x00, - 0x03, 0xd9, 0x1d, 0x20, 0x6c, 0x70, 0x93, 0x01, - 0x03, 0xc2, 0x06, 0x30, 0x32, 0x2c, 0x20, 0xab, - 0x00, 0x2f, 0x70, 0x32, 0xaf, 0x06, 0x07, 0x1f, - 0x30, 0xb3, 0x28, 0x0f, 0x1e, 0x73, 0x2c, 0x37, - 0x12, 0x35, 0x2b, 0x37, 0x0b, 0x3f, 0x03, 0x02, - 0x18, 0x01, 0x02, 0x5c, 0x06, 0x0f, 0x51, 0x0f, - 0x04, 0x09, 0x3b, 0x01, 0x17, 0x33, 0x3b, 0x01, - 0x05, 0xe3, 0x00, 0x2f, 0x33, 0x3a, 0x27, 0x03, - 0x10, 0x0f, 0x22, 0x03, 0x0c, 0x0f, 0x1d, 0x03, - 0x0b, 0x0f, 0xe5, 0x08, 0x08, 0x0c, 0x25, 0x00, - 0x1f, 0x31, 0x25, 0x00, 0x11, 0x0f, 0x72, 0x13, - 0x17, 0x4e, 0x32, 0x30, 0x34, 0x3e, 0x3a, 0x03, - 0x1f, 0x32, 0xe8, 0x08, 0x05, 0x1e, 0x37, 0x08, - 0x03, 0x0f, 0xe8, 0x08, 0x09, 0x1e, 0x35, 0x2f, - 0x00, 0x0f, 0x73, 0x13, 0x09, 0x0e, 0x66, 0x03, - 0x0f, 0xf9, 0x2b, 0x10, 0x15, 0x38, 0xc3, 0x11, - 0x0f, 0xf9, 0x2b, 0x11, 0x14, 0x34, 0x50, 0x03, - 0x1f, 0x39, 0xf8, 0x2b, 0x18, 0x03, 0x2a, 0x06, - 0x02, 0x84, 0x00, 0x00, 0x79, 0x00, 0x02, 0x40, - 0x02, 0x23, 0x72, 0x64, 0x26, 0x2a, 0x0f, 0x6e, - 0x20, 0x06, 0x2e, 0x34, 0x31, 0x7b, 0x09, 0x0e, - 0x70, 0x20, 0x0f, 0x7c, 0x09, 0x02, 0x2d, 0x34, - 0x32, 0xab, 0x0c, 0x00, 0xa4, 0x26, 0x03, 0x8d, - 0x20, 0x0f, 0x36, 0x00, 0x05, 0x2c, 0x35, 0x30, - 0x3c, 0x0d, 0x25, 0x35, 0x33, 0x36, 0x00, 0x05, - 0x50, 0x11, 0x0f, 0x3b, 0x00, 0x03, 0x02, 0x8b, - 0x0c, 0x02, 0x67, 0x0f, 0x12, 0x30, 0x6b, 0x12, - 0x06, 0x3b, 0x00, 0x04, 0x04, 0x2a, 0x0f, 0x3b, - 0x00, 0x02, 0x12, 0x36, 0xa9, 0x2b, 0x02, 0x48, - 0x10, 0x02, 0x18, 0x13, 0x16, 0x39, 0x3b, 0x00, - 0x5a, 0x36, 0x31, 0x34, 0x34, 0x5d, 0x86, 0x01, - 0x14, 0x37, 0x90, 0x2a, 0x1b, 0x34, 0x21, 0x05, - 0x1f, 0x35, 0xb8, 0x09, 0x03, 0x02, 0xe1, 0x37, - 0x11, 0x35, 0x06, 0x00, 0x0a, 0x88, 0xd7, 0x07, - 0xea, 0x06, 0x00, 0xb9, 0x09, 0x0f, 0x39, 0x01, - 0x05, 0x0f, 0x34, 0x00, 0x06, 0x02, 0x14, 0x01, - 0x2f, 0x2c, 0x20, 0x3c, 0x01, 0x05, 0x0f, 0x39, - 0x00, 0x07, 0x01, 0x12, 0x01, 0x2f, 0x2c, 0x20, - 0x3a, 0x01, 0x05, 0x0f, 0x39, 0x00, 0x07, 0x01, - 0x10, 0x01, 0x2f, 0x2c, 0x20, 0x38, 0x01, 0x05, - 0x0e, 0xf1, 0x08, 0x07, 0x38, 0x01, 0x14, 0x36, - 0xd1, 0x29, 0x0e, 0x23, 0x0b, 0x04, 0x20, 0x01, - 0x19, 0x36, 0x6b, 0x09, 0x07, 0xa6, 0x01, 0x12, - 0x37, 0x29, 0x38, 0x11, 0x39, 0x47, 0x06, 0x02, - 0x54, 0x3a, 0x03, 0xe1, 0x01, 0x2f, 0x34, 0x5d, - 0x34, 0x00, 0x05, 0x12, 0x38, 0x12, 0x37, 0x02, - 0x76, 0x36, 0x02, 0x81, 0x06, 0x13, 0x38, 0x34, - 0x00, 0x3f, 0x2b, 0x31, 0x36, 0x37, 0x00, 0x06, - 0x12, 0x39, 0x4a, 0x06, 0x11, 0x34, 0x06, 0x00, - 0x11, 0x35, 0x06, 0x00, 0x14, 0x36, 0x37, 0x00, - 0x0c, 0x0d, 0x0a, 0x08, 0x70, 0x0c, 0x13, 0x30, - 0xcd, 0x06, 0x03, 0x43, 0x06, 0x03, 0xa0, 0x05, - 0x14, 0x34, 0x3b, 0x00, 0x03, 0x0e, 0x14, 0x0b, - 0x72, 0x2e, 0x02, 0xd2, 0x00, 0x2a, 0x37, 0x38, - 0x1b, 0x00, 0x16, 0x37, 0xe7, 0x00, 0x0b, 0x2d, - 0x01, 0x02, 0xfe, 0x35, 0x02, 0x53, 0x07, 0x0a, - 0x1a, 0x00, 0x02, 0x1b, 0x01, 0x02, 0xf3, 0x00, - 0x0e, 0x48, 0x06, 0x04, 0x08, 0x01, 0x1e, 0x39, - 0x2e, 0x15, 0x04, 0x1d, 0x01, 0x2b, 0x31, 0x30, - 0x1c, 0x00, 0x12, 0x32, 0x33, 0x01, 0x02, 0x08, - 0x30, 0x0b, 0x1c, 0x00, 0x02, 0x24, 0x01, 0x06, - 0xde, 0x2d, 0x08, 0x1c, 0x00, 0x16, 0x34, 0x40, - 0x01, 0x1c, 0x31, 0xd3, 0x06, 0x16, 0x35, 0x56, - 0x01, 0x2b, 0x31, 0x34, 0x1c, 0x00, 0x12, 0x36, - 0x6c, 0x01, 0x02, 0x4c, 0x0d, 0x0b, 0x1c, 0x00, - 0x03, 0xa2, 0x00, 0x12, 0x31, 0x4f, 0x0d, 0x0b, - 0x1d, 0x00, 0x18, 0x38, 0x79, 0x01, 0x1b, 0x37, - 0x1d, 0x00, 0x18, 0x39, 0x8f, 0x01, 0x1b, 0x38, - 0x00, 0x0d, 0x13, 0x30, 0xa5, 0x01, 0x02, 0xa4, - 0x29, 0x0e, 0xbe, 0x02, 0x08, 0x75, 0x31, 0x14, - 0x39, 0xe0, 0x2d, 0x0b, 0x44, 0x00, 0x15, 0x31, - 0xc0, 0x02, 0x00, 0x25, 0x00, 0x0c, 0x2c, 0x37, - 0x13, 0x33, 0x78, 0x23, 0x0e, 0xac, 0x0d, 0x04, - 0x90, 0x10, 0x1f, 0x33, 0x1f, 0x00, 0x04, 0x01, - 0xf5, 0x14, 0x04, 0xb3, 0x10, 0x0b, 0x99, 0x00, - 0x0d, 0x8f, 0x0c, 0x10, 0x31, 0xae, 0x01, 0x03, - 0x37, 0x00, 0x14, 0x30, 0x28, 0x05, 0x0c, 0x23, - 0x00, 0x02, 0xd1, 0x0c, 0x03, 0x5a, 0x00, 0x0b, - 0xc6, 0x00, 0x03, 0xc7, 0x3b, 0x03, 0x07, 0x00, - 0x1f, 0x33, 0xba, 0x0c, 0x10, 0x08, 0xa2, 0x00, - 0x1f, 0x32, 0xa2, 0x00, 0x11, 0x16, 0x34, 0xa2, - 0x00, 0x1f, 0x34, 0xa2, 0x00, 0x04, 0x1e, 0x35, - 0xa2, 0x00, 0x0a, 0xff, 0x0e, 0x01, 0x46, 0x00, - 0x01, 0x2a, 0x00, 0x0f, 0xa2, 0x00, 0x1c, 0x1f, - 0x33, 0xa2, 0x00, 0x11, 0x14, 0x36, 0x7f, 0x00, - 0x15, 0x34, 0x31, 0x06, 0x0c, 0x23, 0x00, 0x1f, - 0x37, 0xa2, 0x00, 0x08, 0x03, 0x9b, 0x00, 0x12, - 0x36, 0x07, 0x00, 0x1f, 0x37, 0xa2, 0x00, 0x1c, - 0x1f, 0x34, 0xa2, 0x00, 0x11, 0x15, 0x38, 0xa2, - 0x00, 0x2f, 0x38, 0x30, 0xa2, 0x00, 0x04, 0x1e, - 0x39, 0xa2, 0x00, 0x0a, 0xf0, 0x0f, 0x01, 0x46, - 0x00, 0x01, 0x2a, 0x00, 0x0f, 0xa2, 0x00, 0x1c, - 0x1f, 0x35, 0xa2, 0x00, 0x10, 0x25, 0x32, 0x30, - 0xa2, 0x00, 0x05, 0xb0, 0x07, 0x0c, 0x23, 0x00, - 0x1f, 0x31, 0xa2, 0x00, 0x08, 0x02, 0x3d, 0x01, - 0x03, 0x99, 0x03, 0x2f, 0x32, 0x31, 0xa2, 0x00, - 0x1c, 0x1f, 0x36, 0xa2, 0x00, 0x11, 0x05, 0x2a, - 0x03, 0x3f, 0x33, 0x38, 0x34, 0xa2, 0x00, 0x04, - 0x0f, 0x2a, 0x03, 0x09, 0x02, 0x8b, 0x04, 0x03, - 0x31, 0x03, 0x1f, 0x32, 0x2a, 0x03, 0x1d, 0x1f, - 0x37, 0xa2, 0x00, 0x11, 0x05, 0x2a, 0x03, 0x03, - 0x52, 0x18, 0x1e, 0x6c, 0x23, 0x00, 0x0f, 0x2a, - 0x03, 0x09, 0x03, 0x73, 0x3f, 0x03, 0xd7, 0x11, - 0x0f, 0x2a, 0x03, 0x1d, 0x1e, 0x38, 0x2b, 0x0a, - 0x14, 0x32, 0x57, 0x0d, 0x0e, 0x95, 0x15, 0x1e, - 0x31, 0x99, 0x2a, 0x07, 0xf1, 0x13, 0x03, 0x69, - 0x10, 0x1e, 0x31, 0x23, 0x16, 0x0c, 0x86, 0x32, - 0x06, 0xf8, 0x0d, 0x11, 0x38, 0xbd, 0x0c, 0x0d, - 0xae, 0x0a, 0x15, 0x34, 0x9d, 0x00, 0x01, 0x96, - 0x05, 0x0a, 0x1d, 0x45, 0x23, 0x31, 0x34, 0xb2, - 0x0d, 0x21, 0x6f, 0x72, 0x1b, 0x00, 0x02, 0x1c, - 0x00, 0x03, 0x1b, 0x1e, 0x00, 0x9a, 0x18, 0x0d, - 0x97, 0x2d, 0x00, 0x05, 0x01, 0x21, 0x63, 0x67, - 0x89, 0x0b, 0x00, 0xeb, 0x09, 0x04, 0xad, 0x44, - 0x0e, 0x43, 0x31, 0x12, 0x0a, 0x93, 0x00, 0x0e, - 0x22, 0x1d, 0x7c, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x53, 0x5a, 0x35, 0x07, 0x14, 0x37, 0x71, 0x12, - 0x2b, 0x2d, 0x31, 0x36, 0x17, 0x02, 0x8c, 0x12, - 0x04, 0x22, 0x00, 0x0b, 0xc4, 0x12, 0x02, 0xbe, - 0x06, 0x04, 0xaf, 0x12, 0x00, 0xb3, 0x01, 0x63, - 0x72, 0x61, 0x2e, 0x75, 0x6e, 0x69, 0x13, 0x01, - 0x12, 0x33, 0xd0, 0x0d, 0x02, 0x97, 0x70, 0x09, - 0xc2, 0x06, 0x03, 0xc6, 0x3a, 0x07, 0x4c, 0x06, - 0x0d, 0x56, 0x00, 0x04, 0x07, 0x00, 0x14, 0x39, - 0x45, 0x00, 0x12, 0x33, 0x1b, 0x12, 0x00, 0xad, - 0x01, 0x23, 0x2e, 0x73, 0x60, 0x01, 0x13, 0x38, - 0x2a, 0x00, 0x0c, 0xf1, 0x0b, 0x03, 0x56, 0x17, - 0x06, 0x9c, 0x2c, 0x08, 0x7f, 0x01, 0x02, 0xa8, - 0x03, 0x01, 0x25, 0x00, 0x1c, 0x33, 0x39, 0x00, - 0x17, 0x37, 0x02, 0x02, 0x1e, 0x32, 0x3f, 0x2e, - 0x00, 0xd5, 0x02, 0x03, 0x81, 0x01, 0x04, 0xbd, - 0x52, 0x01, 0x36, 0x00, 0x1e, 0x5d, 0x2a, 0x00, - 0x21, 0x63, 0x76, 0xf5, 0x0e, 0x00, 0x2c, 0x00, - 0x03, 0x7a, 0x13, 0x04, 0xb5, 0x46, 0x01, 0x55, - 0x02, 0x47, 0x65, 0x71, 0x2e, 0x73, 0x50, 0x43, - 0x03, 0x77, 0x18, 0x09, 0x68, 0x16, 0x13, 0x38, - 0x8f, 0x01, 0x42, 0x76, 0x6f, 0x74, 0x65, 0xfd, - 0x18, 0x35, 0x61, 0x6e, 0x79, 0x5d, 0x0e, 0x11, - 0x33, 0xd5, 0x0f, 0x02, 0x9d, 0x01, 0x1c, 0x38, - 0x4c, 0x0f, 0x03, 0xc7, 0x74, 0x0a, 0x6a, 0x00, - 0x14, 0x34, 0x6a, 0x00, 0x19, 0x32, 0x55, 0x00, - 0x87, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x2e, - 0x62, 0x35, 0x13, 0x13, 0x70, 0x86, 0x03, 0x02, - 0xb9, 0x02, 0x16, 0x72, 0xc8, 0x11, 0x04, 0x7b, - 0x47, 0x03, 0xb9, 0x02, 0x0b, 0xe4, 0x00, 0x12, - 0x35, 0x37, 0x01, 0x1d, 0x31, 0xe4, 0x00, 0x14, - 0x36, 0x38, 0x13, 0x1c, 0x30, 0x47, 0x1d, 0x03, - 0x1a, 0x73, 0x36, 0x63, 0x6c, 0x7a, 0x2d, 0x43, - 0x12, 0x31, 0x2e, 0x00, 0x0c, 0xb4, 0x37, 0x04, - 0xaf, 0x34, 0x07, 0x2b, 0x02, 0x12, 0x31, 0xb4, - 0x14, 0x01, 0x1c, 0x00, 0x01, 0x3a, 0x00, 0x0d, - 0x71, 0x10, 0x15, 0x37, 0xa1, 0x02, 0x00, 0x2d, - 0x00, 0x05, 0x1e, 0x11, 0x01, 0x3f, 0x02, 0x11, - 0x31, 0x76, 0x01, 0x05, 0x8a, 0x02, 0x1c, 0x70, - 0xd2, 0x0e, 0x00, 0x16, 0x00, 0x0c, 0x5f, 0x0a, - 0x04, 0xfd, 0x13, 0x16, 0x34, 0xbb, 0x02, 0x09, - 0x33, 0x00, 0x1e, 0x37, 0xe5, 0x43, 0x01, 0x4a, - 0x45, 0x1f, 0x36, 0x51, 0x34, 0x07, 0x33, 0x34, - 0x30, 0x7c, 0x1e, 0x1d, 0x05, 0x5e, 0x00, 0x18, - 0x38, 0xd6, 0x00, 0x1c, 0x32, 0x1a, 0x0b, 0x03, - 0x1b, 0x3b, 0x03, 0x59, 0x0f, 0x0d, 0x29, 0x01, - 0x2e, 0x34, 0x32, 0x59, 0x1c, 0x08, 0x6f, 0x00, - 0x15, 0x33, 0xf8, 0x34, 0x04, 0x49, 0x00, 0x1f, - 0x32, 0x6f, 0x00, 0x0b, 0x12, 0x34, 0x26, 0x00, - 0x13, 0x33, 0x34, 0x00, 0x0c, 0x6f, 0x00, 0x1e, - 0x35, 0x60, 0x1c, 0x08, 0x6f, 0x00, 0x08, 0x30, - 0x35, 0x03, 0x4a, 0x00, 0x1f, 0x35, 0x70, 0x00, - 0x0b, 0x12, 0x37, 0x26, 0x00, 0x03, 0x06, 0x45, - 0x0f, 0x5c, 0x00, 0x09, 0x16, 0x38, 0xac, 0x34, - 0x03, 0x36, 0x00, 0x2f, 0x33, 0x37, 0x5c, 0x00, - 0x0b, 0x03, 0xf9, 0x00, 0x13, 0x38, 0x34, 0x00, - 0x0b, 0xcc, 0x00, 0x1f, 0x35, 0xe6, 0x31, 0x0a, - 0x36, 0x31, 0x35, 0x31, 0xe4, 0x34, 0x13, 0x34, - 0x3b, 0x36, 0x1f, 0x30, 0x70, 0x00, 0x0a, 0x01, - 0xd6, 0x0e, 0x00, 0x39, 0x00, 0x03, 0x34, 0x00, - 0x09, 0x5c, 0x00, 0x36, 0x69, 0x64, 0x78, 0x5b, - 0x00, 0x15, 0x33, 0xcb, 0x1c, 0x04, 0x35, 0x00, - 0x1e, 0x33, 0x27, 0x01, 0x0c, 0xc2, 0x16, 0x00, - 0x38, 0x00, 0x05, 0x62, 0x06, 0x0b, 0x90, 0x06, - 0x1e, 0x37, 0x90, 0x06, 0x03, 0x57, 0x55, 0x2c, - 0x33, 0x37, 0x11, 0x05, 0x03, 0xb9, 0x03, 0x0e, - 0x90, 0x06, 0x04, 0xa3, 0x55, 0x14, 0x64, 0x53, - 0x19, 0x0f, 0x90, 0x06, 0x11, 0x1f, 0x32, 0x90, - 0x06, 0x05, 0x2a, 0x37, 0x3a, 0xbe, 0x03, 0x26, - 0x35, 0x34, 0x0e, 0x21, 0x1c, 0x32, 0x6a, 0x03, - 0x02, 0x11, 0x1e, 0x03, 0x24, 0x00, 0x1c, 0x37, - 0x1d, 0x00, 0x17, 0x36, 0x1d, 0x00, 0x1c, 0x36, - 0x1d, 0x00, 0x18, 0x37, 0x3a, 0x00, 0x1f, 0x38, - 0x18, 0x10, 0x05, 0x03, 0x13, 0x10, 0x03, 0x28, - 0x00, 0x05, 0x36, 0x00, 0x03, 0x5a, 0x00, 0x2c, - 0x35, 0x7d, 0x56, 0x00, 0x17, 0x38, 0x56, 0x00, - 0x0d, 0x5b, 0x0e, 0x28, 0x35, 0x39, 0x1e, 0x00, - 0x1c, 0x30, 0x25, 0x0e, 0x17, 0x30, 0x1e, 0x00, - 0x1c, 0x39, 0x1d, 0x00, 0x17, 0x31, 0x1d, 0x00, - 0x0f, 0xae, 0x00, 0x07, 0x23, 0x2b, 0x31, 0xfd, - 0x10, 0x04, 0x31, 0x00, 0x04, 0x55, 0x00, 0x03, - 0x7a, 0x00, 0x1c, 0x38, 0xb1, 0x00, 0x02, 0xc6, - 0x21, 0x05, 0xdf, 0x00, 0x0c, 0x1e, 0x00, 0x18, - 0x33, 0x1e, 0x00, 0x0d, 0xd6, 0x0e, 0x18, 0x34, - 0x1e, 0x00, 0x1c, 0x33, 0x1e, 0x00, 0x08, 0x9b, - 0x01, 0x0b, 0x28, 0x3d, 0x09, 0xb3, 0x00, 0x24, - 0x33, 0x32, 0xb3, 0x00, 0x03, 0xcc, 0x1c, 0x03, - 0x5a, 0x1c, 0x12, 0x33, 0x07, 0x00, 0x1d, 0x32, - 0xb3, 0x00, 0x18, 0x36, 0x59, 0x00, 0x0d, 0x29, - 0x01, 0x18, 0x37, 0x1e, 0x00, 0x1c, 0x38, 0x1e, - 0x00, 0x09, 0xa0, 0x01, 0x1c, 0x37, 0x1e, 0x00, - 0x09, 0xa0, 0x01, 0x1f, 0x36, 0xb3, 0x00, 0x07, - 0x04, 0x9c, 0x12, 0x04, 0x32, 0x00, 0x03, 0x57, - 0x00, 0x03, 0x7c, 0x00, 0x2e, 0x36, 0x36, 0x2e, - 0x12, 0x0f, 0x26, 0x15, 0x04, 0x03, 0xbf, 0xec, - 0x1c, 0x35, 0x6c, 0x03, 0x05, 0x4b, 0x3f, 0x1c, - 0x34, 0xf4, 0x58, 0x18, 0x38, 0xf7, 0xec, 0x2f, - 0x32, 0x37, 0xb4, 0x11, 0x06, 0x22, 0x37, 0x30, - 0xe3, 0x00, 0x12, 0x31, 0x07, 0x00, 0x03, 0x42, - 0x10, 0x03, 0x76, 0x14, 0x2f, 0x33, 0x5d, 0x98, - 0x1a, 0x06, 0x14, 0x32, 0xdb, 0x00, 0x0f, 0x41, - 0x00, 0x05, 0x0f, 0x72, 0x00, 0x07, 0x12, 0x38, - 0x23, 0x00, 0x12, 0x39, 0x7a, 0x01, 0x02, 0x3f, - 0x00, 0x04, 0xcc, 0x12, 0x03, 0xd2, 0x13, 0x0f, - 0x77, 0x00, 0x08, 0x07, 0xf3, 0x13, 0x0f, 0x4b, - 0x00, 0x06, 0x0f, 0x7c, 0x00, 0x06, 0x12, 0x38, - 0x14, 0x02, 0x03, 0xef, 0x11, 0x03, 0xda, 0x11, - 0x13, 0x38, 0xee, 0x14, 0x03, 0x15, 0x14, 0x0f, - 0x7c, 0x00, 0x09, 0x06, 0x36, 0x14, 0x0f, 0x4b, - 0x00, 0x06, 0x0f, 0x7c, 0x00, 0x06, 0x03, 0x10, - 0x12, 0x03, 0xfb, 0x11, 0x03, 0xe6, 0x11, 0x10, - 0x39, 0x37, 0x39, 0x06, 0x58, 0x14, 0x0f, 0x7c, - 0x00, 0x09, 0x06, 0x79, 0x14, 0x0f, 0x4b, 0x00, - 0x06, 0x0f, 0x11, 0x1c, 0x03, 0x82, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0xaf, 0x20, - 0x0d, 0xea, 0x18, 0x0a, 0x1f, 0x00, 0x0b, 0xea, - 0x18, 0x0a, 0x1d, 0x00, 0x0e, 0xea, 0x18, 0x0f, - 0x25, 0x00, 0x07, 0x0c, 0xcf, 0x21, 0x0f, 0x25, - 0x00, 0x02, 0x1f, 0x32, 0x4a, 0x00, 0x11, 0x1f, - 0x33, 0x0f, 0x19, 0x02, 0x1e, 0x38, 0x0e, 0x19, - 0x1f, 0x35, 0x0d, 0x19, 0x02, 0x1f, 0x30, 0x05, - 0x45, 0x08, 0x0e, 0xdf, 0x00, 0x0f, 0xf5, 0x21, - 0x0a, 0x0e, 0xe9, 0x00, 0x0f, 0x80, 0x2c, 0x0a, - 0x0f, 0xce, 0x00, 0x03, 0x0f, 0x0d, 0x19, 0x08, - 0x1f, 0x34, 0x06, 0x45, 0x02, 0x1f, 0x36, 0x24, - 0x22, 0x09, 0x03, 0x0c, 0x05, 0x0e, 0x02, 0x04, - 0x03, 0xc6, 0x1e, 0x05, 0x38, 0x04, 0x0d, 0x22, - 0x2b, 0x04, 0x27, 0x44, 0x0d, 0xb2, 0x27, 0x03, - 0xca, 0x03, 0x04, 0x50, 0x29, 0x35, 0x62, 0x66, - 0x65, 0x33, 0x00, 0x14, 0x38, 0x1b, 0x00, 0x03, - 0xf7, 0x3d, 0x0d, 0x1d, 0x22, 0x02, 0x21, 0x00, - 0x0b, 0x36, 0x00, 0x14, 0x39, 0x36, 0x00, 0x00, - 0xa8, 0x00, 0x0c, 0x7b, 0x08, 0x07, 0xed, 0x4a, - 0x04, 0x21, 0x0c, 0x09, 0x9b, 0x14, 0x00, 0x88, - 0x00, 0x0b, 0x52, 0x06, 0x03, 0x30, 0x0b, 0x0f, - 0x53, 0x22, 0x07, 0x1f, 0x36, 0x53, 0x22, 0x27, - 0x0b, 0x35, 0x22, 0x1f, 0x30, 0x66, 0x22, 0x09, - 0x0d, 0x18, 0x4c, 0x1e, 0x35, 0x66, 0x22, 0x0b, - 0x4a, 0x22, 0x04, 0x30, 0x06, 0x07, 0xb3, 0x00, - 0x14, 0x37, 0x34, 0x2e, 0x1e, 0x32, 0xc5, 0x10, - 0x05, 0x9b, 0x00, 0x1f, 0x37, 0x88, 0x00, 0x03, - 0x15, 0x38, 0x68, 0x22, 0x0b, 0xa5, 0x27, 0x1f, - 0x31, 0x7b, 0x22, 0x04, 0x1d, 0x35, 0x1a, 0x01, - 0x02, 0xf5, 0x09, 0x0d, 0x7b, 0x22, 0x14, 0x39, - 0x41, 0x1d, 0x1f, 0x39, 0x7b, 0x22, 0x0b, 0x26, - 0x33, 0x33, 0xf3, 0x2e, 0x1b, 0x35, 0x41, 0x23, - 0x03, 0x99, 0x3d, 0x1e, 0x33, 0x7b, 0x22, 0x07, - 0x42, 0x23, 0x01, 0x24, 0x22, 0x0e, 0x5d, 0x22, - 0x12, 0x36, 0x17, 0x05, 0x1f, 0x35, 0x7b, 0x22, - 0x03, 0x03, 0x84, 0x14, 0x0c, 0x51, 0x18, 0x27, - 0x35, 0x33, 0x8a, 0x21, 0x0f, 0x7e, 0x14, 0x12, - 0x02, 0x41, 0x01, 0x1b, 0x35, 0x47, 0x02, 0x03, - 0x40, 0x1a, 0x0f, 0x48, 0x01, 0x02, 0x05, 0x1b, - 0x00, 0x03, 0x0f, 0x14, 0x09, 0x7d, 0x22, 0x04, - 0x73, 0x78, 0x00, 0x3f, 0x01, 0x1e, 0x3a, 0xef, - 0x21, 0x01, 0x80, 0x01, 0x1e, 0x2d, 0x0c, 0x12, - 0x17, 0x33, 0x24, 0x25, 0x0d, 0x93, 0x46, 0x02, - 0xaf, 0x7a, 0x0f, 0x33, 0x04, 0x05, 0x16, 0x37, - 0x96, 0x10, 0x0e, 0xf2, 0x27, 0x15, 0x37, 0xde, - 0x00, 0x12, 0x0a, 0x49, 0x00, 0x0b, 0x34, 0x0b, - 0x16, 0x31, 0x82, 0x29, 0x1e, 0x34, 0xfb, 0x18, - 0x04, 0x21, 0x00, 0x0e, 0xfa, 0x18, 0x05, 0x1b, - 0x00, 0x0f, 0xf9, 0x18, 0x02, 0x03, 0x81, 0x2e, - 0x1e, 0x3b, 0x33, 0x10, 0x02, 0x29, 0x13, 0x1c, - 0x30, 0x4b, 0x2e, 0x03, 0xf7, 0x78, 0x0f, 0x22, - 0x1e, 0x0a, 0x1f, 0x31, 0x14, 0x3e, 0x07, 0x0e, - 0xff, 0x08, 0x0f, 0x15, 0x3e, 0x09, 0x06, 0x0f, - 0x29, 0x12, 0x30, 0xc5, 0x03, 0x05, 0xb2, 0x01, - 0x2c, 0x36, 0x3a, 0xb2, 0x00, 0x02, 0xb1, 0x03, - 0x03, 0x42, 0x0d, 0x0c, 0x5b, 0x2e, 0x03, 0x08, - 0x79, 0x08, 0x98, 0x04, 0x14, 0x35, 0x6d, 0x4d, - 0x0f, 0x81, 0x21, 0x09, 0x1f, 0x31, 0xd0, 0x00, - 0x07, 0x13, 0x31, 0x9f, 0x0d, 0x0e, 0xd1, 0x00, - 0x04, 0xca, 0x13, 0x03, 0x3d, 0x00, 0x1f, 0x32, - 0xd3, 0x00, 0x04, 0x12, 0x33, 0x10, 0x04, 0x03, - 0x71, 0x58, 0x02, 0x43, 0x79, 0x0e, 0x3e, 0x11, - 0x05, 0x1a, 0x28, 0x0c, 0x41, 0x11, 0x04, 0x36, - 0x79, 0x08, 0xd4, 0x00, 0x14, 0x38, 0xd4, 0x00, - 0x1f, 0x32, 0xd4, 0x00, 0x08, 0x1f, 0x34, 0xd4, - 0x00, 0x08, 0x03, 0x7a, 0x0e, 0x0e, 0xd4, 0x00, - 0x02, 0xf1, 0x02, 0x05, 0x3d, 0x00, 0x1f, 0x35, - 0xd4, 0x00, 0x04, 0x24, 0x36, 0x5d, 0x8a, 0x2c, - 0x13, 0x0a, 0xa3, 0x00, 0x0d, 0xd5, 0x00, 0x16, - 0x37, 0x99, 0x28, 0x1d, 0x35, 0xb7, 0x2e, 0x04, - 0x66, 0x79, 0x08, 0x28, 0x04, 0x14, 0x31, 0xd5, - 0x00, 0x1f, 0x33, 0xd5, 0x00, 0x08, 0x1f, 0x37, - 0xd5, 0x00, 0x08, 0x03, 0xf4, 0x0f, 0x0e, 0xd5, - 0x00, 0x04, 0x2e, 0x14, 0x13, 0x37, 0x35, 0x14, - 0x0f, 0xd5, 0x00, 0x04, 0x12, 0x39, 0x9a, 0x03, - 0x05, 0x7c, 0x02, 0x01, 0xf2, 0x2e, 0x0f, 0xbc, - 0x09, 0x09, 0x01, 0x54, 0x21, 0x0e, 0xbc, 0x09, - 0x09, 0x1f, 0x00, 0x0e, 0xbc, 0x09, 0x07, 0x1d, - 0x00, 0x0f, 0xbc, 0x09, 0x0d, 0x08, 0x25, 0x00, - 0x1f, 0x31, 0x25, 0x00, 0x11, 0x1f, 0x32, 0x25, - 0x00, 0x11, 0x1f, 0x33, 0xb0, 0x2b, 0x03, 0x2e, - 0x32, 0x3e, 0x04, 0x26, 0x2f, 0x34, 0x35, 0x05, - 0x26, 0x01, 0x0f, 0xbe, 0x09, 0x05, 0x00, 0x07, - 0x1a, 0x0e, 0xe1, 0x00, 0x0f, 0xbe, 0x09, 0x06, - 0x1e, 0x39, 0x2f, 0x00, 0x0f, 0xcb, 0x22, 0x0d, - 0x0f, 0xf5, 0x00, 0x03, 0x0e, 0x2f, 0x00, 0x03, - 0x58, 0x23, 0x0f, 0xff, 0x00, 0x03, 0x0f, 0xf3, - 0x4e, 0x0e, 0x0f, 0x77, 0x68, 0x15, 0x23, 0x35, - 0x36, 0x3e, 0x05, 0x1f, 0x37, 0xfa, 0x22, 0x12, - 0x07, 0xc8, 0x2e, 0x0f, 0xb8, 0x03, 0x09, 0x03, - 0x27, 0x05, 0x0f, 0xd8, 0x18, 0x07, 0x1f, 0x33, - 0x02, 0x23, 0x01, 0x13, 0x32, 0x67, 0x2e, 0x06, - 0xdb, 0x18, 0x0f, 0x93, 0x22, 0x03, 0x02, 0xbd, - 0x35, 0x09, 0x5f, 0x21, 0x04, 0x58, 0x22, 0x0c, - 0x86, 0x37, 0x01, 0x12, 0x14, 0x1c, 0x30, 0xf2, - 0x30, 0x04, 0x87, 0x2f, 0x0d, 0x89, 0x0a, 0x15, - 0x36, 0xa2, 0x2f, 0x0e, 0x89, 0x0a, 0x02, 0xb6, - 0x33, 0x02, 0xaf, 0x29, 0x0b, 0x36, 0x00, 0x02, - 0x91, 0x00, 0x0f, 0x89, 0x0a, 0x03, 0x07, 0xcd, - 0x21, 0x1a, 0x35, 0x89, 0x0a, 0x25, 0x36, 0x38, - 0x88, 0x00, 0x0b, 0x26, 0x07, 0x08, 0xfb, 0x21, - 0x0c, 0xf7, 0x32, 0x14, 0x39, 0xfd, 0x00, 0x02, - 0xbd, 0x00, 0x0c, 0xc2, 0x20, 0x12, 0x36, 0xf7, - 0x20, 0x0a, 0xa1, 0x00, 0x15, 0x37, 0x56, 0x30, - 0x0e, 0xd7, 0x00, 0x02, 0x30, 0x00, 0x05, 0x4d, - 0x5c, 0x08, 0x36, 0x00, 0x14, 0x31, 0x36, 0x00, - 0x0e, 0xd7, 0x00, 0x03, 0xfb, 0x20, 0x15, 0x37, - 0xee, 0x4e, 0x07, 0xd8, 0x00, 0x25, 0x37, 0x32, - 0xa3, 0x00, 0x1f, 0x34, 0x15, 0x21, 0x01, 0x03, - 0xcc, 0x0f, 0x0c, 0x96, 0x01, 0x24, 0x37, 0x33, - 0xd1, 0x01, 0x0d, 0xda, 0x00, 0x02, 0x1a, 0x02, - 0x13, 0x37, 0x21, 0x08, 0x0b, 0xa6, 0x00, 0x14, - 0x34, 0x37, 0x00, 0x1e, 0x38, 0xa5, 0x00, 0x02, - 0x22, 0x24, 0x06, 0x03, 0x12, 0x08, 0x38, 0x00, - 0x14, 0x35, 0x38, 0x00, 0x0f, 0xde, 0x00, 0x01, - 0x17, 0x34, 0x7b, 0x20, 0x1b, 0x33, 0xdf, 0x00, - 0x15, 0x36, 0xa8, 0x00, 0x0c, 0xdf, 0x00, 0x03, - 0x6b, 0x23, 0x06, 0xae, 0x12, 0x08, 0xdf, 0x00, - 0x14, 0x37, 0x09, 0x24, 0x0e, 0xdf, 0x00, 0x02, - 0xb1, 0x22, 0x03, 0x3a, 0x12, 0x0b, 0xa7, 0x00, - 0x14, 0x38, 0x37, 0x00, 0x0e, 0xdf, 0x00, 0x02, - 0x0d, 0x06, 0x13, 0x37, 0xfd, 0x11, 0x0b, 0x38, - 0x00, 0x05, 0x78, 0x24, 0x0f, 0xdf, 0x00, 0x01, - 0x07, 0xf4, 0x23, 0x2a, 0x31, 0x37, 0xdf, 0x00, - 0x03, 0x1d, 0x23, 0x1e, 0x30, 0xdf, 0x00, 0x02, - 0x83, 0x06, 0x04, 0x0e, 0x11, 0x0a, 0x47, 0x04, - 0x02, 0x39, 0x23, 0x0e, 0x73, 0x2f, 0x1f, 0x38, - 0x20, 0x0d, 0x05, 0x02, 0x71, 0x02, 0x02, 0x09, - 0x23, 0x0f, 0x73, 0x2f, 0x04, 0x23, 0x30, 0x5d, - 0xd4, 0x17, 0x0f, 0x1f, 0x00, 0x04, 0x05, 0x59, - 0x1d, 0x0e, 0x6f, 0x1f, 0x0e, 0xdb, 0x0b, 0x13, - 0x38, 0x79, 0x1e, 0x1f, 0x30, 0xc6, 0x21, 0x06, - 0x25, 0x38, 0x34, 0x22, 0x00, 0x0e, 0xf9, 0x1d, - 0x02, 0xce, 0x23, 0x02, 0x23, 0x5d, 0x0f, 0x7d, - 0x2e, 0x11, 0x07, 0x9e, 0x00, 0x2f, 0x32, 0x31, - 0x9e, 0x00, 0x10, 0x16, 0x35, 0x9e, 0x00, 0x1f, - 0x34, 0x9e, 0x00, 0x03, 0x1e, 0x36, 0x9e, 0x00, - 0x0a, 0x63, 0x22, 0x04, 0x95, 0x25, 0x0f, 0x9e, - 0x00, 0x1c, 0x1f, 0x32, 0x9e, 0x00, 0x10, 0x14, - 0x37, 0x7c, 0x00, 0x0f, 0xbe, 0x21, 0x05, 0x2f, - 0x38, 0x38, 0x9e, 0x00, 0x08, 0x18, 0x33, 0x27, - 0x26, 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x33, 0x9e, - 0x00, 0x10, 0x15, 0x39, 0x9e, 0x00, 0x0f, 0xba, - 0x21, 0x04, 0x2e, 0x39, 0x30, 0x9e, 0x00, 0x0a, - 0x5b, 0x22, 0x00, 0x44, 0x00, 0x00, 0x28, 0x00, - 0x0f, 0x9e, 0x00, 0x1c, 0x0f, 0x59, 0x22, 0x10, - 0x25, 0x39, 0x31, 0x9e, 0x00, 0x0f, 0xb6, 0x21, - 0x04, 0x2f, 0x39, 0x32, 0x9e, 0x00, 0x08, 0x02, - 0xd6, 0x25, 0x02, 0x66, 0x05, 0x1f, 0x32, 0x9e, - 0x00, 0x1c, 0x1f, 0x35, 0x9e, 0x00, 0x10, 0x05, - 0x16, 0x03, 0x0f, 0xb2, 0x21, 0x05, 0x1e, 0x39, - 0x16, 0x03, 0x0b, 0x7f, 0x10, 0x04, 0xd6, 0x27, - 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x36, 0x9e, 0x00, - 0x10, 0x05, 0x16, 0x03, 0x0f, 0xae, 0x21, 0x05, - 0x1f, 0x39, 0x16, 0x03, 0x09, 0x18, 0x37, 0x68, - 0x28, 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x37, 0xab, - 0x21, 0x1a, 0x1f, 0x33, 0xab, 0x21, 0x11, 0x1f, - 0x33, 0xab, 0x21, 0x18, 0x2f, 0x33, 0x30, 0xab, - 0x21, 0x03, 0x02, 0x79, 0x09, 0x0c, 0x1b, 0x1b, - 0x04, 0x15, 0x0c, 0x1e, 0x36, 0xab, 0x21, 0x05, - 0xc7, 0x21, 0x1f, 0x37, 0xab, 0x21, 0x18, 0x1e, - 0x35, 0x1b, 0x1b, 0x02, 0x93, 0x00, 0x0b, 0xab, - 0x21, 0x1f, 0x38, 0xab, 0x21, 0x04, 0x24, 0x39, - 0x38, 0x0b, 0x3f, 0x0d, 0xaa, 0x21, 0x12, 0x32, - 0x69, 0x03, 0x1e, 0x38, 0xa9, 0x21, 0x04, 0x7a, - 0x1d, 0x03, 0x74, 0x34, 0x1f, 0x38, 0xce, 0x14, - 0x0d, 0x1a, 0x37, 0xca, 0x21, 0x12, 0x33, 0xc9, - 0x7f, 0x01, 0x09, 0x00, 0x3b, 0x34, 0x31, 0x3a, - 0xce, 0x07, 0x07, 0xb4, 0x5c, 0x03, 0x50, 0x06, - 0x0d, 0x78, 0x00, 0x04, 0x7f, 0x00, 0x14, 0x38, - 0x46, 0x00, 0x1e, 0x33, 0xcb, 0x21, 0x14, 0x32, - 0x23, 0x1e, 0x0f, 0xd0, 0x72, 0x03, 0x03, 0xb4, - 0x21, 0x0d, 0xcb, 0x21, 0x02, 0xd8, 0x0a, 0x04, - 0x17, 0x0e, 0x0e, 0xd6, 0x0d, 0x04, 0xcb, 0x21, - 0x1f, 0x32, 0xcb, 0x21, 0x0d, 0x13, 0x38, 0xe6, - 0x0a, 0x1f, 0x39, 0xcb, 0x21, 0x0f, 0x17, 0x33, - 0x28, 0x0e, 0x1e, 0x65, 0xcb, 0x21, 0x1d, 0x33, - 0xcb, 0x21, 0x2f, 0x39, 0x39, 0xca, 0x21, 0x14, - 0x1c, 0x39, 0x4a, 0x12, 0x2f, 0x33, 0x30, 0xc9, - 0x21, 0x07, 0x1f, 0x33, 0xc9, 0x21, 0x0c, 0x15, - 0x35, 0xc9, 0x21, 0x2c, 0x39, 0x39, 0xc8, 0x21, - 0x04, 0xc3, 0x00, 0x0f, 0xc8, 0x21, 0x03, 0x03, - 0xfc, 0x6f, 0x0e, 0x0f, 0x12, 0x05, 0xeb, 0x54, - 0x0c, 0xc8, 0x21, 0x01, 0x1a, 0x02, 0x0c, 0xc9, - 0x21, 0x03, 0x1e, 0x24, 0x0b, 0x88, 0x86, 0x01, - 0xd6, 0x2a, 0x0d, 0xc9, 0x21, 0x29, 0x30, 0x34, - 0x81, 0x2c, 0x0e, 0x7a, 0x65, 0x05, 0xa2, 0x24, - 0x01, 0x2d, 0x00, 0x0b, 0xc9, 0x21, 0x10, 0x30, - 0x93, 0x00, 0x05, 0x88, 0x02, 0x0d, 0xc9, 0x21, - 0x2e, 0x30, 0x36, 0xc9, 0x21, 0x13, 0x30, 0x9d, - 0x2b, 0x16, 0x35, 0xb9, 0x02, 0x09, 0x33, 0x00, - 0x0e, 0xae, 0x65, 0x01, 0x4d, 0x2b, 0x0f, 0xc9, - 0x21, 0x09, 0x25, 0x31, 0x31, 0xc9, 0x21, 0x04, - 0x5e, 0x00, 0x08, 0xc8, 0x2b, 0x1d, 0x39, 0xc7, - 0x2c, 0x03, 0xb1, 0x13, 0x13, 0x31, 0x33, 0x00, - 0x0c, 0xe6, 0x5c, 0x1f, 0x33, 0xc8, 0x21, 0x0a, - 0x16, 0x31, 0x78, 0x62, 0x05, 0x01, 0x2b, 0x0f, - 0x6e, 0x00, 0x0a, 0x19, 0x35, 0x8b, 0x2a, 0x0d, - 0x54, 0x5d, 0x1f, 0x36, 0xc7, 0x21, 0x0a, 0x16, - 0x31, 0x52, 0x62, 0x05, 0x4a, 0x00, 0x1f, 0x36, - 0x6f, 0x00, 0x0a, 0x13, 0x38, 0x51, 0x2a, 0x06, - 0xfa, 0x2a, 0x0f, 0x5b, 0x00, 0x05, 0x16, 0x39, - 0xc6, 0x21, 0x04, 0x16, 0x2d, 0x1f, 0x38, 0x5b, - 0x00, 0x09, 0x23, 0x32, 0x30, 0x0a, 0x2a, 0x03, - 0x33, 0x00, 0x0c, 0x38, 0x25, 0x1f, 0x31, 0xc5, - 0x21, 0x0a, 0x16, 0x32, 0x05, 0x62, 0x06, 0xb2, - 0x29, 0x0f, 0x6f, 0x00, 0x0a, 0x19, 0x33, 0x3c, - 0x29, 0x1f, 0x30, 0xc4, 0x21, 0x06, 0x02, 0xeb, - 0x55, 0x03, 0x2e, 0x00, 0x03, 0x8c, 0x01, 0x0f, - 0x24, 0x01, 0x09, 0x27, 0x33, 0x36, 0xf3, 0x28, - 0x0e, 0xa8, 0x06, 0x03, 0x19, 0x83, 0x0a, 0x9c, - 0x03, 0x14, 0x31, 0xac, 0x21, 0x1e, 0x3b, 0x45, - 0x07, 0x03, 0x66, 0x25, 0x0f, 0x71, 0x1e, 0x03, - 0x1e, 0x32, 0xc2, 0x06, 0x06, 0xf9, 0x21, 0x1f, - 0x37, 0xdd, 0x21, 0x18, 0x0e, 0x5d, 0x58, 0x0a, - 0x7e, 0x01, 0x1a, 0x36, 0xf0, 0x36, 0x0e, 0x67, - 0x28, 0x01, 0x23, 0x00, 0x0e, 0x52, 0x17, 0x03, - 0x58, 0x56, 0x03, 0xe1, 0x00, 0x06, 0xb8, 0x07, - 0x1c, 0x35, 0x11, 0x01, 0x1e, 0x73, 0x9c, 0x13, - 0x24, 0x34, 0x5d, 0xfb, 0x00, 0x12, 0x0a, 0x28, - 0x00, 0x0a, 0x35, 0x17, 0x08, 0xee, 0x39, 0x0c, - 0x56, 0x20, 0x04, 0x9a, 0x39, 0x0e, 0x25, 0x3a, - 0x04, 0xbb, 0x39, 0x05, 0x60, 0x10, 0x08, 0x63, - 0x15, 0x17, 0x30, 0xc8, 0x43, 0x0f, 0x4d, 0x3b, - 0x02, 0x02, 0x40, 0x0e, 0x0b, 0x1b, 0x00, 0x07, - 0xfe, 0x43, 0x0b, 0x37, 0x0e, 0x03, 0x47, 0x07, - 0x1e, 0x37, 0x21, 0x22, 0x03, 0x53, 0x33, 0x1e, - 0x33, 0xef, 0x30, 0x05, 0xbf, 0x16, 0x13, 0x33, - 0x65, 0x03, 0x0b, 0x1c, 0x00, 0x03, 0x54, 0x19, - 0x0e, 0xef, 0x30, 0x04, 0x93, 0x42, 0x04, 0x2d, - 0x25, 0x1e, 0x3b, 0x3f, 0x16, 0x04, 0x1c, 0x00, - 0x0c, 0xc7, 0x1b, 0x07, 0x13, 0x01, 0x0c, 0x53, - 0x22, 0x17, 0x35, 0x14, 0x01, 0x0c, 0xee, 0x30, - 0x27, 0x35, 0x31, 0x1c, 0x00, 0x0c, 0x2d, 0x93, - 0x07, 0x16, 0x01, 0x0c, 0xfc, 0x0e, 0x27, 0x35, - 0x33, 0x3b, 0x6c, 0x0a, 0x8c, 0x06, 0x02, 0x7f, - 0x04, 0x07, 0xaf, 0x41, 0x08, 0x8d, 0x06, 0x02, - 0x14, 0x17, 0x0e, 0x70, 0x7a, 0x05, 0xdb, 0x00, - 0x0d, 0x67, 0x08, 0x18, 0x39, 0x71, 0x7a, 0x0f, - 0x03, 0x16, 0x04, 0x13, 0x32, 0x03, 0x16, 0x05, - 0x0e, 0x09, 0x0e, 0xd8, 0x16, 0x04, 0x06, 0x58, - 0x18, 0x38, 0x19, 0x1a, 0x28, 0x31, 0x37, 0x9b, - 0x00, 0x0c, 0xda, 0x16, 0x01, 0xe9, 0x29, 0x02, - 0xeb, 0x00, 0x0e, 0x03, 0x0b, 0x05, 0x91, 0x75, - 0x0e, 0xfe, 0x6d, 0x02, 0xdf, 0x75, 0x06, 0x89, - 0x63, 0x0f, 0x43, 0x42, 0x04, 0x35, 0x33, 0x31, - 0x5d, 0x41, 0x26, 0x13, 0x0a, 0x82, 0x00, 0x0e, - 0xb6, 0x00, 0x16, 0x38, 0xac, 0x3c, 0x14, 0x34, - 0x51, 0x01, 0x18, 0x38, 0xb6, 0x00, 0x1d, 0x34, - 0xb6, 0x00, 0x02, 0x2e, 0x13, 0x04, 0x69, 0x45, - 0x0d, 0xb6, 0x00, 0x05, 0x44, 0x46, 0x0d, 0xb6, - 0x00, 0x18, 0x33, 0xb6, 0x00, 0x1f, 0x32, 0xb6, - 0x00, 0x04, 0x03, 0x15, 0x40, 0x03, 0xff, 0x2b, - 0x01, 0x82, 0x00, 0x0e, 0xb6, 0x00, 0x03, 0xb0, - 0x00, 0x05, 0x14, 0x38, 0x09, 0xb9, 0x58, 0x00, - 0x34, 0x00, 0x1c, 0x36, 0xb6, 0x00, 0x24, 0x33, - 0x30, 0xb6, 0x00, 0x1f, 0x33, 0xb6, 0x00, 0x02, - 0x14, 0x34, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, - 0x35, 0xb6, 0x00, 0x1f, 0x34, 0xb6, 0x00, 0x04, - 0x01, 0x14, 0x3b, 0x00, 0x66, 0x00, 0x05, 0xb6, - 0x00, 0x0e, 0xa2, 0x1a, 0x06, 0xbc, 0x7d, 0x03, - 0x15, 0x46, 0x10, 0x40, 0x14, 0x00, 0x08, 0xb6, - 0x00, 0x1d, 0x38, 0xb6, 0x00, 0x05, 0xf6, 0x1b, - 0x1f, 0x34, 0xb6, 0x00, 0x02, 0x05, 0xe9, 0x3e, - 0x0d, 0xb6, 0x00, 0x18, 0x37, 0xb6, 0x00, 0x1f, - 0x36, 0xb6, 0x00, 0x04, 0x25, 0x37, 0x5d, 0x3f, - 0x2b, 0x03, 0xb6, 0x00, 0x0e, 0x85, 0x1a, 0x02, - 0x24, 0x07, 0x04, 0xeb, 0x37, 0x03, 0xb6, 0x00, - 0x09, 0x55, 0x0d, 0x1d, 0x30, 0xb6, 0x00, 0x14, - 0x32, 0xb6, 0x00, 0x1f, 0x35, 0xb6, 0x00, 0x02, - 0x05, 0xcf, 0x91, 0x0d, 0xb6, 0x00, 0x18, 0x39, + 0x74, 0x0f, 0x4a, 0x79, 0x07, 0xfd, 0x00, 0x73, + 0x63, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x72, 0x67, + 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x8e, 0x0a, + 0x0b, 0x20, 0x00, 0x0b, 0x8f, 0x0a, 0x0b, 0x1e, + 0x00, 0x0f, 0x90, 0x0a, 0x04, 0x0f, 0x26, 0x00, + 0x03, 0x1f, 0x31, 0x6c, 0x0a, 0x02, 0x1e, 0x34, + 0x6b, 0x0a, 0x1f, 0x31, 0xf0, 0x22, 0x01, 0x1e, + 0x36, 0x6a, 0x0a, 0x05, 0x0c, 0x0a, 0x0e, 0x96, + 0x00, 0x0f, 0x6b, 0x0a, 0x06, 0x1e, 0x36, 0x2f, + 0x00, 0x08, 0x6b, 0x0a, 0x0b, 0xa1, 0x22, 0x2e, + 0x6e, 0x74, 0x3c, 0x0a, 0x19, 0x37, 0x3b, 0x0a, + 0x0f, 0x5c, 0x2e, 0x05, 0x27, 0x61, 0x64, 0x8e, + 0xe2, 0x05, 0xd3, 0x22, 0x02, 0x3e, 0x00, 0x1e, + 0x72, 0xed, 0x49, 0x07, 0xc4, 0x22, 0x1c, 0x36, + 0x29, 0x0a, 0x04, 0xe8, 0x77, 0x0a, 0xaf, 0x2e, + 0x07, 0xc1, 0x08, 0x0a, 0xfb, 0xe2, 0x01, 0xe6, + 0x02, 0x02, 0x51, 0x17, 0x0f, 0x93, 0x23, 0x0d, + 0x03, 0x94, 0x05, 0x4c, 0x36, 0x5f, 0x32, 0x3a, + 0xd1, 0x08, 0x14, 0x32, 0x91, 0x00, 0x03, 0x03, + 0x18, 0x20, 0x6c, 0x70, 0x8b, 0x01, 0x03, 0x92, + 0x0a, 0x30, 0x32, 0x2c, 0x20, 0xab, 0x00, 0x2f, + 0x70, 0x32, 0x97, 0x0a, 0x06, 0x2f, 0x31, 0x30, + 0xdd, 0x22, 0x0f, 0x0d, 0x56, 0x31, 0x00, 0x91, + 0x0a, 0x05, 0x2b, 0x24, 0x08, 0xf5, 0x08, 0x15, + 0x30, 0x4a, 0x2e, 0x1f, 0x31, 0x7b, 0x09, 0x04, + 0x09, 0x3b, 0x01, 0x17, 0x33, 0x3b, 0x01, 0x05, + 0xe3, 0x00, 0x1f, 0x33, 0x0f, 0x03, 0x08, 0x8f, + 0x65, 0x78, 0x63, 0x5f, 0x73, 0x6d, 0x61, 0x6c, + 0xe5, 0xed, 0x03, 0x0e, 0x23, 0x00, 0x0e, 0x15, + 0x03, 0x0b, 0x21, 0x00, 0x0e, 0x18, 0x03, 0x0f, + 0x29, 0x00, 0x0b, 0x1e, 0x31, 0x41, 0x03, 0x0e, + 0x29, 0x00, 0x0f, 0xb0, 0x0d, 0x07, 0x1e, 0x33, + 0x49, 0x26, 0x0f, 0x34, 0x26, 0x03, 0x1f, 0x30, + 0x34, 0x26, 0x08, 0x0f, 0xc6, 0x00, 0x07, 0x0f, + 0x84, 0x0d, 0x06, 0x0f, 0xd0, 0x00, 0x07, 0x0f, + 0x0e, 0x26, 0x08, 0x03, 0x06, 0x36, 0x0e, 0x69, + 0x23, 0x04, 0x3d, 0x03, 0x00, 0x39, 0x00, 0x00, + 0x2e, 0x00, 0x02, 0xe0, 0x01, 0x03, 0x32, 0x02, + 0x01, 0xdf, 0x2e, 0x0d, 0x6c, 0x02, 0x14, 0x35, + 0x86, 0x23, 0x2b, 0x31, 0x36, 0x6d, 0x02, 0x03, + 0x13, 0xd2, 0x01, 0x06, 0x00, 0x19, 0x35, 0x44, + 0x0c, 0x22, 0x76, 0x34, 0x3f, 0x00, 0x02, 0x60, + 0x20, 0x05, 0xd6, 0x1f, 0x01, 0x75, 0x1c, 0x00, + 0x6d, 0x1f, 0x02, 0x5b, 0x0c, 0x1c, 0x36, 0x0e, + 0x04, 0x03, 0x15, 0x29, 0x07, 0x97, 0x02, 0x17, + 0x32, 0x3d, 0x00, 0x1e, 0x34, 0x19, 0x31, 0x03, + 0x52, 0x00, 0x0b, 0x46, 0x0d, 0x02, 0x72, 0x00, + 0x02, 0x01, 0x1c, 0x0b, 0x7a, 0x0e, 0x14, 0x32, + 0xcd, 0x00, 0x0c, 0x7f, 0x2c, 0x0e, 0x12, 0x3e, + 0x06, 0xdd, 0x0e, 0x03, 0x64, 0x1e, 0x1f, 0x32, + 0x7d, 0x09, 0x03, 0x32, 0x32, 0x34, 0x5d, 0x68, + 0x1f, 0x0b, 0x2d, 0x07, 0x08, 0xdb, 0x04, 0x0c, + 0x26, 0x26, 0x03, 0x54, 0x01, 0x0d, 0x68, 0x03, + 0x02, 0xf5, 0x07, 0x0e, 0x2e, 0x09, 0x02, 0x4c, + 0x08, 0x0c, 0xb5, 0x04, 0x03, 0xf3, 0x70, 0x0c, + 0x5a, 0x0f, 0x00, 0x63, 0x00, 0x0b, 0x12, 0x01, + 0x17, 0x37, 0xc6, 0x00, 0x0c, 0x99, 0x21, 0x00, + 0x4e, 0x2f, 0x0f, 0x6f, 0x00, 0x04, 0x11, 0x0a, + 0x65, 0x00, 0x01, 0xb9, 0x04, 0x0d, 0xf7, 0x00, + 0x22, 0x37, 0x5d, 0x23, 0x1d, 0x0e, 0x02, 0x0d, + 0x25, 0x75, 0x62, 0x3e, 0x01, 0x02, 0x25, 0x0e, + 0x02, 0x81, 0x20, 0x0b, 0x8a, 0x01, 0x14, 0x39, + 0x46, 0x0e, 0x1b, 0x32, 0xd7, 0x01, 0x17, 0x31, + 0xac, 0x00, 0x00, 0x8f, 0x1c, 0x0e, 0x2e, 0x0b, + 0x02, 0xa2, 0x23, 0x14, 0x33, 0xb8, 0x10, 0x0e, + 0x3f, 0x0d, 0x01, 0x9f, 0x00, 0x0b, 0x14, 0x02, + 0x17, 0x30, 0xd5, 0x0d, 0x1e, 0x33, 0xb5, 0x00, + 0x07, 0x30, 0x0e, 0x15, 0x38, 0x72, 0x33, 0x1e, + 0x3b, 0xb2, 0x05, 0x05, 0x4c, 0x21, 0x1c, 0x35, + 0x82, 0x0f, 0x14, 0x37, 0x08, 0x05, 0x02, 0x09, + 0x72, 0x0e, 0x9a, 0x03, 0x07, 0xbc, 0x27, 0x14, + 0x32, 0x73, 0x00, 0x09, 0x8e, 0x0f, 0x0e, 0x67, + 0x10, 0x03, 0x91, 0x08, 0x12, 0x37, 0xa2, 0x1d, + 0x0a, 0x5d, 0x01, 0x26, 0x33, 0x34, 0xa4, 0x1e, + 0x0c, 0x1b, 0x03, 0x17, 0x35, 0xd7, 0x1f, 0x0b, + 0x1b, 0x00, 0x07, 0xf2, 0x1f, 0x0c, 0x7a, 0x01, + 0x07, 0x45, 0x20, 0x1a, 0x31, 0x3d, 0x06, 0x26, + 0x76, 0x34, 0x06, 0x09, 0x22, 0x39, 0x5d, 0xeb, + 0x1e, 0x16, 0x34, 0x3d, 0x0d, 0x04, 0x76, 0x23, + 0x2f, 0x7d, 0x3b, 0x00, 0x06, 0x12, 0x1e, 0x36, + 0x3a, 0x2c, 0x0e, 0x23, 0x00, 0x0f, 0x00, 0x06, + 0x0c, 0x0e, 0x42, 0x2c, 0x0f, 0x29, 0x00, 0x0d, + 0x0e, 0x00, 0x06, 0x0e, 0x29, 0x00, 0x0f, 0x00, + 0x06, 0x1b, 0x3e, 0x31, 0x38, 0x3e, 0x00, 0x06, + 0x2f, 0x32, 0x35, 0x00, 0x06, 0x04, 0x1e, 0x38, + 0xcd, 0x05, 0x0f, 0xbe, 0x45, 0x06, 0x06, 0x2d, + 0x02, 0x0f, 0x33, 0x00, 0x07, 0x0e, 0x00, 0x06, + 0x0c, 0x04, 0x0b, 0x1b, 0x38, 0x41, 0x13, 0x0f, + 0xff, 0x05, 0x0c, 0x1f, 0x36, 0x33, 0x0b, 0x07, + 0x04, 0xd1, 0x25, 0x0f, 0x33, 0x0b, 0x0b, 0x07, + 0x00, 0x06, 0x12, 0x32, 0x8b, 0x00, 0x10, 0x7b, + 0x1b, 0x00, 0x12, 0x32, 0x22, 0x00, 0x00, 0xf8, + 0x23, 0x03, 0x46, 0x0b, 0x0b, 0x4a, 0x00, 0x03, + 0x80, 0x13, 0x03, 0x07, 0x00, 0x1a, 0x32, 0x8f, + 0x03, 0x02, 0x9e, 0x0f, 0x0d, 0x36, 0x2a, 0x1e, + 0x38, 0xb0, 0x05, 0x04, 0xb6, 0x09, 0x02, 0x38, + 0x2a, 0x05, 0x93, 0x58, 0x07, 0x04, 0x3b, 0x1f, + 0x30, 0x40, 0x41, 0x02, 0x16, 0x39, 0x66, 0x3a, + 0x0f, 0x9c, 0x0a, 0x06, 0x0d, 0x93, 0x06, 0x04, + 0x31, 0x01, 0x1e, 0x73, 0xc0, 0x05, 0x17, 0x31, + 0xc0, 0x05, 0x0a, 0x42, 0x45, 0x1c, 0x33, 0xc2, + 0x05, 0x1d, 0x38, 0xc2, 0x05, 0x27, 0x31, 0x31, + 0x26, 0x2b, 0x0c, 0xee, 0x06, 0x12, 0x38, 0x51, + 0x2d, 0x0b, 0xa8, 0x00, 0x17, 0x37, 0xc1, 0x05, + 0x0d, 0x70, 0x00, 0x11, 0x0a, 0x66, 0x00, 0x0b, + 0xc3, 0x05, 0x03, 0xf9, 0x00, 0x03, 0x5f, 0x3b, + 0x2f, 0x32, 0x34, 0xc4, 0x05, 0x09, 0x03, 0x66, + 0x25, 0x02, 0x53, 0x07, 0x0b, 0x46, 0x2e, 0x14, + 0x34, 0x4e, 0x07, 0x0c, 0x4d, 0x0a, 0x16, 0x36, + 0xae, 0x00, 0x1a, 0x34, 0xa5, 0x05, 0x08, 0x6a, + 0x48, 0x00, 0x29, 0x00, 0x1f, 0x5d, 0x1f, 0x00, + 0x03, 0x12, 0x37, 0xe3, 0x05, 0x1f, 0x5d, 0x8a, + 0x46, 0x04, 0x12, 0x36, 0x07, 0x00, 0x1f, 0x37, + 0xc8, 0x05, 0x09, 0x24, 0x31, 0x37, 0x07, 0x08, + 0x0f, 0xc8, 0x05, 0x04, 0x03, 0x21, 0x00, 0x0c, + 0xc8, 0x05, 0x14, 0x38, 0xc8, 0x05, 0x1f, 0x38, + 0xc8, 0x05, 0x09, 0x12, 0x31, 0xb3, 0x05, 0x05, + 0x12, 0x01, 0x07, 0xa0, 0x49, 0x0e, 0xca, 0x05, + 0x06, 0x25, 0x48, 0x04, 0x38, 0x00, 0x24, 0x31, + 0x39, 0x66, 0x01, 0x0a, 0x2a, 0x48, 0x2a, 0x32, + 0x34, 0x9d, 0x0b, 0x07, 0x24, 0x48, 0x07, 0x4f, + 0x48, 0x0a, 0x30, 0x3d, 0x04, 0x6d, 0x03, 0x11, + 0x5b, 0x66, 0x00, 0x02, 0x9e, 0x05, 0x05, 0x50, + 0x00, 0x1f, 0x32, 0x94, 0x05, 0x13, 0x1f, 0x66, + 0x94, 0x0b, 0x0f, 0x0e, 0x3a, 0x3d, 0x0e, 0x21, + 0x00, 0x0f, 0x94, 0x05, 0x13, 0x1f, 0x66, 0x94, + 0x0b, 0x15, 0x0f, 0x46, 0x3d, 0x0d, 0x1e, 0x37, + 0x45, 0x3d, 0x3e, 0x32, 0x39, 0x3e, 0x45, 0x3d, + 0x2e, 0x30, 0x3e, 0xa8, 0x05, 0x1f, 0x39, 0xec, + 0x0e, 0x0d, 0x0e, 0xd9, 0x00, 0x0e, 0xa7, 0x05, + 0x06, 0x89, 0x19, 0x0f, 0xe3, 0x00, 0x07, 0x0f, + 0x22, 0x0f, 0x0a, 0x0e, 0xec, 0x00, 0x0e, 0xe7, + 0x31, 0x0e, 0xab, 0x18, 0x1e, 0x32, 0x2e, 0x0f, + 0x17, 0x74, 0xa8, 0x0e, 0x0e, 0x2b, 0x0e, 0x1e, + 0x37, 0xc0, 0x05, 0x0e, 0xc2, 0x18, 0x08, 0xbe, + 0x0b, 0x12, 0x66, 0xbe, 0x0b, 0x11, 0x66, 0xdc, + 0x35, 0x11, 0x39, 0x1d, 0x34, 0x11, 0x30, 0x06, + 0x00, 0x27, 0x31, 0x7d, 0xd7, 0x18, 0x07, 0x6e, + 0x03, 0x13, 0x38, 0x67, 0x00, 0x1e, 0x32, 0x14, + 0x05, 0x05, 0x0c, 0x04, 0x04, 0x82, 0x00, 0x04, + 0x28, 0x35, 0x01, 0xce, 0x36, 0x10, 0x38, 0xc9, + 0x3d, 0x09, 0x02, 0x32, 0x20, 0x6c, 0x70, 0x22, + 0x00, 0x00, 0x21, 0x00, 0x01, 0x72, 0x00, 0x18, + 0x36, 0x21, 0x00, 0x00, 0x12, 0x0f, 0x1f, 0x31, + 0xf3, 0x05, 0x03, 0x0f, 0xe6, 0x03, 0x04, 0x02, + 0x38, 0x15, 0x0b, 0x59, 0x00, 0x13, 0x37, 0xd7, + 0x00, 0x0a, 0x59, 0x00, 0x1a, 0x32, 0xa0, 0x00, + 0x11, 0x32, 0x7f, 0x00, 0x0e, 0x94, 0x3d, 0x05, + 0x93, 0x3e, 0x0e, 0xee, 0x00, 0x0d, 0x2a, 0x0f, + 0x08, 0x75, 0x00, 0x14, 0x38, 0x47, 0x01, 0x0a, + 0x76, 0x00, 0x1a, 0x33, 0x76, 0x00, 0x11, 0x33, + 0x4e, 0x37, 0x04, 0x4c, 0x3d, 0x0e, 0x98, 0x18, + 0x00, 0xb8, 0x39, 0x0d, 0x76, 0x00, 0x05, 0x6a, + 0x33, 0x0e, 0x76, 0x00, 0x12, 0x39, 0xb7, 0x01, + 0x0c, 0x76, 0x00, 0x1a, 0x34, 0x76, 0x00, 0x02, + 0xb3, 0x36, 0x05, 0x4b, 0x3c, 0x08, 0x5f, 0x06, + 0x0f, 0x26, 0x19, 0x05, 0x03, 0x98, 0x31, 0x08, + 0x9d, 0x3f, 0x07, 0x4a, 0x3d, 0x1f, 0x30, 0xa9, + 0x16, 0x03, 0x25, 0x33, 0x5d, 0x15, 0x06, 0x08, + 0x31, 0x00, 0x09, 0x2d, 0x0d, 0x0a, 0xdb, 0x00, + 0x02, 0x2b, 0x0d, 0x07, 0x14, 0x0d, 0x09, 0x12, + 0x39, 0x1c, 0x34, 0xb0, 0x18, 0x03, 0xb3, 0x65, + 0x08, 0xa9, 0x00, 0x07, 0x57, 0x2e, 0x1b, 0x37, + 0x85, 0x0c, 0x14, 0x30, 0x5a, 0x2d, 0x1b, 0x32, + 0xdd, 0x00, 0x06, 0xdc, 0x00, 0x2e, 0x32, 0x30, + 0x57, 0x39, 0x1f, 0x31, 0x8b, 0x00, 0x04, 0x11, + 0x0a, 0x81, 0x00, 0x0a, 0x6d, 0x07, 0x14, 0x66, + 0xfb, 0x00, 0x15, 0x5d, 0xa5, 0x39, 0x0f, 0x30, + 0x0d, 0x07, 0x17, 0x34, 0xba, 0x3a, 0x1b, 0x39, + 0xac, 0x00, 0x06, 0xa6, 0x19, 0x0b, 0x90, 0x08, + 0x17, 0x37, 0xad, 0x00, 0x2f, 0x35, 0x3b, 0xa4, + 0x3d, 0x07, 0x2a, 0x32, 0x37, 0x6d, 0x07, 0x0a, + 0x1f, 0x3d, 0x05, 0x96, 0x09, 0x0a, 0x72, 0x3a, + 0x15, 0x31, 0xbd, 0x3d, 0x0e, 0x69, 0x07, 0x0a, + 0xcb, 0x0d, 0x1e, 0x39, 0x83, 0x03, 0x04, 0xb5, + 0x19, 0x03, 0x82, 0x01, 0x0c, 0xb6, 0x19, 0x14, + 0x39, 0x6a, 0x07, 0x02, 0xeb, 0x66, 0x00, 0x09, + 0x01, 0x07, 0x11, 0x3d, 0x08, 0xe3, 0x01, 0x0f, + 0x0e, 0x05, 0x04, 0x03, 0x07, 0x08, 0x0e, 0xdb, + 0x1c, 0x06, 0x9d, 0x10, 0x0b, 0xd5, 0x00, 0x02, + 0x5e, 0x03, 0x02, 0x9b, 0x39, 0x0b, 0x1b, 0x00, + 0x16, 0x34, 0x1b, 0x00, 0x0c, 0x09, 0x04, 0x16, + 0x35, 0x1b, 0x00, 0x04, 0x6d, 0x00, 0x0a, 0x2d, + 0x3c, 0x1c, 0x32, 0xc5, 0x04, 0x1c, 0x74, 0x4c, + 0x05, 0x02, 0x4b, 0x1d, 0x00, 0x9c, 0x07, 0x04, + 0x34, 0x00, 0x17, 0x35, 0x67, 0x3c, 0x1f, 0x33, + 0xa6, 0x07, 0x14, 0x0f, 0x3a, 0x0d, 0x0f, 0x0e, + 0x78, 0x39, 0x0e, 0x21, 0x00, 0x0f, 0xa6, 0x07, + 0x14, 0x0f, 0x3a, 0x0d, 0x15, 0x0f, 0x84, 0x39, + 0x0d, 0x1e, 0x35, 0x92, 0x07, 0x3e, 0x32, 0x31, + 0x3e, 0x83, 0x39, 0x2f, 0x31, 0x39, 0x83, 0x39, + 0x1d, 0x0e, 0xdb, 0x00, 0x0f, 0x4f, 0x13, 0x1d, + 0x0e, 0x8c, 0x39, 0x0f, 0xa8, 0x07, 0x0e, 0x0e, + 0x8f, 0x39, 0x0f, 0x81, 0x13, 0x15, 0x1f, 0x37, + 0x81, 0x0d, 0x0c, 0x1f, 0x37, 0x7f, 0x13, 0x06, + 0x1f, 0x37, 0x7e, 0x13, 0x1b, 0x11, 0x32, 0x55, + 0x01, 0x00, 0xc0, 0x07, 0x21, 0x64, 0x36, 0xb8, + 0x2d, 0x09, 0x72, 0x13, 0x1e, 0x73, 0xb6, 0x07, + 0x1f, 0x31, 0xb6, 0x07, 0x11, 0x04, 0xbe, 0x2e, + 0x11, 0x30, 0x53, 0x00, 0x10, 0x36, 0xc2, 0x39, + 0x09, 0xbf, 0x39, 0x08, 0xc0, 0x07, 0x21, 0x36, + 0x34, 0x2b, 0x00, 0x02, 0x35, 0x2e, 0x1e, 0x30, + 0x2b, 0x00, 0x0f, 0xca, 0x07, 0x30, 0x03, 0x63, + 0x00, 0x12, 0x31, 0xe1, 0x00, 0x0f, 0x63, 0x00, + 0x05, 0x1b, 0x32, 0xbe, 0x00, 0x01, 0xc5, 0x03, + 0x04, 0x99, 0x00, 0x1f, 0x31, 0x16, 0x3b, 0x01, + 0x1e, 0x37, 0xa2, 0x38, 0x1e, 0x31, 0xa2, 0x38, + 0x0c, 0xbb, 0x44, 0x03, 0x37, 0x17, 0x08, 0x85, + 0x0d, 0x1f, 0x37, 0x71, 0x0e, 0x05, 0x35, 0x31, + 0x32, 0x5d, 0x3d, 0x0c, 0x0f, 0x71, 0x0e, 0x1a, + 0x1e, 0x37, 0x6f, 0x08, 0x0b, 0x71, 0x0e, 0x08, + 0x01, 0x3a, 0x00, 0xee, 0x00, 0x0b, 0xad, 0x17, + 0x2e, 0x33, 0x30, 0x71, 0x0e, 0x1f, 0x34, 0x71, + 0x0e, 0x08, 0x03, 0xda, 0x00, 0x0e, 0xbf, 0x41, + 0x06, 0x03, 0x07, 0x0d, 0x71, 0x00, 0x11, 0x0a, + 0x67, 0x00, 0x0b, 0x05, 0x07, 0x08, 0x72, 0x0e, + 0x02, 0x78, 0x3a, 0x0e, 0x72, 0x0e, 0x0a, 0x3e, + 0x0e, 0x06, 0x7d, 0x07, 0x0e, 0xd4, 0x0d, 0x1e, + 0x36, 0x72, 0x0e, 0x17, 0x39, 0xaf, 0x00, 0x03, + 0xd0, 0x22, 0x0c, 0xd0, 0x39, 0x12, 0x32, 0xe8, + 0x06, 0x2f, 0x39, 0x5d, 0x1f, 0x00, 0x03, 0x1a, + 0x33, 0x73, 0x0e, 0x0b, 0xd9, 0x00, 0x22, 0x31, + 0x33, 0x07, 0x00, 0x0e, 0xf2, 0x21, 0x0d, 0x50, + 0x08, 0x04, 0x1f, 0x01, 0x0e, 0xa3, 0x09, 0x04, + 0x71, 0x08, 0x0b, 0x0b, 0x22, 0x00, 0x2f, 0x01, + 0x04, 0x38, 0x01, 0x05, 0x09, 0x07, 0x0a, 0x2c, + 0x32, 0x07, 0xd0, 0x01, 0x0f, 0xfa, 0x31, 0x0e, + 0x08, 0x90, 0x0e, 0x0f, 0x8f, 0x0e, 0x06, 0x0d, + 0xf6, 0x31, 0x09, 0xf4, 0x00, 0x02, 0xcf, 0x35, + 0x04, 0x7c, 0x00, 0x0c, 0x1e, 0x00, 0x15, 0x36, + 0x1e, 0x00, 0x0e, 0x02, 0x04, 0x0c, 0x9a, 0x0e, + 0x0a, 0x43, 0x32, 0x17, 0x7b, 0x3f, 0x00, 0x0f, + 0x2e, 0x14, 0x0a, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, + 0x0e, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0x0c, 0x2f, + 0x69, 0x6e, 0x2e, 0x1a, 0x14, 0x2f, 0x69, 0x6e, + 0x2e, 0x1a, 0x14, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, + 0x5f, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0x1e, 0x0e, + 0xd0, 0x00, 0x0f, 0x2e, 0x1a, 0xff, 0xf1, 0x2f, + 0x33, 0x31, 0x2e, 0x1a, 0x50, 0x2f, 0x33, 0x31, + 0x2e, 0x1a, 0xff, 0x15, 0x24, 0x33, 0x31, 0xf3, + 0x05, 0x02, 0x09, 0x5b, 0x0f, 0xd8, 0x19, 0x08, + 0x0f, 0x49, 0x1a, 0x43, 0x0f, 0x2e, 0x1a, 0x5d, + 0x09, 0x28, 0x1a, 0x02, 0xe1, 0x00, 0x0f, 0x00, + 0x06, 0x14, 0x0f, 0xf4, 0x0c, 0x05, 0x09, 0x23, + 0x00, 0x0f, 0x00, 0x06, 0x0c, 0x0e, 0xf4, 0x0c, + 0x0f, 0x29, 0x00, 0x0d, 0x0f, 0x00, 0x06, 0x0d, + 0x0f, 0x2e, 0x1a, 0x56, 0x2f, 0x69, 0x6e, 0x2e, + 0x1a, 0x1e, 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0xff, + 0xc3, 0x2f, 0x33, 0x32, 0x2e, 0x1a, 0x51, 0x2f, + 0x33, 0x32, 0x2e, 0x1a, 0xff, 0x1a, 0x00, 0x2e, + 0x01, 0x04, 0x37, 0x01, 0x05, 0xc8, 0x05, 0x0a, + 0x23, 0x1a, 0x07, 0xce, 0x01, 0x0f, 0x4c, 0x1a, + 0x05, 0x1e, 0x39, 0x4c, 0x1a, 0x07, 0x32, 0x1a, + 0x1e, 0x2c, 0x4c, 0x1a, 0x04, 0x73, 0x63, 0x06, + 0x58, 0x62, 0x0e, 0x2e, 0x1a, 0x05, 0x6b, 0x1a, + 0x0f, 0x2e, 0x1a, 0x08, 0x14, 0x31, 0x2e, 0x1a, + 0x13, 0x32, 0xab, 0x00, 0x0f, 0x94, 0x05, 0x13, + 0x1f, 0x66, 0x94, 0x0b, 0x0f, 0x0e, 0x2e, 0x1a, + 0x0e, 0x21, 0x00, 0x0f, 0x94, 0x05, 0x13, 0x1f, + 0x66, 0x94, 0x0b, 0x15, 0x0f, 0x2e, 0x1a, 0x6a, + 0x2f, 0x69, 0x6e, 0x2e, 0x1a, 0x1e, 0x2f, 0x69, + 0x6e, 0x2e, 0x1a, 0x1d, 0x2f, 0x69, 0x6e, 0x2e, + 0x1a, 0xff, 0xff, 0xff, 0x3e, 0x2f, 0x33, 0x33, + 0x2e, 0x1a, 0x6c, 0x2f, 0x33, 0x33, 0x2e, 0x1a, + 0xff, 0x17, 0x00, 0x2b, 0x01, 0x04, 0x34, 0x01, + 0x0f, 0x2e, 0x1a, 0x60, 0x1e, 0x34, 0x2e, 0x1a, + 0x0e, 0x49, 0x1a, 0x0d, 0x2e, 0x1a, 0x1e, 0x32, + 0x2e, 0x1a, 0x08, 0x49, 0x1a, 0x0f, 0x27, 0x1a, + 0x3a, 0x07, 0x1d, 0x06, 0x0f, 0x33, 0x0d, 0x0f, + 0x0e, 0x27, 0x1a, 0x0e, 0x21, 0x00, 0x0f, 0x9f, + 0x07, 0x14, 0x0f, 0x33, 0x0d, 0x15, 0x0f, 0x27, + 0x1a, 0x6c, 0x2f, 0x69, 0x6e, 0x27, 0x1a, 0x1e, + 0x0e, 0xe5, 0x00, 0x0f, 0xa1, 0x07, 0x18, 0x0f, + 0x27, 0x1a, 0xff, 0xff, 0xac, 0x1f, 0x34, 0x27, + 0x1a, 0x53, 0x1f, 0x34, 0x27, 0x1a, 0xff, 0x1c, + 0x25, 0x34, 0x5f, 0x38, 0x01, 0x0f, 0x27, 0x1a, + 0x80, 0x1e, 0x32, 0x27, 0x1a, 0x0b, 0x45, 0x1a, + 0x0f, 0x19, 0x1a, 0x31, 0x00, 0x89, 0x1f, 0x02, + 0x57, 0x36, 0x0f, 0x47, 0x34, 0x0a, 0x05, 0x23, + 0x00, 0x0e, 0x0d, 0x21, 0x0b, 0x21, 0x00, 0x0f, + 0x0d, 0x21, 0x0d, 0x0c, 0x29, 0x00, 0x0f, 0x0d, + 0x21, 0x06, 0x0c, 0x29, 0x00, 0x1f, 0x32, 0x52, + 0x00, 0x15, 0x1f, 0x33, 0x20, 0x42, 0x16, 0x3f, + 0x32, 0x30, 0x32, 0x44, 0x14, 0x01, 0x1f, 0x38, + 0xfc, 0x06, 0x04, 0x09, 0xbe, 0x20, 0x0d, 0xf1, + 0x00, 0x0f, 0xfc, 0x06, 0x02, 0x1e, 0x34, 0x33, + 0x00, 0x0f, 0x29, 0x42, 0x0d, 0x1f, 0x35, 0x33, + 0x00, 0x09, 0x2f, 0x33, 0x5d, 0x92, 0x5a, 0x14, + 0x14, 0x33, 0x9f, 0x4e, 0x1f, 0x39, 0x91, 0x5a, + 0x13, 0x16, 0x30, 0x15, 0x3d, 0x1e, 0x32, 0x28, + 0x07, 0x03, 0xf7, 0x4f, 0x0f, 0x3e, 0x17, 0x0d, + 0x0f, 0xc4, 0x14, 0x02, 0x14, 0x38, 0x7f, 0x17, + 0x0d, 0x4b, 0x07, 0x0c, 0x44, 0x17, 0x0f, 0xc2, + 0x1a, 0x02, 0x03, 0x35, 0x59, 0x18, 0x32, 0x6a, + 0x3b, 0x03, 0x57, 0x07, 0x2f, 0x39, 0x5d, 0x35, + 0x00, 0x06, 0x16, 0x39, 0x33, 0x3c, 0x04, 0xfa, + 0x3b, 0x04, 0x35, 0x00, 0x05, 0x07, 0x40, 0x0f, + 0x3a, 0x00, 0x02, 0x27, 0x35, 0x37, 0x48, 0x3b, + 0x02, 0xfb, 0x06, 0x15, 0x30, 0x3a, 0x00, 0x04, + 0xba, 0x58, 0x0f, 0x3a, 0x00, 0x02, 0x12, 0x36, + 0x9e, 0x3f, 0x02, 0x04, 0x1a, 0x02, 0x38, 0x15, + 0x15, 0x38, 0x3a, 0x00, 0x5b, 0x36, 0x31, 0x34, + 0x34, 0x5d, 0x5b, 0x15, 0x04, 0xdb, 0x13, 0x1b, + 0x34, 0xaf, 0x08, 0x0f, 0x38, 0x65, 0x04, 0x02, + 0x96, 0x66, 0x02, 0x51, 0x10, 0x0a, 0x38, 0x65, + 0x07, 0x20, 0x18, 0x00, 0xea, 0x05, 0x0f, 0x35, + 0x01, 0x05, 0x0f, 0x34, 0x00, 0x06, 0x02, 0x12, + 0x01, 0x2f, 0x2c, 0x20, 0x39, 0x01, 0x05, 0x0f, + 0x39, 0x00, 0x07, 0x01, 0x11, 0x01, 0x2f, 0x2c, + 0x20, 0x38, 0x01, 0x05, 0x0f, 0x39, 0x00, 0x07, + 0x01, 0x10, 0x01, 0x2f, 0x2c, 0x20, 0x37, 0x01, + 0x05, 0x0f, 0xee, 0x05, 0x09, 0x24, 0x37, 0x35, + 0x86, 0x58, 0x0e, 0x78, 0x1c, 0x04, 0x20, 0x01, + 0x0a, 0x89, 0x0d, 0x07, 0xa5, 0x01, 0x21, 0x37, + 0x37, 0x20, 0x00, 0x02, 0x81, 0x09, 0x02, 0xf9, + 0x08, 0x03, 0xdf, 0x01, 0x2f, 0x34, 0x5d, 0x34, + 0x00, 0x05, 0x12, 0x38, 0x61, 0x60, 0x02, 0xcd, + 0x65, 0x02, 0x5c, 0x15, 0x13, 0x37, 0x34, 0x00, + 0x1c, 0x2b, 0x43, 0x15, 0x07, 0x37, 0x00, 0x12, + 0x39, 0x3e, 0x09, 0x02, 0xdb, 0x3a, 0x11, 0x34, + 0x06, 0x00, 0x14, 0x35, 0x37, 0x00, 0x2f, 0x33, + 0x32, 0x37, 0x00, 0x06, 0x32, 0x31, 0x30, 0x30, + 0xd7, 0x08, 0x03, 0xde, 0x08, 0x03, 0xd5, 0x3a, + 0x14, 0x33, 0x3b, 0x00, 0x03, 0xc3, 0x42, 0x0b, + 0xd3, 0x1c, 0x03, 0xd2, 0x00, 0x1e, 0x37, 0x79, + 0x1c, 0x03, 0xe7, 0x00, 0x0b, 0x2d, 0x01, 0x02, + 0xb3, 0x64, 0x02, 0x79, 0x09, 0x0e, 0x0e, 0x0a, + 0x04, 0xf3, 0x00, 0x0f, 0x78, 0x11, 0x02, 0x14, + 0x35, 0xa8, 0x5c, 0x0e, 0x1d, 0x11, 0x15, 0x36, + 0x91, 0x09, 0x0d, 0xad, 0x09, 0x25, 0x38, 0x37, + 0x3e, 0x17, 0x0d, 0xc7, 0x10, 0x12, 0x39, 0xe4, + 0x00, 0x0c, 0x06, 0x10, 0x16, 0x34, 0x40, 0x01, + 0x1c, 0x31, 0x78, 0x08, 0x02, 0x85, 0x00, 0x06, + 0x2d, 0x1b, 0x0d, 0xff, 0x16, 0x13, 0x39, 0xba, + 0x10, 0x0b, 0x1c, 0x00, 0x02, 0x86, 0x00, 0x03, + 0x63, 0x01, 0x1b, 0x36, 0x1d, 0x00, 0x18, 0x38, + 0x79, 0x01, 0x1e, 0x37, 0xea, 0x08, 0x06, 0x8f, + 0x01, 0x1b, 0x38, 0x2b, 0x0a, 0x13, 0x30, 0xa5, + 0x01, 0x02, 0x41, 0x10, 0x0f, 0x18, 0x17, 0x0a, + 0x14, 0x30, 0x9e, 0x5a, 0x0c, 0x49, 0x10, 0x15, + 0x31, 0xc0, 0x02, 0x00, 0x25, 0x00, 0x0c, 0xfb, + 0x09, 0x1f, 0x31, 0xd5, 0x11, 0x05, 0x14, 0x32, + 0x45, 0x3f, 0x1f, 0x31, 0x1f, 0x00, 0x04, 0x23, + 0x2b, 0x35, 0xf9, 0x0a, 0x0e, 0x48, 0x10, 0x0e, + 0xc0, 0x1d, 0x10, 0x31, 0xca, 0x01, 0x03, 0x37, + 0x00, 0x14, 0x30, 0x26, 0x05, 0x0c, 0x23, 0x00, + 0x02, 0xd2, 0x09, 0x03, 0x5a, 0x00, 0x0b, 0xc6, + 0x00, 0x03, 0x9a, 0x0b, 0x02, 0x44, 0x01, 0x0e, + 0xb7, 0x09, 0x0f, 0xa2, 0x00, 0x0c, 0x1f, 0x32, + 0xa2, 0x00, 0x11, 0x16, 0x33, 0xa2, 0x00, 0x1f, + 0x34, 0xa2, 0x00, 0x04, 0x1f, 0x34, 0xa2, 0x00, + 0x08, 0x03, 0x62, 0x0b, 0x03, 0x07, 0x00, 0x1f, + 0x34, 0xa2, 0x00, 0x1c, 0x1f, 0x33, 0xa2, 0x00, + 0x11, 0x14, 0x35, 0x7f, 0x00, 0x15, 0x34, 0x30, + 0x06, 0x0c, 0x23, 0x00, 0x1e, 0x36, 0xa2, 0x00, + 0x0b, 0x88, 0x12, 0x03, 0x78, 0x21, 0x2f, 0x31, + 0x36, 0xa2, 0x00, 0x1c, 0x1f, 0x34, 0xa2, 0x00, + 0x11, 0x15, 0x37, 0xa2, 0x00, 0x2f, 0x38, 0x30, + 0xa2, 0x00, 0x04, 0x1f, 0x38, 0xa2, 0x00, 0x08, + 0x03, 0x9b, 0x00, 0x03, 0xd4, 0x03, 0x1f, 0x38, + 0xa2, 0x00, 0x1c, 0x1f, 0x35, 0xa2, 0x00, 0x11, + 0x15, 0x39, 0xa2, 0x00, 0x1f, 0x34, 0x88, 0x02, + 0x04, 0x2f, 0x32, 0x30, 0xa2, 0x00, 0x08, 0x02, + 0x8b, 0x04, 0x03, 0xb6, 0x03, 0x2f, 0x32, 0x30, + 0xa2, 0x00, 0x1c, 0x1f, 0x36, 0xa2, 0x00, 0x10, + 0x15, 0x32, 0x2a, 0x03, 0x3f, 0x33, 0x38, 0x34, + 0xa2, 0x00, 0x04, 0x0e, 0x2a, 0x03, 0x0d, 0x39, + 0x14, 0x03, 0xed, 0x14, 0x0f, 0x2a, 0x03, 0x1d, + 0x1f, 0x37, 0xa2, 0x00, 0x11, 0x05, 0x2a, 0x03, + 0x03, 0x07, 0x47, 0x1e, 0x6c, 0x23, 0x00, 0x0f, + 0x2a, 0x03, 0x09, 0x03, 0x28, 0x6e, 0x03, 0x6b, + 0x16, 0x0e, 0x58, 0x02, 0x0b, 0x25, 0x0a, 0x02, + 0xfb, 0x03, 0x0f, 0xc7, 0x1e, 0x07, 0x0e, 0x2c, + 0x59, 0x03, 0x00, 0x19, 0x17, 0x35, 0x26, 0x44, + 0x0a, 0xb6, 0x44, 0x0c, 0x19, 0x61, 0x06, 0xbc, + 0x1d, 0x11, 0x35, 0xbc, 0x0d, 0x0d, 0xa8, 0x0a, + 0x14, 0x33, 0xf2, 0x95, 0x0a, 0x46, 0x36, 0x15, + 0x34, 0xe4, 0x1e, 0x23, 0x33, 0x32, 0xc5, 0x4f, + 0x21, 0x36, 0x34, 0x38, 0x45, 0x05, 0x21, 0x1f, + 0x03, 0xc7, 0x68, 0x0c, 0x2a, 0x5c, 0x41, 0x74, + 0x2e, 0x63, 0x67, 0xe6, 0x0a, 0x00, 0xc8, 0x09, + 0x04, 0x40, 0x73, 0x0e, 0x12, 0x78, 0x12, 0x0a, + 0x93, 0x00, 0x1b, 0x3a, 0x95, 0x45, 0x18, 0x39, + 0x8a, 0x60, 0x09, 0x31, 0x06, 0x05, 0xb5, 0x4b, + 0x21, 0x2d, 0x33, 0xfb, 0x01, 0x63, 0x72, 0x61, + 0x2e, 0x75, 0x6e, 0x69, 0xdb, 0x00, 0x03, 0x3a, + 0x1e, 0x02, 0xc4, 0x49, 0x09, 0x37, 0x00, 0x17, + 0x31, 0x40, 0x22, 0x1f, 0x30, 0x55, 0x00, 0x04, + 0x23, 0x30, 0x30, 0x56, 0x00, 0x02, 0x44, 0x00, + 0x03, 0x75, 0x37, 0x00, 0x74, 0x01, 0x02, 0x57, + 0x01, 0x02, 0xe1, 0x1d, 0x01, 0x29, 0x00, 0x0c, + 0x9e, 0x0e, 0x03, 0xe2, 0x1c, 0x0e, 0x0c, 0x23, + 0x08, 0x8c, 0x37, 0x17, 0x38, 0x07, 0x10, 0x07, + 0x51, 0x1e, 0x06, 0xc9, 0x01, 0x0e, 0x72, 0x5d, + 0x00, 0x7a, 0x02, 0x03, 0x48, 0x01, 0x03, 0x0d, + 0x20, 0x11, 0x5b, 0x36, 0x00, 0x1e, 0x5d, 0x2a, + 0x00, 0x01, 0xd2, 0x01, 0x11, 0x33, 0x55, 0x1d, + 0x03, 0x50, 0x24, 0x04, 0x1e, 0x20, 0x5b, 0x73, + 0x68, 0x72, 0x2e, 0x75, 0xcc, 0x1d, 0x13, 0x35, + 0xd2, 0x01, 0x0b, 0x36, 0x00, 0x03, 0xe0, 0x7b, + 0x05, 0x52, 0x02, 0x23, 0x65, 0x71, 0x52, 0x02, + 0x05, 0xee, 0x4b, 0x1c, 0x30, 0x68, 0x19, 0x04, + 0x19, 0x49, 0x42, 0x76, 0x6f, 0x74, 0x65, 0x8d, + 0x47, 0x35, 0x61, 0x6e, 0x79, 0x3f, 0x0e, 0x11, + 0x33, 0xd5, 0x12, 0x02, 0x09, 0x03, 0x0c, 0xb2, + 0x43, 0x03, 0xb1, 0x01, 0x0b, 0x6a, 0x00, 0x14, + 0x34, 0x6a, 0x00, 0x19, 0x32, 0x55, 0x00, 0x66, + 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x1f, 0x6b, + 0x01, 0x0e, 0x1a, 0x06, 0x58, 0x00, 0x0a, 0x44, + 0x00, 0x05, 0xdf, 0x23, 0x1c, 0x30, 0xbd, 0x17, + 0x03, 0x47, 0x4c, 0x36, 0x63, 0x6c, 0x7a, 0x0f, + 0x66, 0x03, 0x7b, 0x5f, 0x0c, 0x77, 0x28, 0x13, + 0x30, 0x7f, 0x02, 0x09, 0x56, 0x20, 0x03, 0x72, + 0x28, 0x12, 0x30, 0x7a, 0x00, 0x1d, 0x39, 0x37, + 0x11, 0x17, 0x37, 0x3a, 0x18, 0x25, 0x33, 0x31, + 0x4e, 0x45, 0x21, 0x33, 0x32, 0x3e, 0x00, 0x03, + 0x4c, 0x45, 0x02, 0x68, 0x01, 0x1c, 0x70, 0x50, + 0x13, 0x04, 0x5f, 0x01, 0x09, 0xe8, 0x09, 0x03, + 0xad, 0x20, 0x16, 0x32, 0xba, 0x02, 0x09, 0x33, + 0x00, 0x1e, 0x35, 0x3f, 0x72, 0x05, 0xf6, 0x62, + 0x0f, 0xab, 0x62, 0x04, 0x33, 0x33, 0x38, 0x7c, + 0x78, 0x4b, 0x05, 0x5e, 0x00, 0x19, 0x36, 0xd6, + 0x00, 0x1c, 0x36, 0x84, 0x00, 0x03, 0xcf, 0x00, + 0x04, 0x34, 0x00, 0x0c, 0x37, 0x1b, 0x1f, 0x30, + 0xb3, 0x4a, 0x09, 0x35, 0x31, 0x34, 0x31, 0x52, + 0x63, 0x03, 0x49, 0x00, 0x2f, 0x34, 0x30, 0x6f, + 0x00, 0x0a, 0x03, 0xad, 0x77, 0x23, 0x34, 0x31, + 0x34, 0x00, 0x0c, 0x6f, 0x00, 0x1e, 0x33, 0xba, + 0x4a, 0x08, 0x6f, 0x00, 0x17, 0x34, 0x8a, 0x63, + 0x03, 0x4a, 0x00, 0x1f, 0x33, 0x70, 0x00, 0x0b, + 0x03, 0xa8, 0x29, 0x13, 0x34, 0x34, 0x00, 0x0f, + 0x5c, 0x00, 0x08, 0x16, 0x36, 0x06, 0x63, 0x13, + 0x34, 0x0d, 0x29, 0x1f, 0x35, 0x5c, 0x00, 0x0b, + 0x12, 0x37, 0x2d, 0x00, 0x13, 0x36, 0x34, 0x00, + 0x0c, 0xcc, 0x00, 0x1e, 0x38, 0xc9, 0x4a, 0x08, + 0x70, 0x00, 0x16, 0x39, 0x3e, 0x63, 0x04, 0x4a, + 0x00, 0x1f, 0x38, 0x70, 0x00, 0x0a, 0x13, 0x35, + 0xf9, 0x00, 0x03, 0x69, 0x01, 0x0a, 0x64, 0x60, + 0x35, 0x69, 0x64, 0x78, 0x5b, 0x00, 0x25, 0x35, + 0x31, 0x25, 0x4b, 0x04, 0x35, 0x00, 0x1f, 0x33, + 0x27, 0x01, 0x0a, 0x03, 0x24, 0x02, 0x13, 0x35, + 0xaa, 0x6f, 0x0e, 0x57, 0x06, 0x2e, 0x37, 0x3b, + 0x57, 0x06, 0x03, 0x14, 0x63, 0x1c, 0x36, 0x51, + 0x22, 0x03, 0x67, 0x04, 0x0e, 0x57, 0x06, 0x07, + 0x02, 0x22, 0x02, 0xd9, 0x02, 0x0f, 0x57, 0x06, + 0x11, 0x1f, 0x32, 0x57, 0x06, 0x05, 0x2a, 0x37, + 0x3a, 0xbe, 0x03, 0x26, 0x35, 0x32, 0xfd, 0x27, + 0x1c, 0x32, 0x6a, 0x03, 0x02, 0xc0, 0x4c, 0x03, + 0x24, 0x00, 0x1c, 0x37, 0x1d, 0x00, 0x17, 0x34, + 0x1d, 0x00, 0x0d, 0x75, 0x01, 0x18, 0x35, 0x3a, + 0x00, 0x1f, 0x37, 0xbd, 0x0f, 0x05, 0x03, 0xb8, + 0x0f, 0x03, 0x28, 0x00, 0x05, 0x36, 0x00, 0x03, + 0x5a, 0x00, 0x2c, 0x33, 0x7d, 0x56, 0x00, 0x17, + 0x36, 0x56, 0x00, 0x0d, 0x00, 0x0e, 0x28, 0x35, + 0x37, 0x1e, 0x00, 0x0d, 0xcc, 0x00, 0x17, 0x38, + 0x1e, 0x00, 0x1c, 0x39, 0x1d, 0x00, 0x17, 0x39, + 0x1d, 0x00, 0x1f, 0x38, 0xae, 0x00, 0x06, 0x23, + 0x2b, 0x31, 0xa2, 0x10, 0x05, 0x31, 0x00, 0x03, + 0x55, 0x00, 0x03, 0x7a, 0x00, 0x2c, 0x36, 0x7d, + 0x3f, 0x0e, 0x18, 0x30, 0x93, 0x00, 0x1c, 0x35, + 0x1e, 0x00, 0x18, 0x31, 0x1e, 0x00, 0x0d, 0x7b, + 0x0e, 0x18, 0x32, 0x1e, 0x00, 0x0d, 0x98, 0x25, + 0x08, 0x9b, 0x01, 0x0b, 0x82, 0x6b, 0x09, 0xb3, + 0x00, 0x23, 0x33, 0x32, 0xb3, 0x00, 0x03, 0x32, + 0x00, 0x03, 0x57, 0x00, 0x03, 0x7c, 0x00, 0x2d, + 0x36, 0x30, 0xb3, 0x00, 0x18, 0x34, 0x59, 0x00, + 0x1c, 0x39, 0x1e, 0x00, 0x08, 0xd8, 0x01, 0x0d, + 0xd7, 0x20, 0x19, 0x36, 0xa0, 0x01, 0x1c, 0x37, + 0x1e, 0x00, 0x09, 0xa0, 0x01, 0x1f, 0x36, 0xb3, + 0x00, 0x07, 0x04, 0x41, 0x12, 0x04, 0x32, 0x00, + 0x03, 0x57, 0x00, 0x13, 0x36, 0x7a, 0x2e, 0x1e, + 0x34, 0xd3, 0x11, 0x0e, 0x4a, 0x14, 0x05, 0xf9, + 0x86, 0x04, 0x6d, 0x4b, 0x08, 0x6c, 0x03, 0x1f, + 0x36, 0xbd, 0x25, 0x06, 0x13, 0x37, 0x09, 0x87, + 0x06, 0xca, 0x85, 0x0f, 0x59, 0x11, 0x03, 0x22, + 0x36, 0x38, 0x8c, 0x00, 0x12, 0x39, 0xea, 0x00, + 0x12, 0x30, 0x07, 0x00, 0x26, 0x31, 0x7d, 0x81, + 0x18, 0x0f, 0x73, 0x2b, 0x03, 0x10, 0x32, 0x6d, + 0x2d, 0x0f, 0x41, 0x00, 0x09, 0x0f, 0x72, 0x00, + 0x06, 0x13, 0x37, 0x72, 0x2f, 0x03, 0x0c, 0x27, + 0x12, 0x38, 0x07, 0x00, 0x00, 0xc9, 0x68, 0x06, + 0x77, 0x13, 0x0f, 0x77, 0x00, 0x08, 0x07, 0x98, + 0x13, 0x0f, 0x4b, 0x00, 0x06, 0x0f, 0x7c, 0x00, + 0x06, 0x22, 0x38, 0x34, 0xef, 0x01, 0x02, 0x81, + 0x01, 0x03, 0x9b, 0x11, 0x04, 0xb9, 0x12, 0x03, + 0xba, 0x13, 0x0f, 0x7c, 0x00, 0x09, 0x06, 0xdb, + 0x13, 0x0f, 0x4b, 0x00, 0x06, 0x0f, 0x7c, 0x00, + 0x06, 0x03, 0xd1, 0x11, 0x03, 0xbc, 0x11, 0x03, + 0xa7, 0x11, 0x04, 0xfe, 0x12, 0x03, 0xfd, 0x13, + 0x0f, 0x7c, 0x00, 0x09, 0x06, 0x1e, 0x14, 0x0f, + 0x4b, 0x00, 0x06, 0x0f, 0xd3, 0x18, 0x13, 0x0e, + 0xe0, 0x39, 0x0d, 0x37, 0x18, 0x0e, 0xe0, 0x39, + 0x0d, 0x21, 0x00, 0x0f, 0xd3, 0x18, 0x14, 0x0f, + 0xe0, 0x39, 0x0f, 0x0c, 0x29, 0x00, 0x1f, 0x32, + 0x52, 0x00, 0x15, 0x0f, 0xd3, 0x18, 0x03, 0x08, + 0xcf, 0x1f, 0x05, 0x16, 0x2d, 0x2f, 0x30, 0x34, + 0xcf, 0x1f, 0x02, 0x0e, 0xd4, 0x18, 0x07, 0x68, + 0x8a, 0x0e, 0xf3, 0x00, 0x0f, 0xd1, 0x1f, 0x0b, + 0x1f, 0x34, 0x34, 0x00, 0x09, 0x0f, 0xa3, 0x18, + 0x16, 0x2f, 0x31, 0x32, 0xa3, 0x18, 0x1a, 0x08, + 0xf3, 0x24, 0x0f, 0x91, 0x1b, 0x08, 0x03, 0x29, + 0x04, 0x02, 0x6a, 0x78, 0x0d, 0x93, 0x8b, 0x1e, + 0x37, 0x4f, 0x33, 0x07, 0xdf, 0x88, 0x07, 0x3f, + 0x00, 0x1f, 0x37, 0x52, 0x2d, 0x06, 0x23, 0x32, + 0x39, 0x4a, 0x86, 0x13, 0x7d, 0xa2, 0x8b, 0x0c, + 0x4d, 0x18, 0x07, 0x2c, 0x00, 0x23, 0x33, 0x33, + 0x46, 0x84, 0x05, 0x2c, 0x00, 0x0e, 0x7e, 0x18, + 0x0a, 0x31, 0x00, 0x13, 0x37, 0x5a, 0x82, 0x06, + 0x31, 0x00, 0x0e, 0x75, 0x18, 0x08, 0x31, 0x00, + 0x05, 0xf3, 0x81, 0x06, 0x31, 0x00, 0x0e, 0x6c, + 0x18, 0x06, 0x6e, 0x1e, 0x0e, 0xfb, 0x25, 0x0f, + 0x6c, 0x18, 0x07, 0x07, 0xf9, 0x33, 0x07, 0xf5, + 0x05, 0x19, 0x32, 0xc1, 0x2c, 0x0a, 0x11, 0x01, + 0x0f, 0x2a, 0x00, 0x06, 0x07, 0xca, 0x04, 0x07, + 0x14, 0x01, 0x0f, 0x2f, 0x00, 0x07, 0x06, 0x7d, + 0x04, 0x07, 0x12, 0x01, 0x0f, 0x2f, 0x00, 0x07, + 0x06, 0x30, 0x04, 0x07, 0x10, 0x01, 0x0f, 0x86, + 0x15, 0x0a, 0x1f, 0x36, 0x44, 0x18, 0x08, 0x04, + 0x2e, 0x35, 0x0a, 0xdf, 0x04, 0x08, 0x74, 0x01, + 0x03, 0xa3, 0x06, 0x1e, 0x36, 0x3a, 0x18, 0x0c, + 0x2a, 0x00, 0x12, 0x38, 0x2a, 0x00, 0x1e, 0x39, + 0x30, 0x18, 0x0e, 0x2d, 0x00, 0x22, 0x35, 0x32, + 0x45, 0x0f, 0x1f, 0x33, 0x26, 0x18, 0x06, 0x08, + 0x2d, 0x00, 0x03, 0x72, 0x0f, 0x1e, 0x37, 0x18, + 0x18, 0x0a, 0x5d, 0x11, 0x13, 0x34, 0xb1, 0x22, + 0x1c, 0x35, 0x33, 0x84, 0x02, 0x17, 0x00, 0x03, + 0xb8, 0x5c, 0x0e, 0x9e, 0x2a, 0x01, 0xb7, 0x00, + 0x09, 0xc6, 0x25, 0x0a, 0x02, 0x23, 0x04, 0xae, + 0x00, 0x0e, 0x4c, 0x75, 0x01, 0xc4, 0x00, 0x05, + 0x10, 0x1c, 0x0e, 0x1c, 0x26, 0x25, 0x35, 0x36, + 0x87, 0x21, 0x0e, 0x0e, 0x1c, 0x16, 0x35, 0x0f, + 0x1c, 0x0f, 0xbe, 0x01, 0x07, 0x1f, 0x38, 0x3c, + 0x21, 0x03, 0x05, 0xad, 0x28, 0x08, 0x10, 0x36, + 0x05, 0x30, 0x31, 0x0f, 0x18, 0x22, 0x06, 0x13, + 0x35, 0xd6, 0x11, 0x02, 0x61, 0x2f, 0x0e, 0x1f, + 0x00, 0x02, 0x92, 0x5b, 0x05, 0xb2, 0x1f, 0x0e, + 0x76, 0x13, 0x0a, 0x3e, 0x2f, 0x00, 0xa6, 0x09, + 0x03, 0x37, 0x00, 0x0f, 0x61, 0x2f, 0x05, 0x00, + 0xd0, 0x09, 0x06, 0x5a, 0x00, 0x0f, 0x23, 0x20, + 0x03, 0x13, 0x36, 0x90, 0x76, 0x0e, 0x19, 0x14, + 0x0f, 0xa3, 0x00, 0x0b, 0x2f, 0x31, 0x30, 0xa4, + 0x00, 0x11, 0x15, 0x33, 0x81, 0x00, 0x0d, 0xe6, + 0x17, 0x04, 0x23, 0x00, 0x1f, 0x34, 0xa4, 0x00, + 0x09, 0x03, 0x9d, 0x00, 0x03, 0xe7, 0x01, 0x1f, + 0x34, 0xa4, 0x00, 0x1d, 0x1f, 0x31, 0xa4, 0x00, + 0x11, 0x13, 0x35, 0x81, 0x00, 0x3f, 0x39, 0x39, + 0x32, 0xa3, 0x00, 0x04, 0x1f, 0x36, 0xa3, 0x00, + 0x09, 0x02, 0xa0, 0x02, 0x01, 0x81, 0x0a, 0x00, + 0x2b, 0x00, 0x0f, 0xa3, 0x00, 0x1d, 0x1f, 0x32, + 0xa3, 0x00, 0x11, 0x14, 0x37, 0xa3, 0x00, 0x2f, + 0x36, 0x30, 0xa3, 0x00, 0x04, 0x1f, 0x38, 0xa3, + 0x00, 0x09, 0x03, 0x3f, 0x01, 0x03, 0x3d, 0x1f, + 0x1f, 0x38, 0xa3, 0x00, 0x1d, 0x1f, 0x33, 0xa3, + 0x00, 0x11, 0x13, 0x39, 0x81, 0x00, 0x1d, 0x38, + 0x8b, 0x18, 0x04, 0xb2, 0x03, 0x1f, 0x30, 0xa3, + 0x00, 0x09, 0x12, 0x34, 0x9c, 0x00, 0x03, 0xab, + 0x1f, 0x1f, 0x30, 0xa3, 0x00, 0x1d, 0x1f, 0x34, + 0xa3, 0x00, 0x10, 0x14, 0x37, 0x31, 0x03, 0x3f, + 0x37, 0x36, 0x38, 0xa3, 0x00, 0x04, 0x0f, 0x30, + 0x03, 0x0a, 0x12, 0x35, 0x9c, 0x00, 0x12, 0x31, + 0x07, 0x00, 0x0f, 0x30, 0x03, 0x1e, 0x1f, 0x35, + 0xa3, 0x00, 0x11, 0x04, 0x30, 0x03, 0x03, 0x26, + 0x17, 0x1e, 0x6c, 0x22, 0x00, 0x0f, 0x2f, 0x03, + 0x0a, 0x03, 0xf2, 0x04, 0x03, 0x1f, 0x62, 0x0f, + 0x4a, 0x17, 0x0e, 0x06, 0x1c, 0x33, 0x0e, 0x80, + 0x62, 0x1e, 0x35, 0x77, 0x70, 0x0d, 0x1e, 0x33, + 0x00, 0x27, 0x00, 0x0f, 0x4d, 0x17, 0x19, 0x02, + 0x73, 0x58, 0x09, 0x70, 0x0d, 0x25, 0x37, 0x38, + 0xec, 0x33, 0x0c, 0xdb, 0x10, 0x02, 0x84, 0x0c, + 0x01, 0x22, 0x00, 0x0f, 0x32, 0x17, 0x0e, 0x13, + 0x31, 0x4d, 0x91, 0x01, 0x4f, 0x10, 0x0e, 0xdc, + 0x10, 0x1d, 0x36, 0x33, 0x17, 0x1e, 0x36, 0x32, + 0x17, 0x03, 0x38, 0x1d, 0x04, 0x4e, 0x95, 0x0e, + 0x31, 0x17, 0x14, 0x36, 0x31, 0x17, 0x16, 0x36, + 0x31, 0x17, 0x08, 0xf7, 0x05, 0x07, 0x30, 0x16, + 0x0e, 0x4c, 0x30, 0x15, 0x33, 0xbb, 0x1d, 0x05, + 0x34, 0x17, 0x1f, 0x36, 0x34, 0x17, 0x01, 0x14, + 0x38, 0x89, 0x1f, 0x0c, 0xd4, 0x06, 0x12, 0x33, + 0xb1, 0x06, 0x03, 0x47, 0x18, 0x0c, 0x75, 0x34, + 0x02, 0x3c, 0x0d, 0x01, 0x26, 0x00, 0x0d, 0x3a, + 0x00, 0x09, 0xa3, 0x4e, 0x2f, 0x38, 0x34, 0x36, + 0x17, 0x0c, 0x23, 0x38, 0x30, 0x41, 0x64, 0x1f, + 0x31, 0x36, 0x17, 0x0e, 0x13, 0x32, 0x66, 0x26, + 0x1b, 0x30, 0x25, 0x5e, 0x14, 0x39, 0x0d, 0x27, + 0x1e, 0x33, 0x4f, 0x17, 0x04, 0x63, 0x00, 0x1f, + 0x32, 0x34, 0x17, 0x03, 0x00, 0xaf, 0x31, 0x0e, + 0x62, 0x84, 0x0f, 0x32, 0x17, 0x12, 0x0d, 0x5d, + 0x64, 0x2f, 0x33, 0x36, 0x31, 0x17, 0x06, 0x1f, + 0x39, 0x30, 0x17, 0x0b, 0x12, 0x31, 0x3e, 0x31, + 0x05, 0x56, 0x00, 0x0e, 0x2f, 0x17, 0x01, 0x23, + 0x00, 0x0d, 0x2f, 0x17, 0x1d, 0x36, 0x2f, 0x17, + 0x13, 0x34, 0xed, 0x1f, 0x0e, 0xb7, 0x60, 0x0c, + 0x2d, 0x17, 0x27, 0x35, 0x30, 0xa2, 0x60, 0x1f, + 0x38, 0x2a, 0x17, 0x03, 0x15, 0x36, 0x4f, 0xab, + 0x08, 0x76, 0x5c, 0x10, 0x39, 0x73, 0x08, 0x06, + 0x7f, 0x02, 0x1c, 0x70, 0xf2, 0x08, 0x02, 0x51, + 0x0f, 0x01, 0x27, 0x00, 0x05, 0x9c, 0x02, 0x0f, + 0xd6, 0x76, 0x08, 0x03, 0x29, 0x77, 0x02, 0xaa, + 0x01, 0x0f, 0x06, 0x79, 0x0b, 0x18, 0x35, 0x06, + 0x39, 0x06, 0x2a, 0x61, 0x0e, 0x4f, 0x17, 0x0a, + 0x55, 0x85, 0x16, 0x38, 0x54, 0x85, 0x03, 0x2a, + 0x61, 0x03, 0xc5, 0x84, 0x0f, 0x37, 0x00, 0x07, + 0x14, 0x36, 0x16, 0x17, 0x2e, 0x32, 0x34, 0x37, + 0x00, 0x0f, 0x72, 0x8f, 0x0a, 0x00, 0x48, 0x10, + 0x07, 0xad, 0x77, 0x0e, 0x2c, 0x00, 0x09, 0x2b, + 0x01, 0x03, 0x17, 0x0a, 0x1e, 0x36, 0xfe, 0x00, + 0x0e, 0x2a, 0x01, 0x04, 0x4e, 0x77, 0x02, 0x2c, + 0x00, 0x1f, 0x37, 0x2a, 0x01, 0x0b, 0x1f, 0x34, + 0xf6, 0x17, 0x09, 0x26, 0x33, 0x31, 0x6b, 0x86, + 0x17, 0x39, 0xf2, 0x61, 0x0f, 0x17, 0x01, 0x0d, + 0x0d, 0x0e, 0x86, 0x2f, 0x35, 0x34, 0x18, 0x01, + 0x17, 0x28, 0x38, 0x2c, 0xc0, 0x77, 0x0f, 0x18, + 0x01, 0x0c, 0x03, 0x6c, 0x3c, 0x1e, 0x38, 0xec, + 0x00, 0x0e, 0x13, 0x78, 0x04, 0x4e, 0x77, 0x02, + 0x2c, 0x00, 0x1f, 0x39, 0x18, 0x01, 0x0b, 0x1e, + 0x35, 0xee, 0x86, 0x0c, 0xd7, 0x85, 0x07, 0x3b, + 0x67, 0x2f, 0x35, 0x35, 0x18, 0x01, 0x13, 0x16, + 0x34, 0x0f, 0x86, 0x1e, 0x32, 0x38, 0x00, 0x0f, + 0x18, 0x01, 0x0a, 0x24, 0x39, 0x30, 0x28, 0x59, + 0x04, 0x1b, 0x59, 0x0f, 0x18, 0x01, 0x08, 0x13, + 0x39, 0x1f, 0x3d, 0x1f, 0x30, 0xec, 0x00, 0x0a, + 0x04, 0x18, 0x01, 0x10, 0x36, 0x53, 0x00, 0x03, + 0xbf, 0x93, 0x2f, 0x39, 0x31, 0x30, 0x7a, 0x15, + 0x11, 0x33, 0xd7, 0x18, 0x07, 0xb7, 0x59, 0x2f, + 0x35, 0x31, 0x05, 0x01, 0x13, 0x01, 0xd9, 0x63, + 0x07, 0x97, 0x7d, 0x2f, 0x35, 0x31, 0x05, 0x01, + 0x17, 0x03, 0x18, 0x79, 0x20, 0x38, 0x2c, 0x80, + 0x00, 0x0f, 0x05, 0x01, 0x0d, 0x24, 0x33, 0x2c, + 0x34, 0x00, 0x0e, 0xd9, 0x00, 0x0b, 0x05, 0x01, + 0x00, 0xa2, 0x29, 0x00, 0x38, 0x28, 0x03, 0x05, + 0x01, 0x0f, 0xb8, 0x7e, 0x0b, 0x00, 0xc2, 0x0d, + 0x0f, 0x45, 0x66, 0x08, 0x01, 0x76, 0x65, 0x05, + 0xbe, 0x83, 0x04, 0xbf, 0x64, 0x0f, 0x18, 0x01, + 0x0e, 0x25, 0x34, 0x32, 0x68, 0x7a, 0x17, 0x34, + 0x84, 0xaf, 0x0f, 0x18, 0x01, 0x13, 0x01, 0x7d, + 0x7e, 0x00, 0xf2, 0x28, 0x00, 0x80, 0x00, 0x0f, + 0x18, 0x01, 0x0d, 0x03, 0x78, 0x05, 0x1e, 0x34, + 0xec, 0x00, 0x0d, 0x18, 0x01, 0x00, 0x70, 0x65, + 0x00, 0x08, 0x67, 0x03, 0x18, 0x01, 0x0f, 0x77, + 0x05, 0x0c, 0x04, 0x64, 0x0e, 0x0e, 0xac, 0x1a, + 0x03, 0x5c, 0x67, 0x26, 0x31, 0x38, 0x57, 0x67, + 0x2e, 0x35, 0x37, 0x17, 0x01, 0x0e, 0x37, 0x00, + 0x02, 0xad, 0x1b, 0x07, 0x20, 0x67, 0x2f, 0x35, + 0x37, 0x16, 0x01, 0x17, 0x12, 0x36, 0x16, 0x01, + 0x10, 0x36, 0xc3, 0x00, 0x0e, 0x63, 0x05, 0x0e, + 0x05, 0x3d, 0x03, 0x34, 0x00, 0x04, 0x81, 0x94, + 0x0b, 0x25, 0x0a, 0x1b, 0x37, 0xd3, 0x63, 0x02, + 0x0e, 0x27, 0x0a, 0xd4, 0x63, 0x0a, 0xf8, 0x21, + 0x25, 0x31, 0x36, 0x36, 0x27, 0x1f, 0x38, 0xbc, + 0x3b, 0x02, 0x1f, 0x31, 0x7f, 0x14, 0x0a, 0x0d, + 0x82, 0x3e, 0x01, 0xda, 0x25, 0x04, 0x38, 0x00, + 0x02, 0x61, 0x00, 0x0c, 0xa5, 0x20, 0x25, 0x30, + 0x30, 0xdb, 0x57, 0x0c, 0xb9, 0x0a, 0x14, 0x39, + 0x2e, 0x41, 0x1f, 0x30, 0x95, 0x1b, 0x10, 0x24, + 0x31, 0x31, 0xf4, 0x0f, 0x1f, 0x39, 0xbb, 0x0a, + 0x04, 0x2a, 0x37, 0x3a, 0xe1, 0x64, 0x08, 0xe1, + 0x47, 0x07, 0xae, 0x10, 0x06, 0x08, 0x2a, 0x1b, + 0x36, 0xc1, 0x93, 0x1f, 0x31, 0x46, 0x41, 0x04, + 0x02, 0x7c, 0x8a, 0x12, 0x31, 0x1b, 0x29, 0x0b, + 0xd8, 0x58, 0x03, 0x9f, 0x28, 0x05, 0xae, 0x01, + 0x0d, 0x3d, 0x10, 0x13, 0x32, 0xe4, 0x00, 0x16, + 0x31, 0xf7, 0x11, 0x0f, 0x36, 0x13, 0x02, 0x14, + 0x39, 0xda, 0x58, 0x03, 0x2b, 0x00, 0x00, 0x3b, + 0x00, 0x1d, 0x7d, 0x4e, 0x00, 0x1a, 0x33, 0x4e, + 0x00, 0x0d, 0x20, 0x00, 0x19, 0x34, 0x20, 0x00, + 0x1f, 0x33, 0x6d, 0x00, 0x07, 0x05, 0x87, 0x1b, + 0x07, 0x35, 0x00, 0x1e, 0x33, 0x70, 0x00, 0x19, + 0x35, 0x50, 0x00, 0x1d, 0x36, 0x20, 0x00, 0x19, + 0x36, 0x20, 0x00, 0x0f, 0xdd, 0x00, 0x08, 0x05, + 0x44, 0x1b, 0x07, 0x35, 0x00, 0x1e, 0x35, 0x70, + 0x00, 0x19, 0x37, 0x50, 0x00, 0x0e, 0xcb, 0x7d, + 0x19, 0x38, 0x20, 0x00, 0x1f, 0x37, 0x70, 0x00, + 0x08, 0x05, 0xe0, 0x14, 0x06, 0x35, 0x00, 0x1e, + 0x37, 0x84, 0x14, 0x09, 0x3e, 0x03, 0x1f, 0x31, + 0x31, 0x02, 0x03, 0x08, 0x02, 0x2c, 0x1b, 0x34, + 0x33, 0x02, 0x1f, 0x39, 0x33, 0x02, 0x04, 0x11, + 0x38, 0x2d, 0x02, 0x13, 0x39, 0xde, 0x2a, 0x0b, + 0x35, 0x00, 0x0f, 0xfe, 0x67, 0x06, 0x2f, 0x39, + 0x36, 0xb3, 0x02, 0x04, 0x01, 0x5f, 0x2b, 0x00, + 0x38, 0x00, 0x0b, 0x4c, 0x1c, 0x04, 0xc8, 0x2c, + 0x01, 0x06, 0x00, 0x2e, 0x36, 0x3b, 0xb9, 0x0e, + 0x13, 0x31, 0xef, 0x2c, 0x0f, 0xed, 0x03, 0x03, + 0x1e, 0x32, 0xed, 0x03, 0x0f, 0x52, 0x45, 0x13, + 0x33, 0x31, 0x30, 0x39, 0xf0, 0x03, 0x0d, 0x95, + 0x24, 0x14, 0x31, 0xda, 0x0d, 0x1e, 0x33, 0x86, + 0x6a, 0x03, 0x88, 0x2a, 0x07, 0x3f, 0x00, 0x1f, + 0x30, 0xb4, 0x1a, 0x05, 0x0a, 0xba, 0x2e, 0x02, + 0x1a, 0x71, 0x02, 0x5b, 0x15, 0x1f, 0x39, 0xa4, + 0x1b, 0x08, 0x11, 0x31, 0xc3, 0x6a, 0x0f, 0x3f, + 0x00, 0x05, 0x0f, 0x6c, 0x00, 0x05, 0x0a, 0xed, + 0x2e, 0x01, 0x06, 0x00, 0x14, 0x39, 0x6c, 0x00, + 0x0e, 0x15, 0x1c, 0x0c, 0x71, 0x00, 0x07, 0x4c, + 0x17, 0x0f, 0x49, 0x00, 0x02, 0x0f, 0xfb, 0x2e, + 0x06, 0x03, 0x1b, 0x2f, 0x01, 0x06, 0x00, 0x12, + 0x36, 0xe4, 0x1f, 0x05, 0x76, 0x00, 0x0e, 0x0f, + 0x1c, 0x0c, 0x76, 0x00, 0x06, 0x93, 0x17, 0x0f, + 0x49, 0x00, 0x02, 0x0f, 0x3d, 0x2f, 0x06, 0x02, + 0x9f, 0x1f, 0x17, 0x33, 0x56, 0x2e, 0x15, 0x35, + 0x76, 0x00, 0x0e, 0x09, 0x1c, 0x0c, 0x76, 0x00, + 0x06, 0xda, 0x17, 0x0f, 0x49, 0x00, 0x02, 0x0f, + 0x06, 0x1c, 0x12, 0x1f, 0x66, 0xd9, 0x34, 0x0f, + 0x0e, 0x8c, 0x5d, 0x0e, 0x21, 0x00, 0x0f, 0x06, + 0x1c, 0x13, 0x1f, 0x66, 0xd9, 0x34, 0x15, 0x1f, + 0x66, 0xd9, 0x34, 0x15, 0x1f, 0x66, 0xd9, 0x34, + 0x0c, 0x2e, 0x33, 0x31, 0x88, 0x43, 0x2f, 0x31, + 0x35, 0x31, 0x49, 0x01, 0x0f, 0xee, 0x34, 0x03, + 0x0e, 0x8b, 0x43, 0x0e, 0x2d, 0x63, 0x0e, 0x06, + 0x01, 0x0f, 0xbb, 0x34, 0x15, 0x0f, 0x8b, 0x43, + 0x0c, 0x0f, 0x13, 0x04, 0x01, 0x0b, 0x8c, 0x43, + 0x0f, 0x87, 0x35, 0x11, 0x1f, 0x66, 0x21, 0x35, + 0x1f, 0x2f, 0x31, 0x33, 0x7e, 0x1c, 0x1b, 0x05, + 0x6e, 0x47, 0x0f, 0x21, 0x35, 0x07, 0x2f, 0x31, + 0x34, 0x28, 0x38, 0x0d, 0x1f, 0x37, 0x49, 0x84, + 0x07, 0x1e, 0x34, 0xe5, 0x49, 0x0e, 0x2e, 0x38, + 0x0f, 0x26, 0x44, 0x02, 0x28, 0x32, 0x37, 0x37, + 0x94, 0x02, 0xc1, 0x93, 0x04, 0xee, 0x49, 0x1c, + 0x30, 0x09, 0x1c, 0x03, 0xd4, 0x1b, 0x0f, 0x2b, + 0x44, 0x06, 0x03, 0x21, 0x00, 0x0c, 0x8c, 0x31, + 0x03, 0x25, 0x22, 0x0f, 0xce, 0x47, 0x07, 0x1f, + 0x36, 0x37, 0x00, 0x02, 0x03, 0x3e, 0x22, 0x0f, + 0xab, 0x43, 0x07, 0x1f, 0x37, 0x37, 0x00, 0x02, + 0x03, 0xa2, 0x23, 0x0f, 0x6c, 0x43, 0x07, 0x06, + 0xc2, 0x9a, 0x0e, 0xa3, 0x31, 0x01, 0xd2, 0x74, + 0x1f, 0x38, 0x2d, 0x01, 0x05, 0x21, 0x33, 0x35, + 0x21, 0x01, 0x11, 0x36, 0x06, 0x00, 0x11, 0x37, + 0x06, 0x00, 0x15, 0x38, 0x2d, 0x01, 0x06, 0x7d, + 0x05, 0x0f, 0xa6, 0x42, 0x05, 0x0e, 0x1e, 0x43, + 0x04, 0x21, 0x00, 0x0e, 0xcf, 0x31, 0x0f, 0x94, + 0x3a, 0x06, 0x07, 0xaf, 0x96, 0x0d, 0x37, 0x00, + 0x03, 0x21, 0x29, 0x0e, 0x6e, 0x00, 0x04, 0x94, + 0x29, 0x0f, 0x2c, 0x33, 0x02, 0x03, 0xb1, 0x4f, + 0x1e, 0x30, 0x32, 0x01, 0x04, 0xd5, 0x11, 0x06, + 0xf6, 0x8f, 0x0e, 0x6a, 0x30, 0x01, 0xaa, 0x76, + 0x1f, 0x36, 0x32, 0x01, 0x05, 0x21, 0x34, 0x33, + 0xb0, 0x41, 0x11, 0x34, 0x06, 0x00, 0x11, 0x35, + 0x06, 0x00, 0x16, 0x36, 0x32, 0x01, 0x05, 0x39, + 0x06, 0x0e, 0x2c, 0x43, 0x0e, 0xc4, 0x00, 0x04, + 0x2b, 0x12, 0x0e, 0x64, 0x02, 0x0a, 0xc6, 0x7a, + 0x0e, 0x9b, 0x02, 0x16, 0x30, 0xc8, 0x7a, 0x1e, + 0x31, 0x82, 0x43, 0x03, 0x38, 0x00, 0x1e, 0x32, + 0x38, 0x00, 0x16, 0x31, 0x1c, 0x7a, 0x0d, 0x38, + 0x00, 0x05, 0xee, 0x12, 0x1e, 0x33, 0x38, 0x00, + 0x07, 0x94, 0x79, 0x0d, 0x38, 0x00, 0x05, 0x67, + 0x02, 0x2f, 0x33, 0x38, 0xba, 0x47, 0x06, 0x11, + 0x35, 0xeb, 0x3e, 0x21, 0x35, 0x32, 0x06, 0x00, + 0x11, 0x33, 0x06, 0x00, 0x16, 0x34, 0x35, 0x01, + 0x0e, 0xa2, 0x1f, 0x07, 0xc6, 0x79, 0x0e, 0xc6, + 0x00, 0x03, 0x31, 0x11, 0x0f, 0x68, 0x02, 0x02, + 0x03, 0xc8, 0x97, 0x0f, 0x68, 0x02, 0x02, 0x03, + 0x9c, 0x10, 0x0f, 0x69, 0x02, 0x02, 0x03, 0x8c, + 0x51, 0x0f, 0x69, 0x02, 0x02, 0x03, 0x9c, 0x10, + 0x0e, 0x6a, 0x02, 0x05, 0x91, 0x2d, 0x01, 0x55, + 0x2c, 0x0e, 0x38, 0x00, 0x16, 0x36, 0x11, 0x12, + 0x0c, 0x49, 0x4e, 0x1f, 0x33, 0x82, 0x20, 0x04, + 0x1f, 0x33, 0x82, 0x20, 0x09, 0x04, 0x4a, 0x51, + 0x0a, 0x55, 0x47, 0x13, 0x35, 0xe4, 0x04, 0x0e, + 0x55, 0x47, 0x09, 0x27, 0x00, 0x24, 0x36, 0x30, + 0x11, 0x05, 0x0e, 0xf2, 0x47, 0x08, 0x27, 0x00, + 0x14, 0x31, 0x3e, 0x05, 0x0e, 0x8f, 0x48, 0x08, + 0x27, 0x00, 0x12, 0x32, 0x2b, 0x9a, 0x0e, 0x0f, + 0x49, 0x0b, 0x13, 0x27, 0x19, 0x66, 0x8a, 0x39, + 0x03, 0x38, 0x00, 0x02, 0x65, 0x00, 0x02, 0x92, + 0x00, 0x3b, 0x35, 0x39, 0x7d, 0x5b, 0x00, 0x02, + 0x58, 0x99, 0x0d, 0x82, 0x00, 0x1b, 0x38, 0x27, + 0x00, 0x02, 0x26, 0x48, 0x0d, 0x82, 0x00, 0x1b, + 0x37, 0x27, 0x00, 0x05, 0xe1, 0x04, 0x0a, 0x27, + 0x00, 0x1b, 0x36, 0x27, 0x00, 0x02, 0x02, 0x05, + 0x1c, 0x35, 0x27, 0x00, 0x1e, 0x35, 0xd0, 0x00, + 0x0d, 0x26, 0x3a, 0x03, 0x3d, 0x00, 0x02, 0x6a, + 0x00, 0x02, 0x97, 0x00, 0x2c, 0x36, 0x33, 0xd5, + 0x00, 0x12, 0x37, 0x2a, 0x04, 0x0d, 0x30, 0x01, + 0x0c, 0x58, 0x01, 0x14, 0x38, 0x58, 0x04, 0x0b, + 0x28, 0x00, 0x1b, 0x31, 0x28, 0x00, 0x14, 0x39, + 0x86, 0x04, 0x0b, 0x28, 0x00, 0x0b, 0xb6, 0x4a, + 0x01, 0x96, 0x27, 0x01, 0xb4, 0x04, 0x0a, 0x28, + 0x00, 0x1e, 0x39, 0xd8, 0x00, 0x0d, 0xc5, 0x3a, + 0x03, 0x3d, 0x00, 0x02, 0x6b, 0x00, 0x02, 0x99, + 0x00, 0x3b, 0x36, 0x37, 0x7d, 0x60, 0x00, 0x02, + 0xd9, 0x03, 0x0e, 0x88, 0x00, 0x1b, 0x36, 0x28, + 0x00, 0x05, 0xfb, 0x03, 0x0b, 0x28, 0x00, 0x1b, + 0x35, 0x28, 0x00, 0x14, 0x33, 0x29, 0x04, 0x0b, + 0x28, 0x00, 0x0b, 0xce, 0x02, 0x01, 0x75, 0x0b, + 0x01, 0x57, 0x04, 0x0b, 0x28, 0x00, 0x1e, 0x33, + 0xd9, 0x00, 0x0d, 0x65, 0x3b, 0x03, 0x3e, 0x00, + 0x02, 0x6c, 0x00, 0x02, 0x9a, 0x00, 0x02, 0xb7, + 0x28, 0x0f, 0x87, 0x55, 0x07, 0x0f, 0x21, 0x23, + 0x09, 0x03, 0x97, 0x03, 0x0d, 0x6a, 0x29, 0x04, + 0xfd, 0x04, 0x21, 0x37, 0x35, 0x62, 0x00, 0x11, + 0x36, 0x06, 0x00, 0x11, 0x37, 0x06, 0x00, 0x1f, + 0x38, 0x65, 0x3b, 0x05, 0x05, 0xeb, 0x4c, 0x11, + 0x33, 0x8f, 0x4c, 0x11, 0x34, 0x06, 0x00, 0x11, + 0x35, 0x06, 0x00, 0x1e, 0x36, 0x65, 0x3b, 0x0d, + 0x37, 0x00, 0x21, 0x39, 0x31, 0x4c, 0x4c, 0x11, + 0x32, 0x06, 0x00, 0x11, 0x33, 0x06, 0x00, 0x1e, + 0x34, 0x65, 0x3b, 0x0e, 0x37, 0x00, 0x03, 0x55, + 0x4d, 0x12, 0x30, 0x07, 0x00, 0x12, 0x31, 0x07, + 0x00, 0x1e, 0x32, 0x4c, 0x23, 0x04, 0x2d, 0x4d, + 0x01, 0xc5, 0x00, 0x09, 0xa5, 0x02, 0x0f, 0xae, + 0x4c, 0x05, 0x2f, 0x37, 0x36, 0x52, 0x4c, 0x05, + 0x05, 0x9e, 0x3b, 0x0d, 0xf6, 0x4b, 0x2a, 0x37, + 0x38, 0x1a, 0x00, 0x02, 0x66, 0x07, 0x01, 0x05, + 0x01, 0x0b, 0x0d, 0x49, 0x01, 0x54, 0x01, 0x02, + 0x1f, 0x01, 0x0b, 0x42, 0x49, 0x11, 0x37, 0xaf, + 0x02, 0x02, 0x3f, 0x01, 0x0a, 0x1a, 0x00, 0x11, + 0x38, 0x63, 0x00, 0x02, 0x53, 0x01, 0x0a, 0x1a, + 0x00, 0x01, 0x06, 0x01, 0x02, 0x65, 0x4e, 0x0b, + 0x88, 0x63, 0x02, 0x6e, 0x46, 0x12, 0x39, 0x5d, + 0x01, 0x0b, 0x1b, 0x00, 0x03, 0x2e, 0x01, 0x02, + 0x73, 0x01, 0x0b, 0x1c, 0x00, 0x14, 0x32, 0xf0, + 0x4c, 0x00, 0x89, 0x01, 0x0b, 0x1c, 0x00, 0x02, + 0xe1, 0x4c, 0x02, 0xab, 0x01, 0x05, 0xfb, 0x42, + 0x08, 0xe3, 0x9d, 0x03, 0x22, 0x00, 0x0c, 0x5c, + 0x01, 0x22, 0x31, 0x35, 0x4d, 0x9d, 0x03, 0xac, + 0x01, 0x0e, 0xc7, 0x4e, 0x05, 0x23, 0x00, 0x2f, + 0x30, 0x32, 0x5b, 0x58, 0x0f, 0x0e, 0x7a, 0x3b, + 0x17, 0x35, 0xd4, 0x02, 0x1e, 0x38, 0x8c, 0x59, + 0x0f, 0x8c, 0x37, 0x03, 0x16, 0x35, 0x81, 0x59, + 0x0e, 0x6e, 0x4c, 0x02, 0x28, 0x20, 0x02, 0x40, + 0x4f, 0x0f, 0x5e, 0x20, 0x08, 0x05, 0x6c, 0x01, + 0x04, 0x47, 0x22, 0x0d, 0x73, 0x3b, 0x05, 0x22, + 0x00, 0x1a, 0x38, 0x80, 0x20, 0x08, 0x01, 0x01, + 0x12, 0x37, 0xfb, 0x00, 0x03, 0xe0, 0x4e, 0x0e, + 0x95, 0x53, 0x0f, 0x9f, 0x00, 0x0a, 0x1f, 0x37, + 0x9f, 0x00, 0x11, 0x04, 0x43, 0x22, 0x0d, 0x70, + 0x3b, 0x05, 0x12, 0x02, 0x1e, 0x30, 0x9f, 0x00, + 0x07, 0xe5, 0xa6, 0x03, 0x22, 0x00, 0x01, 0x4b, + 0x00, 0x0f, 0x9f, 0x00, 0x1b, 0x1f, 0x38, 0x9f, + 0x00, 0x10, 0x14, 0x31, 0x3f, 0x22, 0x0d, 0x6d, + 0x3b, 0x05, 0x22, 0x00, 0x1f, 0x32, 0x9f, 0x00, + 0x07, 0x03, 0xa1, 0x4f, 0x03, 0xb8, 0x02, 0x1f, + 0x31, 0x9f, 0x00, 0x1b, 0x1f, 0x39, 0x9f, 0x00, + 0x11, 0x04, 0x3b, 0x22, 0x0d, 0x6a, 0x3b, 0x05, + 0x22, 0x00, 0x1e, 0x34, 0x9f, 0x00, 0x07, 0x3c, + 0x4e, 0x03, 0x22, 0x00, 0x01, 0x4b, 0x00, 0x0f, + 0x9f, 0x00, 0x1a, 0x2f, 0x32, 0x30, 0x9f, 0x00, + 0x11, 0x04, 0x66, 0x25, 0x0d, 0x67, 0x3b, 0x05, + 0x22, 0x00, 0x1e, 0x36, 0x9f, 0x00, 0x07, 0xbd, + 0x4e, 0x03, 0x22, 0x00, 0x01, 0x4b, 0x00, 0x0f, + 0x9f, 0x00, 0x1b, 0x1f, 0x31, 0x9f, 0x00, 0x11, + 0x04, 0x1b, 0x03, 0x0d, 0x64, 0x3b, 0x05, 0x22, + 0x00, 0x0f, 0x1b, 0x03, 0x07, 0x03, 0x19, 0x4e, + 0x04, 0x83, 0x02, 0x1f, 0x37, 0x9f, 0x00, 0x1b, + 0x1f, 0x32, 0x9f, 0x00, 0x11, 0x04, 0x1b, 0x03, + 0x0d, 0x61, 0x3b, 0x05, 0x11, 0x05, 0x0e, 0x1b, + 0x03, 0x0a, 0x0f, 0x4f, 0x14, 0x31, 0xe4, 0x01, + 0x1f, 0x39, 0x60, 0x3b, 0x28, 0x1f, 0x31, 0x60, + 0x3b, 0x0a, 0x16, 0x36, 0x75, 0x27, 0x0b, 0x13, + 0x24, 0x1d, 0x37, 0x14, 0x24, 0x15, 0x37, 0xf0, + 0x19, 0x02, 0x80, 0x77, 0x09, 0x02, 0xa4, 0x25, + 0x34, 0x31, 0x95, 0xa6, 0x0c, 0x00, 0x11, 0x03, + 0x1f, 0xa0, 0x0c, 0x9e, 0x15, 0x15, 0x35, 0x5d, + 0x3b, 0x0e, 0x79, 0x3b, 0x04, 0xdb, 0x39, 0x0f, + 0x79, 0x3b, 0x18, 0x1f, 0x33, 0x8b, 0x19, 0x02, + 0x1f, 0x37, 0x46, 0x24, 0x18, 0x19, 0x31, 0x46, + 0x24, 0x07, 0x47, 0x52, 0x1a, 0x31, 0x84, 0x09, + 0x0b, 0x63, 0x24, 0x14, 0x37, 0x63, 0x24, 0x1c, + 0x37, 0x94, 0x3b, 0x05, 0xa9, 0x43, 0x1f, 0x31, + 0x55, 0x00, 0x05, 0x02, 0xf7, 0xa6, 0x02, 0x3d, + 0x00, 0x0f, 0x8d, 0x3b, 0x01, 0x04, 0x77, 0x42, + 0x0c, 0xfd, 0x11, 0x18, 0x39, 0x76, 0x58, 0x1e, + 0x32, 0xcd, 0x58, 0x04, 0xb3, 0x58, 0x0d, 0x8d, + 0x3b, 0x03, 0x50, 0x28, 0x06, 0x04, 0x3b, 0x0f, + 0x8d, 0x3b, 0x0a, 0x13, 0x36, 0x97, 0x0e, 0x1f, + 0x37, 0x57, 0x24, 0x0e, 0x03, 0x91, 0x00, 0x0e, + 0xa8, 0x3a, 0x2e, 0x31, 0x38, 0x23, 0x24, 0x04, + 0xc5, 0x84, 0x0f, 0x23, 0x24, 0x08, 0x01, 0xe2, + 0x00, 0x04, 0x13, 0x1d, 0x1c, 0x32, 0x9b, 0x97, + 0x03, 0x74, 0x01, 0x0a, 0xa8, 0x24, 0x04, 0x1e, + 0xb1, 0x0f, 0xf7, 0x3b, 0x02, 0x04, 0xd7, 0xb7, + 0x0a, 0xb9, 0xa6, 0x00, 0x63, 0x03, 0x03, 0xf7, + 0x83, 0x0e, 0xdb, 0x24, 0x1f, 0x30, 0x75, 0x24, + 0x16, 0x03, 0x95, 0xbc, 0x1e, 0x32, 0x44, 0x00, + 0x18, 0x32, 0x77, 0x24, 0x0d, 0xb9, 0x52, 0x03, + 0x03, 0x02, 0x02, 0xe2, 0x3f, 0x10, 0x40, 0x2f, + 0x00, 0x07, 0xe1, 0x00, 0x0d, 0x96, 0x24, 0x1f, + 0x36, 0x96, 0x24, 0x02, 0x1e, 0x37, 0x96, 0x24, + 0x09, 0x7d, 0x85, 0x0e, 0x0b, 0x5d, 0x05, 0x7c, + 0xbc, 0x05, 0xb4, 0x24, 0x06, 0x94, 0x56, 0x03, + 0x78, 0x04, 0x04, 0x9b, 0x02, 0x01, 0xdd, 0x00, + 0x0c, 0x68, 0xaa, 0x01, 0x5f, 0x1e, 0x00, 0x2b, + 0x00, 0x0b, 0x45, 0x24, 0x1e, 0x30, 0x58, 0x24, + 0x1e, 0x31, 0x58, 0x24, 0x0c, 0x83, 0x85, 0x17, + 0x32, 0xfe, 0x22, 0x2e, 0x35, 0x31, 0x36, 0x86, + 0x07, 0xaa, 0x01, 0x03, 0x84, 0x85, 0x0c, 0x57, + 0x0a, 0x02, 0x4b, 0x01, 0x04, 0x32, 0x05, 0x1b, + 0x34, 0xae, 0x00, 0x22, 0x35, 0x34, 0x18, 0x00, + 0x0c, 0x15, 0xd0, 0x1f, 0x35, 0x85, 0x86, 0x0a, + 0x10, 0x36, 0x9a, 0x00, 0x18, 0x35, 0x54, 0xd0, + 0x0f, 0x9a, 0x00, 0x0a, 0x02, 0xab, 0x21, 0x0c, + 0x46, 0x59, 0x02, 0x7d, 0x15, 0x05, 0xa1, 0x00, + 0x1c, 0x36, 0x9a, 0x00, 0x03, 0x1f, 0x00, 0x1b, + 0x37, 0x9a, 0x00, 0x1f, 0x38, 0xb7, 0x86, 0x0a, + 0x00, 0x59, 0x22, 0x03, 0x70, 0x00, 0x07, 0x57, + 0x49, 0x0f, 0x9a, 0x00, 0x06, 0x03, 0x7c, 0x1a, + 0x0c, 0x9a, 0x00, 0x03, 0xc3, 0x01, 0x03, 0x82, + 0x00, 0x1b, 0x38, 0x9a, 0x00, 0x02, 0x8d, 0x10, + 0x03, 0xfc, 0x3d, 0x0f, 0x87, 0x00, 0x02, 0x10, + 0x36, 0xfd, 0x24, 0x03, 0x58, 0x8d, 0x17, 0x30, + 0x83, 0x87, 0x0f, 0x87, 0x00, 0x04, 0x13, 0x33, + 0xf7, 0x1a, 0x0c, 0xf6, 0x0b, 0x13, 0x31, 0x68, + 0x00, 0x12, 0x2c, 0x25, 0x00, 0x0c, 0x87, 0x00, + 0x02, 0x1e, 0x03, 0x0c, 0xbc, 0x88, 0x2f, 0x36, + 0x33, 0x62, 0x22, 0x09, 0x10, 0x36, 0x47, 0x24, + 0x04, 0x32, 0x8d, 0x01, 0x06, 0x00, 0x1f, 0x33, + 0x9a, 0x00, 0x0a, 0x02, 0x24, 0x00, 0x0d, 0x90, + 0x0c, 0x13, 0x33, 0x7b, 0x00, 0x02, 0x07, 0x00, + 0x0b, 0x37, 0x00, 0x02, 0x99, 0x4a, 0x00, 0x26, + 0x00, 0x0f, 0x9a, 0x21, 0x05, 0x20, 0x36, 0x37, + 0x86, 0x00, 0x02, 0xf3, 0x1b, 0x03, 0x83, 0x63, + 0x0f, 0x86, 0x00, 0x0a, 0x12, 0x34, 0xad, 0x1b, + 0x0f, 0xc3, 0x56, 0x02, 0x03, 0x8b, 0x00, 0x1e, + 0x34, 0x86, 0x07, 0x06, 0x76, 0x21, 0x05, 0x99, + 0x00, 0x15, 0x38, 0x34, 0xad, 0x0c, 0x22, 0x08, + 0x02, 0x63, 0x00, 0x0c, 0xff, 0x42, 0x04, 0x1b, + 0x39, 0x0e, 0x86, 0x07, 0x04, 0xdb, 0x3c, 0x01, + 0x23, 0x00, 0x0f, 0xa8, 0x3c, 0x16, 0x0f, 0x86, + 0x07, 0x05, 0x1a, 0x37, 0x47, 0x58, 0x02, 0x55, + 0x3e, 0x03, 0xe2, 0x00, 0x1c, 0x31, 0x39, 0x03, + 0x02, 0x83, 0x17, 0x03, 0x24, 0x00, 0x0c, 0xf0, + 0x03, 0x02, 0x9a, 0x17, 0x04, 0x41, 0x00, 0x0c, + 0x1d, 0x00, 0x17, 0x38, 0x1d, 0x00, 0x0d, 0x6f, + 0x02, 0x03, 0x68, 0x02, 0x0c, 0xac, 0x0f, 0x0e, + 0x23, 0x11, 0x05, 0xcb, 0x3c, 0x06, 0x35, 0x00, + 0x03, 0x59, 0x00, 0x03, 0x7d, 0x00, 0x2c, 0x36, + 0x7d, 0xa5, 0x0e, 0x17, 0x30, 0x79, 0x00, 0x1c, + 0x37, 0x1d, 0x00, 0x17, 0x31, 0x1d, 0x00, 0x1c, + 0x36, 0x1d, 0x00, 0x17, 0x32, 0x1d, 0x00, 0x1c, + 0x35, 0x1d, 0x00, 0x17, 0x33, 0x1d, 0x00, 0x1e, + 0x34, 0xac, 0x00, 0x0b, 0xc9, 0x3c, 0x05, 0x31, + 0x00, 0x03, 0x55, 0x00, 0x03, 0x79, 0x00, 0x2d, + 0x34, 0x30, 0xaf, 0x00, 0x18, 0x34, 0x28, 0x01, + 0x1c, 0x31, 0x1e, 0x00, 0x18, 0x35, 0x1e, 0x00, + 0x1c, 0x30, 0x1e, 0x00, 0x08, 0x9e, 0x01, 0x0d, + 0xad, 0x0f, 0x08, 0x9e, 0x01, 0x1e, 0x38, 0xb1, + 0x00, 0x0b, 0xc7, 0x3c, 0x05, 0x31, 0x00, 0x03, + 0x55, 0x00, 0x13, 0x34, 0xd0, 0x0f, 0x1d, 0x34, + 0xb1, 0x00, 0x09, 0xd9, 0x01, 0x0d, 0x27, 0x01, + 0x18, 0x39, 0x1e, 0x00, 0x1c, 0x34, 0x24, 0x10, + 0x18, 0x30, 0x1e, 0x00, 0x1c, 0x33, 0x1e, 0x00, + 0x08, 0x9d, 0x01, 0x0e, 0x7a, 0x3d, 0x1c, 0x66, + 0xc7, 0x3c, 0x05, 0x32, 0x00, 0x03, 0x57, 0x00, + 0x03, 0x7c, 0x00, 0x2f, 0x34, 0x38, 0xc7, 0x3c, + 0x17, 0x03, 0x26, 0x35, 0x0c, 0x8b, 0x03, 0x1e, + 0x37, 0xc7, 0x3c, 0x0f, 0x80, 0x38, 0x09, 0x0e, + 0x3d, 0x20, 0x02, 0x8b, 0x31, 0x12, 0x37, 0xbb, + 0x4d, 0x02, 0x34, 0x4c, 0x1f, 0x32, 0xc3, 0x3c, + 0x0f, 0x04, 0x31, 0x20, 0x0f, 0x3d, 0x00, 0x01, + 0x0f, 0x2c, 0x4f, 0x1f, 0x0f, 0xbb, 0x3c, 0x0e, + 0x17, 0x38, 0xa5, 0x20, 0x0f, 0x47, 0x00, 0x02, + 0x0f, 0x2f, 0x20, 0x06, 0x09, 0x66, 0x4f, 0x01, + 0x06, 0x00, 0x1f, 0x38, 0xb3, 0x3c, 0x14, 0x17, + 0x38, 0xa3, 0x20, 0x0f, 0x47, 0x00, 0x02, 0x0f, + 0xa9, 0x4f, 0x06, 0x09, 0xa3, 0x4f, 0x02, 0xdb, + 0x22, 0x0f, 0xab, 0x3c, 0x14, 0x17, 0x38, 0xa1, + 0x20, 0x0f, 0x47, 0x00, 0x02, 0x0f, 0xa1, 0x20, + 0x13, 0x0f, 0xa7, 0x3c, 0x0f, 0x0e, 0x87, 0x76, + 0x0e, 0x21, 0x00, 0x0f, 0xa1, 0x20, 0x14, 0x0f, + 0xa7, 0x3c, 0x15, 0x1f, 0x66, 0xa7, 0x3c, 0x15, + 0x1f, 0x66, 0xa7, 0x3c, 0x0d, 0x1f, 0x39, 0x2f, + 0x8d, 0x01, 0x2e, 0x36, 0x3e, 0x8b, 0x5c, 0x3e, + 0x39, 0x37, 0x3e, 0xa1, 0x20, 0x2f, 0x33, 0x35, + 0xa1, 0x20, 0x18, 0x0e, 0x39, 0xb0, 0x0e, 0x6e, + 0x20, 0x0e, 0xe7, 0x00, 0x0f, 0x6e, 0x20, 0x1d, + 0x2f, 0x36, 0x34, 0x6e, 0x20, 0x5f, 0x0f, 0x55, + 0x20, 0x52, 0x07, 0xc2, 0x5c, 0x13, 0x31, 0x72, + 0xa7, 0x0f, 0x4b, 0x20, 0x10, 0x1f, 0x31, 0x4b, + 0x20, 0x57, 0x0e, 0xdd, 0x1f, 0x09, 0xb5, 0x00, + 0x05, 0x50, 0xaa, 0x0e, 0xd3, 0x1f, 0x0d, 0x40, + 0x3a, 0x0f, 0x9c, 0x68, 0x03, 0x1f, 0x33, 0x60, + 0x20, 0x0e, 0x1f, 0x38, 0x67, 0x5a, 0x06, 0x04, + 0x6e, 0x4e, 0x0e, 0x1d, 0x52, 0x0e, 0x65, 0x1f, + 0x0d, 0xba, 0x00, 0x04, 0xda, 0xa8, 0x0f, 0x5b, + 0x1f, 0x0b, 0x0f, 0x56, 0x20, 0x08, 0x1f, 0x35, + 0x56, 0x20, 0x0e, 0x1f, 0x31, 0x8d, 0x20, 0x07, + 0x0f, 0x56, 0x20, 0x08, 0x0e, 0xea, 0x1e, 0x0a, + 0xba, 0x00, 0x05, 0x77, 0xa7, 0x0f, 0xe0, 0x1e, + 0x0a, 0x06, 0xcb, 0x71, 0x0e, 0x83, 0x00, 0x05, + 0xe3, 0x95, 0x0e, 0x83, 0x00, 0x06, 0x4c, 0x20, + 0x1e, 0x31, 0xd9, 0x20, 0x0b, 0x4c, 0x20, 0x0e, + 0x12, 0x9b, 0x0d, 0x6e, 0x1e, 0x2e, 0x32, 0x37, + 0x53, 0x5e, 0x07, 0x70, 0x1e, 0x03, 0x4b, 0x20, + 0x0c, 0xed, 0x5e, 0x23, 0x33, 0x35, 0x0b, 0x03, + 0x0f, 0xee, 0x5e, 0x09, 0x09, 0x31, 0x00, 0x13, + 0x36, 0xc7, 0xb0, 0x0f, 0x82, 0x5f, 0x09, 0x09, + 0x49, 0x2a, 0x19, 0x66, 0x54, 0x3f, 0x05, 0x42, + 0x00, 0x02, 0xe8, 0x30, 0x09, 0x5b, 0x00, 0x03, + 0x28, 0x02, 0x0e, 0x2d, 0x76, 0x0d, 0x06, 0x1f, + 0x03, 0x31, 0x00, 0x15, 0x38, 0x6a, 0xad, 0x0f, + 0x31, 0x00, 0x03, 0x1e, 0x33, 0x8c, 0x00, 0x0d, + 0xb6, 0x3f, 0x05, 0x47, 0x00, 0x2d, 0x33, 0x37, + 0x91, 0x00, 0x13, 0x39, 0xb9, 0x02, 0x0f, 0x60, + 0x00, 0x05, 0x0c, 0x4e, 0x01, 0x25, 0x34, 0x30, + 0xcb, 0xab, 0x0f, 0x31, 0x00, 0x03, 0x1e, 0x35, + 0x91, 0x00, 0x0d, 0x18, 0x40, 0x05, 0x47, 0x00, + 0x02, 0x05, 0x31, 0x09, 0x60, 0x00, 0x04, 0x90, + 0x02, 0x0f, 0x60, 0x00, 0x05, 0x1c, 0x38, 0x31, + 0x00, 0x15, 0x32, 0x3f, 0xaa, 0x0f, 0x31, 0x00, + 0x03, 0x1e, 0x37, 0x91, 0x00, 0x0d, 0x7a, 0x40, + 0x05, 0x47, 0x00, 0x1f, 0x34, 0x59, 0x1d, 0x0b, + 0x2f, 0x32, 0x38, 0x59, 0x1d, 0x08, 0x03, 0x80, + 0x02, 0x1c, 0x38, 0xf6, 0x3f, 0x05, 0x6c, 0x03, + 0x22, 0x34, 0x33, 0x64, 0x00, 0x1e, 0x34, 0x7a, + 0x40, 0x0c, 0x2a, 0x00, 0x12, 0x37, 0x2a, 0x00, + 0x1e, 0x38, 0x7a, 0x40, 0x0e, 0x2d, 0x00, 0x12, + 0x35, 0x33, 0x01, 0x2f, 0x35, 0x32, 0x7a, 0x40, + 0x08, 0x06, 0x2d, 0x00, 0x12, 0x35, 0x2d, 0x00, + 0x1e, 0x36, 0x2e, 0x1d, 0x05, 0xab, 0x5e, 0x02, + 0x7c, 0x00, 0x0f, 0x73, 0x02, 0x02, 0x0f, 0x19, + 0x62, 0x08, 0x2b, 0x34, 0x34, 0x1d, 0x00, 0x03, + 0xce, 0x05, 0x02, 0x1d, 0x00, 0x1b, 0x37, 0x1d, + 0x00, 0x03, 0xf5, 0xab, 0x03, 0xe7, 0x00, 0x0b, + 0x1d, 0x00, 0x12, 0x35, 0x17, 0x00, 0x02, 0xaa, + 0x00, 0x0c, 0x71, 0x79, 0x02, 0x5c, 0x03, 0x03, + 0xc7, 0x00, 0x0c, 0x67, 0x5f, 0x14, 0x37, 0x67, + 0x63, 0x01, 0xeb, 0x00, 0x0b, 0x1d, 0x00, 0x14, + 0x38, 0xf6, 0x62, 0x01, 0x01, 0x01, 0x0f, 0x6d, + 0x1c, 0x0a, 0x1f, 0x30, 0xa4, 0x40, 0x08, 0x03, + 0x5f, 0xae, 0x1d, 0x30, 0xa4, 0x40, 0x0f, 0xa3, + 0x40, 0x0e, 0x0e, 0x22, 0xb3, 0x09, 0xcf, 0x3c, + 0x2f, 0x66, 0x64, 0x32, 0x1b, 0x0a, 0x04, 0x1d, + 0x01, 0x1f, 0x39, 0xa2, 0x40, 0x06, 0x05, 0x23, + 0x01, 0x0e, 0x15, 0x3e, 0x06, 0x1d, 0x00, 0x12, + 0x39, 0x23, 0x01, 0x12, 0x30, 0x07, 0x01, 0x0e, + 0xd3, 0x1b, 0x0f, 0xa2, 0x00, 0x0b, 0x1f, 0x39, + 0xa2, 0x00, 0x10, 0x2e, 0x36, 0x31, 0xa0, 0x40, + 0x0c, 0x23, 0x00, 0x0e, 0x14, 0x3e, 0x0e, 0x2d, + 0x65, 0x12, 0x32, 0x07, 0x00, 0x1f, 0x31, 0xa3, + 0x00, 0x1c, 0x2f, 0x31, 0x30, 0xa4, 0x00, 0x11, + 0x1e, 0x33, 0xa0, 0x40, 0x0b, 0x22, 0x00, 0x1f, + 0x34, 0xa3, 0x00, 0x09, 0x02, 0xf4, 0x02, 0x01, + 0x3f, 0x23, 0x00, 0x4d, 0x00, 0x0f, 0xa3, 0x00, + 0x1d, 0x1f, 0x31, 0xa3, 0x00, 0x11, 0x1e, 0x35, + 0xa0, 0x40, 0x0b, 0x22, 0x00, 0x0e, 0x43, 0x41, + 0x0a, 0xbb, 0x63, 0x03, 0x24, 0x00, 0x01, 0x4d, + 0x00, 0x0f, 0xa3, 0x00, 0x1d, 0x1f, 0x32, 0xa3, + 0x00, 0x11, 0x1e, 0x37, 0xa0, 0x40, 0x0b, 0x22, + 0x00, 0x0e, 0x43, 0x41, 0x0a, 0x3f, 0x64, 0x03, + 0x24, 0x00, 0x01, 0x4d, 0x00, 0x0f, 0xa3, 0x00, + 0x1d, 0x1f, 0x33, 0xa3, 0x00, 0x11, 0x1e, 0x39, + 0xa0, 0x40, 0x0a, 0x22, 0x00, 0x0f, 0x43, 0x41, + 0x02, 0x0b, 0x4b, 0x64, 0x13, 0x37, 0x93, 0x02, + 0x0f, 0x2f, 0x03, 0x1d, 0x0f, 0x43, 0x41, 0x0a, + 0x05, 0x81, 0x00, 0x1e, 0x31, 0xa0, 0x40, 0x0b, + 0x22, 0x00, 0x0e, 0x2f, 0x03, 0x0d, 0x79, 0x64, + 0x01, 0x1a, 0x24, 0x00, 0x4d, 0x00, 0x0f, 0x8a, + 0x1c, 0x28, 0x1f, 0x32, 0x8a, 0x1c, 0x11, 0x0e, + 0xa2, 0xb1, 0x1c, 0x39, 0x89, 0x1c, 0x06, 0x07, + 0x1a, 0x17, 0x38, 0x88, 0x1c, 0x00, 0x4d, 0x00, + 0x04, 0x35, 0x1c, 0x01, 0xb8, 0x00, 0x04, 0xe1, + 0x3e, 0x05, 0x55, 0x1c, 0x15, 0x36, 0x55, 0x1c, + 0x2c, 0x2d, 0x34, 0x71, 0x1c, 0x06, 0xbf, 0x74, + 0x0f, 0x71, 0x1c, 0x16, 0x1f, 0x34, 0xeb, 0x14, + 0x02, 0x1f, 0x38, 0x71, 0x1c, 0x17, 0x2e, 0x31, + 0x35, 0x71, 0x1c, 0x04, 0x47, 0x05, 0x0e, 0xcc, + 0x69, 0x0e, 0x79, 0x1c, 0x14, 0x38, 0x79, 0x1c, + 0x1d, 0x38, 0x79, 0x1c, 0x04, 0x21, 0x5c, 0x1f, + 0x35, 0x5d, 0x00, 0x05, 0x03, 0x54, 0xbd, 0x02, + 0x3e, 0x00, 0x0f, 0x7a, 0x1c, 0x01, 0x13, 0x39, + 0x41, 0x00, 0x0e, 0x5b, 0x8f, 0x08, 0x0f, 0x75, + 0x0c, 0xc3, 0x12, 0x15, 0x31, 0xd3, 0x3e, 0x0d, + 0x7a, 0x1c, 0x08, 0xfd, 0x6d, 0x0e, 0x9c, 0x38, + 0x0c, 0x7a, 0x1c, 0x24, 0x37, 0x2c, 0x24, 0x42, + 0x0f, 0x07, 0x58, 0x0e, 0x07, 0x5e, 0x41, 0x0d, + 0xd1, 0x40, 0x13, 0x33, 0x66, 0x07, 0x0b, 0x94, + 0x1c, 0x1e, 0x30, 0x94, 0x1c, 0x04, 0xc1, 0x2a, + 0x0f, 0x94, 0x1c, 0x09, 0x12, 0x31, 0x56, 0x28, + 0x05, 0xaa, 0x7c, 0x00, 0x8f, 0x17, 0x06, 0x05, + 0x39, 0x03, 0x61, 0x92, 0x09, 0x74, 0x02, 0x14, + 0x32, 0x9d, 0x00, 0x03, 0x74, 0x02, 0x06, 0xaa, + 0x02, 0x00, 0x4d, 0x03, 0x07, 0x6d, 0xd8, 0x0b, + 0xa1, 0x00, 0x1f, 0x32, 0x7c, 0x1c, 0x16, 0x04, + 0x6a, 0x3d, 0x0e, 0x44, 0x00, 0x1d, 0x34, 0x7c, + 0x1c, 0x07, 0x74, 0xbf, 0x06, 0x07, 0x02, 0x2c, + 0x37, 0x34, 0xf6, 0x9f, 0x2d, 0x33, 0x38, 0x7d, + 0x1c, 0x2e, 0x36, 0x30, 0x7d, 0x1c, 0x02, 0x21, + 0xa6, 0x0c, 0x7d, 0x1c, 0x03, 0x75, 0x19, 0x12, + 0x31, 0x1b, 0x1a, 0x0f, 0x40, 0x2c, 0x04, 0x02, + 0x9c, 0x34, 0x0c, 0x1b, 0x0d, 0x02, 0x1c, 0x28, + 0x06, 0x9f, 0x02, 0x05, 0x14, 0x29, 0x0f, 0x9f, + 0x3d, 0x12, 0x00, 0x40, 0x00, 0x0f, 0x82, 0x3b, + 0x0a, 0x1e, 0x36, 0x5d, 0x80, 0x2e, 0x36, 0x34, + 0xa1, 0x1c, 0x0d, 0xc6, 0x3d, 0x17, 0x36, 0xba, + 0xa4, 0x17, 0x34, 0x36, 0xa7, 0x1f, 0x33, 0xc6, + 0x3d, 0x0c, 0x07, 0x87, 0x7d, 0x0d, 0x38, 0x00, + 0x0f, 0xde, 0xb6, 0x07, 0x2f, 0x37, 0x36, 0xc6, + 0x3d, 0x10, 0x05, 0xba, 0x05, 0x13, 0x37, 0xf9, + 0x00, 0x12, 0x2c, 0x3b, 0x00, 0x0f, 0xc6, 0x3d, + 0x15, 0x1e, 0x66, 0x75, 0x45, 0x0b, 0x2c, 0x01, + 0x0e, 0x66, 0xc7, 0x0d, 0xc6, 0x3d, 0x17, 0x38, + 0x86, 0xa4, 0x1f, 0x36, 0x18, 0x01, 0x12, 0x26, + 0x34, 0x32, 0xb0, 0x3c, 0x1e, 0x30, 0x38, 0x00, + 0x0f, 0x18, 0x01, 0x0b, 0x1f, 0x38, 0xc6, 0x3d, + 0x10, 0x05, 0x18, 0x01, 0x02, 0x87, 0x0a, 0x04, + 0x1f, 0x01, 0x1f, 0x38, 0xc6, 0x3d, 0x15, 0x00, + 0x3a, 0x00, 0x0f, 0x18, 0x01, 0x0b, 0x1e, 0x37, + 0x9d, 0x1d, 0x0b, 0x23, 0xa5, 0x03, 0x0d, 0x20, + 0x17, 0x35, 0x7f, 0x37, 0x0f, 0x18, 0x01, 0x0e, + 0x01, 0x6f, 0x1e, 0x02, 0xfd, 0x1e, 0x03, 0x0a, + 0x1c, 0x0f, 0x18, 0x01, 0x16, 0x2f, 0x38, 0x30, + 0xc8, 0x3d, 0x10, 0x05, 0xa4, 0x0c, 0x13, 0x31, + 0xe5, 0x00, 0x12, 0x2c, 0x3b, 0x00, 0x0f, 0x18, + 0x01, 0x0b, 0x10, 0x38, 0x53, 0x00, 0x03, 0x5b, + 0xbd, 0x1f, 0x38, 0xfb, 0x40, 0x16, 0x11, 0x35, + 0x1b, 0x1e, 0x07, 0xec, 0x43, 0x2f, 0x36, 0x33, + 0x05, 0x01, 0x12, 0x01, 0xf9, 0xa5, 0x26, 0x32, + 0x33, 0xf9, 0xa5, 0x2f, 0x36, 0x33, 0x05, 0x01, + 0x17, 0x01, 0xfb, 0x40, 0x00, 0x85, 0x1e, 0x00, + 0x80, 0x00, 0x0f, 0x05, 0x01, 0x0d, 0x13, 0x33, + 0xd2, 0x00, 0x12, 0x2c, 0x3b, 0x00, 0x0f, 0x05, + 0x01, 0x0a, 0x10, 0x35, 0x70, 0x02, 0x01, 0x77, + 0x4f, 0x01, 0x3a, 0x00, 0x0f, 0x1d, 0x02, 0x0b, + 0x0e, 0xeb, 0x5a, 0x0c, 0x1c, 0xa6, 0x04, 0xc4, + 0x20, 0x07, 0x96, 0x39, 0x0f, 0x18, 0x01, 0x0e, + 0x16, 0x34, 0x8c, 0x20, 0x1e, 0x32, 0x38, 0x00, + 0x0f, 0x18, 0x01, 0x0b, 0x01, 0xfb, 0x40, 0x00, + 0xc4, 0x20, 0x00, 0x80, 0x00, 0x0f, 0x18, 0x01, + 0x0d, 0x02, 0x46, 0x04, 0x04, 0x1f, 0x01, 0x0f, + 0x78, 0xbf, 0x0a, 0x00, 0x80, 0x41, 0x00, 0x82, + 0x20, 0x03, 0x18, 0x01, 0x0f, 0x79, 0x05, 0x0c, + 0x1f, 0x39, 0xfb, 0x40, 0x08, 0x0d, 0xd1, 0x20, + 0x2f, 0x36, 0x39, 0x17, 0x01, 0x06, 0x08, 0x37, + 0x00, 0x15, 0x38, 0x81, 0x20, 0x2e, 0x35, 0x36, + 0x37, 0x00, 0x0f, 0x16, 0x01, 0x0b, 0x14, 0x36, + 0x98, 0x3b, 0x00, 0x7f, 0x00, 0x0f, 0x16, 0x01, + 0x0c, 0x04, 0x6d, 0x70, 0x03, 0x1d, 0x01, 0x1e, + 0x36, 0x83, 0x0a, 0x0d, 0xfb, 0x40, 0x2f, 0x31, + 0x34, 0xfb, 0x40, 0x0b, 0x13, 0x33, 0xc5, 0x65, + 0x03, 0x5f, 0x46, 0x0e, 0x48, 0x75, 0x1f, 0x33, + 0x58, 0x18, 0x0e, 0x09, 0x3f, 0x0b, 0x04, 0xa0, + 0xd9, 0x06, 0x7b, 0xd9, 0x09, 0x11, 0x0b, 0x26, + 0x32, 0x35, 0xe2, 0x71, 0x0a, 0x9d, 0x08, 0x04, + 0x0f, 0x55, 0x0e, 0x11, 0x0b, 0x05, 0xc0, 0x5c, + 0x1f, 0x36, 0xfc, 0x1f, 0x11, 0x17, 0x32, 0xaf, + 0x80, 0x0f, 0x12, 0x0b, 0x01, 0x0b, 0x0e, 0x41, + 0x02, 0xcb, 0x3f, 0x0f, 0xde, 0x3e, 0x02, 0x03, + 0xb4, 0x08, 0x1d, 0x35, 0x11, 0x41, 0x2f, 0x31, + 0x30, 0xbb, 0xc6, 0x06, 0x06, 0x08, 0x6b, 0x02, + 0x07, 0x00, 0x2a, 0x34, 0x3b, 0xb0, 0x71, 0x28, + 0x38, 0x37, 0xb0, 0x71, 0x0c, 0x0e, 0x12, 0x01, + 0x1f, 0x47, 0x06, 0x25, 0x00, 0x0c, 0x1e, 0x00, + 0x15, 0x39, 0x1e, 0x00, 0x0f, 0x80, 0x8b, 0x05, + 0x0e, 0xfb, 0x13, 0x23, 0x31, 0x30, 0xdd, 0x1e, + 0x05, 0x3f, 0x00, 0x2c, 0x38, 0x7d, 0x27, 0x11, + 0x18, 0x30, 0x76, 0x00, 0x1c, 0x33, 0x1e, 0x00, + 0x18, 0x31, 0x1e, 0x00, 0x1f, 0x32, 0x68, 0x00, + 0x08, 0x05, 0xf9, 0x1f, 0x04, 0x34, 0x00, 0x2d, + 0x39, 0x30, 0x6b, 0x00, 0x18, 0x32, 0x4d, 0x00, + 0x1c, 0x35, 0x1e, 0x00, 0x18, 0x33, 0x1e, 0x00, + 0x1f, 0x34, 0x6b, 0x00, 0x09, 0x04, 0xb3, 0x1f, + 0x04, 0x34, 0x00, 0x2d, 0x39, 0x32, 0x6b, 0x00, + 0x18, 0x34, 0x4d, 0x00, 0x1c, 0x37, 0x1e, 0x00, + 0x18, 0x35, 0x1e, 0x00, 0x1f, 0x36, 0x6b, 0x00, + 0x09, 0x05, 0x5b, 0x16, 0x13, 0x39, 0x13, 0x0a, + 0x0e, 0x24, 0x5c, 0x0a, 0x72, 0x03, 0x0e, 0x60, + 0x43, 0x06, 0x90, 0x6a, 0x03, 0x20, 0x00, 0x0c, + 0xdf, 0x56, 0x0f, 0x43, 0x76, 0x08, 0x2d, 0x31, + 0x30, 0xaa, 0x6a, 0x09, 0x8b, 0x02, 0x1e, 0x39, + 0x35, 0x41, 0x08, 0xc2, 0x6b, 0x0f, 0xda, 0x02, + 0x02, 0x03, 0x5e, 0x6c, 0x1d, 0x39, 0x38, 0x41, + 0x03, 0x84, 0x42, 0x05, 0x22, 0x00, 0x1e, 0x38, + 0x54, 0x0f, 0x13, 0x33, 0x47, 0x2a, 0x1f, 0x36, + 0x2e, 0x04, 0x02, 0x1f, 0x30, 0x2e, 0x04, 0x09, + 0x0f, 0x3a, 0x41, 0x09, 0x26, 0x32, 0x37, 0x18, + 0xe0, 0x09, 0xc6, 0x0d, 0x03, 0xf9, 0x55, 0x0e, + 0x8a, 0x20, 0x04, 0xd0, 0x57, 0x04, 0x58, 0x5d, + 0x1f, 0x38, 0x20, 0x20, 0x06, 0x09, 0x47, 0x20, + 0x02, 0x98, 0x70, 0x13, 0x7d, 0xd3, 0xae, 0x1f, + 0x30, 0x35, 0x1f, 0x08, 0x03, 0xc3, 0x88, 0x0f, + 0x3f, 0x00, 0x02, 0x0f, 0x6c, 0x00, 0x06, 0x09, + 0x3f, 0x20, 0x01, 0x06, 0x00, 0x15, 0x31, 0x6c, + 0x00, 0x0f, 0x8e, 0x20, 0x0d, 0x18, 0x39, 0x8e, + 0x20, 0x0e, 0x49, 0x00, 0x0f, 0xa9, 0x41, 0x07, + 0x0a, 0x41, 0x20, 0x01, 0x06, 0x00, 0x16, 0x39, + 0x76, 0x00, 0x0f, 0x90, 0x20, 0x0c, 0x18, 0x39, + 0x90, 0x20, 0x0e, 0x49, 0x00, 0x0f, 0xa9, 0x41, + 0x07, 0x0a, 0x43, 0x20, 0x02, 0x8a, 0x43, 0x06, + 0x76, 0x00, 0x0f, 0x92, 0x20, 0x0c, 0x18, 0x39, + 0x92, 0x20, 0x0f, 0x49, 0x00, 0x01, 0x0f, 0xf2, + 0x7c, 0x0c, 0x0f, 0x0c, 0x76, 0x0c, 0x09, 0x23, + 0x00, 0x0f, 0xf2, 0x7c, 0x05, 0x0e, 0x0c, 0x76, + 0x0f, 0x29, 0x00, 0x14, 0x0f, 0xf2, 0x7c, 0x06, + 0x0f, 0x0c, 0x76, 0x12, 0x2f, 0x69, 0x6e, 0x0c, + 0x76, 0x61, 0x2f, 0x69, 0x6e, 0x0c, 0x76, 0x1e, + 0x2f, 0x69, 0x6e, 0x0c, 0x76, 0x1e, 0x2f, 0x69, + 0x6e, 0x0c, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x13, 0x1f, + 0x39, 0x0c, 0x76, 0x7f, 0x1f, 0x39, 0x0c, 0x76, + 0x34, 0x14, 0x39, 0xff, 0x1d, 0x1f, 0x39, 0x0c, + 0x76, 0x30, 0x1f, 0x39, 0x0c, 0x76, 0xff, 0x51, + 0x1f, 0x39, 0x0c, 0x76, 0x5f, 0x1f, 0x39, 0x0c, + 0x76, 0xff, 0xff, 0xff, 0x47, 0x1f, 0x39, 0x0c, + 0x76, 0x7f, 0x1f, 0x39, 0x0c, 0x76, 0x28, 0x1f, + 0x38, 0x0c, 0x76, 0x09, 0x1f, 0x37, 0x0c, 0x76, + 0x09, 0x1e, 0x36, 0xd3, 0x75, 0x0f, 0x29, 0x76, + 0x1a, 0x1f, 0x36, 0x29, 0x76, 0x13, 0x1c, 0x37, + 0x1e, 0x75, 0x0e, 0x0b, 0x76, 0x0e, 0x47, 0x76, + 0x0e, 0x0c, 0x76, 0x0e, 0x75, 0x0e, 0x09, 0xd2, + 0x75, 0x1f, 0x39, 0x2a, 0x76, 0x10, 0x04, 0x31, + 0x00, 0x0b, 0x31, 0x76, 0x1f, 0x7d, 0x0c, 0x76, + 0x0a, 0x1f, 0x36, 0x0c, 0x76, 0x0a, 0x1f, 0x35, + 0x0c, 0x76, 0x0a, 0x1f, 0x34, 0xd1, 0x75, 0x0a, + 0x1f, 0x33, 0x2a, 0x76, 0x11, 0x02, 0x32, 0x00, + 0x0c, 0x31, 0x76, 0x1f, 0x7d, 0x0c, 0x76, 0x0a, + 0x1f, 0x39, 0x0c, 0x76, 0x0a, 0x1f, 0x38, 0x0c, + 0x76, 0x0a, 0x1f, 0x37, 0x0c, 0x76, 0x24, 0x2f, + 0x33, 0x36, 0x0b, 0x76, 0xff, 0xff, 0x5a, 0x2f, + 0x69, 0x6e, 0x0b, 0x76, 0x0e, 0x09, 0x23, 0x00, + 0x0f, 0xd2, 0x18, 0x0c, 0x0f, 0xc4, 0x95, 0x0f, + 0x0f, 0x0b, 0x76, 0x12, 0x0e, 0x29, 0x00, 0x0f, + 0xd2, 0x18, 0x0f, 0x0f, 0x0b, 0x76, 0x5a, 0x2f, + 0x69, 0x6e, 0x0b, 0x76, 0x1f, 0x2f, 0x69, 0x6e, + 0x0b, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xba, 0x2f, 0x34, 0x30, 0x0b, + 0x76, 0x64, 0x2f, 0x34, 0x30, 0x0b, 0x76, 0x31, + 0x12, 0x34, 0x90, 0xb7, 0x01, 0x09, 0x00, 0x0f, + 0x0b, 0x76, 0x31, 0x2f, 0x34, 0x30, 0x0b, 0x76, + 0xff, 0x4d, 0x2f, 0x34, 0x30, 0x0b, 0x76, 0x5c, + 0x2f, 0x34, 0x30, 0x0b, 0x76, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x36, 0x2f, 0x34, 0x30, + 0x0b, 0x76, 0x4b, 0x2f, 0x69, 0x6e, 0x0b, 0x76, + 0x9a, 0x2f, 0x34, 0x30, 0x0b, 0x76, 0x92, 0x1e, + 0x33, 0xdd, 0x75, 0x0f, 0x2b, 0x76, 0x1f, 0x1e, + 0x33, 0x2b, 0x76, 0x0e, 0x0b, 0x76, 0x0e, 0x0d, + 0x12, 0x0e, 0xdb, 0x75, 0x1f, 0x34, 0x2b, 0x76, + 0x13, 0x04, 0x35, 0x00, 0x2f, 0x34, 0x7d, 0x0b, + 0x76, 0x0c, 0x1f, 0x37, 0xdb, 0x75, 0x0c, 0x1f, + 0x36, 0x2b, 0x76, 0x13, 0x04, 0x35, 0x00, 0x2f, + 0x36, 0x7d, 0x0b, 0x76, 0x0c, 0x1f, 0x38, 0x0b, + 0x76, 0x19, 0x2f, 0x32, 0x31, 0x0a, 0x76, 0xfe, + 0x0e, 0xec, 0x03, 0x0f, 0x0a, 0x76, 0xff, 0xff, + 0x48, 0x2f, 0x69, 0x6e, 0x0a, 0x76, 0x0e, 0x09, + 0x23, 0x00, 0x0f, 0x05, 0x1c, 0x0b, 0x0f, 0x68, + 0xb9, 0x10, 0x0f, 0x0a, 0x76, 0x12, 0x0e, 0x29, + 0x00, 0x0f, 0x05, 0x1c, 0x0e, 0x0f, 0x0a, 0x76, + 0x6e, 0x0f, 0x06, 0x01, 0x02, 0x0f, 0xb9, 0x34, + 0x15, 0x0f, 0x0a, 0x76, 0x16, 0x2f, 0x69, 0x6e, + 0x0a, 0x76, 0x1e, 0x2f, 0x69, 0x6e, 0x0a, 0x76, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x59, 0x2f, 0x34, 0x31, 0x0a, 0x76, 0x95, + 0x2f, 0x34, 0x31, 0x0a, 0x76, 0x4e, 0x24, 0x34, + 0x31, 0x62, 0x24, 0x1f, 0x31, 0x0a, 0x76, 0x28, + 0x2f, 0x34, 0x31, 0x0a, 0x76, 0xff, 0x1a, 0x2f, + 0x34, 0x31, 0x0a, 0x76, 0xcc, 0x2f, 0x34, 0x31, + 0x0a, 0x76, 0xff, 0xff, 0xff, 0xff, 0x13, 0x2f, + 0x34, 0x31, 0x0a, 0x76, 0x95, 0x2f, 0x34, 0x31, + 0x0a, 0x76, 0x28, 0x1f, 0x34, 0x0a, 0x76, 0x09, + 0x1f, 0x33, 0x0a, 0x76, 0x09, 0x0d, 0x27, 0x76, + 0x09, 0x30, 0x74, 0x0f, 0x03, 0x76, 0x41, 0x1f, + 0x38, 0x03, 0x76, 0x09, 0x1f, 0x37, 0x03, 0x76, + 0x09, 0x1f, 0x36, 0x03, 0x76, 0x09, 0x1f, 0x35, + 0x03, 0x76, 0x45, 0x1f, 0x32, 0x03, 0x76, 0x0a, + 0x1f, 0x31, 0x03, 0x76, 0x09, 0x0e, 0x21, 0x76, + 0x1b, 0x37, 0x21, 0x76, 0x0f, 0x04, 0x76, 0x42, + 0x1f, 0x36, 0x04, 0x76, 0x0a, 0x1f, 0x35, 0x04, + 0x76, 0x0a, 0x1f, 0x34, 0x04, 0x76, 0x0a, 0x1f, + 0x33, 0x04, 0x76, 0xff, 0xff, 0x74, 0x07, 0xb8, + 0x1e, 0x0f, 0xa0, 0x3c, 0x0f, 0x0f, 0x64, 0xd2, + 0x08, 0x0e, 0x04, 0x76, 0x0f, 0x29, 0x00, 0x14, + 0x0f, 0x9b, 0x20, 0x0d, 0x0f, 0xa0, 0x3c, 0x15, + 0x0f, 0x04, 0x76, 0x6e, 0x2f, 0x69, 0x6e, 0x04, + 0x76, 0x1e, 0x0e, 0xe7, 0x00, 0x0f, 0x68, 0x20, + 0x19, 0x0f, 0x04, 0x76, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x66, 0x2f, 0x34, 0x32, 0x04, 0x76, 0x7e, + 0x2f, 0x34, 0x32, 0x04, 0x76, 0x56, 0x24, 0x34, + 0x32, 0x73, 0x1c, 0x1f, 0x32, 0x04, 0x76, 0x29, + 0x2f, 0x34, 0x32, 0x04, 0x76, 0xff, 0x34, 0x2f, + 0x34, 0x32, 0x04, 0x76, 0xb5, 0x2f, 0x34, 0x32, + 0x04, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x1e, 0x2f, 0x34, 0x32, 0x04, 0x76, 0x49, + 0x2f, 0x69, 0x6e, 0x04, 0x76, 0xaf, 0x2f, 0x34, + 0x32, 0x04, 0x76, 0x98, 0x1e, 0x32, 0x04, 0x76, + 0x0b, 0x22, 0x76, 0x0f, 0xf6, 0x75, 0x33, 0x1f, + 0x34, 0xf6, 0x75, 0x0a, 0x1f, 0x33, 0xf6, 0x75, + 0x39, 0x1f, 0x36, 0xf6, 0x75, 0x0a, 0x1f, 0x35, + 0xf6, 0x75, 0x39, 0x1f, 0x38, 0xf6, 0x75, 0x0a, + 0x1f, 0x37, 0xf6, 0x75, 0xff, 0x40, 0x2f, 0x69, + 0x6e, 0xf6, 0x75, 0xff, 0xff, 0x44, 0x82, 0x63, + 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x64, + 0xf1, 0x0d, 0x80, 0x20, 0x0a, 0x1f, 0x00, 0x0b, + 0x7c, 0x20, 0x0a, 0x1d, 0x00, 0x0e, 0x78, 0x20, + 0x0f, 0x25, 0x00, 0x07, 0x0c, 0x74, 0x20, 0x0f, + 0x25, 0x00, 0x02, 0x1f, 0x32, 0x4a, 0x00, 0x11, + 0x0f, 0x6c, 0x20, 0x03, 0x1e, 0x38, 0x6b, 0x20, + 0x2f, 0x35, 0x34, 0xf0, 0x40, 0x01, 0x1f, 0x30, + 0xe4, 0xf2, 0x08, 0x0e, 0xdf, 0x00, 0x0f, 0x81, + 0xfa, 0x0a, 0x0f, 0xe9, 0x00, 0x03, 0x0f, 0x0f, + 0xf3, 0x06, 0x0f, 0xce, 0x00, 0x03, 0x0f, 0xd9, + 0xf2, 0x1d, 0x18, 0x31, 0xb5, 0x45, 0x0e, 0xc2, + 0xf2, 0x04, 0x49, 0x1f, 0x1f, 0x34, 0xc2, 0xf2, + 0x16, 0x07, 0xd4, 0xfe, 0x05, 0xb7, 0xf2, 0x08, + 0x6b, 0x11, 0x03, 0x0e, 0x71, 0x00, 0xc6, 0x1e, + 0x01, 0x09, 0x16, 0x15, 0x66, 0x6e, 0x00, 0x06, + 0x4f, 0x1f, 0x3c, 0x38, 0x2c, 0x20, 0x12, 0x71, + 0x07, 0x4f, 0x1f, 0x0b, 0x36, 0x00, 0x15, 0x39, + 0x85, 0x1f, 0x1d, 0x36, 0x37, 0x00, 0x17, 0x33, + 0x8e, 0xf7, 0x04, 0xa4, 0x52, 0x09, 0x4e, 0x1f, + 0x00, 0x88, 0x00, 0x0b, 0x39, 0x63, 0x07, 0xee, + 0xef, 0x1f, 0x33, 0x36, 0x1f, 0x01, 0x04, 0xc4, + 0x54, 0x08, 0x0f, 0x1e, 0x0e, 0x62, 0xf9, 0x08, + 0x49, 0x3f, 0x06, 0xb7, 0x52, 0x08, 0x34, 0x00, + 0x1f, 0x34, 0x82, 0x71, 0x06, 0x16, 0x33, 0x79, + 0x6f, 0x08, 0x31, 0x00, 0x09, 0x63, 0xf9, 0x0e, + 0xeb, 0x3e, 0x06, 0x67, 0x5c, 0x08, 0xb3, 0x00, + 0x14, 0x37, 0xeb, 0x3e, 0x0e, 0xb0, 0x3e, 0x06, + 0x9b, 0x00, 0x1f, 0x37, 0x88, 0x00, 0x03, 0x12, + 0x38, 0x96, 0x36, 0x0e, 0xf9, 0x51, 0x0f, 0xa9, + 0x21, 0x04, 0x2e, 0x32, 0x35, 0xd0, 0x2d, 0x02, + 0xa4, 0x0d, 0x0c, 0xfd, 0x4b, 0x03, 0x38, 0xf8, + 0x00, 0x09, 0x00, 0x2f, 0x31, 0x3a, 0x50, 0xf2, + 0x08, 0x02, 0xa8, 0x0a, 0x03, 0xf2, 0x0b, 0x0e, + 0x04, 0x3e, 0x07, 0x12, 0x6b, 0x08, 0xf5, 0x01, + 0x16, 0x35, 0xdb, 0x00, 0x2e, 0x33, 0x34, 0xa7, + 0x6e, 0x02, 0x69, 0x11, 0x00, 0x77, 0x1d, 0x01, + 0x03, 0xfd, 0x0e, 0x1e, 0x00, 0x03, 0xcd, 0x70, + 0x0c, 0x19, 0x75, 0x26, 0x35, 0x33, 0xa5, 0x11, + 0x1f, 0x33, 0x22, 0x18, 0x09, 0x0b, 0x41, 0x01, + 0x1b, 0x35, 0x47, 0x02, 0x02, 0x9a, 0x0d, 0x0f, + 0x48, 0x01, 0x03, 0x05, 0x1b, 0x00, 0x03, 0xd7, + 0x70, 0x00, 0xe3, 0x2f, 0x07, 0x36, 0x01, 0x14, + 0x31, 0x36, 0x01, 0x2a, 0x32, 0x3a, 0xf3, 0x00, + 0x05, 0x0a, 0x41, 0x1e, 0x2d, 0x98, 0x33, 0x03, + 0xcf, 0x65, 0x02, 0x91, 0x79, 0x0c, 0x3c, 0x55, + 0x20, 0x33, 0x5f, 0xf6, 0xfa, 0x0f, 0x87, 0x79, + 0x0b, 0x19, 0x32, 0x35, 0x06, 0x05, 0x32, 0x06, + 0x15, 0x37, 0xde, 0x00, 0x12, 0x0a, 0x49, 0x00, + 0x0b, 0x57, 0x68, 0x16, 0x31, 0xbf, 0x0e, 0x1f, + 0x34, 0x7c, 0xf5, 0x08, 0x0e, 0x97, 0x61, 0x04, + 0x1b, 0x00, 0x0e, 0xc1, 0x75, 0x05, 0x1b, 0x00, + 0x0e, 0xc3, 0x14, 0x02, 0x1d, 0x00, 0x05, 0xad, + 0x55, 0x17, 0x34, 0xe2, 0x00, 0x1f, 0x36, 0xe2, + 0x00, 0x08, 0x03, 0x92, 0x4b, 0x0f, 0xfb, 0x24, + 0x07, 0x0f, 0x81, 0xf3, 0x11, 0x0e, 0x1d, 0x01, + 0x02, 0x42, 0xf3, 0x02, 0xf6, 0x03, 0x12, 0x0a, + 0x85, 0x00, 0x1c, 0x3a, 0xb2, 0x00, 0x03, 0x72, + 0x22, 0x05, 0x9f, 0x67, 0x08, 0x06, 0xfd, 0x22, + 0x34, 0x33, 0x57, 0x15, 0x08, 0x98, 0x04, 0x18, + 0x35, 0x7d, 0x23, 0x0e, 0xdb, 0x4a, 0x08, 0x4a, + 0x5d, 0x0f, 0x54, 0x19, 0x09, 0x03, 0xce, 0x22, + 0x0e, 0x3a, 0x5c, 0x05, 0x3d, 0x00, 0x0f, 0xf0, + 0x01, 0x04, 0x03, 0xfb, 0xfd, 0x24, 0x34, 0x35, + 0xd3, 0x00, 0x2f, 0x38, 0x3a, 0x33, 0x57, 0x03, + 0x03, 0xef, 0x23, 0x0b, 0x36, 0x57, 0x00, 0xbf, + 0x02, 0x1c, 0x30, 0xd4, 0x00, 0x14, 0x38, 0xd4, + 0x00, 0x1f, 0x32, 0xd4, 0x00, 0x08, 0x1f, 0x34, + 0xd4, 0x00, 0x08, 0x03, 0x68, 0x6c, 0x0e, 0xd4, + 0x00, 0x04, 0xc2, 0x19, 0x17, 0x34, 0xf1, 0x6f, + 0x0e, 0xd4, 0x00, 0x01, 0x21, 0x0d, 0x02, 0xd6, + 0x32, 0x13, 0x0a, 0xa3, 0x00, 0x0d, 0xd5, 0x00, + 0x05, 0x32, 0x26, 0x02, 0xcb, 0x03, 0x00, 0xd5, + 0x00, 0x18, 0x37, 0xd5, 0x00, 0x1b, 0x32, 0xd5, + 0x00, 0x03, 0x0c, 0x6c, 0x00, 0xf0, 0x16, 0x0f, + 0xd5, 0x00, 0x08, 0x1f, 0x37, 0xd5, 0x00, 0x08, + 0x14, 0x38, 0x72, 0x00, 0x1f, 0x34, 0xc6, 0x35, + 0x04, 0x13, 0x37, 0xcd, 0x35, 0x0f, 0xd5, 0x00, + 0x04, 0x22, 0x39, 0x5d, 0x1c, 0x33, 0x05, 0xd5, + 0x00, 0x2f, 0x32, 0x3a, 0xbc, 0x09, 0x0b, 0x01, + 0x18, 0x0c, 0x0e, 0xbc, 0x09, 0x09, 0x1f, 0x00, + 0x0e, 0xbc, 0x09, 0x07, 0x1d, 0x00, 0x0f, 0xbc, + 0x09, 0x0d, 0x08, 0x25, 0x00, 0x1f, 0x31, 0x25, + 0x00, 0x11, 0x1f, 0x32, 0x25, 0x00, 0x11, 0x0f, + 0xc3, 0x4a, 0x04, 0x2e, 0x32, 0x3e, 0x28, 0x2a, + 0x3e, 0x34, 0x35, 0x3e, 0xbe, 0x09, 0x1f, 0x36, + 0xbe, 0x09, 0x05, 0x00, 0x2b, 0x1e, 0x0e, 0xe1, + 0x00, 0x0f, 0xbe, 0x09, 0x06, 0x1e, 0x39, 0x2f, + 0x00, 0x0f, 0xbe, 0x09, 0x09, 0x1e, 0x36, 0x2f, + 0x00, 0x0f, 0x3a, 0x2a, 0x09, 0x1e, 0x37, 0x2f, + 0x00, 0x0f, 0xed, 0x09, 0x0f, 0x06, 0xd0, 0x51, + 0x0f, 0x57, 0x2a, 0x11, 0x23, 0x35, 0x36, 0x3e, + 0x05, 0x1f, 0x37, 0x57, 0x2a, 0x12, 0x16, 0x33, + 0x4b, 0x13, 0x0f, 0xb8, 0x03, 0x09, 0x03, 0x27, + 0x05, 0x0f, 0x64, 0x3a, 0x07, 0x0e, 0x39, 0x67, + 0x06, 0x40, 0x75, 0x04, 0x89, 0x4f, 0x0f, 0x59, + 0x7f, 0x20, 0x02, 0xbc, 0x1e, 0x0c, 0x1d, 0x71, + 0x0c, 0xbe, 0x5c, 0x05, 0xfe, 0x54, 0x0d, 0x89, + 0x0a, 0x15, 0x36, 0x62, 0x14, 0x0e, 0x89, 0x0a, + 0x07, 0x5e, 0x7e, 0x1b, 0x34, 0x36, 0x00, 0x02, + 0x91, 0x00, 0x0f, 0x89, 0x0a, 0x03, 0x07, 0x5b, + 0x4f, 0x05, 0x7b, 0x74, 0x06, 0x09, 0x16, 0x03, + 0x88, 0x00, 0x0b, 0x26, 0x07, 0x08, 0x89, 0x4f, + 0x1b, 0x3b, 0x27, 0x1e, 0x14, 0x39, 0xfd, 0x00, + 0x02, 0xbd, 0x00, 0x0c, 0x8a, 0x7d, 0x03, 0xa0, + 0x2f, 0x0a, 0xa1, 0x00, 0x24, 0x37, 0x30, 0x35, + 0x00, 0x0e, 0xd7, 0x00, 0x07, 0xd0, 0x2f, 0x1b, + 0x38, 0x36, 0x00, 0x14, 0x31, 0x36, 0x00, 0x0e, + 0xd7, 0x00, 0x04, 0x77, 0xfd, 0x02, 0x5c, 0x54, + 0x0a, 0xd8, 0x00, 0x25, 0x37, 0x32, 0xa3, 0x00, + 0x0c, 0xfe, 0x07, 0x07, 0xb9, 0x0f, 0x1c, 0x31, + 0x96, 0x01, 0x24, 0x37, 0x33, 0xd1, 0x01, 0x0d, + 0xda, 0x00, 0x13, 0x31, 0xeb, 0x0f, 0x05, 0xbe, + 0x6f, 0x08, 0xa6, 0x00, 0x14, 0x34, 0x37, 0x00, + 0x1e, 0x38, 0xa5, 0x00, 0x17, 0x33, 0x0a, 0x7d, + 0x1b, 0x32, 0x38, 0x00, 0x14, 0x35, 0x38, 0x00, + 0x0f, 0xde, 0x00, 0x01, 0x07, 0x9b, 0x50, 0x2b, + 0x31, 0x33, 0xdf, 0x00, 0x15, 0x36, 0xa8, 0x00, + 0x0c, 0xdf, 0x00, 0x07, 0xcb, 0x50, 0x2c, 0x31, + 0x34, 0xdf, 0x00, 0x05, 0x01, 0x37, 0x0e, 0xdf, + 0x00, 0x03, 0xfd, 0x50, 0x05, 0xeb, 0x6f, 0x08, + 0xa7, 0x00, 0x14, 0x38, 0x37, 0x00, 0x1e, 0x38, + 0xa6, 0x00, 0x07, 0x18, 0x31, 0x2b, 0x31, 0x36, + 0x38, 0x00, 0x05, 0x43, 0x52, 0x0f, 0xdf, 0x00, + 0x01, 0x07, 0xd1, 0x10, 0x2a, 0x31, 0x37, 0xdf, + 0x00, 0x25, 0x38, 0x30, 0xa8, 0x00, 0x0c, 0xdf, + 0x00, 0x07, 0x01, 0x11, 0x2a, 0x31, 0x38, 0x47, + 0x04, 0x14, 0x38, 0x15, 0x62, 0x0b, 0x06, 0x0c, + 0x1e, 0x38, 0x20, 0x0d, 0x07, 0x85, 0x0d, 0x03, + 0x8c, 0x51, 0x0f, 0x70, 0x7e, 0x04, 0x23, 0x30, + 0x5d, 0xad, 0x74, 0x0f, 0x1f, 0x00, 0x04, 0x05, + 0xc3, 0x7a, 0x0f, 0x40, 0x41, 0x0a, 0x04, 0x89, + 0x00, 0x03, 0xc2, 0x7a, 0x1f, 0x30, 0x8e, 0x7e, + 0x06, 0x00, 0x06, 0x19, 0x06, 0x58, 0x00, 0x0e, + 0x86, 0x4d, 0x06, 0x35, 0x52, 0x0f, 0x01, 0x0c, + 0x11, 0x16, 0x30, 0x61, 0x7b, 0x1f, 0x31, 0x9e, + 0x00, 0x10, 0x16, 0x35, 0x9e, 0x00, 0x1f, 0x34, + 0x9e, 0x00, 0x03, 0x1f, 0x36, 0x9e, 0x00, 0x08, + 0x18, 0x32, 0x57, 0x82, 0x0f, 0x9e, 0x00, 0x1c, + 0x1f, 0x32, 0x9e, 0x00, 0x10, 0x14, 0x37, 0x7c, + 0x00, 0x0f, 0x86, 0x7e, 0x05, 0x2f, 0x38, 0x38, + 0x9e, 0x00, 0x08, 0x18, 0x33, 0xc8, 0x12, 0x0f, + 0x9e, 0x00, 0x1c, 0x1f, 0x33, 0x9e, 0x00, 0x10, + 0x15, 0x39, 0x9e, 0x00, 0x0e, 0x82, 0x7e, 0x05, + 0x08, 0x59, 0x0e, 0x9e, 0x00, 0x08, 0x56, 0x2e, + 0x02, 0xfe, 0x5e, 0x2f, 0x39, 0x30, 0x9e, 0x00, + 0x1c, 0x0f, 0x21, 0x7f, 0x10, 0x25, 0x39, 0x31, + 0x9e, 0x00, 0x0e, 0x7e, 0x7e, 0x05, 0xd7, 0x59, + 0x0f, 0x9e, 0x00, 0x06, 0x1b, 0x35, 0xc2, 0x59, + 0x0f, 0x9e, 0x00, 0x19, 0x1f, 0x35, 0x9e, 0x00, + 0x10, 0x05, 0x16, 0x03, 0x0f, 0x7a, 0x7e, 0x05, + 0x1f, 0x39, 0x16, 0x03, 0x09, 0x18, 0x36, 0x98, + 0x84, 0x0f, 0x9e, 0x00, 0x1c, 0x1f, 0x36, 0x9e, + 0x00, 0x10, 0x05, 0x16, 0x03, 0x0f, 0x76, 0x7e, + 0x05, 0x1f, 0x39, 0x16, 0x03, 0x09, 0x1b, 0x37, + 0x64, 0x58, 0x0f, 0x9e, 0x00, 0x19, 0x1f, 0x37, + 0xb3, 0x26, 0x1a, 0x1f, 0x33, 0xb3, 0x26, 0x11, + 0x1f, 0x33, 0x49, 0x67, 0x19, 0x1f, 0x34, 0x95, + 0x7e, 0x03, 0x02, 0x79, 0x09, 0x0c, 0x1b, 0x66, + 0x04, 0x15, 0x0c, 0x1e, 0x36, 0x1e, 0x43, 0x05, + 0x3a, 0x43, 0x1f, 0x37, 0xb3, 0x26, 0x18, 0x1e, + 0x35, 0xa1, 0x1b, 0x02, 0x93, 0x00, 0x0a, 0xa1, + 0x1b, 0x00, 0x49, 0x12, 0x7e, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x53, 0x5a, 0x46, 0x5a, 0x02, 0x1f, + 0x00, 0x01, 0x94, 0x10, 0x0e, 0xc8, 0x7e, 0x03, + 0x21, 0x00, 0x0b, 0x4b, 0x7c, 0x02, 0xd5, 0x20, + 0x03, 0xea, 0x7e, 0x1f, 0x38, 0xce, 0x14, 0x0d, + 0x1b, 0x37, 0xe7, 0x26, 0x14, 0x34, 0xe7, 0x26, + 0x5b, 0x34, 0x5f, 0x34, 0x31, 0x3a, 0xce, 0x07, + 0x16, 0x33, 0xed, 0x7e, 0x03, 0x50, 0x06, 0x0d, + 0x78, 0x00, 0x04, 0x7f, 0x00, 0x14, 0x38, 0x46, + 0x00, 0x1e, 0x33, 0xef, 0x26, 0x04, 0x89, 0x33, + 0x0d, 0xfe, 0x18, 0x06, 0xd1, 0x26, 0x0e, 0xef, + 0x26, 0x05, 0xc1, 0x79, 0x03, 0x17, 0x0e, 0x0e, + 0xd6, 0x0d, 0x04, 0xef, 0x26, 0x1f, 0x32, 0xef, + 0x26, 0x0d, 0x13, 0x38, 0xe6, 0x0a, 0x1f, 0x39, + 0xee, 0x7e, 0x16, 0x1f, 0x38, 0xb8, 0x7e, 0x16, + 0x2f, 0x39, 0x39, 0x86, 0x67, 0x14, 0x1d, 0x39, + 0x4a, 0x12, 0x1f, 0x34, 0xb6, 0x7e, 0x31, 0x2c, + 0x39, 0x39, 0x4b, 0x68, 0x04, 0xc3, 0x00, 0x0f, + 0x99, 0x7f, 0x0a, 0x1f, 0x33, 0xeb, 0x7e, 0x17, + 0x01, 0x1a, 0x02, 0x0c, 0xec, 0x7e, 0x2e, 0x30, + 0x32, 0xec, 0x7e, 0x03, 0x26, 0x1e, 0x0d, 0xec, + 0x7e, 0x29, 0x30, 0x34, 0x42, 0x1e, 0x1f, 0x32, + 0xec, 0x7e, 0x0a, 0x2b, 0x30, 0x34, 0xec, 0x7e, + 0x2f, 0x30, 0x35, 0xec, 0x7e, 0x0a, 0x2e, 0x30, + 0x36, 0xec, 0x7e, 0x04, 0xfb, 0x1b, 0x16, 0x35, + 0xb9, 0x02, 0x0c, 0x55, 0x1c, 0x0e, 0x84, 0x1c, + 0x0f, 0xec, 0x7e, 0x0b, 0x25, 0x31, 0x31, 0xec, + 0x7e, 0x07, 0x7b, 0x1c, 0x05, 0xd6, 0x00, 0x1d, + 0x39, 0x8f, 0x89, 0x09, 0x87, 0x87, 0x2e, 0x30, + 0x37, 0x61, 0x1d, 0x0f, 0xeb, 0x7e, 0x09, 0x25, + 0x31, 0x34, 0xeb, 0x7e, 0x07, 0x72, 0x1d, 0x0e, + 0x6e, 0x00, 0x0c, 0x91, 0x2a, 0x1f, 0x34, 0x61, + 0x1d, 0x03, 0x04, 0x90, 0x18, 0x0f, 0x6e, 0x00, + 0x05, 0x16, 0x37, 0xea, 0x7e, 0x05, 0xf4, 0x86, + 0x0f, 0x6f, 0x00, 0x0a, 0x19, 0x38, 0x7e, 0x86, + 0x1f, 0x35, 0x5b, 0x00, 0x08, 0x16, 0x39, 0xe9, + 0x7e, 0x04, 0x69, 0x47, 0x1f, 0x38, 0x5b, 0x00, + 0x09, 0x28, 0x32, 0x30, 0x37, 0x86, 0x06, 0x46, + 0x72, 0x07, 0xf3, 0x85, 0x0f, 0xe8, 0x7e, 0x08, + 0x26, 0x32, 0x32, 0xe8, 0x7e, 0x04, 0x18, 0x58, + 0x1f, 0x31, 0x6f, 0x00, 0x0a, 0x03, 0x2d, 0x55, + 0x04, 0x33, 0x00, 0x0f, 0xe7, 0x7e, 0x06, 0x16, + 0x32, 0x39, 0x67, 0x04, 0x35, 0x00, 0x1e, 0x30, + 0x24, 0x01, 0x0d, 0xe6, 0x7e, 0x03, 0x7d, 0x37, + 0x0e, 0xa8, 0x06, 0x03, 0x04, 0x2a, 0x09, 0x9c, + 0x03, 0x14, 0x31, 0x29, 0x42, 0x1e, 0x3b, 0x45, + 0x07, 0x1e, 0x36, 0x00, 0x7f, 0x07, 0x38, 0x1e, + 0x0e, 0xc2, 0x06, 0x06, 0x76, 0x42, 0x1f, 0x37, + 0x5a, 0x42, 0x18, 0x0f, 0x6a, 0x24, 0x0b, 0x02, + 0x84, 0x45, 0x16, 0x6e, 0x10, 0x11, 0x09, 0x4a, + 0x01, 0x13, 0x37, 0xee, 0x7f, 0x0e, 0x52, 0x17, + 0x05, 0x99, 0x2a, 0x03, 0xe1, 0x00, 0x06, 0xb8, + 0x07, 0x1c, 0x35, 0x11, 0x01, 0x1e, 0x73, 0x9c, + 0x13, 0x24, 0x34, 0x5d, 0xfb, 0x00, 0x12, 0x0a, + 0x28, 0x00, 0x1a, 0x3a, 0xf1, 0x18, 0x07, 0x09, + 0x2a, 0x1c, 0x31, 0x85, 0x01, 0x16, 0x38, 0x5d, + 0x2a, 0x2e, 0x34, 0x3b, 0x00, 0x18, 0x04, 0x37, + 0x68, 0x0e, 0x8a, 0x91, 0x05, 0x93, 0x2a, 0x0b, + 0x1b, 0x00, 0x16, 0x31, 0x1b, 0x00, 0x1b, 0x37, + 0x1b, 0x00, 0x16, 0x32, 0x1b, 0x00, 0x0b, 0x37, + 0x0e, 0x03, 0x47, 0x07, 0x02, 0x58, 0x09, 0x0b, + 0x1b, 0x00, 0x07, 0xbe, 0x68, 0x0c, 0x42, 0x7f, + 0x12, 0x34, 0x13, 0x51, 0x0e, 0xb7, 0x8d, 0x05, + 0xa9, 0x48, 0x1e, 0x33, 0x59, 0x59, 0x03, 0xaf, + 0x48, 0x05, 0x1c, 0x00, 0x2e, 0x33, 0x3b, 0x3f, + 0x16, 0x04, 0x1c, 0x00, 0x0c, 0xc7, 0x1b, 0x07, + 0x13, 0x01, 0x0c, 0x3a, 0x7f, 0x17, 0x35, 0x14, + 0x01, 0x0c, 0x74, 0x7f, 0x17, 0x35, 0x15, 0x01, + 0x0c, 0xdf, 0x6f, 0x17, 0x35, 0x16, 0x01, 0x0c, + 0xfc, 0x0e, 0x23, 0x35, 0x33, 0xd2, 0x12, 0x0e, + 0x18, 0x4a, 0x03, 0xbd, 0x68, 0x05, 0x8c, 0x06, + 0x18, 0x31, 0x8d, 0x06, 0x02, 0x14, 0x17, 0x0e, + 0x5b, 0x7a, 0x05, 0xdb, 0x00, 0x0f, 0x65, 0x21, + 0x04, 0x03, 0x6d, 0x08, 0x0e, 0x03, 0x16, 0x06, + 0x2b, 0x21, 0x06, 0x9d, 0x19, 0x1e, 0x34, 0xd8, + 0x16, 0x05, 0x75, 0x2c, 0x18, 0x38, 0x19, 0x1a, + 0x07, 0x2c, 0x46, 0x1e, 0x34, 0xda, 0x16, 0x04, + 0x1d, 0x48, 0x03, 0x7e, 0x3b, 0x0e, 0xad, 0x26, + 0x14, 0x30, 0x52, 0x00, 0x1c, 0x34, 0x04, 0x0b, + 0x03, 0x5b, 0x18, 0x07, 0x53, 0x22, 0x0e, 0xb5, + 0x00, 0x22, 0x33, 0x31, 0xc9, 0x0f, 0x06, 0x7e, + 0x09, 0x01, 0xb9, 0x16, 0x0e, 0x1e, 0x4c, 0x04, + 0xf1, 0x02, 0x14, 0x34, 0x51, 0x01, 0x18, 0x38, + 0xb6, 0x00, 0x1d, 0x34, 0xb6, 0x00, 0x02, 0x2e, + 0x13, 0x04, 0xd3, 0x2d, 0x0d, 0xb6, 0x00, 0x14, + 0x32, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, 0x33, + 0xb6, 0x00, 0x1f, 0x32, 0xb6, 0x00, 0x04, 0x25, + 0x33, 0x5d, 0xf6, 0x86, 0x13, 0x0a, 0x82, 0x00, + 0x0e, 0xb6, 0x00, 0x17, 0x39, 0xd3, 0x47, 0x1d, + 0x31, 0x9d, 0x4c, 0x20, 0x34, 0x5f, 0x87, 0x02, + 0x0b, 0xb6, 0x12, 0x14, 0x30, 0xb6, 0x00, 0x1f, + 0x33, 0x19, 0x28, 0x07, 0x00, 0x52, 0x00, 0x0d, + 0xb6, 0x00, 0x18, 0x35, 0xb6, 0x00, 0x1f, 0x34, + 0xb6, 0x00, 0x04, 0x23, 0x35, 0x5d, 0xd7, 0x84, + 0x05, 0xb6, 0x00, 0x0e, 0xa2, 0x1a, 0x13, 0x32, + 0xb0, 0x00, 0x08, 0x53, 0x4d, 0x28, 0x32, 0x30, + 0xb6, 0x00, 0x1d, 0x38, 0xb6, 0x00, 0x05, 0xf6, + 0x1b, 0x1f, 0x34, 0xb6, 0x00, 0x02, 0x05, 0xc8, + 0x6b, 0x0d, 0xb6, 0x00, 0x18, 0x37, 0xb6, 0x00, + 0x1f, 0x36, 0xb6, 0x00, 0x04, 0x25, 0x37, 0x5d, + 0x43, 0x88, 0x13, 0x0a, 0x82, 0x00, 0x0e, 0xb6, + 0x00, 0x09, 0xad, 0x94, 0x03, 0xb6, 0x00, 0x09, + 0x55, 0x0d, 0x1d, 0x30, 0xb6, 0x00, 0x14, 0x32, + 0xb6, 0x00, 0x0e, 0xe8, 0x7d, 0x01, 0x2e, 0x7c, + 0x04, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, 0x39, 0xb6, 0x00, 0x1f, 0x38, 0xb6, 0x00, 0x04, 0x13, - 0x39, 0xb6, 0x00, 0x02, 0xf5, 0x1e, 0x01, 0x82, - 0x00, 0x0e, 0xb6, 0x00, 0x09, 0x9b, 0x38, 0x03, - 0xb6, 0x00, 0x18, 0x32, 0xb6, 0x00, 0x1d, 0x32, - 0xb6, 0x00, 0x14, 0x33, 0xb6, 0x00, 0x0f, 0x61, - 0x74, 0x03, 0x02, 0xbe, 0x01, 0x0e, 0x1c, 0x1b, - 0x05, 0x98, 0x74, 0x06, 0x92, 0x7a, 0x0f, 0xaa, - 0x06, 0x01, 0x25, 0x31, 0x5d, 0x8c, 0x2c, 0x13, - 0x0a, 0x82, 0x00, 0x0e, 0xb6, 0x00, 0x09, 0x4b, - 0x39, 0x03, 0xb6, 0x00, 0x18, 0x33, 0xb6, 0x00, - 0x1d, 0x34, 0xb6, 0x00, 0x05, 0x9a, 0x47, 0x1f, - 0x37, 0x17, 0x75, 0x07, 0x1e, 0x34, 0xfd, 0x1a, - 0x04, 0x18, 0x75, 0x0e, 0x17, 0x75, 0x09, 0xb6, - 0x00, 0x03, 0x8e, 0x03, 0x03, 0x62, 0x62, 0x01, - 0x82, 0x00, 0x0e, 0xb6, 0x00, 0x17, 0x34, 0x10, - 0x49, 0x13, 0x36, 0xb6, 0x00, 0x18, 0x34, 0xb6, - 0x00, 0x0e, 0x8e, 0x03, 0x02, 0x29, 0x16, 0x03, - 0xe9, 0x0a, 0x0e, 0xb6, 0x00, 0x05, 0x52, 0x00, - 0x0d, 0xb6, 0x00, 0x09, 0xa0, 0x3e, 0x1f, 0x34, - 0xb6, 0x00, 0x04, 0x04, 0x8e, 0x03, 0x15, 0x35, - 0xb6, 0x00, 0x0e, 0x8e, 0x03, 0x03, 0x82, 0x43, - 0x02, 0x42, 0x03, 0x04, 0xd2, 0x72, 0x18, 0x35, + 0x39, 0xb6, 0x00, 0x03, 0xf5, 0x1e, 0x00, 0x82, + 0x00, 0x0e, 0xb6, 0x00, 0x09, 0x5d, 0x95, 0x0c, + 0xde, 0x4d, 0x00, 0x34, 0x00, 0x0d, 0x8e, 0x03, + 0x03, 0x2c, 0x6f, 0x04, 0x0b, 0x6a, 0x0c, 0xb6, + 0x00, 0x03, 0x6e, 0x02, 0x1e, 0x33, 0xb6, 0x00, + 0x18, 0x34, 0x8e, 0x03, 0x04, 0x76, 0x56, 0x0d, + 0xaa, 0x06, 0x23, 0x31, 0x5d, 0x00, 0x87, 0x05, + 0xb6, 0x00, 0x0e, 0x8e, 0x03, 0x03, 0x84, 0x2d, + 0x02, 0x8c, 0x02, 0x04, 0xb1, 0x1e, 0x18, 0x33, + 0xb6, 0x00, 0x1d, 0x34, 0xb6, 0x00, 0x05, 0xd7, + 0x2c, 0x0f, 0x71, 0x42, 0x02, 0x03, 0xb8, 0x01, + 0x0e, 0xfd, 0x1a, 0x02, 0xb5, 0x3c, 0x05, 0xb6, + 0x00, 0x1f, 0x32, 0xb6, 0x00, 0x04, 0x25, 0x33, + 0x5d, 0x8f, 0x89, 0x13, 0x0a, 0x82, 0x00, 0x0e, + 0xb6, 0x00, 0x03, 0xb0, 0x00, 0x05, 0xef, 0x4e, + 0x10, 0x40, 0x14, 0x00, 0x08, 0xb6, 0x00, 0x0e, + 0x8e, 0x03, 0x02, 0x29, 0x16, 0x03, 0xe9, 0x0a, + 0x0e, 0xb6, 0x00, 0x05, 0x52, 0x00, 0x0d, 0xb6, + 0x00, 0x18, 0x35, 0xb6, 0x00, 0x1f, 0x34, 0xb6, + 0x00, 0x04, 0x04, 0x8e, 0x03, 0x15, 0x35, 0xb6, + 0x00, 0x1e, 0x36, 0xb6, 0x00, 0x03, 0xb0, 0x00, + 0x02, 0x17, 0x4c, 0x03, 0xb6, 0x00, 0x18, 0x35, 0xb6, 0x00, 0x0e, 0x8e, 0x03, 0x14, 0x36, 0xb6, 0x00, 0x1f, 0x39, 0xb6, 0x00, 0x02, 0x14, 0x36, 0x52, 0x00, 0x0d, 0xb6, 0x00, 0x18, 0x37, 0xb6, 0x00, 0x1f, 0x36, 0xb6, 0x00, 0x04, 0x04, 0x8e, 0x03, 0x15, 0x36, 0xb6, 0x00, 0x1e, 0x38, 0xb6, - 0x00, 0x17, 0x36, 0x59, 0x4a, 0x13, 0x38, 0xb6, + 0x00, 0x17, 0x36, 0xc7, 0x4c, 0x13, 0x38, 0xb6, 0x00, 0x18, 0x36, 0x36, 0x0e, 0x0e, 0x8e, 0x03, 0x15, 0x37, 0x66, 0x06, 0x1f, 0x30, 0xb7, 0x00, - 0x02, 0x05, 0xac, 0x4a, 0x0d, 0xb7, 0x00, 0x18, + 0x02, 0x05, 0xc1, 0x4e, 0x0d, 0xb7, 0x00, 0x18, 0x39, 0xb7, 0x00, 0x1f, 0x38, 0xb7, 0x00, 0x04, 0x04, 0x8f, 0x03, 0x15, 0x37, 0xe5, 0x0f, 0x1e, - 0x30, 0xb7, 0x00, 0x18, 0x37, 0xd1, 0x4a, 0x03, - 0xb7, 0x00, 0x18, 0x37, 0xb7, 0x00, 0x0e, 0x8f, - 0x03, 0x06, 0x1d, 0x07, 0x1f, 0x31, 0x4d, 0x25, - 0x02, 0x05, 0x24, 0x4b, 0x0d, 0x30, 0x51, 0x08, - 0x90, 0x03, 0x1f, 0x35, 0x90, 0x03, 0x04, 0x14, - 0x35, 0x90, 0x03, 0x06, 0x9c, 0x10, 0x1e, 0x32, - 0xb7, 0x00, 0x07, 0x82, 0x4b, 0x23, 0x35, 0x30, - 0xb7, 0x00, 0x18, 0x38, 0xb7, 0x00, 0x0e, 0x90, - 0x03, 0x05, 0x1e, 0x07, 0x02, 0x6a, 0x0d, 0x0d, - 0xb7, 0x00, 0x14, 0x32, 0x53, 0x00, 0x0d, 0xb7, - 0x00, 0x18, 0x33, 0xb7, 0x00, 0x1f, 0x32, 0xb7, - 0x00, 0x04, 0x04, 0x91, 0x03, 0x15, 0x39, 0xb7, - 0x00, 0x0e, 0x91, 0x03, 0x03, 0xa2, 0x07, 0x03, - 0x65, 0x3d, 0x03, 0xb7, 0x00, 0x18, 0x39, 0xb7, - 0x00, 0x0d, 0x91, 0x03, 0x15, 0x34, 0x1f, 0x07, - 0x01, 0x16, 0x0a, 0x0e, 0xb7, 0x00, 0x14, 0x34, - 0x53, 0x00, 0x0d, 0xb7, 0x00, 0x18, 0x35, 0xb7, - 0x00, 0x1f, 0x34, 0xb7, 0x00, 0x04, 0x23, 0x35, - 0x5d, 0xbb, 0x30, 0x05, 0xb7, 0x00, 0x0e, 0x92, - 0x03, 0x19, 0x33, 0x16, 0x3e, 0x03, 0x11, 0x11, - 0x08, 0x20, 0x07, 0x01, 0xac, 0x01, 0x0e, 0x12, - 0x31, 0x02, 0xb7, 0x00, 0x0f, 0x21, 0x07, 0x02, - 0x03, 0x1e, 0x4c, 0x0f, 0x55, 0x53, 0x01, 0x18, - 0x37, 0xb7, 0x00, 0x1f, 0x36, 0xb7, 0x00, 0x04, - 0x03, 0x93, 0x03, 0x01, 0xe3, 0x10, 0x03, 0x83, - 0x00, 0x0e, 0xb7, 0x00, 0x07, 0xc7, 0x3e, 0x14, - 0x33, 0xdd, 0x42, 0x18, 0x31, 0x21, 0x11, 0x1d, - 0x30, 0xb7, 0x00, 0x05, 0x21, 0x07, 0x01, 0x4c, - 0x0b, 0x0e, 0xb7, 0x00, 0x14, 0x38, 0x53, 0x00, - 0x0d, 0xb7, 0x00, 0x18, 0x39, 0xb7, 0x00, 0x1f, - 0x38, 0xb7, 0x00, 0x04, 0x23, 0x39, 0x5d, 0xe0, - 0x31, 0x05, 0xbe, 0x13, 0x1f, 0x30, 0xb3, 0x20, + 0x30, 0xb7, 0x00, 0x03, 0xb1, 0x00, 0x02, 0x9b, + 0x30, 0x03, 0xb7, 0x00, 0x18, 0x37, 0xb7, 0x00, + 0x0e, 0x8f, 0x03, 0x06, 0x1d, 0x07, 0x0f, 0x1e, + 0x07, 0x02, 0x03, 0xf1, 0x4e, 0x1e, 0x38, 0xb7, + 0x00, 0x18, 0x35, 0x90, 0x03, 0x1f, 0x35, 0x90, + 0x03, 0x04, 0x14, 0x35, 0x90, 0x03, 0x06, 0x9c, + 0x10, 0x0e, 0x90, 0x03, 0x02, 0xa1, 0x07, 0x04, + 0x76, 0x99, 0x03, 0xb7, 0x00, 0x18, 0x38, 0xb7, + 0x00, 0x0e, 0x90, 0x03, 0x15, 0x39, 0xb7, 0x00, + 0x0f, 0x1f, 0x07, 0x02, 0x06, 0x84, 0x75, 0x0d, + 0xb7, 0x00, 0x18, 0x33, 0xb7, 0x00, 0x1f, 0x32, + 0xb7, 0x00, 0x04, 0x04, 0x91, 0x03, 0x15, 0x39, + 0xb7, 0x00, 0x1e, 0x34, 0xb7, 0x00, 0x09, 0x27, + 0x9a, 0x03, 0xb7, 0x00, 0x18, 0x39, 0xb7, 0x00, + 0x0d, 0x91, 0x03, 0x25, 0x34, 0x30, 0xb7, 0x00, + 0x0f, 0x20, 0x07, 0x02, 0x03, 0x86, 0x51, 0x0e, + 0x20, 0x07, 0x02, 0x79, 0x40, 0x05, 0xb7, 0x00, + 0x1f, 0x34, 0xb7, 0x00, 0x04, 0x23, 0x35, 0x5d, + 0x95, 0x8d, 0x05, 0xb7, 0x00, 0x0e, 0x92, 0x03, + 0x19, 0x33, 0xd8, 0x9a, 0x03, 0x11, 0x11, 0x18, + 0x30, 0xb7, 0x00, 0x1d, 0x38, 0xb7, 0x00, 0x05, + 0x20, 0x07, 0x01, 0xb1, 0x0a, 0x0e, 0xb7, 0x00, + 0x05, 0xc3, 0x73, 0x0d, 0xb7, 0x00, 0x18, 0x37, + 0xb7, 0x00, 0x1f, 0x36, 0xb7, 0x00, 0x04, 0x23, + 0x37, 0x5d, 0x26, 0x8e, 0x05, 0xb7, 0x00, 0x0e, + 0x93, 0x03, 0x03, 0xa4, 0x07, 0x03, 0xf6, 0x8b, + 0x03, 0xb7, 0x00, 0x08, 0x21, 0x07, 0x01, 0xf5, + 0x00, 0x0e, 0x7d, 0x8e, 0x02, 0xb7, 0x00, 0x0f, + 0x22, 0x07, 0x02, 0x03, 0x88, 0x1d, 0x0e, 0x22, + 0x07, 0x01, 0x25, 0x40, 0x06, 0xb7, 0x00, 0x1f, + 0x38, 0xb7, 0x00, 0x04, 0x25, 0x39, 0x5d, 0x66, + 0x8e, 0x13, 0x0a, 0x83, 0x00, 0x0f, 0xb3, 0x20, 0x03, 0xfd, 0x04, 0x6d, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x31, 0x5f, 0x74, 0x69, 0x6e, 0x79, 0xb8, 0x20, @@ -6382,268 +8362,270 @@ const char kernels_70[] = { 0x6d, 0x22, 0x00, 0x0e, 0xc2, 0x20, 0x0f, 0x2a, 0x00, 0x0c, 0x0c, 0x83, 0x2a, 0x0f, 0x2a, 0x00, 0x07, 0x1f, 0x32, 0x2a, 0x00, 0x16, 0x1f, 0x33, - 0x2a, 0x00, 0x16, 0x1f, 0x34, 0xc6, 0x43, 0x03, - 0x0e, 0xfb, 0x20, 0x02, 0xe5, 0x20, 0x0f, 0x38, - 0x57, 0x16, 0x00, 0x0b, 0x18, 0x0f, 0x1e, 0x01, - 0x08, 0x0f, 0xa1, 0x20, 0x02, 0x1f, 0x34, 0x34, - 0x00, 0x0a, 0x0b, 0x04, 0x21, 0x06, 0xad, 0x1a, - 0x1f, 0x5b, 0x32, 0x01, 0x08, 0x0f, 0x34, 0x00, + 0x2a, 0x00, 0x16, 0x1f, 0x34, 0x95, 0xa0, 0x03, + 0x0e, 0xfb, 0x20, 0x02, 0xe5, 0x20, 0x0d, 0xc2, + 0x87, 0x1f, 0x32, 0xb8, 0x2a, 0x08, 0x0f, 0x1e, + 0x01, 0x08, 0x0f, 0x95, 0xa0, 0x06, 0x0f, 0x28, + 0x01, 0x08, 0x0f, 0x42, 0x4b, 0x01, 0x01, 0xca, + 0x96, 0x0f, 0x32, 0x01, 0x08, 0x0f, 0x34, 0x00, 0x02, 0x0f, 0x68, 0x00, 0x0b, 0x1f, 0x33, 0x34, - 0x00, 0x02, 0x0f, 0xd0, 0x00, 0x0b, 0x2f, 0x34, - 0x5d, 0x97, 0x57, 0x0a, 0x0a, 0x02, 0x47, 0x05, - 0xe4, 0x28, 0x03, 0xf4, 0x19, 0x0d, 0x9f, 0x2a, - 0x0f, 0xb6, 0x29, 0x02, 0x18, 0x36, 0x1f, 0x17, - 0x08, 0x61, 0x55, 0x08, 0xce, 0x29, 0x38, 0x64, - 0x69, 0x76, 0x1b, 0x57, 0x03, 0x62, 0x21, 0x0c, - 0x4a, 0x75, 0x08, 0x4c, 0x58, 0x07, 0x32, 0x00, - 0x02, 0x17, 0x08, 0x06, 0x31, 0x00, 0x09, 0xb5, - 0x00, 0x03, 0x2c, 0x18, 0x05, 0x47, 0x1b, 0x0a, - 0x20, 0x48, 0x15, 0x33, 0x3b, 0x00, 0x1c, 0x36, - 0xcf, 0x15, 0x1d, 0x31, 0x1f, 0x48, 0x02, 0x9b, - 0x04, 0x03, 0x58, 0x09, 0x12, 0x31, 0xdd, 0x47, - 0x07, 0x6a, 0x2a, 0x03, 0xae, 0x50, 0x0e, 0x1d, - 0x2b, 0x1f, 0x39, 0xb8, 0x43, 0x04, 0x1b, 0x30, - 0xe9, 0x17, 0x08, 0x1d, 0x01, 0x1f, 0x31, 0x1d, - 0x2b, 0x05, 0x22, 0x33, 0x30, 0x41, 0x11, 0x0b, - 0x42, 0x10, 0x03, 0x37, 0x05, 0x06, 0x09, 0x4e, - 0x09, 0x92, 0x15, 0x16, 0x34, 0x1d, 0x00, 0x1b, - 0x36, 0x1f, 0x28, 0x00, 0xc9, 0x00, 0x04, 0xd2, - 0x00, 0x1d, 0x33, 0x8b, 0x2a, 0x08, 0x62, 0x00, - 0x15, 0x37, 0xe4, 0x01, 0x0e, 0x7d, 0x58, 0x16, - 0x35, 0xd3, 0x51, 0x1b, 0x32, 0xca, 0x27, 0x27, - 0x33, 0x31, 0xe3, 0x0f, 0x0c, 0xbc, 0x49, 0x02, - 0x4d, 0x02, 0x0f, 0x27, 0x26, 0x08, 0x03, 0x8b, - 0x4f, 0x04, 0xa2, 0x00, 0x1d, 0x35, 0x51, 0x49, - 0x17, 0x36, 0x7a, 0x00, 0x0e, 0xc3, 0x57, 0x0c, - 0xcc, 0x17, 0x0a, 0x78, 0x17, 0x01, 0x5b, 0x14, - 0x03, 0x2a, 0x17, 0x1d, 0x32, 0xd4, 0x00, 0x1b, - 0x37, 0x5a, 0x00, 0x07, 0xf7, 0x26, 0x00, 0x8b, - 0x00, 0x1f, 0x39, 0x96, 0x71, 0x07, 0x1e, 0x35, - 0x9a, 0x09, 0x03, 0x4a, 0x2a, 0x1e, 0x35, 0x97, - 0x71, 0x08, 0xea, 0x70, 0x07, 0x96, 0x71, 0x31, - 0x74, 0x63, 0x68, 0x7a, 0x18, 0x02, 0xb7, 0x00, - 0x09, 0x01, 0x2a, 0x06, 0x16, 0x43, 0x35, 0x6e, - 0x65, 0x67, 0x4e, 0x02, 0x06, 0x1e, 0x34, 0x08, - 0xb3, 0x02, 0x1e, 0x38, 0xf8, 0x23, 0x13, 0x33, - 0x48, 0x17, 0x05, 0x1f, 0x2c, 0x07, 0x09, 0x18, - 0x04, 0x22, 0x6d, 0x0e, 0x9f, 0x6d, 0x0d, 0x07, - 0x18, 0x07, 0xcf, 0x12, 0x01, 0x44, 0x07, 0x0e, - 0x8e, 0x2b, 0x04, 0x3c, 0x14, 0x0b, 0xf7, 0x50, - 0x06, 0x51, 0x25, 0x08, 0x8d, 0x24, 0x1b, 0x31, - 0xd6, 0x10, 0x0a, 0x71, 0x14, 0x02, 0xd6, 0x09, - 0x03, 0x7e, 0x35, 0x0b, 0x94, 0x56, 0x2e, 0x33, - 0x31, 0x2b, 0x2a, 0x17, 0x32, 0x29, 0x01, 0x0b, - 0x69, 0x43, 0x03, 0x62, 0x0e, 0x1e, 0x32, 0x76, - 0x56, 0x0f, 0xe3, 0x7d, 0x04, 0x09, 0x37, 0x56, - 0x00, 0xab, 0x02, 0x35, 0x70, 0x6f, 0x70, 0x93, - 0x01, 0x04, 0xfb, 0x38, 0x0e, 0x97, 0x1d, 0x02, - 0x7d, 0x01, 0x00, 0xa9, 0x34, 0x0d, 0xc4, 0x4f, - 0x02, 0x5b, 0x0b, 0x07, 0x94, 0x9f, 0x0d, 0xe6, - 0x03, 0x13, 0x34, 0xb7, 0x4f, 0x03, 0xa2, 0x0b, - 0x02, 0x05, 0x8b, 0x0e, 0xcb, 0x16, 0x01, 0xe7, - 0x13, 0x04, 0x5c, 0x18, 0x04, 0xf6, 0x36, 0x0a, - 0x13, 0x14, 0x12, 0x0a, 0xad, 0x02, 0x03, 0xda, - 0x03, 0x43, 0x77, 0x61, 0x72, 0x70, 0xdf, 0x03, - 0x1c, 0x2d, 0x42, 0x04, 0x07, 0xf0, 0x02, 0x1e, - 0x33, 0xe0, 0x2e, 0x1d, 0x30, 0xe2, 0x03, 0x27, - 0x31, 0x30, 0x82, 0x01, 0x03, 0xb8, 0x0d, 0x03, - 0x06, 0x8b, 0x08, 0x82, 0x02, 0x17, 0x39, 0xf2, - 0x01, 0x0e, 0xec, 0x2d, 0x04, 0xbb, 0x26, 0x0d, - 0x99, 0x1e, 0x0a, 0x2e, 0x04, 0x02, 0x63, 0x0a, - 0x03, 0xe8, 0x2f, 0x0e, 0x6b, 0x4a, 0x03, 0x15, - 0x57, 0x0f, 0xe2, 0x35, 0x08, 0x05, 0x1e, 0x4d, - 0x27, 0x40, 0x21, 0x52, 0x2e, 0x12, 0x33, 0x79, - 0x8b, 0x08, 0x42, 0x1d, 0x00, 0x13, 0x00, 0x15, - 0x31, 0xcd, 0x00, 0x00, 0x43, 0x1d, 0x0e, 0xba, - 0x2e, 0x1e, 0x39, 0xe7, 0x2f, 0x0f, 0x34, 0x8e, - 0x04, 0x09, 0x86, 0x57, 0x1f, 0x32, 0x25, 0x02, - 0x02, 0x12, 0x35, 0xe8, 0x51, 0x2e, 0x34, 0x5d, - 0xd7, 0x00, 0x03, 0xdc, 0x27, 0x0b, 0x4a, 0x04, - 0x17, 0x39, 0x7d, 0x2d, 0x05, 0xd7, 0x51, 0x0a, - 0x73, 0x28, 0x08, 0x8f, 0x52, 0x0a, 0x19, 0x2d, - 0x1f, 0x32, 0xc4, 0x56, 0x11, 0x1c, 0x35, 0x2f, - 0x16, 0x16, 0x39, 0xaa, 0x01, 0x0e, 0x1b, 0x02, - 0x03, 0xe8, 0x2e, 0x18, 0x39, 0x65, 0x4f, 0x06, - 0x4d, 0x0b, 0x09, 0x4f, 0x01, 0x1f, 0x32, 0xd4, - 0x0a, 0x12, 0x0e, 0x49, 0x35, 0x0e, 0xd5, 0x0a, - 0x0e, 0x4f, 0x35, 0x0e, 0xac, 0x0a, 0x0e, 0x55, - 0x35, 0x0f, 0x2b, 0x00, 0x12, 0x0f, 0xd8, 0x0a, - 0x0c, 0x0e, 0x61, 0x35, 0x0f, 0x2b, 0x00, 0x12, - 0x1f, 0x33, 0x2b, 0x00, 0x17, 0x0f, 0xdb, 0x0a, - 0x17, 0x2f, 0x35, 0x32, 0xdb, 0x0a, 0x19, 0x0e, - 0x3f, 0x0a, 0x0f, 0x99, 0x35, 0x10, 0x1f, 0x35, - 0x35, 0x00, 0x0b, 0x0f, 0xdd, 0x0a, 0x03, 0x1f, - 0x30, 0x35, 0x00, 0x0b, 0x1f, 0x32, 0x12, 0x0b, - 0x15, 0x0d, 0xda, 0x35, 0x0f, 0xb8, 0x62, 0x02, - 0x0f, 0x4b, 0x01, 0x09, 0x0f, 0x7d, 0x52, 0x14, - 0x2f, 0x32, 0x33, 0xf8, 0x0a, 0x08, 0x16, 0x32, - 0x4a, 0x72, 0x0c, 0x67, 0x93, 0x02, 0x15, 0x00, - 0x0e, 0x7d, 0x08, 0x0a, 0xac, 0x0a, 0x0f, 0x74, - 0x0a, 0x05, 0x0d, 0xa9, 0x60, 0x2d, 0x33, 0x32, - 0x75, 0x0a, 0x27, 0x34, 0x38, 0x75, 0x0a, 0x1d, - 0x32, 0x75, 0x0a, 0x14, 0x34, 0x53, 0x11, 0x0c, - 0x75, 0x0a, 0x0e, 0x2d, 0x4e, 0x0d, 0x2c, 0x35, - 0x0d, 0xab, 0x0b, 0x1f, 0x37, 0x92, 0x35, 0x06, - 0x16, 0x36, 0x10, 0x24, 0x0d, 0x7f, 0x1a, 0x03, - 0xa2, 0x3f, 0x0f, 0x75, 0x0a, 0x03, 0x04, 0xe1, - 0x30, 0x0c, 0x76, 0x0a, 0x14, 0x32, 0x76, 0x0a, - 0x1e, 0x32, 0x76, 0x0a, 0x0e, 0xc6, 0x1a, 0x1f, - 0x32, 0x76, 0x0a, 0x08, 0x03, 0xe8, 0x1a, 0x0c, - 0x76, 0x0a, 0x04, 0xf1, 0x83, 0x0f, 0xaa, 0x23, - 0x11, 0x2f, 0x32, 0x39, 0xaa, 0x23, 0x06, 0x07, - 0xfe, 0x80, 0x1f, 0x34, 0x6d, 0x2e, 0x0d, 0x05, - 0xa5, 0x01, 0x0f, 0xa6, 0x0a, 0x04, 0x03, 0xcc, - 0x00, 0x1b, 0x30, 0x5d, 0x09, 0x1f, 0x30, 0xa6, - 0x0a, 0x0d, 0x16, 0x30, 0xa6, 0x0a, 0x1e, 0x30, - 0xa6, 0x0a, 0x0b, 0x5a, 0x00, 0x09, 0xa6, 0x0a, - 0x1f, 0x32, 0xa6, 0x0a, 0x09, 0x0e, 0xd2, 0x12, - 0x0f, 0x3d, 0x7c, 0x09, 0x07, 0xd1, 0x7d, 0x0f, - 0xa6, 0x0a, 0x0d, 0x08, 0xdd, 0x34, 0x1b, 0x30, - 0xa6, 0x0a, 0x03, 0x9a, 0x1f, 0x0b, 0x3e, 0x07, - 0x2e, 0x30, 0x2c, 0xa6, 0x0a, 0x03, 0xe6, 0x0a, - 0x05, 0x9d, 0x0b, 0x08, 0xa6, 0x0a, 0x03, 0x56, - 0x23, 0x0e, 0x6d, 0x78, 0x0e, 0x76, 0x44, 0x07, - 0xa5, 0x73, 0x1f, 0x34, 0x57, 0x0a, 0x03, 0x03, - 0xc2, 0x43, 0x0c, 0x56, 0x0a, 0x03, 0xd4, 0x86, - 0x08, 0xed, 0x09, 0x2e, 0x33, 0x36, 0xc9, 0x5a, - 0x06, 0xd3, 0x1d, 0x0e, 0x43, 0x64, 0x1f, 0x38, - 0xf9, 0x0d, 0x04, 0x09, 0x68, 0x58, 0x00, 0x1c, - 0x00, 0x34, 0x74, 0x6f, 0x6d, 0x73, 0x03, 0x00, - 0x28, 0x00, 0x07, 0x17, 0x01, 0x10, 0x5b, 0x2f, - 0x00, 0x09, 0x33, 0x1f, 0x1f, 0x32, 0x0c, 0x0a, - 0x08, 0x00, 0xd6, 0x22, 0x07, 0x4a, 0x14, 0x08, - 0xfe, 0x00, 0x15, 0x31, 0x70, 0x03, 0x00, 0x0c, - 0x0a, 0x0d, 0x62, 0x03, 0x03, 0x24, 0x43, 0x0f, - 0xf8, 0x09, 0x04, 0x09, 0x64, 0x03, 0x07, 0xf8, - 0x09, 0x14, 0x32, 0xf8, 0x09, 0x1e, 0x32, 0xf8, - 0x09, 0x1f, 0x31, 0xf8, 0x09, 0x0c, 0x06, 0xab, - 0x65, 0x0f, 0xf9, 0x09, 0x09, 0x27, 0x34, 0x33, - 0x7d, 0x05, 0x1e, 0x31, 0x8f, 0x28, 0x06, 0xe5, - 0x1a, 0x0f, 0x19, 0x5e, 0x0a, 0x1d, 0x35, 0xfa, - 0x09, 0x1e, 0x32, 0xfa, 0x09, 0x15, 0x32, 0xab, - 0x08, 0x1d, 0x32, 0xfa, 0x09, 0x15, 0x34, 0x03, - 0xac, 0x0c, 0xe8, 0x05, 0x0e, 0x69, 0x05, 0x07, - 0x19, 0x0c, 0x04, 0x3c, 0x0c, 0x0e, 0xfa, 0x09, - 0x02, 0x07, 0x0c, 0x10, 0x5b, 0x29, 0x00, 0x0f, - 0xfa, 0x09, 0x06, 0x1f, 0x31, 0xfa, 0x09, 0x08, - 0x1f, 0x32, 0xfa, 0x09, 0x1d, 0x1f, 0x33, 0xfa, - 0x09, 0x11, 0x1c, 0x34, 0xf1, 0x1f, 0x07, 0x6f, - 0x62, 0x1f, 0x31, 0xfa, 0x09, 0x05, 0x0a, 0x5f, - 0x69, 0x06, 0xfb, 0x09, 0x09, 0x50, 0x01, 0x0f, - 0xfb, 0x09, 0x13, 0x0e, 0x88, 0x35, 0x0e, 0xfb, - 0x09, 0x0e, 0x8e, 0x35, 0x0e, 0xd0, 0x09, 0x0e, - 0x94, 0x35, 0x0f, 0x2b, 0x00, 0x12, 0x0f, 0xfb, - 0x09, 0x0c, 0x0e, 0xa0, 0x35, 0x0f, 0x2b, 0x00, - 0x12, 0x1f, 0x33, 0x2b, 0x00, 0x17, 0x1f, 0x34, - 0x8d, 0x3f, 0x15, 0x2f, 0x33, 0x34, 0xd5, 0x14, - 0x2c, 0x0e, 0xd5, 0x35, 0x0f, 0x2f, 0x0a, 0x10, - 0x0f, 0xdb, 0x35, 0x08, 0x07, 0xc5, 0x10, 0x0f, - 0x36, 0x01, 0x09, 0x0f, 0x35, 0x00, 0x02, 0x0e, - 0x64, 0x0a, 0x0e, 0xe7, 0x35, 0x0d, 0x35, 0x00, - 0x0f, 0x9f, 0x00, 0x0c, 0x0e, 0xfa, 0x09, 0x0e, - 0xd9, 0x14, 0x0a, 0x7a, 0x32, 0x06, 0x5e, 0x10, - 0x0d, 0xd9, 0x14, 0x06, 0x34, 0x54, 0x0b, 0xd6, - 0x61, 0x0f, 0x1d, 0x36, 0x02, 0x08, 0x34, 0x00, - 0x0e, 0x12, 0xf7, 0x03, 0xd2, 0x06, 0x07, 0x49, - 0x0f, 0x06, 0x95, 0x04, 0x3e, 0x33, 0x5f, 0x37, - 0x2a, 0x13, 0x03, 0x69, 0x27, 0x05, 0x68, 0x10, - 0x0f, 0xfc, 0x0e, 0x01, 0x0c, 0x5a, 0x27, 0x09, - 0x91, 0x61, 0x0f, 0x14, 0x0f, 0x0e, 0x0f, 0x7c, - 0x13, 0x11, 0x1e, 0x33, 0xcd, 0x5c, 0x03, 0x63, - 0x8f, 0x06, 0xc1, 0x3b, 0x08, 0x1d, 0x01, 0x1f, - 0x39, 0xd6, 0x08, 0x0c, 0x01, 0xbc, 0x4c, 0x03, - 0x9f, 0x40, 0x0d, 0x24, 0x01, 0x1b, 0x34, 0x59, - 0x00, 0x09, 0x3b, 0x0a, 0x03, 0x94, 0x83, 0x0e, - 0xd5, 0x08, 0x04, 0x35, 0x00, 0x0f, 0x7b, 0x13, - 0x1e, 0x1f, 0x37, 0xd4, 0x08, 0x0e, 0x15, 0x38, - 0x64, 0x5e, 0x1a, 0x36, 0xd1, 0x08, 0x03, 0x13, - 0x33, 0x0b, 0xf9, 0x07, 0x0e, 0x6e, 0x37, 0x04, - 0x9e, 0x32, 0x06, 0xc8, 0x06, 0x06, 0xcf, 0x08, - 0x07, 0x5b, 0x0c, 0x0b, 0x20, 0x41, 0x0c, 0xcf, - 0x08, 0x16, 0x39, 0x4f, 0x63, 0x2e, 0x32, 0x33, + 0x00, 0x02, 0x0f, 0xd0, 0x00, 0x0b, 0x2e, 0x34, + 0x5d, 0x64, 0x29, 0x0b, 0x8e, 0x33, 0x25, 0x6c, + 0x6f, 0x05, 0x03, 0x06, 0x67, 0x29, 0x0c, 0x15, + 0x1d, 0x04, 0xae, 0x3e, 0x1e, 0x25, 0xb6, 0x29, + 0x18, 0x36, 0x1f, 0x17, 0x08, 0x40, 0x3c, 0x08, + 0xce, 0x29, 0x29, 0x64, 0x69, 0x5b, 0x48, 0x04, + 0x47, 0x48, 0x1b, 0x36, 0xba, 0x57, 0x07, 0x8e, + 0x21, 0x07, 0x32, 0x00, 0x02, 0x17, 0x08, 0x06, + 0x31, 0x00, 0x09, 0xb5, 0x00, 0x17, 0x36, 0x10, + 0x46, 0x05, 0x26, 0x15, 0x28, 0x67, 0x65, 0xa6, + 0x4a, 0x02, 0x46, 0x38, 0x0c, 0xcf, 0x15, 0x3b, + 0x35, 0x5f, 0x33, 0xac, 0x34, 0x03, 0x40, 0x77, + 0x02, 0xa2, 0x03, 0x11, 0x35, 0x08, 0x18, 0x0d, + 0x91, 0x46, 0x2e, 0x35, 0x36, 0x1d, 0x2b, 0x0e, + 0x66, 0x72, 0x0b, 0xa4, 0x68, 0x03, 0xe9, 0x17, + 0x08, 0x1d, 0x01, 0x0f, 0x9f, 0x9c, 0x06, 0x12, + 0x33, 0x10, 0x1e, 0x0c, 0x20, 0x3f, 0x26, 0x35, + 0x36, 0x93, 0x22, 0x0f, 0xe7, 0x6b, 0x04, 0x03, + 0xfb, 0x35, 0x0c, 0x1f, 0x28, 0x13, 0x35, 0x8b, + 0x2a, 0x00, 0xf1, 0x00, 0x0d, 0x8b, 0x2a, 0x08, + 0x62, 0x00, 0x15, 0x37, 0xe4, 0x01, 0x1d, 0x34, + 0x48, 0x01, 0x07, 0x81, 0x77, 0x1c, 0x32, 0xca, + 0x27, 0x17, 0x35, 0xe3, 0x0f, 0x2a, 0x6c, 0x6f, + 0x3a, 0x21, 0x02, 0x4d, 0x02, 0x0f, 0x27, 0x26, + 0x08, 0x14, 0x35, 0xb4, 0x2d, 0x02, 0xa2, 0x00, + 0x2e, 0x35, 0x3a, 0x77, 0x4b, 0x06, 0x7a, 0x00, + 0x1b, 0x32, 0x45, 0x01, 0x0e, 0x30, 0x5b, 0x0b, + 0x15, 0x3e, 0x11, 0x32, 0x58, 0x49, 0x02, 0xfc, + 0x3e, 0x0d, 0xd4, 0x00, 0x1b, 0x37, 0x5a, 0x00, + 0x09, 0xf7, 0x26, 0x3f, 0x35, 0x5f, 0x39, 0xb7, + 0x10, 0x02, 0x05, 0x8f, 0x00, 0x1f, 0x34, 0xc9, + 0x87, 0x03, 0x05, 0x48, 0x75, 0x0e, 0x31, 0x2e, + 0x12, 0x33, 0xd7, 0x18, 0x11, 0x37, 0x93, 0x03, + 0x41, 0x61, 0x74, 0x63, 0x68, 0x7a, 0x18, 0x02, + 0xb7, 0x00, 0x0e, 0xce, 0x4e, 0x01, 0xac, 0x08, + 0x35, 0x6e, 0x65, 0x67, 0x4e, 0x02, 0x06, 0xbc, + 0x9f, 0x0b, 0x1a, 0x59, 0x0c, 0x62, 0x22, 0x15, + 0x33, 0x70, 0x4e, 0x03, 0x1f, 0x2c, 0x07, 0x09, + 0x18, 0x2e, 0x33, 0x36, 0x08, 0x18, 0x02, 0x86, + 0x11, 0x0d, 0x07, 0x18, 0x07, 0xcf, 0x12, 0x01, + 0x44, 0x07, 0x0e, 0x8e, 0x2b, 0x04, 0x3c, 0x14, + 0x0b, 0x02, 0x64, 0x06, 0x51, 0x25, 0x08, 0x8d, + 0x24, 0x1b, 0x31, 0xd6, 0x10, 0x0a, 0x71, 0x14, + 0x07, 0x3f, 0x3d, 0x13, 0x31, 0x66, 0x0d, 0x17, + 0x38, 0x8c, 0x01, 0x0d, 0x2b, 0x2a, 0x17, 0x32, + 0x29, 0x01, 0x0b, 0x51, 0x48, 0x03, 0x62, 0x0e, + 0x0e, 0xa5, 0x21, 0x1f, 0x34, 0x28, 0xa4, 0x04, + 0x03, 0x27, 0x0d, 0x15, 0x34, 0x4f, 0x0f, 0x4b, + 0x70, 0x6f, 0x70, 0x63, 0x63, 0x5c, 0x0e, 0x66, + 0x2d, 0x03, 0x7d, 0x01, 0x10, 0x5b, 0x40, 0x00, + 0x0b, 0x93, 0x1d, 0x04, 0x67, 0x5c, 0x02, 0x20, + 0x24, 0x0e, 0xe6, 0x03, 0x02, 0x34, 0x00, 0x04, + 0xe6, 0x0c, 0x12, 0x0a, 0xe2, 0x00, 0x1f, 0x3a, + 0xd0, 0x7a, 0x05, 0x14, 0x39, 0x5c, 0x18, 0x04, + 0x63, 0x93, 0x0a, 0x13, 0x14, 0x12, 0x0a, 0xad, + 0x02, 0x03, 0xda, 0x03, 0x43, 0x77, 0x61, 0x72, + 0x70, 0xdf, 0x03, 0x1c, 0x2d, 0x42, 0x04, 0x07, + 0xf0, 0x02, 0x1f, 0x33, 0x33, 0x6e, 0x04, 0x09, + 0xe2, 0x03, 0x27, 0x31, 0x30, 0x82, 0x01, 0x14, + 0x35, 0x6a, 0x00, 0x01, 0x68, 0x13, 0x08, 0x82, + 0x02, 0x18, 0x39, 0xf3, 0x35, 0x0e, 0xec, 0x2d, + 0x03, 0xbb, 0x26, 0x0e, 0xc0, 0x36, 0x09, 0x2e, + 0x04, 0x02, 0x63, 0x0a, 0x03, 0xe8, 0x2f, 0x0f, + 0x30, 0x72, 0x04, 0x2f, 0x35, 0x31, 0xcc, 0x35, + 0x08, 0x05, 0x30, 0x79, 0x27, 0x40, 0x21, 0x52, + 0x2e, 0x00, 0xb0, 0x00, 0x0b, 0xfe, 0x84, 0x00, + 0x13, 0x00, 0x15, 0x31, 0xcd, 0x00, 0x2e, 0x31, + 0x3a, 0xba, 0x2e, 0x02, 0xf5, 0x24, 0x0e, 0xe7, + 0x2f, 0x0e, 0x3c, 0x02, 0x05, 0x0b, 0x5d, 0x15, + 0x33, 0x21, 0x0b, 0x0e, 0x25, 0x02, 0x03, 0x5b, + 0x48, 0x2e, 0x34, 0x5d, 0xd7, 0x00, 0x0a, 0x8a, + 0x5c, 0x0a, 0xd9, 0x8b, 0x06, 0xb8, 0x2d, 0x0a, + 0xaf, 0x7b, 0x02, 0xf7, 0x28, 0x07, 0x14, 0x30, + 0x0a, 0x19, 0x2d, 0x04, 0x5d, 0x28, 0x0f, 0x39, + 0x2b, 0x04, 0x12, 0x31, 0x36, 0x15, 0x0c, 0x2f, + 0x16, 0x16, 0x39, 0xaa, 0x01, 0x1f, 0x33, 0x16, + 0x70, 0x04, 0x06, 0xc8, 0x01, 0x0a, 0xe9, 0x43, + 0x09, 0x4f, 0x01, 0x1f, 0x32, 0xd4, 0x0a, 0x12, + 0x0e, 0x49, 0x35, 0x0e, 0xd5, 0x0a, 0x0e, 0x4f, + 0x35, 0x0e, 0xac, 0x0a, 0x0e, 0x55, 0x35, 0x0f, + 0x2b, 0x00, 0x12, 0x0f, 0xd8, 0x0a, 0x0c, 0x0e, + 0x61, 0x35, 0x0f, 0x2b, 0x00, 0x12, 0x1f, 0x33, + 0x2b, 0x00, 0x17, 0x0f, 0xdb, 0x0a, 0x17, 0x2f, + 0x35, 0x32, 0xdb, 0x0a, 0x19, 0x0e, 0x3f, 0x0a, + 0x0f, 0x99, 0x35, 0x10, 0x1f, 0x35, 0x35, 0x00, + 0x0b, 0x0f, 0xdd, 0x0a, 0x03, 0x1f, 0x30, 0x35, + 0x00, 0x0b, 0x1f, 0x32, 0x12, 0x0b, 0x15, 0x0d, + 0xda, 0x35, 0x0d, 0x35, 0x00, 0x1f, 0x31, 0x35, + 0x00, 0x0b, 0x1e, 0x34, 0x58, 0x56, 0x06, 0x75, + 0x0a, 0x08, 0xa4, 0x09, 0x1f, 0x33, 0xf8, 0x0a, + 0x08, 0x16, 0x32, 0xf3, 0x73, 0x01, 0x09, 0x08, + 0x0d, 0xee, 0x52, 0x0e, 0x7d, 0x08, 0x0a, 0xac, + 0x0a, 0x0f, 0x74, 0x0a, 0x05, 0x0e, 0xca, 0x87, + 0x1d, 0x36, 0x75, 0x0a, 0x27, 0x34, 0x38, 0x75, + 0x0a, 0x1d, 0x36, 0x75, 0x0a, 0x14, 0x34, 0x53, + 0x11, 0x0c, 0x75, 0x0a, 0x0e, 0x09, 0x72, 0x0d, + 0x2c, 0x35, 0x1e, 0x32, 0xd5, 0x53, 0x0f, 0x92, + 0x35, 0x05, 0x16, 0x36, 0x10, 0x24, 0x0d, 0x7f, + 0x1a, 0x03, 0xfb, 0x87, 0x0f, 0x75, 0x0a, 0x03, + 0x04, 0xe1, 0x30, 0x0c, 0x76, 0x0a, 0x14, 0x36, + 0x76, 0x0a, 0x1f, 0x36, 0x76, 0x0a, 0x0b, 0x03, + 0x98, 0x81, 0x0f, 0x76, 0x0a, 0x08, 0x03, 0xe8, + 0x1a, 0x0c, 0x76, 0x0a, 0x14, 0x36, 0x76, 0x0a, + 0x0f, 0xaa, 0x23, 0x10, 0x2f, 0x32, 0x39, 0xaa, + 0x23, 0x06, 0x16, 0x38, 0xa4, 0x0b, 0x1f, 0x34, + 0x6d, 0x2e, 0x0d, 0x05, 0xa5, 0x01, 0x0e, 0xa6, + 0x0a, 0x08, 0x7a, 0x83, 0x0c, 0x48, 0x49, 0x1f, + 0x30, 0xa6, 0x0a, 0x0d, 0x16, 0x30, 0xa6, 0x0a, + 0x1e, 0x30, 0xa6, 0x0a, 0x0b, 0x5a, 0x00, 0x09, + 0xa6, 0x0a, 0x1f, 0x36, 0xa6, 0x0a, 0x09, 0x0f, + 0xd2, 0x12, 0x01, 0x08, 0x63, 0x11, 0x0f, 0xa6, + 0x0a, 0x03, 0x1f, 0x31, 0xa6, 0x0a, 0x0f, 0x08, + 0xdd, 0x34, 0x1b, 0x30, 0xa6, 0x0a, 0x06, 0x20, + 0x57, 0x0b, 0x08, 0x65, 0x0d, 0xa6, 0x0a, 0x07, + 0x9f, 0x96, 0x2b, 0x33, 0x32, 0xa6, 0x0a, 0x03, + 0x56, 0x23, 0x0e, 0xfc, 0x74, 0x0e, 0x99, 0xa1, + 0x0d, 0xf9, 0x74, 0x0d, 0x57, 0x0a, 0x03, 0x3a, + 0x9f, 0x0c, 0x56, 0x0a, 0x12, 0x36, 0x56, 0x0a, + 0x08, 0xed, 0x09, 0x2e, 0x33, 0x36, 0x8c, 0x75, + 0x06, 0xd3, 0x1d, 0x0d, 0x84, 0x03, 0x2f, 0x33, + 0x38, 0xf9, 0x0d, 0x04, 0x17, 0x39, 0x78, 0x1c, + 0x01, 0x53, 0x03, 0x34, 0x74, 0x6f, 0x6d, 0x73, + 0x03, 0x00, 0x28, 0x00, 0x07, 0x17, 0x01, 0x10, + 0x5b, 0x2f, 0x00, 0x09, 0x33, 0x1f, 0x1f, 0x36, + 0x0c, 0x0a, 0x08, 0x05, 0x53, 0xa1, 0x04, 0xbb, + 0x9f, 0x06, 0xfe, 0x00, 0x15, 0x31, 0x70, 0x03, + 0x2e, 0x39, 0x3a, 0x62, 0x03, 0x03, 0x06, 0x00, + 0x0f, 0x2b, 0x78, 0x05, 0x09, 0x64, 0x03, 0x07, + 0xf8, 0x09, 0x14, 0x36, 0xf8, 0x09, 0x1e, 0x36, + 0xf8, 0x09, 0x1f, 0x31, 0xf8, 0x09, 0x0c, 0x03, + 0x25, 0x34, 0x0f, 0xf9, 0x09, 0x0c, 0x27, 0x34, + 0x33, 0x7d, 0x05, 0x1f, 0x31, 0x8f, 0x28, 0x04, + 0x1f, 0x34, 0x41, 0x0e, 0x08, 0x03, 0x12, 0xa7, + 0x0d, 0xfa, 0x09, 0x1e, 0x36, 0xfa, 0x09, 0x15, + 0x36, 0xab, 0x08, 0x1d, 0x36, 0xfa, 0x09, 0x03, + 0x2c, 0x86, 0x1e, 0x31, 0x36, 0x0c, 0x0e, 0x69, + 0x05, 0x07, 0x19, 0x0c, 0x04, 0x3c, 0x0c, 0x0e, + 0xfa, 0x09, 0x02, 0x07, 0x0c, 0x10, 0x5b, 0x29, + 0x00, 0x0f, 0xfa, 0x09, 0x06, 0x1f, 0x31, 0xfa, + 0x09, 0x08, 0x1f, 0x32, 0xfa, 0x09, 0x1d, 0x1f, + 0x33, 0xfa, 0x09, 0x11, 0x1c, 0x34, 0xf1, 0x1f, + 0x03, 0x5a, 0x0b, 0x0f, 0x1d, 0x02, 0x04, 0x1b, + 0x31, 0xca, 0x01, 0x0a, 0xfb, 0x09, 0x09, 0x50, + 0x01, 0x0f, 0xfb, 0x09, 0x13, 0x0e, 0x88, 0x35, + 0x0e, 0xfb, 0x09, 0x0e, 0x8e, 0x35, 0x0e, 0xd0, + 0x09, 0x0e, 0x94, 0x35, 0x0f, 0x2b, 0x00, 0x12, + 0x0f, 0xfb, 0x09, 0x0c, 0x0e, 0xa0, 0x35, 0x0f, + 0x2b, 0x00, 0x12, 0x1f, 0x33, 0x2b, 0x00, 0x17, + 0x1f, 0x34, 0x8d, 0x3f, 0x15, 0x2f, 0x33, 0x34, + 0xd5, 0x14, 0x2c, 0x0e, 0xd5, 0x35, 0x0f, 0x2f, + 0x0a, 0x10, 0x0e, 0xdb, 0x35, 0x0c, 0x19, 0x60, + 0x0e, 0x6a, 0x00, 0x0e, 0xe1, 0x35, 0x0d, 0x35, + 0x00, 0x0e, 0x64, 0x0a, 0x0e, 0xe7, 0x35, 0x0d, + 0x35, 0x00, 0x0f, 0x9f, 0x00, 0x0c, 0x0e, 0xfa, + 0x09, 0x0f, 0xd9, 0x14, 0x08, 0x04, 0xfe, 0x35, + 0x0e, 0x2a, 0x23, 0x08, 0x4a, 0x5f, 0x0c, 0x1e, + 0x29, 0x1f, 0x37, 0x1d, 0x36, 0x04, 0x08, 0x34, + 0x00, 0x1d, 0x37, 0xb1, 0x07, 0x16, 0x32, 0x0e, + 0x7c, 0x1c, 0x32, 0xe1, 0x3c, 0x04, 0xa9, 0xde, + 0x0a, 0x9e, 0x00, 0x02, 0xa1, 0x06, 0x08, 0x13, + 0x81, 0x0e, 0x2c, 0x81, 0x0c, 0x6a, 0x75, 0x08, + 0xe8, 0x0a, 0x0f, 0x14, 0x0f, 0x0e, 0x0f, 0x7c, + 0x13, 0x11, 0x02, 0x20, 0xe6, 0x0e, 0xe4, 0x5f, + 0x04, 0xef, 0x00, 0x0c, 0x96, 0x29, 0x1f, 0x39, + 0xd6, 0x08, 0x0c, 0x11, 0x36, 0x33, 0x5d, 0x05, + 0xe7, 0x25, 0x0a, 0x24, 0x01, 0x1b, 0x34, 0x59, + 0x00, 0x09, 0x3b, 0x0a, 0x3f, 0x37, 0x5f, 0x36, + 0xd5, 0x08, 0x07, 0x2f, 0x33, 0x32, 0x7b, 0x13, + 0x20, 0x1f, 0x37, 0xd4, 0x08, 0x0e, 0x02, 0x2a, + 0x34, 0x04, 0xe2, 0x0e, 0x07, 0xd1, 0x08, 0x03, + 0x13, 0x33, 0x0e, 0x1b, 0x53, 0x0c, 0xd0, 0x08, + 0x03, 0x9e, 0x32, 0x06, 0xc8, 0x06, 0x06, 0xcf, + 0x08, 0x07, 0x5b, 0x0c, 0x0b, 0x20, 0x41, 0x0c, + 0xcf, 0x08, 0x07, 0x1a, 0x92, 0x2e, 0x32, 0x33, 0xf1, 0x0b, 0x0e, 0xdd, 0x0a, 0x09, 0xf2, 0x0b, - 0x0e, 0x87, 0x2e, 0x02, 0x8f, 0x00, 0x0b, 0xaa, - 0x02, 0x05, 0x1e, 0x09, 0x16, 0x35, 0xcb, 0x6d, - 0x1c, 0x39, 0x5f, 0x0b, 0x3c, 0x33, 0x5f, 0x35, - 0x1e, 0x09, 0x12, 0x32, 0x19, 0x35, 0x0f, 0xcd, - 0x06, 0x04, 0x1f, 0x37, 0xc6, 0x10, 0x44, 0x01, - 0x3c, 0x09, 0x03, 0xcf, 0x01, 0x2c, 0x61, 0x64, - 0x5d, 0x63, 0x05, 0x96, 0x67, 0x14, 0x39, 0xc6, - 0x02, 0x1e, 0x35, 0x3d, 0x09, 0x04, 0x73, 0x17, - 0x14, 0x7c, 0x66, 0x0b, 0x06, 0xeb, 0x5f, 0x03, - 0x18, 0x33, 0x04, 0x3d, 0x00, 0x1b, 0x36, 0x76, - 0x40, 0x07, 0xcc, 0x03, 0x1e, 0x34, 0xd0, 0x4e, - 0x0d, 0xe9, 0x03, 0x17, 0x37, 0x3f, 0x01, 0x14, - 0x32, 0x54, 0x00, 0x1f, 0x37, 0x19, 0x07, 0x10, - 0x1f, 0x33, 0x13, 0x07, 0x0b, 0x1f, 0x33, 0x0d, - 0x07, 0x09, 0x1f, 0x33, 0x59, 0x62, 0x04, 0x0e, - 0x25, 0x00, 0x0f, 0x01, 0x07, 0x0d, 0x1f, 0x33, - 0xfb, 0x06, 0x11, 0x1e, 0x33, 0xf5, 0x06, 0x0f, - 0x94, 0x00, 0x07, 0x1f, 0x34, 0x25, 0x00, 0x11, - 0x1f, 0x35, 0x0f, 0x11, 0x03, 0x2e, 0x31, 0x3e, - 0x0f, 0x11, 0x1f, 0x36, 0x15, 0x07, 0x01, 0x1f, - 0x34, 0x22, 0x73, 0x08, 0x0f, 0x2a, 0x01, 0x03, + 0x0e, 0x87, 0x2e, 0x17, 0x38, 0x08, 0x80, 0x1d, + 0x37, 0x1e, 0x09, 0x16, 0x35, 0xb6, 0x7f, 0x1c, + 0x39, 0x5f, 0x0b, 0x3c, 0x37, 0x5f, 0x35, 0x1e, + 0x09, 0x12, 0x32, 0x19, 0x35, 0x0f, 0xcd, 0x06, + 0x04, 0x1f, 0x37, 0xc6, 0x10, 0x44, 0x01, 0x3c, + 0x09, 0x03, 0xcf, 0x01, 0x07, 0x3c, 0x09, 0x01, + 0x17, 0x4c, 0x06, 0xd8, 0x06, 0x03, 0x9c, 0x24, + 0x00, 0xb7, 0x00, 0x0e, 0x3d, 0x09, 0x07, 0x9c, + 0x92, 0x07, 0x73, 0x7f, 0x07, 0x6c, 0x01, 0x14, + 0x38, 0x3d, 0x00, 0x1b, 0x36, 0x76, 0x40, 0x07, + 0xcc, 0x03, 0x1e, 0x34, 0x07, 0x2d, 0x0d, 0xe9, + 0x03, 0x06, 0x99, 0x0b, 0x02, 0x18, 0xea, 0x02, + 0xf2, 0x03, 0x0f, 0x19, 0x07, 0x10, 0x1f, 0x33, + 0x13, 0x07, 0x0b, 0x1f, 0x33, 0x0d, 0x07, 0x09, + 0x1e, 0x33, 0x07, 0x07, 0x0e, 0x86, 0x06, 0x1f, + 0x33, 0x01, 0x07, 0x11, 0x1f, 0x33, 0xfb, 0x06, + 0x11, 0x1e, 0x33, 0xf5, 0x06, 0x0f, 0x94, 0x00, + 0x07, 0x1f, 0x34, 0x25, 0x00, 0x11, 0x1f, 0x35, + 0x0f, 0x11, 0x03, 0x2e, 0x31, 0x3e, 0x0f, 0x11, + 0x1f, 0x36, 0x15, 0x07, 0x01, 0x1f, 0x34, 0x15, + 0x07, 0x04, 0x0d, 0x3b, 0x10, 0x05, 0x2a, 0x01, 0x0f, 0xd4, 0x10, 0x13, 0x1f, 0x33, 0x03, 0x11, 0x0a, 0x0e, 0x5e, 0x00, 0x0f, 0xfd, 0x10, 0x1b, 0x1e, 0x33, 0xfd, 0x06, 0x0b, 0x00, 0x47, 0x0e, 0x52, 0x01, 0x04, 0xf7, 0x06, 0x0f, 0x00, 0x08, - 0x0f, 0x05, 0x5c, 0x01, 0x0e, 0x26, 0x07, 0x0f, - 0xae, 0x73, 0x02, 0x0f, 0x37, 0x11, 0x14, 0x09, - 0x9e, 0x63, 0x14, 0x35, 0xd3, 0x89, 0x05, 0x5c, - 0x59, 0x0e, 0x0b, 0x11, 0x07, 0xee, 0x43, 0x0d, - 0x0c, 0x11, 0x32, 0x34, 0x5f, 0x31, 0x51, 0x31, - 0x0c, 0xef, 0x10, 0x1f, 0x31, 0xee, 0x10, 0x16, - 0x1f, 0x34, 0xed, 0x10, 0x08, 0x1e, 0x36, 0x30, - 0x05, 0x0b, 0x32, 0x46, 0x0f, 0x30, 0x05, 0x05, - 0x02, 0xf0, 0x0d, 0x0e, 0xe5, 0x1b, 0x1b, 0x33, - 0xcb, 0x33, 0x1f, 0x35, 0xe0, 0x1b, 0x08, 0x1f, - 0x30, 0x6b, 0x64, 0x09, 0x03, 0xec, 0x0f, 0x0f, - 0x5f, 0x3e, 0x13, 0x1f, 0x32, 0x0d, 0x43, 0x0e, - 0x03, 0xc2, 0x07, 0x16, 0x34, 0xc2, 0x07, 0x0a, - 0x69, 0x07, 0x03, 0x81, 0x01, 0x0c, 0x40, 0xb9, - 0x06, 0x96, 0x06, 0x09, 0x7f, 0x07, 0x1f, 0x34, - 0x31, 0x45, 0x0a, 0x0f, 0xab, 0x42, 0x08, 0x1e, - 0x35, 0x22, 0x21, 0x0f, 0x4c, 0x49, 0x14, 0x26, - 0x35, 0x33, 0x4c, 0x49, 0x02, 0xca, 0x00, 0x00, - 0x42, 0x23, 0x0e, 0x73, 0x09, 0x0f, 0x99, 0x47, - 0x06, 0x06, 0x86, 0x05, 0x1e, 0x73, 0x6b, 0x19, - 0x06, 0xa4, 0x46, 0x0a, 0x89, 0x0e, 0x09, 0xe2, - 0x2f, 0x2c, 0x34, 0x5f, 0x6a, 0x35, 0x14, 0x34, - 0xfc, 0x0e, 0x11, 0x34, 0xc3, 0x05, 0x0e, 0xd9, - 0x17, 0x14, 0x34, 0x99, 0x5f, 0x1d, 0x5d, 0x3a, - 0x00, 0x14, 0x38, 0x3a, 0x00, 0x2e, 0x35, 0x3a, - 0x4f, 0x3e, 0x0a, 0x1a, 0x47, 0x0a, 0xed, 0x12, - 0x03, 0xa4, 0x6e, 0x0c, 0xab, 0x01, 0x03, 0xb4, - 0x86, 0x0c, 0xa5, 0x07, 0x03, 0x23, 0x7e, 0x0f, - 0xdc, 0x46, 0x0a, 0x0f, 0xab, 0x01, 0x02, 0x05, - 0x5b, 0x9b, 0x1e, 0x34, 0xb6, 0x07, 0x05, 0x3a, - 0x00, 0x1e, 0x38, 0xab, 0x01, 0x05, 0xf6, 0x00, - 0x25, 0x64, 0x39, 0xab, 0x01, 0x2c, 0x38, 0x3a, - 0x58, 0x08, 0x08, 0xfa, 0xba, 0x1e, 0x33, 0x80, - 0x93, 0x0f, 0x0d, 0x13, 0x0b, 0x16, 0x34, 0x0d, - 0x13, 0x0e, 0x69, 0x2e, 0x1b, 0x37, 0x5a, 0x00, - 0x09, 0x74, 0x07, 0x04, 0xe7, 0x7d, 0x08, 0x8f, - 0x12, 0x06, 0xbe, 0x1b, 0x0b, 0x49, 0x12, 0x0d, - 0x8f, 0x12, 0x18, 0x37, 0x47, 0x8a, 0x0b, 0x8f, - 0x12, 0x06, 0xca, 0x11, 0x0b, 0xa4, 0x88, 0x0d, - 0x8f, 0x12, 0x09, 0x68, 0x6a, 0x0e, 0x8f, 0x12, - 0x06, 0x71, 0x09, 0x0c, 0xeb, 0x72, 0x12, 0x35, - 0xc3, 0x12, 0x0d, 0xfc, 0x1c, 0x12, 0x34, 0x64, - 0x0f, 0x0a, 0x94, 0x1c, 0x07, 0x29, 0x52, 0x0e, - 0x1e, 0x09, 0x07, 0x75, 0x1a, 0x04, 0xa5, 0x47, - 0x03, 0x1d, 0xa6, 0x01, 0x4d, 0x00, 0x0f, 0x5c, - 0x12, 0x06, 0x15, 0x36, 0x5c, 0x12, 0x18, 0x35, - 0x50, 0x49, 0x05, 0x6b, 0x00, 0x08, 0x2d, 0x11, - 0x08, 0x32, 0x46, 0x0c, 0x31, 0x1d, 0x03, 0xbc, - 0x28, 0x0e, 0xe7, 0x15, 0x05, 0x34, 0x11, 0x1f, - 0x38, 0xbd, 0x47, 0x07, 0x14, 0x34, 0xd8, 0x35, - 0x0f, 0xbe, 0x47, 0x0d, 0x07, 0x86, 0x05, 0x1b, - 0x30, 0x15, 0x02, 0x0e, 0x03, 0x50, 0x05, 0xdd, - 0x47, 0x16, 0x7b, 0xdd, 0x64, 0x06, 0x46, 0x13, - 0x35, 0x33, 0x35, 0x7d, 0x1f, 0x01, 0x0b, 0x77, - 0x4a, 0x02, 0x2d, 0x00, 0x07, 0x9e, 0x4b, 0x0e, - 0x34, 0x1d, 0x0b, 0xdf, 0x06, 0x07, 0x3d, 0x13, - 0x14, 0x34, 0x04, 0x0a, 0x00, 0xe9, 0x06, 0x0f, + 0x0f, 0x05, 0x5c, 0x01, 0x1e, 0x5d, 0x26, 0x07, + 0x0f, 0x1f, 0x11, 0x01, 0x0f, 0x37, 0x11, 0x14, + 0x28, 0x61, 0x64, 0xb4, 0x15, 0x02, 0xfb, 0x02, + 0x07, 0x30, 0x85, 0x0e, 0x0b, 0x11, 0x07, 0xee, + 0x43, 0x0d, 0x0c, 0x11, 0x45, 0x38, 0x5f, 0x31, + 0x33, 0x47, 0x9b, 0x09, 0x62, 0x85, 0x0f, 0xee, + 0x10, 0x16, 0x1f, 0x34, 0xed, 0x10, 0x08, 0x1e, + 0x36, 0x30, 0x05, 0x0b, 0x32, 0x46, 0x0f, 0x30, + 0x05, 0x05, 0x06, 0x4e, 0x9c, 0x0a, 0xe5, 0x1b, + 0x2b, 0x33, 0x32, 0xea, 0x98, 0x0f, 0xe0, 0x1b, + 0x08, 0x1a, 0x30, 0x7b, 0x2d, 0x0e, 0xb4, 0x1c, + 0x04, 0x1f, 0x1c, 0x0f, 0x5f, 0x3e, 0x0e, 0x1f, + 0x32, 0x0d, 0x43, 0x0e, 0x03, 0xc2, 0x07, 0x02, + 0x71, 0xd1, 0x0e, 0x69, 0x07, 0x04, 0x81, 0x01, + 0x1e, 0x30, 0xba, 0x46, 0x06, 0xfa, 0x1a, 0x17, + 0x34, 0x97, 0x01, 0x0f, 0x31, 0x45, 0x09, 0x0f, + 0xab, 0x42, 0x08, 0x05, 0x96, 0x53, 0x0f, 0x4c, + 0x49, 0x1e, 0x26, 0x35, 0x33, 0x4c, 0x49, 0x02, + 0xca, 0x00, 0x00, 0x42, 0x23, 0x0e, 0x73, 0x09, + 0x0f, 0x99, 0x47, 0x06, 0x06, 0x86, 0x05, 0x1e, + 0x73, 0x6b, 0x19, 0x06, 0xa4, 0x46, 0x0a, 0x89, + 0x0e, 0x09, 0xe2, 0x2f, 0x2c, 0x38, 0x5f, 0x6a, + 0x35, 0x14, 0x38, 0xfc, 0x0e, 0x02, 0xb7, 0xc7, + 0x0e, 0xd9, 0x17, 0x14, 0x34, 0xd7, 0x63, 0x1d, + 0x5d, 0x3a, 0x00, 0x14, 0x38, 0x3a, 0x00, 0x1c, + 0x35, 0xfe, 0x78, 0x0d, 0x1a, 0x47, 0x0a, 0xed, + 0x12, 0x03, 0xba, 0x87, 0x0c, 0xab, 0x01, 0x02, + 0xe8, 0x02, 0x0d, 0x7a, 0x1d, 0x04, 0x9f, 0xd0, + 0x0f, 0xdc, 0x46, 0x09, 0x1f, 0x31, 0x63, 0xc0, + 0x06, 0x1e, 0x31, 0x3b, 0x24, 0x0f, 0x62, 0xc0, + 0x08, 0x0a, 0xf6, 0x00, 0x25, 0x64, 0x39, 0xab, + 0x01, 0x2c, 0x38, 0x3a, 0x58, 0x08, 0x17, 0x36, + 0x25, 0x76, 0x0c, 0xc4, 0x11, 0x1f, 0x34, 0x0d, + 0x13, 0x0d, 0x16, 0x34, 0x0d, 0x13, 0x0e, 0x69, + 0x2e, 0x1b, 0x37, 0x5a, 0x00, 0x09, 0x74, 0x07, + 0x13, 0x38, 0xd0, 0x2d, 0x08, 0x8f, 0x12, 0x06, + 0xbe, 0x1b, 0x0b, 0x49, 0x12, 0x0d, 0x8f, 0x12, + 0x17, 0x37, 0x35, 0x1d, 0x1b, 0x36, 0x8f, 0x12, + 0x06, 0xca, 0x11, 0x08, 0x46, 0x00, 0x0e, 0xfc, + 0x9c, 0x05, 0x85, 0x48, 0x05, 0x1d, 0x81, 0x0e, + 0x8f, 0x12, 0x04, 0x27, 0x89, 0x1e, 0x36, 0x7d, + 0x77, 0x03, 0x99, 0x1d, 0x09, 0xa6, 0x12, 0x12, + 0x38, 0x64, 0x0f, 0x0a, 0x94, 0x1c, 0x07, 0xc7, + 0xbd, 0x0e, 0x1e, 0x09, 0x07, 0x75, 0x1a, 0x04, + 0xa5, 0x47, 0x24, 0x34, 0x34, 0xad, 0x01, 0x03, + 0xf7, 0x10, 0x0f, 0x38, 0x97, 0x05, 0x16, 0x39, + 0xd9, 0x77, 0x08, 0xcb, 0x00, 0x2b, 0x31, 0x34, + 0x63, 0x1d, 0x08, 0x32, 0x46, 0x0c, 0x31, 0x1d, + 0x1e, 0x38, 0x68, 0x10, 0x05, 0x85, 0x12, 0x06, + 0x62, 0x79, 0x0f, 0xbd, 0x47, 0x04, 0x14, 0x34, + 0xd8, 0x35, 0x0f, 0xbe, 0x47, 0x0d, 0x0c, 0x70, + 0x9e, 0x07, 0x15, 0x02, 0x0f, 0x1f, 0x91, 0x04, + 0x13, 0x33, 0x7b, 0x92, 0x05, 0xe9, 0x25, 0x05, + 0x27, 0x31, 0x25, 0x35, 0x7d, 0x1f, 0x01, 0x0b, + 0x77, 0x4a, 0x03, 0x64, 0x58, 0x06, 0x9e, 0x4b, + 0x0e, 0x34, 0x1d, 0x0b, 0xdf, 0x06, 0x07, 0x3d, + 0x13, 0x02, 0x94, 0xd7, 0x03, 0xe9, 0x06, 0x0f, 0x05, 0x0a, 0x10, 0x1f, 0x34, 0xed, 0x25, 0x10, 0x1f, 0x34, 0xed, 0x25, 0x0e, 0x1f, 0x34, 0xed, 0x25, 0x16, 0x1e, 0x34, 0xed, 0x25, 0x0f, 0x2a, @@ -6657,247 +8639,260 @@ const char kernels_70[] = { 0x0f, 0x3c, 0x0a, 0x13, 0x0a, 0x66, 0x01, 0x0f, 0x4b, 0x26, 0x13, 0x0a, 0x70, 0x01, 0x0f, 0x4b, 0x26, 0x13, 0x0a, 0x7a, 0x01, 0x0f, 0x8d, 0x47, - 0x0e, 0x1f, 0x36, 0x6c, 0x26, 0x4d, 0x1f, 0x33, - 0x6b, 0x26, 0x04, 0x1e, 0x34, 0x6b, 0x26, 0x07, - 0x1b, 0x0f, 0x02, 0xd4, 0x05, 0x0b, 0x6f, 0x05, - 0x0e, 0x6a, 0x26, 0x05, 0x99, 0x09, 0x02, 0x8a, - 0x05, 0x0e, 0x26, 0x1c, 0x17, 0x37, 0xb3, 0x00, - 0x0e, 0x1f, 0x00, 0x08, 0x3c, 0x0a, 0x2e, 0x32, - 0x36, 0xc9, 0x16, 0x05, 0xde, 0xc7, 0x0b, 0x38, - 0x00, 0x05, 0x8e, 0x0a, 0x0e, 0xc0, 0x26, 0x09, - 0xf5, 0x7d, 0x1c, 0x37, 0x4c, 0x12, 0x1e, 0x35, + 0x0e, 0x1f, 0x36, 0x6c, 0x26, 0x4d, 0x1e, 0x33, + 0x6b, 0x26, 0x0e, 0x0e, 0x11, 0x08, 0x6b, 0x26, + 0x15, 0x36, 0x8b, 0x1b, 0x0c, 0x9a, 0x7d, 0x0e, + 0x6a, 0x26, 0x05, 0x99, 0x09, 0x02, 0x8a, 0x05, + 0x0e, 0x26, 0x1c, 0x17, 0x37, 0xb3, 0x00, 0x0e, + 0x1f, 0x00, 0x08, 0x3c, 0x0a, 0x0f, 0x6d, 0x7a, + 0x02, 0x06, 0x27, 0x0a, 0x09, 0x38, 0x00, 0x05, + 0x8e, 0x0a, 0x0e, 0xc0, 0x26, 0x05, 0x4b, 0x17, + 0x04, 0x60, 0x0f, 0x09, 0x4c, 0x12, 0x1e, 0x39, 0xc0, 0x26, 0x02, 0x2e, 0x00, 0x02, 0x75, 0x04, - 0x14, 0x35, 0xc0, 0x71, 0x08, 0x85, 0x00, 0x15, - 0x37, 0xca, 0x04, 0x0e, 0xb8, 0x71, 0x1e, 0x37, - 0x77, 0x16, 0x08, 0xc7, 0x0f, 0x0d, 0xaa, 0x0f, - 0x03, 0xc0, 0x48, 0x0e, 0xc9, 0x6b, 0x08, 0x33, - 0x0b, 0x06, 0xb2, 0x6b, 0x0d, 0x54, 0x73, 0x2e, - 0x35, 0x32, 0x51, 0x19, 0x1e, 0x31, 0x51, 0x19, - 0x07, 0x88, 0x0f, 0x07, 0x1b, 0x7e, 0x0e, 0x37, - 0x27, 0x15, 0x32, 0x08, 0x10, 0x0e, 0xc1, 0x05, - 0x1e, 0x35, 0xc2, 0x0f, 0x0c, 0x9f, 0x0c, 0x0c, - 0x43, 0xa2, 0x00, 0x40, 0x01, 0x04, 0x49, 0x01, - 0x0e, 0x37, 0x27, 0x0d, 0x35, 0x51, 0x02, 0x29, - 0x17, 0x0e, 0xe8, 0x12, 0x06, 0x6c, 0x06, 0x0d, - 0x68, 0x0b, 0x1e, 0x35, 0x2e, 0x4e, 0x03, 0xf7, - 0x73, 0x0e, 0x9a, 0x0c, 0x04, 0x15, 0x50, 0x02, - 0xb1, 0x00, 0x0e, 0x53, 0x09, 0x0c, 0x9a, 0x0c, - 0x03, 0x57, 0x1b, 0x06, 0x20, 0x5b, 0x0f, 0x3d, - 0x19, 0x0e, 0x0b, 0x9e, 0x03, 0x16, 0x33, 0x8f, - 0x23, 0x1f, 0x33, 0x80, 0x0c, 0x0e, 0x14, 0x34, - 0x29, 0x01, 0x0e, 0x18, 0x1d, 0x17, 0x35, 0x01, - 0x01, 0x0e, 0x3c, 0x94, 0x0f, 0x0b, 0x0a, 0x0c, - 0x01, 0x36, 0x3f, 0x06, 0x18, 0x09, 0x0a, 0x5b, - 0x01, 0x1b, 0x36, 0x5a, 0x00, 0x09, 0x03, 0x3f, - 0x1f, 0x35, 0x18, 0x1d, 0x04, 0x15, 0x31, 0xfd, - 0x07, 0x0f, 0x22, 0x50, 0x10, 0x0e, 0x1c, 0x1d, - 0x04, 0x64, 0x62, 0x1f, 0x33, 0x1d, 0x1d, 0x08, - 0x1b, 0x37, 0x51, 0x16, 0x08, 0x8e, 0x0a, 0x06, - 0x74, 0x39, 0x0b, 0xdd, 0x0b, 0x0d, 0x8e, 0x0a, - 0x05, 0x2a, 0x56, 0x03, 0x78, 0x0a, 0x08, 0x8e, - 0x0a, 0x06, 0x5e, 0x0a, 0x0b, 0x79, 0x27, 0x0d, - 0x8e, 0x0a, 0x17, 0x38, 0xc8, 0x90, 0x0e, 0xf7, - 0xa9, 0x17, 0x37, 0xc7, 0x1d, 0x1c, 0x38, 0x4d, - 0x0b, 0x1e, 0x35, 0x74, 0x27, 0x17, 0x31, 0xda, - 0x00, 0x0b, 0xf2, 0x53, 0x06, 0x00, 0x7e, 0x0e, - 0xfd, 0x7d, 0x0f, 0xb9, 0x0f, 0x03, 0x08, 0x8c, - 0x7c, 0x1c, 0x32, 0x43, 0x0a, 0x15, 0x35, 0x28, - 0x01, 0x0f, 0x76, 0x0d, 0x06, 0x2f, 0x34, 0x5d, - 0x8f, 0x1b, 0x07, 0x2e, 0x35, 0x34, 0x09, 0x0e, - 0x02, 0x34, 0x00, 0x04, 0x10, 0x35, 0x02, 0xaf, - 0x02, 0x0f, 0x68, 0x1d, 0x07, 0x14, 0x38, 0x3e, - 0x40, 0x04, 0xe1, 0x5c, 0x06, 0x49, 0x01, 0x15, - 0x31, 0x97, 0x44, 0x08, 0xda, 0x0a, 0x03, 0xf7, - 0x01, 0x0c, 0xca, 0x00, 0x03, 0x12, 0x33, 0x0c, - 0x95, 0x04, 0x0d, 0xd6, 0xc8, 0x0d, 0xa8, 0x02, - 0x1e, 0x34, 0x25, 0x31, 0x0a, 0xcd, 0xab, 0x03, - 0xfc, 0x51, 0x0f, 0xed, 0x1b, 0x04, 0x19, 0x35, - 0x1d, 0x3b, 0x1c, 0x35, 0x13, 0x1e, 0x2a, 0x35, - 0x33, 0xba, 0x54, 0x0a, 0xb4, 0x03, 0x1d, 0x39, - 0xb5, 0x04, 0x17, 0x39, 0x17, 0x02, 0x05, 0x5f, - 0x06, 0x2f, 0x31, 0x30, 0xd4, 0x0a, 0x12, 0x0f, - 0xed, 0x25, 0x10, 0x1f, 0x34, 0xed, 0x25, 0x0f, - 0x1f, 0x34, 0xed, 0x25, 0x17, 0x1e, 0x34, 0xed, - 0x25, 0x0f, 0x2b, 0x00, 0x13, 0x0f, 0xd9, 0x0a, - 0x0c, 0x0f, 0xed, 0x25, 0x16, 0x1a, 0x34, 0xa2, - 0x24, 0x0f, 0x2b, 0x00, 0x17, 0x0f, 0xdc, 0x0a, - 0x17, 0x2f, 0x34, 0x38, 0xdc, 0x0a, 0x19, 0x0e, - 0x74, 0x0a, 0x0f, 0x18, 0x26, 0x10, 0x1f, 0x37, - 0x35, 0x00, 0x0b, 0x1f, 0x31, 0x12, 0x0b, 0x15, - 0x0f, 0x18, 0x26, 0x0e, 0x01, 0xef, 0x45, 0x0f, - 0x6c, 0x01, 0x09, 0x0f, 0xae, 0x15, 0x13, 0x1e, - 0x34, 0x18, 0x26, 0x0d, 0x6a, 0x00, 0x1f, 0x39, - 0x35, 0x00, 0x0b, 0x0f, 0xe2, 0x0a, 0x0f, 0x1f, - 0x37, 0x6e, 0x26, 0x14, 0x1f, 0x31, 0x6e, 0x26, - 0x0e, 0x1e, 0x31, 0x69, 0x63, 0x09, 0x6e, 0x26, - 0x0e, 0x2a, 0x21, 0x08, 0xcd, 0xa6, 0x2e, 0x31, - 0x39, 0x61, 0x0a, 0x0f, 0xa6, 0x26, 0x1c, 0x02, - 0xb2, 0x05, 0x05, 0x4d, 0x00, 0x09, 0x5b, 0x0a, - 0x1e, 0x36, 0xa6, 0x26, 0x17, 0x35, 0xa6, 0x26, - 0x05, 0x1b, 0x7c, 0x0d, 0x05, 0x1a, 0x2f, 0x34, - 0x35, 0xd2, 0x20, 0x39, 0x16, 0x31, 0x06, 0x1a, - 0x0e, 0x5d, 0x0a, 0x06, 0x00, 0x1a, 0x0b, 0x11, - 0x5c, 0x05, 0xa9, 0x3a, 0x0f, 0x32, 0x27, 0x25, - 0x0f, 0x1f, 0x27, 0x07, 0x1e, 0x33, 0x39, 0x2e, - 0x05, 0xae, 0x06, 0x0e, 0x28, 0xa1, 0x07, 0x1d, - 0x00, 0x0d, 0x4c, 0x48, 0x14, 0x36, 0x5e, 0x0a, - 0x1f, 0x36, 0x1f, 0x27, 0x0c, 0x1f, 0x36, 0x1f, - 0x27, 0x08, 0x16, 0x34, 0x54, 0x11, 0x0d, 0x45, - 0x1d, 0x04, 0xcb, 0xf5, 0x0b, 0xff, 0x27, 0x0e, - 0x12, 0x17, 0x09, 0xbb, 0x0c, 0x0f, 0x1f, 0x27, + 0x02, 0x5d, 0xbd, 0x0b, 0x85, 0x00, 0x15, 0x37, + 0xca, 0x04, 0x0e, 0x67, 0xac, 0x0e, 0xc4, 0xbc, + 0x09, 0xc7, 0x0f, 0x0d, 0xaa, 0x0f, 0x03, 0xc0, + 0x48, 0x0e, 0x1e, 0x73, 0x08, 0x33, 0x0b, 0x0f, + 0x11, 0x73, 0x02, 0x15, 0x33, 0x38, 0x05, 0x0c, + 0x51, 0x19, 0x0e, 0xe2, 0x9b, 0x08, 0x88, 0x0f, + 0x16, 0x31, 0x23, 0x1b, 0x0e, 0x37, 0x27, 0x15, + 0x32, 0x08, 0x10, 0x0e, 0xc1, 0x05, 0x1e, 0x35, + 0xc2, 0x0f, 0x0c, 0x9f, 0x0c, 0x1c, 0x37, 0x9e, + 0x0c, 0x14, 0x39, 0xbe, 0x05, 0x1e, 0x39, 0x37, + 0x27, 0x0e, 0x35, 0x51, 0x02, 0x29, 0x17, 0x0e, + 0xe8, 0x12, 0x06, 0x6c, 0x06, 0x0d, 0x68, 0x0b, + 0x1e, 0x39, 0x2e, 0x4e, 0x03, 0x2e, 0x90, 0x0e, + 0x9a, 0x0c, 0x04, 0x15, 0x50, 0x02, 0xb1, 0x00, + 0x0e, 0x53, 0x09, 0x0c, 0x9a, 0x0c, 0x03, 0x57, + 0x1b, 0x03, 0x60, 0x3c, 0x0f, 0x3d, 0x19, 0x11, + 0x0b, 0x9e, 0x03, 0x16, 0x33, 0x8f, 0x23, 0x0f, + 0xe4, 0x4d, 0x09, 0x09, 0x18, 0x1d, 0x1e, 0x39, + 0x18, 0x1d, 0x03, 0x38, 0x28, 0x0e, 0x00, 0x13, + 0x03, 0x86, 0x09, 0x0f, 0x0b, 0x0a, 0x0b, 0x01, + 0x36, 0x3f, 0x06, 0x18, 0x09, 0x0a, 0x5b, 0x01, + 0x1b, 0x36, 0x5a, 0x00, 0x09, 0x03, 0x3f, 0x1f, + 0x39, 0x18, 0x1d, 0x04, 0x15, 0x31, 0xfd, 0x07, + 0x0f, 0x22, 0x50, 0x10, 0x0e, 0x1c, 0x1d, 0x04, + 0xfc, 0x83, 0x1f, 0x33, 0x1d, 0x1d, 0x08, 0x1b, + 0x37, 0x51, 0x16, 0x08, 0x8e, 0x0a, 0x06, 0x74, + 0x39, 0x0b, 0xdd, 0x0b, 0x0d, 0x8e, 0x0a, 0x05, + 0x2a, 0x56, 0x03, 0x78, 0x0a, 0x08, 0x8e, 0x0a, + 0x1f, 0x39, 0x7b, 0x8b, 0x05, 0x0d, 0x8e, 0x0a, + 0x05, 0x4a, 0xcc, 0x03, 0x00, 0x39, 0x0a, 0x8e, + 0x0a, 0x17, 0x37, 0xc7, 0x1d, 0x1c, 0x38, 0x4d, + 0x0b, 0x1e, 0x39, 0x74, 0x27, 0x17, 0x31, 0xda, + 0x00, 0x0b, 0xf2, 0x53, 0x03, 0xd4, 0x34, 0x1e, + 0x31, 0x3e, 0x1b, 0x0e, 0x38, 0x25, 0x07, 0xc3, + 0x0a, 0x04, 0xab, 0x27, 0x0c, 0x43, 0x0a, 0x15, + 0x35, 0x28, 0x01, 0x0f, 0x76, 0x0d, 0x06, 0x06, + 0x34, 0xac, 0x0e, 0x8f, 0x1b, 0x2e, 0x35, 0x34, + 0x09, 0x0e, 0x02, 0x34, 0x00, 0x04, 0x10, 0x35, + 0x02, 0xaf, 0x02, 0x0f, 0x68, 0x1d, 0x07, 0x05, + 0x2a, 0xbf, 0x03, 0x89, 0xbb, 0x07, 0x49, 0x01, + 0x06, 0xb2, 0xaa, 0x08, 0xda, 0x0a, 0x07, 0x9a, + 0x97, 0x08, 0xca, 0x00, 0x04, 0x0c, 0xa9, 0x0e, + 0x75, 0x1b, 0x04, 0x29, 0x0b, 0x1e, 0x35, 0x01, + 0x34, 0x05, 0xd5, 0x51, 0x0e, 0x25, 0x31, 0x05, + 0xe9, 0x44, 0x16, 0x33, 0x76, 0x6b, 0x0f, 0xed, + 0x1b, 0x01, 0x19, 0x35, 0x1d, 0x3b, 0x1c, 0x39, + 0x13, 0x1e, 0x2a, 0x35, 0x33, 0xba, 0x54, 0x0e, + 0x75, 0x96, 0x0a, 0xb5, 0x04, 0x17, 0x39, 0x17, + 0x02, 0x05, 0x5f, 0x06, 0x2f, 0x31, 0x30, 0xd4, + 0x0a, 0x12, 0x0f, 0xed, 0x25, 0x10, 0x1f, 0x34, + 0xed, 0x25, 0x0f, 0x1f, 0x34, 0xed, 0x25, 0x17, + 0x1e, 0x34, 0xed, 0x25, 0x0f, 0x2b, 0x00, 0x13, + 0x0f, 0xd9, 0x0a, 0x0c, 0x0f, 0xed, 0x25, 0x16, + 0x1a, 0x34, 0xa2, 0x24, 0x0f, 0x2b, 0x00, 0x17, + 0x0f, 0xdc, 0x0a, 0x17, 0x2f, 0x34, 0x38, 0xdc, + 0x0a, 0x19, 0x0e, 0x74, 0x0a, 0x0f, 0x18, 0x26, + 0x10, 0x1f, 0x37, 0x35, 0x00, 0x0b, 0x1f, 0x31, + 0x12, 0x0b, 0x15, 0x0f, 0x18, 0x26, 0x0e, 0x01, + 0xef, 0x45, 0x0f, 0x6c, 0x01, 0x09, 0x0f, 0xae, + 0x15, 0x13, 0x1e, 0x34, 0x18, 0x26, 0x0d, 0x6a, + 0x00, 0x1f, 0x39, 0x35, 0x00, 0x0b, 0x0f, 0xe2, + 0x0a, 0x0f, 0x1f, 0x37, 0x6e, 0x26, 0x14, 0x1f, + 0x31, 0x6e, 0x26, 0x0e, 0x1e, 0x31, 0x8c, 0xc0, + 0x09, 0x6e, 0x26, 0x0e, 0x2a, 0x21, 0x06, 0x9c, + 0x7a, 0x03, 0x53, 0x1b, 0x0e, 0x61, 0x0a, 0x0f, + 0xa6, 0x26, 0x19, 0x02, 0xb2, 0x05, 0x05, 0x4d, + 0x00, 0x08, 0x5b, 0x0a, 0x2e, 0x35, 0x30, 0xa6, + 0x26, 0x16, 0x35, 0xa6, 0x26, 0x2f, 0x35, 0x30, + 0x5b, 0x0a, 0x01, 0x03, 0xa9, 0xa7, 0x0f, 0xd2, + 0x20, 0x39, 0x16, 0x31, 0x06, 0x1a, 0x0e, 0x5d, + 0x0a, 0x06, 0x00, 0x1a, 0x0e, 0x40, 0x7b, 0x02, + 0xb0, 0x00, 0x0f, 0x32, 0x27, 0x25, 0x0f, 0x1f, + 0x27, 0x07, 0x1e, 0x33, 0x39, 0x2e, 0x05, 0xae, + 0x06, 0x0e, 0x5d, 0x0a, 0x07, 0x1d, 0x00, 0x0c, + 0x4c, 0x48, 0x00, 0x43, 0x01, 0x04, 0x4c, 0x01, + 0x0f, 0x1f, 0x27, 0x0b, 0x1f, 0x36, 0x1f, 0x27, + 0x08, 0x16, 0x34, 0x54, 0x11, 0x0b, 0x45, 0x1d, + 0x00, 0x58, 0x00, 0x0e, 0x1f, 0x27, 0x1e, 0x37, + 0x12, 0x17, 0x0b, 0xbb, 0x0c, 0x0f, 0x1f, 0x27, 0x04, 0x04, 0xa3, 0x28, 0x0e, 0x11, 0x17, 0x0e, 0xbf, 0x1c, 0x0a, 0x27, 0x1c, 0x0f, 0x75, 0x0a, 0x07, 0x1f, 0x36, 0xfa, 0x4a, 0x0d, 0x14, 0x35, 0x21, 0x01, 0x0f, 0x56, 0x0a, 0x04, 0x13, 0x34, - 0x42, 0x62, 0x0f, 0x6e, 0x27, 0x1d, 0x16, 0x31, + 0x58, 0xbf, 0x0f, 0x6e, 0x27, 0x1d, 0x16, 0x31, 0x56, 0x0a, 0x1e, 0x30, 0x56, 0x0a, 0x0b, 0x5a, - 0x00, 0x09, 0x56, 0x0a, 0x1f, 0x36, 0x56, 0x0a, - 0x0a, 0x0e, 0x66, 0x3c, 0x05, 0x56, 0x0a, 0x1f, - 0x34, 0x55, 0x0a, 0x09, 0x1f, 0x32, 0x55, 0x0a, - 0x10, 0x17, 0x33, 0x4a, 0x5b, 0x1e, 0x31, 0x72, - 0x27, 0x0e, 0x9f, 0x1f, 0x2f, 0x34, 0x37, 0x72, - 0x27, 0x06, 0x1f, 0x33, 0x72, 0x27, 0x2c, 0x1e, - 0x34, 0x72, 0x27, 0x0c, 0x55, 0x0a, 0x03, 0xdf, - 0x59, 0x0c, 0x54, 0x0a, 0x1f, 0x36, 0x72, 0x27, - 0x06, 0x0b, 0x4f, 0x0a, 0x04, 0x29, 0x45, 0x0f, - 0x72, 0x27, 0x3e, 0x03, 0x93, 0x25, 0x0b, 0x72, - 0x27, 0x1f, 0x36, 0x72, 0x27, 0x0c, 0x07, 0x3a, - 0x88, 0x08, 0xfe, 0x00, 0x0f, 0x05, 0x0b, 0x03, - 0x03, 0xda, 0x76, 0x0c, 0xd3, 0x0a, 0x06, 0xea, - 0x0a, 0x0e, 0x06, 0x0b, 0x15, 0x31, 0xe4, 0x26, - 0x0f, 0x09, 0x0a, 0x04, 0x2f, 0x34, 0x34, 0x09, - 0x0a, 0x2b, 0x15, 0x34, 0xe9, 0x00, 0x0c, 0x1c, - 0x28, 0x08, 0xf0, 0x02, 0x0e, 0x09, 0x0a, 0x0d, - 0x60, 0x04, 0x17, 0x39, 0xcc, 0x01, 0x05, 0xa0, - 0x03, 0x0f, 0x09, 0x0a, 0x14, 0x0f, 0xfb, 0x25, - 0x10, 0x1f, 0x34, 0xfb, 0x25, 0x0f, 0x1f, 0x34, - 0xfb, 0x25, 0x17, 0x1e, 0x34, 0x95, 0x5b, 0x0f, - 0x2b, 0x00, 0x13, 0x0f, 0x09, 0x0a, 0x0c, 0x0f, - 0xfb, 0x25, 0x16, 0x1a, 0x34, 0xb1, 0x24, 0x0f, - 0x2b, 0x00, 0x17, 0x1f, 0x35, 0x26, 0x26, 0x15, - 0x2f, 0x34, 0x33, 0x08, 0x0a, 0x19, 0x0e, 0x48, - 0x14, 0x0f, 0x26, 0x26, 0x10, 0x0e, 0x15, 0x14, - 0x0e, 0x01, 0x5c, 0x0f, 0x4e, 0x15, 0x11, 0x0f, - 0x26, 0x26, 0x0f, 0x0f, 0x6a, 0x00, 0x0c, 0x1f, - 0x33, 0x5b, 0x26, 0x13, 0x0b, 0x75, 0x01, 0x0f, - 0x5b, 0x26, 0x13, 0x0b, 0x7f, 0x01, 0x1f, 0x5d, - 0x43, 0x66, 0x09, 0x0f, 0x73, 0x26, 0x14, 0x1f, - 0x37, 0x73, 0x26, 0x0c, 0x0e, 0xb8, 0x49, 0x06, - 0x64, 0x0f, 0x06, 0xb8, 0x49, 0x0e, 0xb4, 0x09, - 0x03, 0x24, 0x00, 0x0d, 0x5b, 0x26, 0x13, 0x37, - 0x5b, 0x26, 0x07, 0x9f, 0x00, 0x0e, 0x0f, 0x2f, - 0x09, 0x52, 0x66, 0x0f, 0xb9, 0x52, 0x02, 0x07, - 0x6e, 0xa4, 0x0d, 0x7d, 0xb1, 0x1e, 0x32, 0xf2, - 0x07, 0x1c, 0x34, 0x00, 0x66, 0x0a, 0xb3, 0x0a, - 0x1f, 0x33, 0xda, 0x26, 0x0f, 0x0f, 0x1d, 0x3a, - 0x0f, 0x1f, 0x32, 0xff, 0x80, 0x0d, 0x0f, 0xa2, - 0x12, 0x09, 0x18, 0x33, 0xa2, 0x12, 0x0e, 0xb1, - 0x83, 0x09, 0xcf, 0xaa, 0x2e, 0x31, 0x33, 0xa2, - 0x25, 0x0f, 0xe4, 0x26, 0x14, 0x1e, 0x32, 0x9e, - 0x09, 0x07, 0xdc, 0x05, 0x0e, 0xe4, 0x26, 0x1f, - 0x37, 0xe4, 0x26, 0x09, 0x2f, 0x34, 0x31, 0xe4, - 0x26, 0x5c, 0x1e, 0x36, 0xe4, 0x26, 0x01, 0xce, - 0x06, 0x0d, 0xe4, 0x26, 0x16, 0x37, 0xe4, 0x26, - 0x0b, 0x24, 0x1d, 0x04, 0x44, 0x0a, 0x0e, 0x25, - 0x0a, 0x0e, 0xe4, 0x26, 0x0a, 0x36, 0x21, 0x0e, - 0x94, 0x26, 0x03, 0x86, 0x02, 0x0d, 0x94, 0x26, - 0x1e, 0x37, 0x94, 0x26, 0x2f, 0x33, 0x34, 0x94, - 0x26, 0x04, 0x1e, 0x39, 0x94, 0x26, 0x08, 0x72, - 0x0c, 0x0e, 0x95, 0x26, 0x05, 0x75, 0x0c, 0x03, - 0x9e, 0xb4, 0x0e, 0xb3, 0x5f, 0x04, 0xcd, 0x26, - 0x1e, 0x31, 0x78, 0x1d, 0x08, 0x35, 0x01, 0x03, - 0xa1, 0x5f, 0x04, 0x20, 0x09, 0x02, 0x78, 0x02, - 0x0f, 0x96, 0x26, 0x07, 0x14, 0x36, 0x96, 0x26, - 0x02, 0x3f, 0x08, 0x0b, 0x43, 0x0b, 0x0d, 0x15, - 0x09, 0x05, 0x8b, 0x0b, 0x09, 0x06, 0x01, 0x07, - 0xf9, 0x08, 0x0e, 0x23, 0x89, 0x06, 0x2f, 0x14, - 0x0e, 0x5e, 0x08, 0x0e, 0x19, 0x4c, 0x0a, 0x17, - 0x79, 0x0f, 0x5f, 0x08, 0x13, 0x03, 0x06, 0x2e, - 0x02, 0x9e, 0xf7, 0x0c, 0x0e, 0x3c, 0x0e, 0xd2, - 0x69, 0x0b, 0x62, 0xae, 0x1e, 0x30, 0x5a, 0x27, - 0x0d, 0xe8, 0x04, 0x17, 0x37, 0x05, 0x02, 0x14, - 0x32, 0x6e, 0x00, 0x0f, 0x5a, 0x27, 0x04, 0x8e, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, - 0x6d, 0x08, 0x05, 0x1a, 0x00, 0x0b, 0x62, 0x08, - 0x05, 0x18, 0x00, 0x0e, 0x57, 0x08, 0x0e, 0x20, - 0x00, 0x0e, 0x46, 0x27, 0x0d, 0x20, 0x00, 0x1f, - 0x32, 0x20, 0x00, 0x0c, 0x0f, 0xd7, 0x63, 0x03, - 0x2e, 0x37, 0x3e, 0xa1, 0x86, 0x1f, 0x35, 0x87, - 0x8f, 0x18, 0x00, 0x92, 0x26, 0x0d, 0xca, 0x00, - 0x0f, 0x5e, 0x26, 0x06, 0x0d, 0xd4, 0x00, 0x0f, - 0xbc, 0xb2, 0x05, 0x0d, 0xdd, 0x00, 0x0f, 0x53, - 0x07, 0x02, 0x00, 0x90, 0x11, 0x0d, 0xe7, 0x00, - 0x0c, 0x48, 0x07, 0x0f, 0x92, 0xb2, 0x07, 0x08, - 0x8a, 0x68, 0x0f, 0x9f, 0x63, 0x14, 0x05, 0x1f, - 0x02, 0x0c, 0x11, 0x90, 0x02, 0x62, 0x00, 0x1f, - 0x79, 0x8e, 0xb2, 0x01, 0x0e, 0x75, 0x85, 0x04, - 0x09, 0x1c, 0x1e, 0x79, 0xce, 0xb1, 0x03, 0x41, - 0x63, 0x0e, 0x74, 0x9a, 0x09, 0xcc, 0xb1, 0x0e, - 0x92, 0xbd, 0x07, 0x72, 0x89, 0x22, 0x6f, 0x72, - 0xdf, 0x01, 0x05, 0x5b, 0x58, 0x14, 0x31, 0xff, - 0x89, 0x09, 0x0e, 0x10, 0x06, 0xb2, 0x7c, 0x0f, - 0xa1, 0x9a, 0x0c, 0x0a, 0x1e, 0x8b, 0x06, 0xa5, - 0x19, 0x03, 0xea, 0x89, 0x0f, 0x57, 0x8a, 0x07, - 0x1f, 0x33, 0xc4, 0x9a, 0x20, 0x29, 0x31, 0x34, - 0x09, 0xb3, 0x09, 0x7b, 0x00, 0x13, 0x35, 0x98, - 0x1c, 0x02, 0xab, 0x08, 0x0b, 0x31, 0x35, 0x04, - 0xfe, 0x18, 0x0e, 0xb7, 0x57, 0x1f, 0x37, 0x74, - 0x99, 0x04, 0x1c, 0x38, 0xf7, 0x08, 0x0e, 0xe5, - 0x96, 0x28, 0x38, 0x5d, 0xf2, 0x3e, 0x2e, 0x38, - 0x5f, 0xe4, 0x96, 0x0c, 0x5a, 0x64, 0x0a, 0x98, - 0x11, 0x0a, 0x98, 0x07, 0x0f, 0xc2, 0x53, 0x02, - 0x16, 0x38, 0xb9, 0x39, 0x0f, 0x9e, 0x25, 0x03, - 0x05, 0x2b, 0x2d, 0x08, 0xd8, 0x01, 0x05, 0xa5, - 0x7b, 0x2c, 0x70, 0x35, 0x31, 0x10, 0x02, 0xab, - 0xf1, 0x0c, 0x3c, 0x01, 0x04, 0xf2, 0x38, 0x02, - 0xf0, 0x00, 0x05, 0x95, 0x74, 0x09, 0xb7, 0x6f, - 0x1f, 0x39, 0x23, 0xbb, 0x02, 0x0f, 0xbf, 0x12, - 0x02, 0x0c, 0x50, 0x14, 0x0d, 0x33, 0x19, 0x04, - 0x8d, 0x80, 0x1e, 0x32, 0xc8, 0x01, 0x16, 0x32, - 0x0d, 0x01, 0x0f, 0xb6, 0x11, 0x0d, 0x1f, 0x36, - 0x59, 0x95, 0x07, 0x05, 0xf5, 0x98, 0x1f, 0x34, - 0x11, 0x90, 0x08, 0x1f, 0x37, 0x43, 0x06, 0x03, - 0x15, 0x38, 0x5a, 0x13, 0x12, 0x0a, 0x31, 0x01, - 0x0f, 0xd4, 0x05, 0x03, 0x7d, 0x70, 0x6f, 0x6b, - 0x65, 0x5f, 0x75, 0x38, 0xd2, 0x05, 0x03, 0x18, - 0x00, 0x0b, 0xd0, 0x05, 0x03, 0x16, 0x00, 0x0f, - 0xce, 0x05, 0x01, 0x1b, 0x38, 0x1d, 0x00, 0x09, - 0x65, 0x8f, 0x30, 0x62, 0x31, 0x36, 0xb8, 0x00, - 0x2f, 0x73, 0x3c, 0x77, 0x3d, 0x01, 0x1f, 0x33, - 0x77, 0x05, 0x08, 0x0b, 0x71, 0x00, 0x1f, 0x5d, - 0x95, 0x31, 0x0d, 0x19, 0x31, 0x43, 0x05, 0x11, - 0x38, 0x75, 0x00, 0x0e, 0x48, 0x00, 0x2a, 0x31, - 0x5d, 0x34, 0x01, 0x13, 0x38, 0xfb, 0x54, 0x01, - 0x33, 0x01, 0x3f, 0x73, 0x31, 0x3b, 0x2a, 0x01, - 0x08, 0x2e, 0x31, 0x36, 0x2b, 0x01, 0x03, 0x19, - 0x00, 0x0e, 0x2c, 0x01, 0x01, 0x17, 0x00, 0x0f, - 0x2d, 0x01, 0x01, 0x2c, 0x31, 0x36, 0x1f, 0x00, - 0x0f, 0x2f, 0x01, 0x39, 0x06, 0x74, 0x00, 0x0a, - 0x52, 0x06, 0x2b, 0x31, 0x36, 0x10, 0x01, 0x06, - 0x7e, 0x00, 0x0f, 0x59, 0x01, 0x12, 0x07, 0x32, - 0x01, 0x2f, 0x31, 0x36, 0x33, 0x01, 0x17, 0x1e, - 0x33, 0xc6, 0x8e, 0x04, 0x19, 0x00, 0x0f, 0x33, - 0x01, 0x02, 0x0f, 0x2c, 0xa2, 0x06, 0x0b, 0x1f, - 0x00, 0x0a, 0x33, 0x01, 0x04, 0xd9, 0x07, 0x0f, - 0x32, 0x01, 0x22, 0x0f, 0xe4, 0xa1, 0x0b, 0x0e, - 0x28, 0x00, 0x0f, 0x31, 0x01, 0x1f, 0x28, 0x33, - 0x32, 0x31, 0x01, 0x0f, 0x30, 0x01, 0x0a, 0x1e, - 0x36, 0x02, 0xbc, 0x04, 0x19, 0x00, 0x0f, 0x30, - 0x01, 0x02, 0x0e, 0xf6, 0xbb, 0x0e, 0x1f, 0x00, - 0x0e, 0x30, 0x01, 0x04, 0x1d, 0x01, 0x1f, 0x34, - 0x1d, 0x01, 0x0e, 0x0e, 0x86, 0xbb, 0x0d, 0xf4, - 0x08, 0x0c, 0x6a, 0x00, 0x0f, 0x70, 0x98, 0x0e, - 0x1e, 0x31, 0x6f, 0x91, 0x08, 0x80, 0x5b, 0x0f, - 0x1f, 0x01, 0x03, 0x6e, 0x66, 0x69, 0x6c, 0x6c, - 0x5f, 0x36, 0x1e, 0x01, 0x03, 0x18, 0x00, 0x0b, - 0x1d, 0x01, 0x03, 0x16, 0x00, 0x0f, 0x4c, 0x02, - 0x04, 0x0a, 0x1e, 0x00, 0x0c, 0xc4, 0x12, 0x0a, - 0x1e, 0x00, 0x0f, 0xdd, 0x99, 0x16, 0x0f, 0x30, - 0x94, 0x1e, 0x0b, 0xa4, 0x00, 0x0f, 0x24, 0x94, - 0x05, 0x0b, 0xad, 0x00, 0x0f, 0x4f, 0x12, 0x06, - 0x0b, 0xb7, 0x00, 0x0f, 0x40, 0x94, 0x84, 0x2f, - 0x34, 0x33, 0x40, 0x94, 0x4c, 0x12, 0x34, 0x73, - 0x37, 0x0f, 0x09, 0x94, 0x6e, 0x1d, 0x32, 0x04, + 0x00, 0x08, 0x56, 0x0a, 0x2f, 0x35, 0x30, 0x56, + 0x0a, 0x0a, 0x0e, 0x66, 0x3c, 0x05, 0x56, 0x0a, + 0x1f, 0x34, 0x55, 0x0a, 0x09, 0x1f, 0x32, 0x55, + 0x0a, 0x10, 0x07, 0x2c, 0x27, 0x01, 0xcf, 0x0b, + 0x0e, 0x72, 0x27, 0x1e, 0x33, 0x04, 0x8d, 0x0f, + 0x72, 0x27, 0x04, 0x1f, 0x33, 0x72, 0x27, 0x2c, + 0x1f, 0x34, 0x72, 0x27, 0x0a, 0x02, 0x51, 0x45, + 0x08, 0x20, 0x5b, 0x17, 0x37, 0x40, 0x01, 0x0f, + 0x72, 0x27, 0x05, 0x0b, 0x4f, 0x0a, 0x04, 0x29, + 0x45, 0x0f, 0x72, 0x27, 0x3e, 0x2e, 0x34, 0x37, + 0x72, 0x27, 0x01, 0x98, 0x00, 0x0f, 0x72, 0x27, + 0x0a, 0x07, 0x4f, 0x8c, 0x08, 0xfe, 0x00, 0x0f, + 0x05, 0x0b, 0x03, 0x03, 0xd3, 0xa7, 0x0c, 0xd3, + 0x0a, 0x06, 0xea, 0x0a, 0x0e, 0x06, 0x0b, 0x02, + 0x0f, 0x0a, 0x0e, 0xe5, 0x3b, 0x06, 0x29, 0x92, + 0x1f, 0x34, 0x09, 0x0a, 0x2b, 0x15, 0x34, 0xe9, + 0x00, 0x0c, 0x1c, 0x28, 0x08, 0xf0, 0x02, 0x0e, + 0x09, 0x0a, 0x0d, 0x60, 0x04, 0x17, 0x39, 0xcc, + 0x01, 0x05, 0xa0, 0x03, 0x0f, 0x09, 0x0a, 0x14, + 0x0f, 0xfb, 0x25, 0x10, 0x1f, 0x34, 0xfb, 0x25, + 0x0f, 0x1f, 0x34, 0xfb, 0x25, 0x17, 0x1e, 0x34, + 0x95, 0x5b, 0x0f, 0x2b, 0x00, 0x13, 0x0f, 0x09, + 0x0a, 0x0c, 0x0f, 0xfb, 0x25, 0x16, 0x1a, 0x34, + 0xb1, 0x24, 0x0f, 0x2b, 0x00, 0x17, 0x1f, 0x35, + 0x26, 0x26, 0x15, 0x2f, 0x34, 0x33, 0x08, 0x0a, + 0x19, 0x0e, 0x48, 0x14, 0x0f, 0x26, 0x26, 0x10, + 0x0e, 0x15, 0x14, 0x0e, 0x01, 0x5c, 0x0f, 0x4e, + 0x15, 0x11, 0x0f, 0x26, 0x26, 0x0f, 0x0f, 0x6a, + 0x00, 0x0c, 0x1f, 0x33, 0x5b, 0x26, 0x13, 0x0b, + 0x75, 0x01, 0x0f, 0x5b, 0x26, 0x13, 0x0b, 0x7f, + 0x01, 0x1f, 0x5d, 0x43, 0x66, 0x09, 0x0f, 0x73, + 0x26, 0x14, 0x1f, 0x37, 0x73, 0x26, 0x0c, 0x0e, + 0xb8, 0x49, 0x06, 0x64, 0x0f, 0x06, 0xb8, 0x49, + 0x0f, 0xb4, 0x09, 0x01, 0x05, 0x3b, 0x62, 0x09, + 0xb4, 0x09, 0x1e, 0x31, 0x7b, 0x6f, 0x0e, 0x0f, + 0x2f, 0x0c, 0xa0, 0x85, 0x0e, 0x02, 0x1f, 0x17, + 0x31, 0xa0, 0x85, 0x1e, 0x36, 0x05, 0x66, 0x0c, + 0xf2, 0x07, 0x1c, 0x34, 0x00, 0x66, 0x0a, 0xb3, + 0x0a, 0x1f, 0x33, 0xda, 0x26, 0x0f, 0x0f, 0x1d, + 0x3a, 0x0f, 0x0f, 0xd8, 0x87, 0x0e, 0x0f, 0xa2, + 0x12, 0x09, 0x17, 0x33, 0xa2, 0x12, 0x2f, 0x35, + 0x31, 0xe4, 0x26, 0x05, 0x04, 0x74, 0xce, 0x0e, + 0xa2, 0x25, 0x0f, 0xe4, 0x26, 0x14, 0x1f, 0x32, + 0x9e, 0x09, 0x05, 0x1e, 0x31, 0xe4, 0x26, 0x02, + 0xae, 0x01, 0x1f, 0x36, 0xb9, 0x2f, 0x08, 0x1f, + 0x31, 0xe4, 0x26, 0x5c, 0x02, 0x83, 0x6b, 0x0e, + 0x8d, 0x96, 0x0d, 0xe4, 0x26, 0x16, 0x37, 0xe4, + 0x26, 0x0b, 0x24, 0x1d, 0x04, 0x44, 0x0a, 0x0e, + 0x25, 0x0a, 0x0e, 0xe4, 0x26, 0x0a, 0x36, 0x21, + 0x0f, 0x94, 0x26, 0x01, 0x1e, 0x31, 0x94, 0x26, + 0x01, 0x35, 0x01, 0x1d, 0x35, 0x40, 0x08, 0x1f, + 0x34, 0x94, 0x26, 0x04, 0x1e, 0x39, 0x94, 0x26, + 0x08, 0x72, 0x0c, 0x0e, 0x95, 0x26, 0x05, 0x75, + 0x0c, 0x03, 0xb4, 0x95, 0x0e, 0xb3, 0x5f, 0x04, + 0xcd, 0x26, 0x1e, 0x31, 0x78, 0x1d, 0x08, 0x35, + 0x01, 0x03, 0xa1, 0x5f, 0x04, 0x20, 0x09, 0x02, + 0x78, 0x02, 0x0f, 0x96, 0x26, 0x07, 0x14, 0x36, + 0x96, 0x26, 0x02, 0x3f, 0x08, 0x0b, 0x43, 0x0b, + 0x0d, 0x15, 0x09, 0x05, 0x8b, 0x0b, 0x09, 0x06, + 0x01, 0x07, 0xf9, 0x08, 0x0d, 0x15, 0x09, 0x16, + 0x36, 0x2f, 0x14, 0x0e, 0x5e, 0x08, 0x0e, 0x19, + 0x4c, 0x0a, 0x8a, 0x9a, 0x0f, 0x5f, 0x08, 0x13, + 0x14, 0x31, 0xe7, 0x00, 0x2e, 0x36, 0x3a, 0x0e, + 0x3c, 0x0e, 0xd2, 0x69, 0x05, 0xf3, 0x08, 0x06, + 0x26, 0xe1, 0x0e, 0x5a, 0x27, 0x0a, 0xe8, 0x04, + 0x17, 0x37, 0x05, 0x02, 0x14, 0x32, 0x6e, 0x00, + 0x0f, 0x5a, 0x27, 0x04, 0x8e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x6d, 0x08, 0x05, + 0x1a, 0x00, 0x0b, 0x62, 0x08, 0x05, 0x18, 0x00, + 0x0e, 0x57, 0x08, 0x0e, 0x20, 0x00, 0x0e, 0x46, + 0x27, 0x0d, 0x20, 0x00, 0x1f, 0x32, 0x20, 0x00, + 0x0c, 0x0f, 0xd7, 0x63, 0x03, 0x2e, 0x37, 0x3e, + 0x70, 0xe3, 0x0f, 0xc4, 0x1c, 0x01, 0x1f, 0x39, + 0xf0, 0x26, 0x08, 0x0d, 0xca, 0x00, 0x0f, 0x5e, + 0x26, 0x06, 0x0d, 0xd4, 0x00, 0x0f, 0x2a, 0x07, + 0x01, 0x1e, 0x39, 0x29, 0x00, 0x0f, 0xbd, 0x07, + 0x04, 0x1e, 0x30, 0x2a, 0x00, 0x0e, 0xf5, 0x8d, + 0x0f, 0xf6, 0x8d, 0x07, 0x08, 0x8a, 0x68, 0x0f, + 0x9f, 0x63, 0x14, 0x05, 0x1f, 0x02, 0x09, 0xf3, + 0x52, 0x05, 0x62, 0x00, 0x1b, 0x79, 0x9d, 0x0b, + 0x08, 0x1b, 0x68, 0x1e, 0x6d, 0x09, 0x1c, 0x1e, + 0x79, 0xcf, 0x62, 0x03, 0x41, 0x63, 0x0d, 0xd9, + 0x05, 0x06, 0xab, 0x3c, 0x1f, 0x39, 0xfd, 0x2d, + 0x04, 0x05, 0x1a, 0x35, 0x22, 0x6f, 0x72, 0xdf, + 0x01, 0x05, 0x5b, 0x58, 0x14, 0x31, 0x06, 0x8b, + 0x09, 0x0e, 0x10, 0x03, 0xba, 0x81, 0x0f, 0x30, + 0x0f, 0x0a, 0x1d, 0x31, 0x80, 0x27, 0x07, 0xa5, + 0x19, 0x15, 0x31, 0xce, 0x6d, 0x0e, 0x4c, 0x4a, + 0x0f, 0x40, 0x68, 0x05, 0x08, 0x40, 0x0c, 0x0a, + 0xb5, 0x8c, 0x08, 0x27, 0x09, 0x00, 0x29, 0x00, + 0x1e, 0x5d, 0x7b, 0x00, 0x13, 0x35, 0x98, 0x1c, + 0x03, 0x13, 0x9f, 0x0e, 0x2e, 0xca, 0x06, 0xc8, + 0xae, 0x0b, 0x52, 0x2f, 0x0e, 0xbf, 0x0d, 0x08, + 0x19, 0x6f, 0x04, 0xf7, 0x08, 0x0d, 0x83, 0x11, + 0x03, 0x19, 0xc3, 0x03, 0xf2, 0x3e, 0x00, 0x32, + 0x01, 0x0e, 0x37, 0x11, 0x0b, 0x5a, 0x64, 0x0a, + 0x98, 0x11, 0x0a, 0x98, 0x07, 0x0f, 0xc2, 0x53, + 0x02, 0x16, 0x38, 0xb9, 0x39, 0x0f, 0x9e, 0x25, + 0x03, 0x05, 0x2b, 0x2d, 0x08, 0xd8, 0x01, 0x14, + 0x36, 0xdc, 0x59, 0x2c, 0x70, 0x35, 0x31, 0x10, + 0x12, 0x32, 0x4b, 0x27, 0x0b, 0x3c, 0x01, 0x05, + 0xc3, 0x83, 0x07, 0x2e, 0x65, 0x0f, 0x40, 0xaf, + 0x04, 0x0b, 0x54, 0x14, 0x0f, 0xbf, 0x12, 0x02, + 0x0c, 0x50, 0x14, 0x0d, 0x33, 0x19, 0x04, 0xd6, + 0xdc, 0x1e, 0x32, 0xc8, 0x01, 0x16, 0x32, 0x0d, + 0x01, 0x0f, 0xb6, 0x11, 0x0d, 0x15, 0x36, 0x8c, + 0x09, 0x0e, 0x64, 0xc5, 0x04, 0x4a, 0x2d, 0x0c, + 0x63, 0x02, 0x08, 0xe6, 0x82, 0x1f, 0x37, 0x43, + 0x06, 0x03, 0x15, 0x38, 0x5a, 0x13, 0x12, 0x0a, + 0x31, 0x01, 0x0f, 0xd4, 0x05, 0x03, 0x7d, 0x70, + 0x6f, 0x6b, 0x65, 0x5f, 0x75, 0x38, 0xd2, 0x05, + 0x03, 0x18, 0x00, 0x0b, 0xd0, 0x05, 0x03, 0x16, + 0x00, 0x0f, 0xce, 0x05, 0x01, 0x1b, 0x38, 0x1d, + 0x00, 0x18, 0x31, 0x8b, 0x05, 0x30, 0x62, 0x31, + 0x36, 0xb8, 0x00, 0x3f, 0x73, 0x3c, 0x32, 0x5f, + 0x93, 0x01, 0x0f, 0x77, 0x05, 0x08, 0x0b, 0x71, + 0x00, 0x1f, 0x5d, 0x95, 0x31, 0x0d, 0x19, 0x31, + 0x43, 0x05, 0x11, 0x38, 0x75, 0x00, 0x0e, 0x48, + 0x00, 0x2a, 0x31, 0x5d, 0x34, 0x01, 0x13, 0x38, + 0xfb, 0x54, 0x01, 0x33, 0x01, 0x3f, 0x73, 0x31, + 0x3b, 0x2a, 0x01, 0x08, 0x2e, 0x31, 0x36, 0x2b, + 0x01, 0x03, 0x19, 0x00, 0x0e, 0x2c, 0x01, 0x01, + 0x17, 0x00, 0x0f, 0x2d, 0x01, 0x01, 0x2c, 0x31, + 0x36, 0x1f, 0x00, 0x0f, 0x2f, 0x01, 0x39, 0x06, + 0x74, 0x00, 0x0a, 0x52, 0x06, 0x2b, 0x31, 0x36, + 0x10, 0x01, 0x06, 0x7e, 0x00, 0x0f, 0x59, 0x01, + 0x12, 0x07, 0x32, 0x01, 0x2f, 0x31, 0x36, 0x33, + 0x01, 0x17, 0x1e, 0x33, 0xf7, 0xb6, 0x04, 0x19, + 0x00, 0x0e, 0x33, 0x01, 0x0e, 0xba, 0xeb, 0x06, + 0xee, 0x07, 0x0b, 0x1f, 0x00, 0x0a, 0x33, 0x01, + 0x04, 0xd9, 0x07, 0x0f, 0x32, 0x01, 0x22, 0x0e, + 0x50, 0xb6, 0x09, 0x84, 0x07, 0x0e, 0x28, 0x00, + 0x0f, 0x31, 0x01, 0x1e, 0x28, 0x33, 0x32, 0x31, + 0x01, 0x0f, 0x30, 0x01, 0x0a, 0x1e, 0x36, 0x8c, + 0x97, 0x04, 0x19, 0x00, 0x0e, 0x30, 0x01, 0x0e, + 0x18, 0xd4, 0x0e, 0x1f, 0x00, 0x0e, 0x30, 0x01, + 0x07, 0x1d, 0x01, 0x1f, 0x34, 0x1d, 0x01, 0x0e, + 0x0f, 0x85, 0xd3, 0x0d, 0x0e, 0x29, 0x00, 0x0f, + 0x1e, 0x01, 0x09, 0x1e, 0x33, 0x1e, 0x01, 0x05, + 0x65, 0x8e, 0x05, 0x80, 0x5b, 0x0f, 0x1f, 0x01, + 0x03, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x36, + 0x1e, 0x01, 0x03, 0x18, 0x00, 0x0b, 0x1d, 0x01, + 0x03, 0x16, 0x00, 0x0f, 0x4c, 0x02, 0x04, 0x0a, + 0x1e, 0x00, 0x0c, 0xc4, 0x12, 0x0a, 0x1e, 0x00, + 0x1f, 0x32, 0x2d, 0x6e, 0x03, 0x0f, 0x54, 0x98, + 0x01, 0x0f, 0x2b, 0x6e, 0x01, 0x0f, 0x35, 0x12, + 0x08, 0x0b, 0xa4, 0x00, 0x0f, 0x7d, 0x02, 0x01, + 0x1d, 0x36, 0x27, 0x00, 0x1f, 0x31, 0x4f, 0x12, + 0x06, 0x0b, 0xb7, 0x00, 0x0f, 0xc3, 0x41, 0x14, + 0x0f, 0x97, 0xbd, 0x06, 0x08, 0x74, 0x7c, 0x0b, + 0x6b, 0x07, 0x15, 0x30, 0x29, 0x0a, 0x05, 0xe9, + 0x5b, 0x0e, 0xcc, 0x09, 0x03, 0x27, 0x00, 0x0c, + 0xc1, 0xc1, 0x2d, 0x35, 0x37, 0x06, 0x1b, 0x1f, + 0x39, 0xd5, 0x2f, 0x09, 0x06, 0x55, 0x34, 0x1f, + 0x31, 0x47, 0x1c, 0x0d, 0x03, 0xc2, 0x0c, 0x02, + 0x73, 0x37, 0x0f, 0xb2, 0x09, 0x04, 0x1e, 0x30, + 0x68, 0x65, 0x09, 0x69, 0x55, 0x0f, 0x9a, 0x02, + 0x03, 0x03, 0x00, 0x91, 0x1e, 0x33, 0xc6, 0x6c, + 0x08, 0x97, 0x0a, 0x0e, 0x4d, 0x98, 0x0a, 0x04, 0x01, 0x17, 0x32, 0x04, 0x01, 0x05, 0xac, 0x00, 0x0f, 0xc3, 0x2a, 0x04, 0x21, 0x76, 0x63, 0x41, 0x1d, 0x5e, 0x72, 0x65, 0x70, 0x61, 0x72, 0x72, @@ -6905,148 +8900,148 @@ const char kernels_70[] = { 0x1c, 0x00, 0x0e, 0x1c, 0x04, 0x0f, 0x24, 0x00, 0x06, 0x0c, 0x7e, 0x0d, 0x0e, 0x24, 0x00, 0x0e, 0x0c, 0x03, 0x0e, 0x42, 0x15, 0x04, 0xbc, 0x06, - 0x0f, 0x20, 0x03, 0x15, 0x0f, 0x0e, 0xc0, 0x0a, - 0x0e, 0xcb, 0x00, 0x0f, 0x75, 0x3b, 0x09, 0x0e, - 0xd5, 0x00, 0x0f, 0x65, 0x34, 0x05, 0x0f, 0x2d, - 0x00, 0x04, 0x0c, 0x33, 0x03, 0x0b, 0xa6, 0x33, - 0x0f, 0x19, 0x29, 0x04, 0x0f, 0xff, 0x28, 0x04, - 0x0b, 0x33, 0x03, 0x06, 0x32, 0x29, 0x0f, 0xfe, - 0x0c, 0x08, 0x08, 0x9b, 0x0f, 0x06, 0x31, 0x03, - 0x04, 0x81, 0x2f, 0x0f, 0xce, 0x13, 0x0a, 0x0e, - 0x15, 0x54, 0x04, 0x23, 0x0a, 0x0e, 0x2f, 0x94, - 0x0f, 0xf7, 0x12, 0x09, 0x26, 0x76, 0x32, 0xdc, - 0x91, 0x01, 0xdc, 0x03, 0x17, 0x7d, 0x01, 0x13, - 0x0e, 0xa2, 0xd8, 0x04, 0xd7, 0x42, 0x3f, 0x2b, - 0x38, 0x5d, 0xc1, 0x38, 0x08, 0x0f, 0x55, 0xa0, - 0x0a, 0x1c, 0x33, 0xa8, 0x5e, 0x07, 0x4d, 0x12, - 0x17, 0x38, 0x64, 0xa3, 0x07, 0x81, 0x66, 0x00, - 0x55, 0x70, 0x0c, 0x53, 0x03, 0x02, 0x58, 0x32, - 0x0e, 0xce, 0x65, 0x08, 0x16, 0xc4, 0x18, 0x36, - 0x54, 0x01, 0x1a, 0x31, 0x5f, 0x32, 0x12, 0x34, - 0x6f, 0xb2, 0x03, 0x1c, 0x00, 0x1e, 0x3a, 0x07, - 0x04, 0x05, 0xbf, 0x07, 0x1e, 0x64, 0x3a, 0x00, - 0x03, 0x26, 0x42, 0x00, 0x85, 0x00, 0x0e, 0x36, - 0x55, 0x07, 0x1a, 0xcb, 0x08, 0x9f, 0x0e, 0x14, - 0x34, 0xe5, 0xaf, 0x1e, 0x73, 0xfa, 0x66, 0x03, - 0xec, 0x57, 0x07, 0xdc, 0x14, 0x00, 0x2f, 0x00, - 0x1d, 0x39, 0x78, 0x00, 0x14, 0x37, 0x77, 0x00, - 0x12, 0x39, 0x4b, 0x33, 0x08, 0x37, 0x10, 0x00, - 0xa9, 0x00, 0x1f, 0x5d, 0x87, 0x08, 0x0a, 0x1f, - 0x30, 0xc8, 0x00, 0x08, 0x1e, 0x33, 0xcf, 0x76, - 0x0a, 0x7a, 0x01, 0x17, 0x37, 0x99, 0x00, 0x1f, - 0x34, 0x49, 0x00, 0x08, 0x13, 0x34, 0x9a, 0x00, - 0x02, 0x8e, 0x0b, 0x1e, 0x32, 0x99, 0x00, 0x0e, - 0x83, 0x0b, 0x1f, 0x32, 0x4f, 0x00, 0x08, 0x23, - 0x31, 0x30, 0x50, 0x00, 0x07, 0xcf, 0x0a, 0x0e, - 0x51, 0x00, 0x0e, 0xa2, 0x0a, 0x0f, 0x52, 0x00, - 0x07, 0x1d, 0x37, 0x69, 0x33, 0x04, 0x95, 0x0e, - 0x1b, 0x38, 0x2a, 0x15, 0x17, 0x34, 0xf2, 0xb0, - 0x08, 0x4e, 0x36, 0x0e, 0x81, 0x00, 0x0e, 0x33, - 0x02, 0x15, 0x30, 0xc1, 0x00, 0x0f, 0xd2, 0x41, - 0x04, 0xaf, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x63, 0x6f, 0x70, 0x79, 0x34, 0x0b, 0x02, 0x0a, - 0x1f, 0x00, 0x0b, 0xf3, 0x05, 0x0a, 0x1d, 0x00, - 0x0e, 0xf4, 0x05, 0x0f, 0x25, 0x00, 0x07, 0x0c, - 0xf5, 0x05, 0x0f, 0x25, 0x00, 0x02, 0x1f, 0x32, - 0x25, 0x00, 0x11, 0x1f, 0x33, 0x2b, 0xc6, 0x03, - 0x0e, 0x07, 0x06, 0x1f, 0x39, 0x7c, 0x13, 0x1c, - 0x0e, 0xdd, 0x00, 0x0f, 0x8d, 0x0a, 0x0a, 0x0e, - 0xe7, 0x00, 0x0f, 0x07, 0x06, 0x05, 0x1e, 0x33, - 0x2e, 0x00, 0x0f, 0x2f, 0x30, 0x09, 0x0f, 0x2e, - 0x00, 0x05, 0x0c, 0x8f, 0x13, 0x1f, 0x34, 0x36, - 0x06, 0x05, 0x09, 0x88, 0x7f, 0x08, 0x84, 0xad, - 0x0f, 0x36, 0x06, 0x0b, 0x19, 0x35, 0x6c, 0x55, - 0x0f, 0x36, 0x06, 0x05, 0x1c, 0x33, 0x36, 0x06, - 0x1f, 0x35, 0xfd, 0x12, 0x14, 0x07, 0xa7, 0x2f, - 0x06, 0x5c, 0x1b, 0x0f, 0x4a, 0x9d, 0x07, 0x1f, - 0x37, 0xf2, 0x12, 0x20, 0x17, 0x38, 0xf1, 0x12, - 0x0f, 0x07, 0x11, 0x24, 0x1f, 0x31, 0x06, 0x11, - 0x28, 0x02, 0x36, 0x38, 0x00, 0x11, 0x01, 0x0f, - 0x7a, 0x03, 0x09, 0x3f, 0x73, 0x75, 0x6d, 0x79, - 0x03, 0x08, 0x03, 0x1e, 0x00, 0x0e, 0x78, 0x03, - 0x06, 0x1c, 0x00, 0x0e, 0x77, 0x03, 0x0e, 0x24, - 0x00, 0x0f, 0x76, 0x03, 0x0a, 0x0a, 0x24, 0x00, - 0x1f, 0x32, 0x24, 0x00, 0x10, 0x0f, 0x74, 0x03, - 0x16, 0x2f, 0x31, 0x30, 0x75, 0x03, 0x22, 0x0b, - 0xda, 0x00, 0x0f, 0x74, 0x03, 0x0c, 0x0b, 0xe4, - 0x00, 0x0f, 0x73, 0x03, 0x0b, 0x0b, 0xed, 0x00, - 0x0f, 0x72, 0x03, 0x0b, 0x0b, 0xf6, 0x00, 0x0f, - 0x71, 0x03, 0x83, 0x1f, 0x36, 0x71, 0x03, 0x2d, + 0x0f, 0x20, 0x03, 0x15, 0x2f, 0x31, 0x31, 0x7c, + 0x3b, 0x08, 0x0e, 0xcb, 0x00, 0x0f, 0x75, 0x3b, + 0x09, 0x0e, 0xd5, 0x00, 0x0f, 0x65, 0x34, 0x05, + 0x0f, 0x2d, 0x00, 0x04, 0x0c, 0x33, 0x03, 0x0b, + 0xa6, 0x33, 0x0f, 0x19, 0x29, 0x04, 0x0f, 0xff, + 0x28, 0x04, 0x0b, 0x33, 0x03, 0x06, 0x32, 0x29, + 0x0f, 0xfe, 0x0c, 0x08, 0x08, 0x9b, 0x0f, 0x06, + 0x31, 0x03, 0x04, 0x81, 0x2f, 0x0f, 0xce, 0x13, + 0x0a, 0x0e, 0x15, 0x54, 0x04, 0x23, 0x0a, 0x04, + 0x1a, 0xa7, 0x0f, 0xf7, 0x12, 0x13, 0x26, 0x76, + 0x32, 0x02, 0x7f, 0x01, 0xdc, 0x03, 0x17, 0x7d, + 0x01, 0x13, 0x2e, 0x6c, 0x64, 0x79, 0x03, 0x02, + 0x1e, 0x00, 0x3f, 0x2b, 0x38, 0x5d, 0xc1, 0x38, + 0x08, 0x0f, 0xba, 0x00, 0x04, 0x03, 0xb1, 0xd7, + 0x0c, 0xa8, 0x5e, 0x07, 0x4d, 0x12, 0x06, 0x5a, + 0x04, 0x18, 0x74, 0x81, 0x66, 0x03, 0x04, 0x87, + 0x09, 0x53, 0x03, 0x02, 0x58, 0x32, 0x0f, 0xce, + 0x65, 0x01, 0x1e, 0x38, 0xcd, 0x65, 0x12, 0x35, + 0x00, 0x30, 0x07, 0x5f, 0x32, 0x00, 0x13, 0x00, + 0x03, 0x2e, 0x0b, 0x04, 0xcf, 0x2f, 0x0e, 0x07, + 0x04, 0x03, 0x84, 0x84, 0x0e, 0x3a, 0x00, 0x03, + 0x26, 0x42, 0x00, 0x85, 0x00, 0x0e, 0x36, 0x55, + 0x03, 0x84, 0x00, 0x0d, 0x9f, 0x0e, 0x13, 0x38, + 0x4c, 0x1e, 0x1e, 0x73, 0xfa, 0x66, 0x03, 0xec, + 0x57, 0x09, 0xdc, 0x14, 0x3d, 0x38, 0x5f, 0x39, + 0x78, 0x00, 0x14, 0x37, 0x77, 0x00, 0x12, 0x39, + 0x4b, 0x33, 0x08, 0x37, 0x10, 0x00, 0xa9, 0x00, + 0x1f, 0x5d, 0x87, 0x08, 0x0a, 0x1f, 0x30, 0xc8, + 0x00, 0x08, 0x1e, 0x33, 0xcf, 0x76, 0x0a, 0x7a, + 0x01, 0x17, 0x37, 0x99, 0x00, 0x1f, 0x34, 0x49, + 0x00, 0x08, 0x13, 0x34, 0x9a, 0x00, 0x02, 0x8e, + 0x0b, 0x1e, 0x32, 0x99, 0x00, 0x0e, 0x83, 0x0b, + 0x1f, 0x32, 0x4f, 0x00, 0x08, 0x23, 0x31, 0x30, + 0x50, 0x00, 0x07, 0xcf, 0x0a, 0x0e, 0x51, 0x00, + 0x0e, 0xa2, 0x0a, 0x0f, 0x52, 0x00, 0x07, 0x1d, + 0x37, 0x69, 0x33, 0x04, 0x95, 0x0e, 0x1c, 0x38, + 0x2a, 0x15, 0x04, 0x8a, 0x03, 0x16, 0x6c, 0x71, + 0xd3, 0x0f, 0x6b, 0x01, 0x05, 0x0c, 0x33, 0x02, + 0x15, 0x30, 0xc1, 0x00, 0x0f, 0xd2, 0x41, 0x04, + 0xaf, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, + 0x6f, 0x70, 0x79, 0x34, 0x0b, 0x02, 0x0a, 0x1f, + 0x00, 0x0b, 0xf3, 0x05, 0x0a, 0x1d, 0x00, 0x0e, + 0xf4, 0x05, 0x0f, 0x25, 0x00, 0x07, 0x0c, 0xf5, + 0x05, 0x0f, 0x25, 0x00, 0x02, 0x1f, 0x32, 0x25, + 0x00, 0x11, 0x0f, 0x7c, 0xa1, 0x04, 0x0e, 0x07, + 0x06, 0x1f, 0x39, 0x7c, 0x13, 0x1c, 0x0e, 0xdd, + 0x00, 0x0f, 0x8d, 0x0a, 0x0a, 0x0e, 0xe7, 0x00, + 0x0f, 0x07, 0x06, 0x05, 0x1e, 0x33, 0x2e, 0x00, + 0x0f, 0x2f, 0x30, 0x09, 0x0f, 0x2e, 0x00, 0x05, + 0x0c, 0x8f, 0x13, 0x1f, 0x34, 0x36, 0x06, 0x05, + 0x09, 0x88, 0x7f, 0x08, 0xbb, 0x8a, 0x0f, 0x36, + 0x06, 0x0b, 0x19, 0x35, 0x6c, 0x55, 0x0f, 0x36, + 0x06, 0x05, 0x1c, 0x33, 0x36, 0x06, 0x1f, 0x39, + 0xfd, 0x12, 0x14, 0x07, 0xa7, 0x2f, 0x1a, 0x37, + 0x00, 0x14, 0x0f, 0x41, 0x09, 0x02, 0x1f, 0x37, + 0xf2, 0x12, 0x20, 0x17, 0x38, 0xf1, 0x12, 0x0f, + 0x07, 0x11, 0x24, 0x1f, 0x31, 0x06, 0x11, 0x28, + 0x02, 0x36, 0x38, 0x00, 0x11, 0x01, 0x0f, 0x7a, + 0x03, 0x09, 0x3f, 0x73, 0x75, 0x6d, 0x79, 0x03, + 0x08, 0x03, 0x1e, 0x00, 0x0e, 0x78, 0x03, 0x06, + 0x1c, 0x00, 0x0e, 0x77, 0x03, 0x0e, 0x24, 0x00, + 0x0f, 0x76, 0x03, 0x0a, 0x0a, 0x24, 0x00, 0x1f, + 0x32, 0x24, 0x00, 0x10, 0x0f, 0x74, 0x03, 0x16, + 0x2f, 0x31, 0x30, 0x75, 0x03, 0x22, 0x0b, 0xda, + 0x00, 0x0f, 0x74, 0x03, 0x0c, 0x0b, 0xe4, 0x00, + 0x0f, 0x73, 0x03, 0x0b, 0x0b, 0xed, 0x00, 0x0f, + 0x72, 0x03, 0x0b, 0x0b, 0xf6, 0x00, 0x0f, 0x71, + 0x03, 0x82, 0x2f, 0x36, 0x30, 0x71, 0x03, 0x2d, 0x0f, 0xb7, 0x25, 0x0a, 0x1f, 0x32, 0x1b, 0x3c, 0x06, 0x1f, 0x37, 0x1a, 0x3c, 0x0f, 0x0f, 0x54, - 0x03, 0x1c, 0x0f, 0xc1, 0xb0, 0x08, 0x09, 0xc0, - 0xb0, 0x0f, 0xad, 0x1b, 0x03, 0x14, 0x39, 0x75, - 0x3c, 0x07, 0x7c, 0x03, 0x2f, 0x36, 0x5f, 0xf6, - 0x06, 0x10, 0x1e, 0x36, 0xdc, 0x0f, 0x0a, 0x1f, - 0x00, 0x0f, 0xf6, 0x06, 0x08, 0x0e, 0x06, 0x11, - 0x0f, 0x25, 0x00, 0x09, 0x0f, 0xf6, 0x06, 0x09, - 0x06, 0x41, 0x0f, 0x0f, 0x25, 0x00, 0x11, 0x0f, - 0x82, 0x03, 0x16, 0x0f, 0x5a, 0x2c, 0x02, 0x1f, - 0x30, 0xf7, 0x06, 0x14, 0x0f, 0x84, 0x11, 0x10, - 0x0e, 0xe8, 0x00, 0x0f, 0xf7, 0x06, 0x15, 0x2f, - 0x36, 0x34, 0xf7, 0x06, 0x19, 0x2f, 0x36, 0x34, - 0x86, 0x03, 0x8b, 0x1f, 0x37, 0xf7, 0x06, 0x46, - 0x1f, 0x38, 0xf7, 0x06, 0x17, 0x07, 0xb7, 0x2d, - 0x0f, 0xf8, 0x06, 0x0c, 0x06, 0x1e, 0x36, 0x0e, - 0x4d, 0x3e, 0x0e, 0x17, 0x76, 0x0e, 0x4c, 0x3e, - 0x0e, 0x75, 0x0a, 0x02, 0x46, 0x3e, 0x04, 0xda, - 0x0d, 0x12, 0x0a, 0x13, 0x01, 0x0f, 0xf9, 0x06, - 0x0e, 0x0e, 0x7c, 0x03, 0x08, 0x71, 0x06, 0x0e, - 0x7b, 0x03, 0x08, 0x1c, 0x00, 0x0f, 0xf9, 0x06, - 0x0f, 0x0f, 0x79, 0x03, 0x0c, 0x0a, 0x24, 0x00, - 0x0f, 0xf9, 0x06, 0x08, 0x0f, 0x77, 0x03, 0x34, - 0x1f, 0x31, 0xf9, 0x06, 0x13, 0x2f, 0x36, 0x34, - 0xf9, 0x06, 0x19, 0x0f, 0x75, 0x03, 0x15, 0x0b, - 0xed, 0x00, 0x0f, 0xf9, 0x06, 0x10, 0x0f, 0x73, - 0x03, 0x8d, 0x1f, 0x38, 0xf9, 0x06, 0x67, 0x1f, - 0x38, 0xf9, 0x06, 0x25, 0x1f, 0x38, 0xf9, 0x06, - 0x17, 0x07, 0xac, 0x83, 0x0f, 0xfa, 0x06, 0x06, - 0x0b, 0x0d, 0x0e, 0x24, 0x36, 0x5d, 0xbf, 0x39, - 0x12, 0x0a, 0x20, 0x01, 0x0f, 0xfd, 0x06, 0x0e, - 0x1f, 0x66, 0xf3, 0x0d, 0x0b, 0x0e, 0x61, 0xdf, - 0x0a, 0x1d, 0x00, 0x0f, 0xfd, 0x06, 0x0f, 0x1f, - 0x66, 0xf3, 0x0d, 0x11, 0x1f, 0x66, 0xf3, 0x0d, - 0x11, 0x1f, 0x66, 0x7f, 0x0a, 0x17, 0x04, 0x85, - 0xdf, 0x0f, 0x99, 0x03, 0x14, 0x0f, 0x06, 0x0e, - 0x14, 0x1f, 0x66, 0x06, 0x0e, 0x1b, 0x1f, 0x66, - 0x06, 0x0e, 0x1a, 0x1f, 0x66, 0x06, 0x0e, 0x1a, - 0x1f, 0x66, 0x95, 0x0a, 0x8d, 0x1f, 0x39, 0x06, - 0x0e, 0x70, 0x04, 0xc2, 0xd7, 0x0f, 0x06, 0x0e, - 0x5c, 0x19, 0x66, 0x06, 0x0e, 0x22, 0x66, 0x31, - 0x8d, 0x03, 0x1f, 0x39, 0x0d, 0x07, 0x0f, 0x1f, - 0x66, 0x06, 0x0e, 0x0a, 0x0e, 0x8b, 0x03, 0x09, - 0x1c, 0x00, 0x0f, 0x0d, 0x07, 0x0e, 0x1f, 0x66, - 0x06, 0x0e, 0x10, 0x1f, 0x66, 0x06, 0x0e, 0x10, - 0x0f, 0x87, 0x03, 0x20, 0x1f, 0x33, 0x87, 0x03, - 0x35, 0x0b, 0xec, 0x00, 0x0f, 0x1f, 0x07, 0x10, - 0x1f, 0x66, 0x18, 0x0e, 0x19, 0x1f, 0x66, 0x18, - 0x0e, 0x19, 0x0f, 0x83, 0x03, 0x8d, 0x2f, 0x35, - 0x30, 0x18, 0x0e, 0xca, 0x0a, 0xdd, 0x03, 0x0f, - 0x1e, 0x07, 0x02, 0x04, 0x6e, 0xdd, 0x07, 0x1c, - 0x07, 0x03, 0x8e, 0x03, 0x2f, 0x35, 0x30, 0x1b, - 0x07, 0x11, 0x0f, 0x18, 0x0e, 0x0b, 0x0e, 0x14, - 0xdb, 0x0a, 0x1d, 0x00, 0x0f, 0x1b, 0x07, 0x10, - 0x0f, 0x18, 0x0e, 0x11, 0x1f, 0x66, 0x18, 0x0e, - 0x11, 0x1f, 0x66, 0xa1, 0x0a, 0x2a, 0x05, 0x37, - 0xdb, 0x1f, 0x32, 0x1c, 0x07, 0x28, 0x0f, 0x2b, - 0x0e, 0x1b, 0x1f, 0x66, 0x2b, 0x0e, 0x1a, 0x1f, - 0x66, 0x2b, 0x0e, 0x1a, 0x1f, 0x66, 0xb8, 0x0a, - 0x8c, 0x2f, 0x35, 0x31, 0x2b, 0x0e, 0x70, 0x05, - 0xbe, 0xd0, 0x0f, 0x1d, 0x07, 0x32, 0x1f, 0x38, - 0x1d, 0x07, 0x17, 0x04, 0x2b, 0x0e, 0x03, 0x59, - 0xd7, 0x03, 0x90, 0x03, 0x1f, 0x31, 0x1e, 0x07, - 0x10, 0x0f, 0x2b, 0x0e, 0x0a, 0x0e, 0x8e, 0x03, - 0x09, 0x1c, 0x00, 0x0f, 0x1e, 0x07, 0x0f, 0x0f, - 0x2b, 0x0e, 0x10, 0x1f, 0x66, 0x2b, 0x0e, 0x10, - 0x0f, 0x8a, 0x03, 0x34, 0x1f, 0x33, 0x1f, 0x07, - 0x27, 0x0f, 0x3e, 0x0e, 0x1a, 0x1f, 0x66, 0x3e, - 0x0e, 0x19, 0x1f, 0x66, 0x3e, 0x0e, 0x19, 0x0f, - 0x86, 0x03, 0x8e, 0x1f, 0x32, 0x3e, 0x0e, 0xca, - 0x0b, 0xe0, 0x03, 0x0f, 0x20, 0x07, 0x03, 0x04, - 0xdf, 0xd6, 0x08, 0x21, 0x07, 0x04, 0x92, 0x03, - 0x15, 0x32, 0x92, 0x03, 0x50, 0x0a, 0x7d, 0x0a, - 0x0a, 0x0a + 0x03, 0x1c, 0x03, 0x20, 0xda, 0x0f, 0xcb, 0x03, + 0x08, 0x2f, 0x38, 0x5d, 0xad, 0x1b, 0x07, 0x14, + 0x39, 0x75, 0x3c, 0x06, 0x7c, 0x03, 0x00, 0x1c, + 0x01, 0x0f, 0xf6, 0x06, 0x0f, 0x1e, 0x36, 0xdc, + 0x0f, 0x0a, 0x1f, 0x00, 0x0f, 0xf6, 0x06, 0x08, + 0x0e, 0x06, 0x11, 0x0f, 0x25, 0x00, 0x09, 0x0f, + 0xf6, 0x06, 0x09, 0x0e, 0x76, 0xa8, 0x0f, 0x25, + 0x00, 0x09, 0x0f, 0x82, 0x03, 0x16, 0x0f, 0x5a, + 0x2c, 0x02, 0x1f, 0x30, 0xf7, 0x06, 0x14, 0x0f, + 0x84, 0x11, 0x10, 0x0e, 0xe8, 0x00, 0x0f, 0xf7, + 0x06, 0x15, 0x2f, 0x36, 0x34, 0xf7, 0x06, 0x19, + 0x2f, 0x36, 0x34, 0x86, 0x03, 0x8b, 0x1f, 0x31, + 0xf7, 0x06, 0x46, 0x1f, 0x38, 0xf7, 0x06, 0x17, + 0x07, 0xb7, 0x2d, 0x0f, 0xf8, 0x06, 0x0c, 0x06, + 0x1e, 0x36, 0x0e, 0x4d, 0x3e, 0x0e, 0x17, 0x76, + 0x0e, 0x4c, 0x3e, 0x0e, 0x75, 0x0a, 0x02, 0x46, + 0x3e, 0x04, 0xda, 0x0d, 0x12, 0x0a, 0x13, 0x01, + 0x0f, 0xf9, 0x06, 0x0e, 0x0e, 0x7c, 0x03, 0x08, + 0x71, 0x06, 0x0e, 0x7b, 0x03, 0x08, 0x1c, 0x00, + 0x0f, 0xf9, 0x06, 0x0f, 0x0f, 0x79, 0x03, 0x0c, + 0x0a, 0x24, 0x00, 0x0f, 0xf9, 0x06, 0x08, 0x0f, + 0x77, 0x03, 0x34, 0x1f, 0x31, 0xf9, 0x06, 0x13, + 0x2f, 0x36, 0x34, 0xf9, 0x06, 0x19, 0x0f, 0x75, + 0x03, 0x15, 0x0b, 0xed, 0x00, 0x0f, 0xf9, 0x06, + 0x10, 0x0f, 0x73, 0x03, 0x8d, 0x1f, 0x32, 0xf9, + 0x06, 0x67, 0x1f, 0x38, 0xf9, 0x06, 0x25, 0x1f, + 0x38, 0xf9, 0x06, 0x17, 0x07, 0xac, 0x83, 0x0f, + 0xfa, 0x06, 0x06, 0x0b, 0x0d, 0x0e, 0x15, 0x36, + 0xa7, 0xe5, 0x12, 0x0a, 0x20, 0x01, 0x0f, 0xfd, + 0x06, 0x0e, 0x1f, 0x66, 0xf3, 0x0d, 0x0b, 0x0e, + 0x1a, 0xd0, 0x0a, 0x1d, 0x00, 0x0f, 0xfd, 0x06, + 0x0f, 0x1f, 0x66, 0xf3, 0x0d, 0x11, 0x1f, 0x66, + 0xf3, 0x0d, 0x11, 0x1f, 0x66, 0x7f, 0x0a, 0x17, + 0x04, 0x09, 0xd0, 0x0f, 0x99, 0x03, 0x14, 0x0f, + 0x06, 0x0e, 0x14, 0x1f, 0x66, 0x06, 0x0e, 0x1b, + 0x1f, 0x66, 0x06, 0x0e, 0x1a, 0x1f, 0x66, 0x06, + 0x0e, 0x1a, 0x1f, 0x66, 0x95, 0x0a, 0x8d, 0x1f, + 0x33, 0x06, 0x0e, 0x70, 0x06, 0xbe, 0xc6, 0x0f, + 0x06, 0x0e, 0x5a, 0x19, 0x66, 0x06, 0x0e, 0x22, + 0x66, 0x31, 0x8d, 0x03, 0x1f, 0x33, 0x0d, 0x07, + 0x0f, 0x1f, 0x66, 0x06, 0x0e, 0x0a, 0x0e, 0x8b, + 0x03, 0x09, 0x1c, 0x00, 0x0f, 0x0d, 0x07, 0x0e, + 0x1f, 0x66, 0x06, 0x0e, 0x10, 0x1f, 0x66, 0x06, + 0x0e, 0x10, 0x0f, 0x87, 0x03, 0x20, 0x1f, 0x33, + 0x87, 0x03, 0x35, 0x0b, 0xec, 0x00, 0x0f, 0x1f, + 0x07, 0x10, 0x1f, 0x66, 0x18, 0x0e, 0x19, 0x1f, + 0x66, 0x18, 0x0e, 0x19, 0x0f, 0x83, 0x03, 0x8e, + 0x1f, 0x34, 0x18, 0x0e, 0xca, 0x0a, 0xdd, 0x03, + 0x0e, 0x1e, 0x07, 0x09, 0x9d, 0xca, 0x05, 0x1c, + 0x07, 0x04, 0x8e, 0x03, 0x1f, 0x34, 0x1b, 0x07, + 0x11, 0x0f, 0x18, 0x0e, 0x0b, 0x0e, 0x9a, 0xb6, + 0x0a, 0x1d, 0x00, 0x0f, 0x1b, 0x07, 0x10, 0x0f, + 0x18, 0x0e, 0x11, 0x1f, 0x66, 0x18, 0x0e, 0x11, + 0x1f, 0x66, 0xa1, 0x0a, 0x2a, 0x05, 0x87, 0xb6, + 0x1f, 0x32, 0x1c, 0x07, 0x28, 0x0f, 0x2b, 0x0e, + 0x1b, 0x1f, 0x66, 0x2b, 0x0e, 0x1a, 0x1f, 0x66, + 0x2b, 0x0e, 0x1a, 0x1f, 0x66, 0xb8, 0x0a, 0x8d, + 0x1f, 0x35, 0x2b, 0x0e, 0x70, 0x07, 0xb2, 0xb0, + 0x0f, 0x1d, 0x07, 0x30, 0x1f, 0x38, 0x1d, 0x07, + 0x17, 0x28, 0x36, 0x34, 0x1d, 0x07, 0x13, 0x64, + 0x90, 0x03, 0x1f, 0x35, 0x1e, 0x07, 0x10, 0x0f, + 0x2b, 0x0e, 0x0a, 0x0e, 0x8e, 0x03, 0x09, 0x1c, + 0x00, 0x0f, 0x1e, 0x07, 0x0f, 0x0f, 0x2b, 0x0e, + 0x10, 0x1f, 0x66, 0x2b, 0x0e, 0x10, 0x0f, 0x8a, + 0x03, 0x34, 0x1f, 0x33, 0x1f, 0x07, 0x27, 0x0f, + 0x3e, 0x0e, 0x1a, 0x1f, 0x66, 0x3e, 0x0e, 0x19, + 0x1f, 0x66, 0x3e, 0x0e, 0x19, 0x0f, 0x86, 0x03, + 0x8e, 0x1f, 0x36, 0x3e, 0x0e, 0xca, 0x0b, 0xe0, + 0x03, 0x0e, 0x20, 0x07, 0x0a, 0x8b, 0xb4, 0x06, + 0x21, 0x07, 0x04, 0x92, 0x03, 0x15, 0x36, 0x92, + 0x03, 0x50, 0x0a, 0x7d, 0x0a, 0x0a, 0x0a }; -const char *kernels_list = "reduce_sum_i32,reduce_sum_u32,reduce_sum_i64,reduce_sum_u64,reduce_sum_f32,reduce_sum_f64,reduce_mul_i32,reduce_mul_u32,reduce_mul_i64,reduce_mul_u64,reduce_mul_f32,reduce_mul_f64,reduce_min_i32,reduce_min_u32,reduce_min_i64,reduce_min_u64,reduce_min_f32,reduce_min_f64,reduce_max_i32,reduce_max_u32,reduce_max_i64,reduce_max_u64,reduce_max_f32,reduce_max_f64,reduce_or_u32,reduce_and_u32,scan_small_u32,scan_large_u32_init,scan_large_u32,compress_small,compress_large,mkperm_phase_1_tiny,mkperm_phase_1_small,mkperm_phase_1_large,mkperm_phase_3,mkperm_phase_4_tiny,mkperm_phase_4_small,mkperm_phase_4_large,transpose,poke_u8,poke_u16,poke_u32,poke_u64,fill_64,vcall_prepare,block_copy_u32,block_sum_u32,block_copy_u64,block_sum_u64,block_copy_f32,block_sum_f32,block_copy_f64,block_sum_f64,"; +const char *kernels_list = "reduce_sum_i32,reduce_sum_u32,reduce_sum_i64,reduce_sum_u64,reduce_sum_f32,reduce_sum_f64,reduce_mul_i32,reduce_mul_u32,reduce_mul_i64,reduce_mul_u64,reduce_mul_f32,reduce_mul_f64,reduce_min_i32,reduce_min_u32,reduce_min_i64,reduce_min_u64,reduce_min_f32,reduce_min_f64,reduce_max_i32,reduce_max_u32,reduce_max_i64,reduce_max_u64,reduce_max_f32,reduce_max_f64,reduce_or_u32,reduce_and_u32,scan_large_init,scan_exc_small_u32,scan_exc_small_u64,scan_exc_small_f32,scan_exc_small_f64,scan_inc_small_u32,scan_inc_small_u64,scan_inc_small_f32,scan_inc_small_f64,scan_exc_large_u32,scan_exc_large_u64,scan_exc_large_f32,scan_exc_large_f64,scan_inc_large_u32,scan_inc_large_u64,scan_inc_large_f32,scan_inc_large_f64,compress_small,compress_large,mkperm_phase_1_tiny,mkperm_phase_1_small,mkperm_phase_1_large,mkperm_phase_3,mkperm_phase_4_tiny,mkperm_phase_4_small,mkperm_phase_4_large,transpose,poke_u8,poke_u16,poke_u32,poke_u64,fill_64,vcall_prepare,block_copy_u32,block_sum_u32,block_copy_u64,block_sum_u64,block_copy_f32,block_sum_f32,block_copy_f64,block_sum_f64,"; diff --git a/resources/kernels_50.ptx b/resources/kernels_50.ptx index eb2453d24..b4c28cbcc 100644 --- a/resources/kernels_50.ptx +++ b/resources/kernels_50.ptx @@ -3627,72 +3627,10 @@ BB25_15: ret; } - // .globl scan_small_u32 -.visible .entry scan_small_u32( - .param .u64 scan_small_u32_param_0, - .param .u64 scan_small_u32_param_1, - .param .u32 scan_small_u32_param_2 -) -{ - .reg .pred %p<3>; - .reg .b32 %r<42>; - .reg .b64 %rd<9>; - - - ld.param.u64 %rd2, [scan_small_u32_param_0]; - ld.param.u64 %rd1, [scan_small_u32_param_1]; - cvta.to.global.u64 %rd3, %rd2; - mov.u32 %r12, %tid.x; - mul.wide.u32 %rd4, %r12, 16; - add.s64 %rd5, %rd3, %rd4; - ld.global.v4.u32 {%r13, %r14, %r15, %r16}, [%rd5]; - mov.u32 %r17, 0; - mov.u32 %r40, 1; - add.s32 %r2, %r14, %r13; - add.s32 %r3, %r15, %r2; - add.s32 %r4, %r16, %r3; - shl.b32 %r21, %r12, 2; - mov.u32 %r22, shared; - add.s32 %r23, %r22, %r21; - st.shared.u32 [%r23], %r17; - mov.u32 %r24, %ntid.x; - add.s32 %r25, %r24, %r12; - shl.b32 %r26, %r25, 2; - add.s32 %r5, %r22, %r26; - st.shared.u32 [%r5], %r4; - setp.lt.u32 %p1, %r24, 2; - mov.u32 %r41, %r4; - @%p1 bra BB26_2; - -BB26_1: - bar.sync 0; - sub.s32 %r29, %r25, %r40; - shl.b32 %r30, %r29, 2; - add.s32 %r32, %r22, %r30; - ld.shared.u32 %r33, [%r32]; - ld.shared.u32 %r34, [%r5]; - add.s32 %r41, %r33, %r34; - bar.sync 0; - st.shared.u32 [%r5], %r41; - shl.b32 %r40, %r40, 1; - setp.lt.u32 %p2, %r40, %r24; - @%p2 bra BB26_1; - -BB26_2: - cvta.to.global.u64 %rd6, %rd1; - add.s64 %rd8, %rd6, %rd4; - sub.s32 %r36, %r41, %r4; - add.s32 %r37, %r36, %r3; - add.s32 %r38, %r36, %r2; - add.s32 %r39, %r36, %r13; - st.global.v4.u32 [%rd8], {%r36, %r39, %r38, %r37}; - ret; -} - - // .globl scan_large_u32_init -.visible .entry scan_large_u32_init( - .param .u64 scan_large_u32_init_param_0, - .param .u32 scan_large_u32_init_param_1 + // .globl scan_large_init +.visible .entry scan_large_init( + .param .u64 scan_large_init_param_0, + .param .u32 scan_large_init_param_1 ) { .reg .pred %p<4>; @@ -3700,20 +3638,20 @@ BB26_2: .reg .b64 %rd<6>; - ld.param.u64 %rd2, [scan_large_u32_init_param_0]; - ld.param.u32 %r6, [scan_large_u32_init_param_1]; + ld.param.u64 %rd2, [scan_large_init_param_0]; + ld.param.u32 %r6, [scan_large_init_param_1]; mov.u32 %r1, %ntid.x; mov.u32 %r7, %ctaid.x; mov.u32 %r8, %tid.x; mad.lo.s32 %r10, %r1, %r7, %r8; setp.ge.u32 %p1, %r10, %r6; - @%p1 bra BB27_3; + @%p1 bra BB26_3; mov.u32 %r9, %nctaid.x; mul.lo.s32 %r3, %r9, %r1; cvta.to.global.u64 %rd1, %rd2; -BB27_2: +BB26_2: setp.lt.u32 %p2, %r10, 32; selp.b64 %rd3, 2, 0, %p2; mul.wide.u32 %rd4, %r10, 8; @@ -3721,227 +3659,2657 @@ BB27_2: st.global.u64 [%rd5], %rd3; add.s32 %r10, %r3, %r10; setp.lt.u32 %p3, %r10, %r6; - @%p3 bra BB27_2; + @%p3 bra BB26_2; + +BB26_3: + ret; +} + + // .globl scan_exc_small_u32 +.visible .entry scan_exc_small_u32( + .param .u64 scan_exc_small_u32_param_0, + .param .u64 scan_exc_small_u32_param_1, + .param .u32 scan_exc_small_u32_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<41>; + .reg .b64 %rd<10>; + + + ld.param.u64 %rd3, [scan_exc_small_u32_param_0]; + ld.param.u64 %rd2, [scan_exc_small_u32_param_1]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r13, %tid.x; + cvt.u64.u32 %rd1, %r13; + mul.wide.u32 %rd5, %r13, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v4.u32 {%r14, %r15, %r16, %r17}, [%rd6]; + mov.u32 %r18, 0; + add.s32 %r2, %r15, %r14; + add.s32 %r3, %r16, %r2; + add.s32 %r4, %r17, %r3; + shl.b32 %r22, %r13, 2; + mov.u32 %r23, shared; + add.s32 %r24, %r23, %r22; + st.shared.u32 [%r24], %r18; + mov.u32 %r5, %ntid.x; + add.s32 %r6, %r5, %r13; + setp.lt.u32 %p1, %r5, 2; + mov.u32 %r40, %r4; + @%p1 bra BB27_3; + + shl.b32 %r26, %r6, 2; + add.s32 %r7, %r23, %r26; + mov.u32 %r38, 1; + mov.u32 %r40, %r4; + +BB27_2: + st.shared.u32 [%r7], %r40; + bar.sync 0; + sub.s32 %r28, %r6, %r38; + shl.b32 %r29, %r28, 2; + add.s32 %r31, %r23, %r29; + ld.shared.u32 %r32, [%r31]; + ld.shared.u32 %r33, [%r7]; + add.s32 %r40, %r32, %r33; + bar.sync 0; + shl.b32 %r38, %r38, 1; + setp.lt.u32 %p2, %r38, %r5; + @%p2 bra BB27_2; BB27_3: + cvta.to.global.u64 %rd7, %rd2; + shl.b64 %rd8, %rd1, 4; + add.s64 %rd9, %rd7, %rd8; + sub.s32 %r34, %r40, %r4; + add.s32 %r35, %r34, %r3; + add.s32 %r36, %r34, %r2; + add.s32 %r37, %r34, %r14; + st.global.v4.u32 [%rd9], {%r34, %r37, %r36, %r35}; + ret; +} + + // .globl scan_exc_small_u64 +.visible .entry scan_exc_small_u64( + .param .u64 scan_exc_small_u64_param_0, + .param .u64 scan_exc_small_u64_param_1, + .param .u32 scan_exc_small_u64_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<18>; + .reg .b64 %rd<25>; + + + ld.param.u64 %rd8, [scan_exc_small_u64_param_0]; + ld.param.u64 %rd7, [scan_exc_small_u64_param_1]; + cvta.to.global.u64 %rd9, %rd8; + mov.u32 %r6, %tid.x; + cvt.u64.u32 %rd1, %r6; + mul.wide.u32 %rd10, %r6, 16; + add.s64 %rd11, %rd9, %rd10; + ld.global.v2.u64 {%rd12, %rd13}, [%rd11]; + add.s64 %rd3, %rd13, %rd12; + shl.b32 %r7, %r6, 3; + mov.u32 %r8, shared; + add.s32 %r9, %r8, %r7; + mov.u64 %rd15, 0; + st.shared.u64 [%r9], %rd15; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r6; + setp.lt.u32 %p1, %r1, 2; + mov.u64 %rd24, %rd3; + @%p1 bra BB28_3; + + shl.b32 %r11, %r2, 3; + add.s32 %r3, %r8, %r11; + mov.u32 %r17, 1; + mov.u64 %rd24, %rd3; + +BB28_2: + st.shared.u64 [%r3], %rd24; + bar.sync 0; + sub.s32 %r13, %r2, %r17; + shl.b32 %r14, %r13, 3; + add.s32 %r16, %r8, %r14; + ld.shared.u64 %rd16, [%r16]; + ld.shared.u64 %rd17, [%r3]; + add.s64 %rd24, %rd16, %rd17; + bar.sync 0; + shl.b32 %r17, %r17, 1; + setp.lt.u32 %p2, %r17, %r1; + @%p2 bra BB28_2; + +BB28_3: + cvta.to.global.u64 %rd18, %rd7; + shl.b64 %rd19, %rd1, 4; + add.s64 %rd20, %rd18, %rd19; + sub.s64 %rd21, %rd24, %rd3; + add.s64 %rd22, %rd21, %rd12; + st.global.v2.u64 [%rd20], {%rd21, %rd22}; + ret; +} + + // .globl scan_exc_small_f32 +.visible .entry scan_exc_small_f32( + .param .u64 scan_exc_small_f32_param_0, + .param .u64 scan_exc_small_f32_param_1, + .param .u32 scan_exc_small_f32_param_2 +) +{ + .reg .pred %p<7>; + .reg .f32 %f<29>; + .reg .b32 %r<30>; + .reg .b64 %rd<9>; + + + ld.param.u64 %rd2, [scan_exc_small_f32_param_0]; + ld.param.u64 %rd1, [scan_exc_small_f32_param_1]; + ld.param.u32 %r6, [scan_exc_small_f32_param_2]; + cvta.to.global.u64 %rd3, %rd2; + mov.u32 %r7, %tid.x; + mul.wide.u32 %rd4, %r7, 16; + add.s64 %rd5, %rd3, %rd4; + ld.global.v4.f32 {%f8, %f9, %f10, %f11}, [%rd5]; + shl.b32 %r8, %r7, 2; + setp.lt.u32 %p1, %r8, %r6; + add.f32 %f16, %f8, 0f00000000; + selp.f32 %f1, %f16, 0f00000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f32 %f17, %f9, 0f00000000, %p2; + add.f32 %f2, %f1, %f17; + add.s32 %r10, %r8, 2; + setp.lt.u32 %p3, %r10, %r6; + selp.f32 %f18, %f10, 0f00000000, %p3; + add.f32 %f3, %f2, %f18; + add.s32 %r11, %r8, 3; + setp.lt.u32 %p4, %r11, %r6; + selp.f32 %f19, %f11, 0f00000000, %p4; + add.f32 %f4, %f3, %f19; + mov.u32 %r12, shared; + add.s32 %r13, %r12, %r8; + mov.u32 %r14, 0; + st.shared.u32 [%r13], %r14; + mov.u32 %r15, %ntid.x; + setp.lt.u32 %p5, %r15, 2; + mov.f32 %f28, %f4; + @%p5 bra BB29_3; + + add.s32 %r19, %r15, %r7; + shl.b32 %r20, %r19, 2; + add.s32 %r1, %r12, %r20; + mov.u32 %r29, 1; + mov.f32 %f28, %f4; + +BB29_2: + st.shared.f32 [%r1], %f28; + bar.sync 0; + sub.s32 %r24, %r19, %r29; + shl.b32 %r25, %r24, 2; + add.s32 %r27, %r12, %r25; + ld.shared.f32 %f20, [%r27]; + ld.shared.f32 %f21, [%r1]; + add.f32 %f28, %f21, %f20; + bar.sync 0; + shl.b32 %r29, %r29, 1; + setp.lt.u32 %p6, %r29, %r15; + @%p6 bra BB29_2; + +BB29_3: + sub.f32 %f22, %f28, %f4; + cvta.to.global.u64 %rd6, %rd1; + add.s64 %rd8, %rd6, %rd4; + add.f32 %f23, %f22, %f3; + add.f32 %f24, %f22, %f2; + add.f32 %f25, %f22, %f1; + add.f32 %f26, %f22, 0f00000000; + st.global.v4.f32 [%rd8], {%f26, %f25, %f24, %f23}; + ret; +} + + // .globl scan_exc_small_f64 +.visible .entry scan_exc_small_f64( + .param .u64 scan_exc_small_f64_param_0, + .param .u64 scan_exc_small_f64_param_1, + .param .u32 scan_exc_small_f64_param_2 +) +{ + .reg .pred %p<5>; + .reg .b32 %r<21>; + .reg .f64 %fd<19>; + .reg .b64 %rd<11>; + + + ld.param.u64 %rd3, [scan_exc_small_f64_param_0]; + ld.param.u64 %rd2, [scan_exc_small_f64_param_1]; + ld.param.u32 %r6, [scan_exc_small_f64_param_2]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r7, %tid.x; + cvt.u64.u32 %rd1, %r7; + mul.wide.u32 %rd5, %r7, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v2.f64 {%fd6, %fd7}, [%rd6]; + shl.b32 %r8, %r7, 1; + setp.lt.u32 %p1, %r8, %r6; + add.f64 %fd10, %fd6, 0d0000000000000000; + selp.f64 %fd1, %fd10, 0d0000000000000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f64 %fd11, %fd7, 0d0000000000000000, %p2; + add.f64 %fd2, %fd1, %fd11; + shl.b32 %r10, %r7, 3; + mov.u32 %r11, shared_d; + add.s32 %r12, %r11, %r10; + mov.u64 %rd7, 0; + st.shared.u64 [%r12], %rd7; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r7; + setp.lt.u32 %p3, %r1, 2; + mov.f64 %fd18, %fd2; + @%p3 bra BB30_3; + + shl.b32 %r14, %r2, 3; + add.s32 %r3, %r11, %r14; + mov.u32 %r20, 1; + mov.f64 %fd18, %fd2; + +BB30_2: + st.shared.f64 [%r3], %fd18; + bar.sync 0; + sub.s32 %r16, %r2, %r20; + shl.b32 %r17, %r16, 3; + add.s32 %r19, %r11, %r17; + ld.shared.f64 %fd12, [%r19]; + ld.shared.f64 %fd13, [%r3]; + add.f64 %fd18, %fd13, %fd12; + bar.sync 0; + shl.b32 %r20, %r20, 1; + setp.lt.u32 %p4, %r20, %r1; + @%p4 bra BB30_2; + +BB30_3: + sub.f64 %fd14, %fd18, %fd2; + cvta.to.global.u64 %rd8, %rd2; + shl.b64 %rd9, %rd1, 4; + add.s64 %rd10, %rd8, %rd9; + add.f64 %fd15, %fd14, %fd1; + add.f64 %fd16, %fd14, 0d0000000000000000; + st.global.v2.f64 [%rd10], {%fd16, %fd15}; + ret; +} + + // .globl scan_inc_small_u32 +.visible .entry scan_inc_small_u32( + .param .u64 scan_inc_small_u32_param_0, + .param .u64 scan_inc_small_u32_param_1, + .param .u32 scan_inc_small_u32_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<41>; + .reg .b64 %rd<10>; + + + ld.param.u64 %rd3, [scan_inc_small_u32_param_0]; + ld.param.u64 %rd2, [scan_inc_small_u32_param_1]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r13, %tid.x; + cvt.u64.u32 %rd1, %r13; + mul.wide.u32 %rd5, %r13, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v4.u32 {%r14, %r15, %r16, %r17}, [%rd6]; + mov.u32 %r18, 0; + add.s32 %r2, %r15, %r14; + add.s32 %r3, %r16, %r2; + add.s32 %r4, %r17, %r3; + shl.b32 %r22, %r13, 2; + mov.u32 %r23, shared; + add.s32 %r24, %r23, %r22; + st.shared.u32 [%r24], %r18; + mov.u32 %r5, %ntid.x; + add.s32 %r6, %r5, %r13; + setp.lt.u32 %p1, %r5, 2; + mov.u32 %r40, %r4; + @%p1 bra BB31_3; + + shl.b32 %r26, %r6, 2; + add.s32 %r7, %r23, %r26; + mov.u32 %r38, 1; + mov.u32 %r40, %r4; + +BB31_2: + st.shared.u32 [%r7], %r40; + bar.sync 0; + sub.s32 %r28, %r6, %r38; + shl.b32 %r29, %r28, 2; + add.s32 %r31, %r23, %r29; + ld.shared.u32 %r32, [%r31]; + ld.shared.u32 %r33, [%r7]; + add.s32 %r40, %r32, %r33; + bar.sync 0; + shl.b32 %r38, %r38, 1; + setp.lt.u32 %p2, %r38, %r5; + @%p2 bra BB31_2; + +BB31_3: + sub.s32 %r34, %r40, %r4; + cvta.to.global.u64 %rd7, %rd2; + shl.b64 %rd8, %rd1, 4; + add.s64 %rd9, %rd7, %rd8; + add.s32 %r35, %r34, %r3; + add.s32 %r36, %r34, %r2; + add.s32 %r37, %r34, %r14; + st.global.v4.u32 [%rd9], {%r37, %r36, %r35, %r40}; + ret; +} + + // .globl scan_inc_small_u64 +.visible .entry scan_inc_small_u64( + .param .u64 scan_inc_small_u64_param_0, + .param .u64 scan_inc_small_u64_param_1, + .param .u32 scan_inc_small_u64_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<18>; + .reg .b64 %rd<25>; + + + ld.param.u64 %rd8, [scan_inc_small_u64_param_0]; + ld.param.u64 %rd7, [scan_inc_small_u64_param_1]; + cvta.to.global.u64 %rd9, %rd8; + mov.u32 %r6, %tid.x; + cvt.u64.u32 %rd1, %r6; + mul.wide.u32 %rd10, %r6, 16; + add.s64 %rd11, %rd9, %rd10; + ld.global.v2.u64 {%rd12, %rd13}, [%rd11]; + add.s64 %rd3, %rd13, %rd12; + shl.b32 %r7, %r6, 3; + mov.u32 %r8, shared; + add.s32 %r9, %r8, %r7; + mov.u64 %rd15, 0; + st.shared.u64 [%r9], %rd15; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r6; + setp.lt.u32 %p1, %r1, 2; + mov.u64 %rd24, %rd3; + @%p1 bra BB32_3; + + shl.b32 %r11, %r2, 3; + add.s32 %r3, %r8, %r11; + mov.u32 %r17, 1; + mov.u64 %rd24, %rd3; + +BB32_2: + st.shared.u64 [%r3], %rd24; + bar.sync 0; + sub.s32 %r13, %r2, %r17; + shl.b32 %r14, %r13, 3; + add.s32 %r16, %r8, %r14; + ld.shared.u64 %rd16, [%r16]; + ld.shared.u64 %rd17, [%r3]; + add.s64 %rd24, %rd16, %rd17; + bar.sync 0; + shl.b32 %r17, %r17, 1; + setp.lt.u32 %p2, %r17, %r1; + @%p2 bra BB32_2; + +BB32_3: + sub.s64 %rd18, %rd24, %rd3; + cvta.to.global.u64 %rd19, %rd7; + shl.b64 %rd20, %rd1, 4; + add.s64 %rd21, %rd19, %rd20; + add.s64 %rd22, %rd18, %rd12; + st.global.v2.u64 [%rd21], {%rd22, %rd24}; + ret; +} + + // .globl scan_inc_small_f32 +.visible .entry scan_inc_small_f32( + .param .u64 scan_inc_small_f32_param_0, + .param .u64 scan_inc_small_f32_param_1, + .param .u32 scan_inc_small_f32_param_2 +) +{ + .reg .pred %p<7>; + .reg .f32 %f<29>; + .reg .b32 %r<30>; + .reg .b64 %rd<9>; + + + ld.param.u64 %rd2, [scan_inc_small_f32_param_0]; + ld.param.u64 %rd1, [scan_inc_small_f32_param_1]; + ld.param.u32 %r6, [scan_inc_small_f32_param_2]; + cvta.to.global.u64 %rd3, %rd2; + mov.u32 %r7, %tid.x; + mul.wide.u32 %rd4, %r7, 16; + add.s64 %rd5, %rd3, %rd4; + ld.global.v4.f32 {%f8, %f9, %f10, %f11}, [%rd5]; + shl.b32 %r8, %r7, 2; + setp.lt.u32 %p1, %r8, %r6; + add.f32 %f16, %f8, 0f00000000; + selp.f32 %f1, %f16, 0f00000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f32 %f17, %f9, 0f00000000, %p2; + add.f32 %f2, %f1, %f17; + add.s32 %r10, %r8, 2; + setp.lt.u32 %p3, %r10, %r6; + selp.f32 %f18, %f10, 0f00000000, %p3; + add.f32 %f3, %f2, %f18; + add.s32 %r11, %r8, 3; + setp.lt.u32 %p4, %r11, %r6; + selp.f32 %f19, %f11, 0f00000000, %p4; + add.f32 %f4, %f3, %f19; + mov.u32 %r12, shared; + add.s32 %r13, %r12, %r8; + mov.u32 %r14, 0; + st.shared.u32 [%r13], %r14; + mov.u32 %r15, %ntid.x; + setp.lt.u32 %p5, %r15, 2; + mov.f32 %f28, %f4; + @%p5 bra BB33_3; + + add.s32 %r19, %r15, %r7; + shl.b32 %r20, %r19, 2; + add.s32 %r1, %r12, %r20; + mov.u32 %r29, 1; + mov.f32 %f28, %f4; + +BB33_2: + st.shared.f32 [%r1], %f28; + bar.sync 0; + sub.s32 %r24, %r19, %r29; + shl.b32 %r25, %r24, 2; + add.s32 %r27, %r12, %r25; + ld.shared.f32 %f20, [%r27]; + ld.shared.f32 %f21, [%r1]; + add.f32 %f28, %f21, %f20; + bar.sync 0; + shl.b32 %r29, %r29, 1; + setp.lt.u32 %p6, %r29, %r15; + @%p6 bra BB33_2; + +BB33_3: + sub.f32 %f22, %f28, %f4; + cvta.to.global.u64 %rd6, %rd1; + add.s64 %rd8, %rd6, %rd4; + add.f32 %f23, %f22, %f4; + add.f32 %f24, %f22, %f3; + add.f32 %f25, %f22, %f2; + add.f32 %f26, %f22, %f1; + st.global.v4.f32 [%rd8], {%f26, %f25, %f24, %f23}; + ret; +} + + // .globl scan_inc_small_f64 +.visible .entry scan_inc_small_f64( + .param .u64 scan_inc_small_f64_param_0, + .param .u64 scan_inc_small_f64_param_1, + .param .u32 scan_inc_small_f64_param_2 +) +{ + .reg .pred %p<5>; + .reg .b32 %r<21>; + .reg .f64 %fd<19>; + .reg .b64 %rd<11>; + + + ld.param.u64 %rd3, [scan_inc_small_f64_param_0]; + ld.param.u64 %rd2, [scan_inc_small_f64_param_1]; + ld.param.u32 %r6, [scan_inc_small_f64_param_2]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r7, %tid.x; + cvt.u64.u32 %rd1, %r7; + mul.wide.u32 %rd5, %r7, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v2.f64 {%fd6, %fd7}, [%rd6]; + shl.b32 %r8, %r7, 1; + setp.lt.u32 %p1, %r8, %r6; + add.f64 %fd10, %fd6, 0d0000000000000000; + selp.f64 %fd1, %fd10, 0d0000000000000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f64 %fd11, %fd7, 0d0000000000000000, %p2; + add.f64 %fd2, %fd1, %fd11; + shl.b32 %r10, %r7, 3; + mov.u32 %r11, shared_d; + add.s32 %r12, %r11, %r10; + mov.u64 %rd7, 0; + st.shared.u64 [%r12], %rd7; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r7; + setp.lt.u32 %p3, %r1, 2; + mov.f64 %fd18, %fd2; + @%p3 bra BB34_3; + + shl.b32 %r14, %r2, 3; + add.s32 %r3, %r11, %r14; + mov.u32 %r20, 1; + mov.f64 %fd18, %fd2; + +BB34_2: + st.shared.f64 [%r3], %fd18; + bar.sync 0; + sub.s32 %r16, %r2, %r20; + shl.b32 %r17, %r16, 3; + add.s32 %r19, %r11, %r17; + ld.shared.f64 %fd12, [%r19]; + ld.shared.f64 %fd13, [%r3]; + add.f64 %fd18, %fd13, %fd12; + bar.sync 0; + shl.b32 %r20, %r20, 1; + setp.lt.u32 %p4, %r20, %r1; + @%p4 bra BB34_2; + +BB34_3: + sub.f64 %fd14, %fd18, %fd2; + cvta.to.global.u64 %rd8, %rd2; + shl.b64 %rd9, %rd1, 4; + add.s64 %rd10, %rd8, %rd9; + add.f64 %fd15, %fd14, %fd2; + add.f64 %fd16, %fd14, %fd1; + st.global.v2.f64 [%rd10], {%fd16, %fd15}; ret; } - // .globl scan_large_u32 -.visible .entry scan_large_u32( - .param .u64 scan_large_u32_param_0, - .param .u64 scan_large_u32_param_1, - .param .u64 scan_large_u32_param_2 + // .globl scan_exc_large_u32 +.visible .entry scan_exc_large_u32( + .param .u64 scan_exc_large_u32_param_0, + .param .u64 scan_exc_large_u32_param_1, + .param .u32 scan_exc_large_u32_param_2, + .param .u64 scan_exc_large_u32_param_3 ) { .reg .pred %p<15>; - .reg .b32 %r<204>; + .reg .b32 %r<202>; + .reg .b64 %rd<28>; + + + ld.param.u64 %rd6, [scan_exc_large_u32_param_0]; + ld.param.u64 %rd4, [scan_exc_large_u32_param_1]; + ld.param.u64 %rd5, [scan_exc_large_u32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r39, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r40, %r39, %r2; + cvt.u64.u32 %rd1, %r40; + cvta.to.global.u64 %rd7, %rd6; + mul.wide.u32 %rd8, %r40, 16; + add.s64 %rd9, %rd7, %rd8; + ld.global.v4.u32 {%r41, %r42, %r43, %r44}, [%rd9]; + ld.global.v4.u32 {%r49, %r50, %r51, %r52}, [%rd9+2048]; + ld.global.v4.u32 {%r57, %r58, %r59, %r60}, [%rd9+4096]; + ld.global.v4.u32 {%r65, %r66, %r67, %r68}, [%rd9+6144]; + shl.b32 %r73, %r2, 4; + mov.u32 %r74, shared; + add.s32 %r3, %r74, %r73; + st.shared.v4.u32 [%r3], {%r41, %r42, %r43, %r44}; + st.shared.v4.u32 [%r3+2048], {%r49, %r50, %r51, %r52}; + st.shared.v4.u32 [%r3+4096], {%r57, %r58, %r59, %r60}; + st.shared.v4.u32 [%r3+6144], {%r65, %r66, %r67, %r68}; + bar.sync 0; + shl.b32 %r75, %r2, 6; + add.s32 %r4, %r74, %r75; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r4]; + ld.shared.v4.u32 {%r84, %r85, %r86, %r87}, [%r4+16]; + ld.shared.v4.u32 {%r92, %r93, %r94, %r95}, [%r4+32]; + ld.shared.v4.u32 {%r100, %r101, %r102, %r103}, [%r4+48]; + add.s32 %r6, %r78, %r77; + add.s32 %r7, %r79, %r6; + add.s32 %r8, %r80, %r7; + add.s32 %r9, %r84, %r8; + add.s32 %r10, %r85, %r9; + add.s32 %r11, %r86, %r10; + add.s32 %r12, %r87, %r11; + add.s32 %r13, %r92, %r12; + add.s32 %r14, %r93, %r13; + add.s32 %r15, %r94, %r14; + add.s32 %r16, %r95, %r15; + add.s32 %r17, %r100, %r16; + add.s32 %r18, %r101, %r17; + add.s32 %r19, %r102, %r18; + add.s32 %r20, %r103, %r19; + bar.sync 0; + shl.b32 %r108, %r2, 2; + add.s32 %r21, %r74, %r108; + mov.u32 %r201, 0; + st.shared.u32 [%r21], %r201; + st.shared.u32 [%r21+512], %r20; + bar.sync 0; + ld.shared.u32 %r111, [%r21+508]; + ld.shared.u32 %r112, [%r21+512]; + add.s32 %r22, %r111, %r112; + bar.sync 0; + st.shared.u32 [%r21+512], %r22; + bar.sync 0; + ld.shared.u32 %r113, [%r21+504]; + ld.shared.u32 %r114, [%r21+512]; + add.s32 %r23, %r113, %r114; + bar.sync 0; + st.shared.u32 [%r21+512], %r23; + bar.sync 0; + ld.shared.u32 %r115, [%r21+496]; + ld.shared.u32 %r116, [%r21+512]; + add.s32 %r24, %r115, %r116; + bar.sync 0; + st.shared.u32 [%r21+512], %r24; + bar.sync 0; + ld.shared.u32 %r117, [%r21+480]; + ld.shared.u32 %r118, [%r21+512]; + add.s32 %r25, %r117, %r118; + bar.sync 0; + st.shared.u32 [%r21+512], %r25; + bar.sync 0; + ld.shared.u32 %r119, [%r21+448]; + ld.shared.u32 %r120, [%r21+512]; + add.s32 %r26, %r119, %r120; + bar.sync 0; + st.shared.u32 [%r21+512], %r26; + bar.sync 0; + ld.shared.u32 %r121, [%r21+384]; + ld.shared.u32 %r122, [%r21+512]; + add.s32 %r27, %r121, %r122; + bar.sync 0; + st.shared.u32 [%r21+512], %r27; + bar.sync 0; + ld.shared.u32 %r123, [%r21+256]; + ld.shared.u32 %r124, [%r21+512]; + add.s32 %r28, %r123, %r124; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd10, %r1, 8; + add.s64 %rd3, %rd5, %rd10; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB35_2; + + cvt.u64.u32 %rd13, %r28; + shl.b64 %rd14, %rd13, 32; + or.b64 %rd12, %rd14, 1; + // inline asm + st.cg.u64 [%rd3], %rd12; + // inline asm + +BB35_2: + and.b32 %r29, %r2, 31; + add.s32 %r200, %r29, -32; + bra.uni BB35_3; + +BB35_8: + add.s32 %r201, %r34, %r201; + add.s32 %r200, %r200, -32; + +BB35_3: + cvt.s64.s32 %rd17, %r200; + add.s64 %rd18, %rd17, %rd2; + shl.b64 %rd19, %rd18, 3; + add.s64 %rd16, %rd5, %rd19; + // inline asm + ld.cg.u64 %rd15, [%rd16]; + // inline asm + cvt.u32.u64 %r33, %rd15; + shr.u64 %rd20, %rd15, 32; + cvt.u32.u64 %r34, %rd20; + setp.eq.s32 %p2, %r33, 0; + mov.u32 %r126, -1; + vote.sync.any.pred %p3, %p2, %r126; + @%p3 bra BB35_3; + + setp.eq.s32 %p4, %r33, 2; + vote.sync.ballot.b32 %r35, %p4, %r126; + setp.eq.s32 %p6, %r35, 0; + @%p6 bra BB35_8; + + clz.b32 %r129, %r35; + mov.u32 %r130, 31; + sub.s32 %r131, %r130, %r129; + setp.lt.u32 %p7, %r29, %r131; + selp.b32 %r132, 0, %r34, %p7; + mov.u32 %r133, 0; + add.s32 %r134, %r132, %r201; + mov.u32 %r135, 2; + mov.u32 %r136, 16; + shfl.sync.down.b32 %r138|%p8, %r134, %r136, %r130, %r126; + add.s32 %r139, %r138, %r134; + mov.u32 %r140, 8; + shfl.sync.down.b32 %r141|%p9, %r139, %r140, %r130, %r126; + add.s32 %r142, %r141, %r139; + mov.u32 %r143, 4; + shfl.sync.down.b32 %r144|%p10, %r142, %r143, %r130, %r126; + add.s32 %r145, %r144, %r142; + shfl.sync.down.b32 %r146|%p11, %r145, %r135, %r130, %r126; + add.s32 %r147, %r146, %r145; + mov.u32 %r148, 1; + shfl.sync.down.b32 %r149|%p12, %r147, %r148, %r130, %r126; + add.s32 %r150, %r149, %r147; + shfl.sync.idx.b32 %r151|%p13, %r150, %r133, %r130, %r126; + add.s32 %r36, %r151, %r28; + @%p1 bra BB35_7; + + cvt.u64.u32 %rd23, %r36; + shl.b64 %rd24, %rd23, 32; + or.b64 %rd22, %rd24, 2; + // inline asm + st.cg.u64 [%rd3], %rd22; + // inline asm + +BB35_7: + sub.s32 %r152, %r36, %r20; + add.s32 %r153, %r152, %r7; + add.s32 %r154, %r152, %r6; + add.s32 %r155, %r152, %r77; + st.shared.v4.u32 [%r4], {%r152, %r155, %r154, %r153}; + add.s32 %r156, %r152, %r11; + add.s32 %r157, %r152, %r10; + add.s32 %r158, %r152, %r9; + add.s32 %r159, %r152, %r8; + st.shared.v4.u32 [%r4+16], {%r159, %r158, %r157, %r156}; + add.s32 %r160, %r152, %r15; + add.s32 %r161, %r152, %r14; + add.s32 %r162, %r152, %r13; + add.s32 %r163, %r152, %r12; + st.shared.v4.u32 [%r4+32], {%r163, %r162, %r161, %r160}; + add.s32 %r164, %r152, %r19; + add.s32 %r165, %r152, %r18; + add.s32 %r166, %r152, %r17; + add.s32 %r167, %r152, %r16; + st.shared.v4.u32 [%r4+48], {%r167, %r166, %r165, %r164}; + bar.sync 0; + cvta.to.global.u64 %rd25, %rd4; + shl.b64 %rd26, %rd1, 4; + add.s64 %rd27, %rd25, %rd26; + ld.shared.v4.u32 {%r168, %r169, %r170, %r171}, [%r3]; + st.global.v4.u32 [%rd27], {%r168, %r169, %r170, %r171}; + ld.shared.v4.u32 {%r176, %r177, %r178, %r179}, [%r3+2048]; + st.global.v4.u32 [%rd27+2048], {%r176, %r177, %r178, %r179}; + ld.shared.v4.u32 {%r184, %r185, %r186, %r187}, [%r3+4096]; + st.global.v4.u32 [%rd27+4096], {%r184, %r185, %r186, %r187}; + ld.shared.v4.u32 {%r192, %r193, %r194, %r195}, [%r3+6144]; + st.global.v4.u32 [%rd27+6144], {%r192, %r193, %r194, %r195}; + ret; +} + + // .globl scan_exc_large_u64 +.visible .entry scan_exc_large_u64( + .param .u64 scan_exc_large_u64_param_0, + .param .u64 scan_exc_large_u64_param_1, + .param .u32 scan_exc_large_u64_param_2, + .param .u64 scan_exc_large_u64_param_3 +) +{ + .reg .pred %p<21>; + .reg .b32 %r<104>; + .reg .b64 %rd<118>; + + + ld.param.u64 %rd25, [scan_exc_large_u64_param_0]; + ld.param.u64 %rd24, [scan_exc_large_u64_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r12, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r13, %r12, %r2; + cvta.to.global.u64 %rd26, %rd25; + mul.wide.u32 %rd27, %r13, 16; + add.s64 %rd28, %rd26, %rd27; + ld.global.v2.u64 {%rd29, %rd30}, [%rd28]; + ld.global.v2.u64 {%rd33, %rd34}, [%rd28+2048]; + ld.global.v2.u64 {%rd37, %rd38}, [%rd28+4096]; + ld.global.v2.u64 {%rd41, %rd42}, [%rd28+6144]; + shl.b32 %r14, %r2, 4; + mov.u32 %r15, shared; + add.s32 %r3, %r15, %r14; + st.shared.v2.u64 [%r3], {%rd29, %rd30}; + st.shared.v2.u64 [%r3+2048], {%rd33, %rd34}; + st.shared.v2.u64 [%r3+4096], {%rd37, %rd38}; + st.shared.v2.u64 [%r3+6144], {%rd41, %rd42}; + bar.sync 0; + shl.b32 %r16, %r2, 6; + add.s32 %r4, %r15, %r16; + ld.shared.v2.u64 {%rd45, %rd46}, [%r4]; + ld.shared.v2.u64 {%rd48, %rd49}, [%r4+16]; + ld.shared.v2.u64 {%rd52, %rd53}, [%r4+32]; + ld.shared.v2.u64 {%rd56, %rd57}, [%r4+48]; + add.s64 %rd3, %rd46, %rd45; + add.s64 %rd4, %rd48, %rd3; + add.s64 %rd5, %rd49, %rd4; + add.s64 %rd6, %rd52, %rd5; + add.s64 %rd7, %rd53, %rd6; + add.s64 %rd8, %rd56, %rd7; + add.s64 %rd9, %rd57, %rd8; + bar.sync 0; + shl.b32 %r18, %r2, 3; + add.s32 %r5, %r15, %r18; + mov.u64 %rd117, 0; + st.shared.u64 [%r5], %rd117; + st.shared.u64 [%r5+1024], %rd9; + bar.sync 0; + ld.shared.u64 %rd61, [%r5+1016]; + ld.shared.u64 %rd62, [%r5+1024]; + add.s64 %rd10, %rd61, %rd62; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd10; + bar.sync 0; + ld.shared.u64 %rd63, [%r5+1008]; + ld.shared.u64 %rd64, [%r5+1024]; + add.s64 %rd11, %rd63, %rd64; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd11; + bar.sync 0; + ld.shared.u64 %rd65, [%r5+992]; + ld.shared.u64 %rd66, [%r5+1024]; + add.s64 %rd12, %rd65, %rd66; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd12; + bar.sync 0; + ld.shared.u64 %rd67, [%r5+960]; + ld.shared.u64 %rd68, [%r5+1024]; + add.s64 %rd13, %rd67, %rd68; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd13; + bar.sync 0; + ld.shared.u64 %rd69, [%r5+896]; + ld.shared.u64 %rd70, [%r5+1024]; + add.s64 %rd14, %rd69, %rd70; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd14; + bar.sync 0; + ld.shared.u64 %rd71, [%r5+768]; + ld.shared.u64 %rd72, [%r5+1024]; + add.s64 %rd15, %rd71, %rd72; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd15; + bar.sync 0; + ld.shared.u64 %rd73, [%r5+512]; + ld.shared.u64 %rd74, [%r5+1024]; + add.s64 %rd16, %rd73, %rd74; + bar.sync 0; + cvt.u64.u32 %rd17, %r1; + mul.wide.u32 %rd75, %r1, 8; + add.s64 %rd18, %rd24, %rd75; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB36_2; + + shl.b64 %rd78, %rd16, 2; + or.b64 %rd77, %rd78, 1; + // inline asm + st.cg.u64 [%rd18], %rd77; + // inline asm + +BB36_2: + and.b32 %r6, %r2, 31; + add.s32 %r103, %r6, -32; + bra.uni BB36_3; + +BB36_8: + add.s64 %rd117, %rd20, %rd117; + add.s32 %r103, %r103, -32; + +BB36_3: + cvt.s64.s32 %rd82, %r103; + add.s64 %rd83, %rd82, %rd17; + shl.b64 %rd84, %rd83, 3; + add.s64 %rd81, %rd24, %rd84; + // inline asm + ld.cg.u64 %rd80, [%rd81]; + // inline asm + cvt.u32.u64 %r20, %rd80; + and.b32 %r9, %r20, 3; + shr.u64 %rd20, %rd80, 2; + setp.eq.s32 %p2, %r9, 0; + mov.u32 %r21, -1; + vote.sync.any.pred %p3, %p2, %r21; + @%p3 bra BB36_3; + + setp.eq.s32 %p4, %r9, 2; + vote.sync.ballot.b32 %r10, %p4, %r21; + setp.eq.s32 %p6, %r10, 0; + @%p6 bra BB36_8; + + clz.b32 %r48, %r10; + mov.u32 %r49, 31; + sub.s32 %r50, %r49, %r48; + setp.lt.u32 %p7, %r6, %r50; + selp.b64 %rd97, 0, %rd20, %p7; + add.s64 %rd85, %rd97, %rd117; + // inline asm + mov.b64 {%r24,%r25}, %rd85; + // inline asm + mov.u32 %r51, 2; + mov.u32 %r52, 16; + shfl.sync.down.b32 %r27|%p8, %r25, %r52, %r49, %r21; + shfl.sync.down.b32 %r26|%p9, %r24, %r52, %r49, %r21; + // inline asm + mov.b64 %rd86, {%r26,%r27}; + // inline asm + add.s64 %rd87, %rd86, %rd85; + // inline asm + mov.b64 {%r28,%r29}, %rd87; + // inline asm + mov.u32 %r54, 8; + shfl.sync.down.b32 %r31|%p10, %r29, %r54, %r49, %r21; + shfl.sync.down.b32 %r30|%p11, %r28, %r54, %r49, %r21; + // inline asm + mov.b64 %rd88, {%r30,%r31}; + // inline asm + add.s64 %rd89, %rd88, %rd87; + // inline asm + mov.b64 {%r32,%r33}, %rd89; + // inline asm + mov.u32 %r55, 4; + shfl.sync.down.b32 %r35|%p12, %r33, %r55, %r49, %r21; + shfl.sync.down.b32 %r34|%p13, %r32, %r55, %r49, %r21; + // inline asm + mov.b64 %rd90, {%r34,%r35}; + // inline asm + add.s64 %rd91, %rd90, %rd89; + // inline asm + mov.b64 {%r36,%r37}, %rd91; + // inline asm + shfl.sync.down.b32 %r39|%p14, %r37, %r51, %r49, %r21; + shfl.sync.down.b32 %r38|%p15, %r36, %r51, %r49, %r21; + // inline asm + mov.b64 %rd92, {%r38,%r39}; + // inline asm + add.s64 %rd93, %rd92, %rd91; + // inline asm + mov.b64 {%r40,%r41}, %rd93; + // inline asm + mov.u32 %r56, 1; + shfl.sync.down.b32 %r43|%p16, %r41, %r56, %r49, %r21; + shfl.sync.down.b32 %r42|%p17, %r40, %r56, %r49, %r21; + // inline asm + mov.b64 %rd94, {%r42,%r43}; + // inline asm + add.s64 %rd95, %rd94, %rd93; + // inline asm + mov.b64 {%r44,%r45}, %rd95; + // inline asm + mov.u32 %r57, 0; + shfl.sync.idx.b32 %r47|%p18, %r45, %r57, %r49, %r21; + shfl.sync.idx.b32 %r46|%p19, %r44, %r57, %r49, %r21; + // inline asm + mov.b64 %rd96, {%r46,%r47}; + // inline asm + add.s64 %rd21, %rd96, %rd16; + @%p1 bra BB36_7; + + mov.u32 %r102, %ctaid.x; + mul.wide.u32 %rd116, %r102, 8; + ld.param.u64 %rd115, [scan_exc_large_u64_param_3]; + add.s64 %rd114, %rd115, %rd116; + shl.b64 %rd100, %rd21, 2; + or.b64 %rd99, %rd100, 2; + // inline asm + st.cg.u64 [%rd114], %rd99; + // inline asm + +BB36_7: + mov.u32 %r93, %tid.x; + shl.b32 %r92, %r93, 6; + mov.u32 %r91, shared; + add.s32 %r90, %r91, %r92; + sub.s64 %rd101, %rd21, %rd9; + add.s64 %rd102, %rd101, %rd45; + st.shared.v2.u64 [%r90], {%rd101, %rd102}; + add.s64 %rd103, %rd101, %rd4; + add.s64 %rd104, %rd101, %rd3; + st.shared.v2.u64 [%r90+16], {%rd104, %rd103}; + add.s64 %rd105, %rd101, %rd6; + add.s64 %rd106, %rd101, %rd5; + st.shared.v2.u64 [%r90+32], {%rd106, %rd105}; + add.s64 %rd107, %rd101, %rd8; + add.s64 %rd108, %rd101, %rd7; + st.shared.v2.u64 [%r90+48], {%rd108, %rd107}; + bar.sync 0; + mov.u32 %r101, %tid.x; + shl.b32 %r100, %r101, 4; + mov.u32 %r99, shared; + add.s32 %r98, %r99, %r100; + mov.u32 %r97, %ctaid.x; + mov.u32 %r96, %tid.x; + shl.b32 %r95, %r97, 9; + add.s32 %r94, %r95, %r96; + cvt.u64.u32 %rd113, %r94; + ld.param.u64 %rd112, [scan_exc_large_u64_param_1]; + cvta.to.global.u64 %rd109, %rd112; + shl.b64 %rd110, %rd113, 4; + add.s64 %rd111, %rd109, %rd110; + ld.shared.v4.u32 {%r58, %r59, %r60, %r61}, [%r98]; + st.global.v4.u32 [%rd111], {%r58, %r59, %r60, %r61}; + ld.shared.v4.u32 {%r66, %r67, %r68, %r69}, [%r98+2048]; + st.global.v4.u32 [%rd111+2048], {%r66, %r67, %r68, %r69}; + ld.shared.v4.u32 {%r74, %r75, %r76, %r77}, [%r98+4096]; + st.global.v4.u32 [%rd111+4096], {%r74, %r75, %r76, %r77}; + ld.shared.v4.u32 {%r82, %r83, %r84, %r85}, [%r98+6144]; + st.global.v4.u32 [%rd111+6144], {%r82, %r83, %r84, %r85}; + ret; +} + + // .globl scan_exc_large_f32 +.visible .entry scan_exc_large_f32( + .param .u64 scan_exc_large_f32_param_0, + .param .u64 scan_exc_large_f32_param_1, + .param .u32 scan_exc_large_f32_param_2, + .param .u64 scan_exc_large_f32_param_3 +) +{ + .reg .pred %p<31>; + .reg .f32 %f<153>; + .reg .b32 %r<102>; .reg .b64 %rd<29>; - ld.param.u64 %rd7, [scan_large_u32_param_0]; - ld.param.u64 %rd5, [scan_large_u32_param_1]; - ld.param.u64 %rd6, [scan_large_u32_param_2]; + ld.param.u64 %rd7, [scan_exc_large_f32_param_0]; + ld.param.u64 %rd5, [scan_exc_large_f32_param_1]; + ld.param.u32 %r12, [scan_exc_large_f32_param_2]; + ld.param.u64 %rd6, [scan_exc_large_f32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r13, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r14, %r13, %r2; + cvt.u64.u32 %rd1, %r14; cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v4.f32 {%f27, %f28, %f29, %f30}, [%rd10]; + shl.b32 %r15, %r14, 2; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r15, 2; + setp.lt.u32 %p3, %r17, %r12; + add.s32 %r18, %r15, 3; + setp.lt.u32 %p4, %r18, %r12; + add.s32 %r19, %r14, 128; + ld.global.v4.f32 {%f35, %f36, %f37, %f38}, [%rd10+2048]; + shl.b32 %r20, %r19, 2; + setp.lt.u32 %p5, %r20, %r12; + add.s32 %r21, %r20, 1; + setp.lt.u32 %p6, %r21, %r12; + add.s32 %r22, %r20, 2; + setp.lt.u32 %p7, %r22, %r12; + add.s32 %r23, %r20, 3; + setp.lt.u32 %p8, %r23, %r12; + add.s32 %r24, %r14, 256; + ld.global.v4.f32 {%f43, %f44, %f45, %f46}, [%rd10+4096]; + shl.b32 %r25, %r24, 2; + setp.lt.u32 %p9, %r25, %r12; + add.s32 %r26, %r25, 1; + setp.lt.u32 %p10, %r26, %r12; + add.s32 %r27, %r25, 2; + setp.lt.u32 %p11, %r27, %r12; + add.s32 %r28, %r25, 3; + setp.lt.u32 %p12, %r28, %r12; + add.s32 %r29, %r14, 384; + ld.global.v4.f32 {%f51, %f52, %f53, %f54}, [%rd10+6144]; + shl.b32 %r30, %r29, 2; + setp.lt.u32 %p13, %r30, %r12; + add.s32 %r31, %r30, 1; + setp.lt.u32 %p14, %r31, %r12; + add.s32 %r32, %r30, 2; + setp.lt.u32 %p15, %r32, %r12; + add.s32 %r33, %r30, 3; + setp.lt.u32 %p16, %r33, %r12; + shl.b32 %r34, %r2, 4; + mov.u32 %r35, shared; + add.s32 %r3, %r35, %r34; + selp.f32 %f59, %f30, 0f00000000, %p4; + selp.f32 %f60, %f29, 0f00000000, %p3; + selp.f32 %f61, %f28, 0f00000000, %p2; + selp.f32 %f62, %f27, 0f00000000, %p1; + st.shared.v4.f32 [%r3], {%f62, %f61, %f60, %f59}; + selp.f32 %f63, %f38, 0f00000000, %p8; + selp.f32 %f64, %f37, 0f00000000, %p7; + selp.f32 %f65, %f36, 0f00000000, %p6; + selp.f32 %f66, %f35, 0f00000000, %p5; + st.shared.v4.f32 [%r3+2048], {%f66, %f65, %f64, %f63}; + selp.f32 %f67, %f46, 0f00000000, %p12; + selp.f32 %f68, %f45, 0f00000000, %p11; + selp.f32 %f69, %f44, 0f00000000, %p10; + selp.f32 %f70, %f43, 0f00000000, %p9; + st.shared.v4.f32 [%r3+4096], {%f70, %f69, %f68, %f67}; + selp.f32 %f71, %f54, 0f00000000, %p16; + selp.f32 %f72, %f53, 0f00000000, %p15; + selp.f32 %f73, %f52, 0f00000000, %p14; + selp.f32 %f74, %f51, 0f00000000, %p13; + st.shared.v4.f32 [%r3+6144], {%f74, %f73, %f72, %f71}; + bar.sync 0; + shl.b32 %r36, %r2, 6; + add.s32 %r4, %r35, %r36; + ld.shared.v4.f32 {%f75, %f76, %f77, %f78}, [%r4]; + ld.shared.v4.f32 {%f83, %f84, %f85, %f86}, [%r4+16]; + ld.shared.v4.f32 {%f91, %f92, %f93, %f94}, [%r4+32]; + ld.shared.v4.f32 {%f99, %f100, %f101, %f102}, [%r4+48]; + add.f32 %f1, %f75, 0f00000000; + add.f32 %f2, %f1, %f76; + add.f32 %f3, %f2, %f77; + add.f32 %f4, %f3, %f78; + add.f32 %f5, %f4, %f83; + add.f32 %f6, %f5, %f84; + add.f32 %f7, %f6, %f85; + add.f32 %f8, %f7, %f86; + add.f32 %f9, %f8, %f91; + add.f32 %f10, %f9, %f92; + add.f32 %f11, %f10, %f93; + add.f32 %f12, %f11, %f94; + add.f32 %f13, %f12, %f99; + add.f32 %f14, %f13, %f100; + add.f32 %f15, %f14, %f101; + add.f32 %f16, %f15, %f102; + bar.sync 0; + shl.b32 %r38, %r2, 2; + add.s32 %r5, %r35, %r38; + mov.u32 %r40, 0; + st.shared.u32 [%r5], %r40; + st.shared.f32 [%r5+512], %f16; + bar.sync 0; + ld.shared.f32 %f107, [%r5+508]; + ld.shared.f32 %f108, [%r5+512]; + add.f32 %f17, %f108, %f107; + bar.sync 0; + st.shared.f32 [%r5+512], %f17; + bar.sync 0; + ld.shared.f32 %f109, [%r5+504]; + ld.shared.f32 %f110, [%r5+512]; + add.f32 %f18, %f110, %f109; + bar.sync 0; + st.shared.f32 [%r5+512], %f18; + bar.sync 0; + ld.shared.f32 %f111, [%r5+496]; + ld.shared.f32 %f112, [%r5+512]; + add.f32 %f19, %f112, %f111; + bar.sync 0; + st.shared.f32 [%r5+512], %f19; + bar.sync 0; + ld.shared.f32 %f113, [%r5+480]; + ld.shared.f32 %f114, [%r5+512]; + add.f32 %f20, %f114, %f113; + bar.sync 0; + st.shared.f32 [%r5+512], %f20; + bar.sync 0; + ld.shared.f32 %f115, [%r5+448]; + ld.shared.f32 %f116, [%r5+512]; + add.f32 %f21, %f116, %f115; + bar.sync 0; + st.shared.f32 [%r5+512], %f21; + bar.sync 0; + ld.shared.f32 %f117, [%r5+384]; + ld.shared.f32 %f118, [%r5+512]; + add.f32 %f22, %f118, %f117; + bar.sync 0; + st.shared.f32 [%r5+512], %f22; + bar.sync 0; + ld.shared.f32 %f119, [%r5+256]; + ld.shared.f32 %f120, [%r5+512]; + add.f32 %f23, %f120, %f119; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd11, %r1, 8; + add.s64 %rd3, %rd6, %rd11; + setp.ne.s32 %p17, %r2, 127; + @%p17 bra BB37_2; + + mov.b32 %r41, %f23; + cvt.u64.u32 %rd14, %r41; + shl.b64 %rd15, %rd14, 32; + or.b64 %rd13, %rd15, 1; + // inline asm + st.cg.u64 [%rd3], %rd13; + // inline asm + +BB37_2: + and.b32 %r6, %r2, 31; + add.s32 %r101, %r6, -32; + mov.f32 %f152, 0f00000000; + bra.uni BB37_3; + +BB37_8: + add.s32 %r101, %r101, -32; + mov.f32 %f152, %f25; + +BB37_3: + cvt.s64.s32 %rd18, %r101; + add.s64 %rd19, %rd18, %rd2; + shl.b64 %rd20, %rd19, 3; + add.s64 %rd17, %rd6, %rd20; + // inline asm + ld.cg.u64 %rd16, [%rd17]; + // inline asm + cvt.u32.u64 %r9, %rd16; + setp.eq.s32 %p18, %r9, 0; + mov.u32 %r42, -1; + vote.sync.any.pred %p19, %p18, %r42; + @%p19 bra BB37_3; + + shr.u64 %rd21, %rd16, 32; + cvt.u32.u64 %r44, %rd21; + mov.b32 %f122, %r44; + setp.eq.s32 %p20, %r9, 2; + vote.sync.ballot.b32 %r10, %p20, %r42; + setp.eq.s32 %p22, %r10, 0; + add.f32 %f25, %f152, %f122; + @%p22 bra BB37_8; + + clz.b32 %r46, %r10; + mov.u32 %r47, 31; + sub.s32 %r48, %r47, %r46; + setp.lt.u32 %p23, %r6, %r48; + selp.f32 %f123, %f152, %f25, %p23; + mov.b32 %r49, %f123; + mov.u32 %r50, 2; + mov.u32 %r51, 16; + shfl.sync.down.b32 %r53|%p24, %r49, %r51, %r47, %r42; + mov.b32 %f124, %r53; + add.f32 %f125, %f123, %f124; + mov.b32 %r54, %f125; + mov.u32 %r55, 8; + shfl.sync.down.b32 %r56|%p25, %r54, %r55, %r47, %r42; + mov.b32 %f126, %r56; + add.f32 %f127, %f125, %f126; + mov.b32 %r57, %f127; + mov.u32 %r58, 4; + shfl.sync.down.b32 %r59|%p26, %r57, %r58, %r47, %r42; + mov.b32 %f128, %r59; + add.f32 %f129, %f127, %f128; + mov.b32 %r60, %f129; + shfl.sync.down.b32 %r61|%p27, %r60, %r50, %r47, %r42; + mov.b32 %f130, %r61; + add.f32 %f131, %f129, %f130; + mov.b32 %r62, %f131; + mov.u32 %r63, 1; + shfl.sync.down.b32 %r64|%p28, %r62, %r63, %r47, %r42; + mov.b32 %f132, %r64; + add.f32 %f133, %f131, %f132; + mov.b32 %r65, %f133; + shfl.sync.idx.b32 %r67|%p29, %r65, %r40, %r47, %r42; + mov.b32 %f134, %r67; + add.f32 %f26, %f23, %f134; + @%p17 bra BB37_7; + + mov.b32 %r68, %f26; + cvt.u64.u32 %rd24, %r68; + shl.b64 %rd25, %rd24, 32; + or.b64 %rd23, %rd25, 2; + // inline asm + st.cg.u64 [%rd3], %rd23; + // inline asm + +BB37_7: + sub.f32 %f135, %f26, %f16; + add.f32 %f136, %f135, %f3; + add.f32 %f137, %f135, %f2; + add.f32 %f138, %f135, %f1; + add.f32 %f139, %f135, 0f00000000; + st.shared.v4.f32 [%r4], {%f139, %f138, %f137, %f136}; + add.f32 %f140, %f135, %f7; + add.f32 %f141, %f135, %f6; + add.f32 %f142, %f135, %f5; + add.f32 %f143, %f135, %f4; + st.shared.v4.f32 [%r4+16], {%f143, %f142, %f141, %f140}; + add.f32 %f144, %f135, %f11; + add.f32 %f145, %f135, %f10; + add.f32 %f146, %f135, %f9; + add.f32 %f147, %f135, %f8; + st.shared.v4.f32 [%r4+32], {%f147, %f146, %f145, %f144}; + add.f32 %f148, %f135, %f15; + add.f32 %f149, %f135, %f14; + add.f32 %f150, %f135, %f13; + add.f32 %f151, %f135, %f12; + st.shared.v4.f32 [%r4+48], {%f151, %f150, %f149, %f148}; + bar.sync 0; + cvta.to.global.u64 %rd26, %rd5; + shl.b64 %rd27, %rd1, 4; + add.s64 %rd28, %rd26, %rd27; + ld.shared.v4.u32 {%r69, %r70, %r71, %r72}, [%r3]; + st.global.v4.u32 [%rd28], {%r69, %r70, %r71, %r72}; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r3+2048]; + st.global.v4.u32 [%rd28+2048], {%r77, %r78, %r79, %r80}; + ld.shared.v4.u32 {%r85, %r86, %r87, %r88}, [%r3+4096]; + st.global.v4.u32 [%rd28+4096], {%r85, %r86, %r87, %r88}; + ld.shared.v4.u32 {%r93, %r94, %r95, %r96}, [%r3+6144]; + st.global.v4.u32 [%rd28+6144], {%r93, %r94, %r95, %r96}; + ret; +} + + // .globl scan_exc_large_f64 +.visible .entry scan_exc_large_f64( + .param .u64 scan_exc_large_f64_param_0, + .param .u64 scan_exc_large_f64_param_1, + .param .u32 scan_exc_large_f64_param_2, + .param .u64 scan_exc_large_f64_param_3 +) +{ + .reg .pred %p<29>; + .reg .b32 %r<116>; + .reg .f64 %fd<97>; + .reg .b64 %rd<35>; + + + ld.param.u64 %rd7, [scan_exc_large_f64_param_0]; + ld.param.u32 %r12, [scan_exc_large_f64_param_2]; + ld.param.u64 %rd6, [scan_exc_large_f64_param_3]; mov.u32 %r1, %ctaid.x; - shl.b32 %r40, %r1, 9; + shl.b32 %r13, %r1, 9; mov.u32 %r2, %tid.x; - add.s32 %r41, %r40, %r2; - cvt.u64.u32 %rd1, %r41; - mul.wide.u32 %rd9, %r41, 16; + add.s32 %r14, %r13, %r2; + cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; add.s64 %rd10, %rd8, %rd9; - ld.global.v4.u32 {%r42, %r43, %r44, %r45}, [%rd10]; - ld.global.v4.u32 {%r50, %r51, %r52, %r53}, [%rd10+2048]; - ld.global.v4.u32 {%r58, %r59, %r60, %r61}, [%rd10+4096]; - ld.global.v4.u32 {%r66, %r67, %r68, %r69}, [%rd10+6144]; - shl.b32 %r74, %r2, 4; - mov.u32 %r75, shared; - add.s32 %r3, %r75, %r74; - st.shared.v4.u32 [%r3], {%r42, %r43, %r44, %r45}; - st.shared.v4.u32 [%r3+2048], {%r50, %r51, %r52, %r53}; - st.shared.v4.u32 [%r3+4096], {%r58, %r59, %r60, %r61}; - st.shared.v4.u32 [%r3+6144], {%r66, %r67, %r68, %r69}; - bar.sync 0; - shl.b32 %r76, %r2, 6; - add.s32 %r4, %r75, %r76; - ld.shared.v4.u32 {%r78, %r79, %r80, %r81}, [%r4]; - ld.shared.v4.u32 {%r85, %r86, %r87, %r88}, [%r4+16]; - ld.shared.v4.u32 {%r93, %r94, %r95, %r96}, [%r4+32]; - ld.shared.v4.u32 {%r101, %r102, %r103, %r104}, [%r4+48]; - add.s32 %r6, %r79, %r78; - add.s32 %r7, %r80, %r6; - add.s32 %r8, %r81, %r7; - add.s32 %r9, %r85, %r8; - add.s32 %r10, %r86, %r9; - add.s32 %r11, %r87, %r10; - add.s32 %r12, %r88, %r11; - add.s32 %r13, %r93, %r12; - add.s32 %r14, %r94, %r13; - add.s32 %r15, %r95, %r14; - add.s32 %r16, %r96, %r15; - add.s32 %r17, %r101, %r16; - add.s32 %r18, %r102, %r17; - add.s32 %r19, %r103, %r18; - add.s32 %r20, %r104, %r19; - bar.sync 0; - shl.b32 %r109, %r2, 2; - add.s32 %r21, %r75, %r109; - mov.u32 %r203, 0; - st.shared.u32 [%r21], %r203; + ld.global.v2.f64 {%fd19, %fd20}, [%rd10]; + shl.b32 %r15, %r14, 1; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r14, 128; + ld.global.v2.f64 {%fd23, %fd24}, [%rd10+2048]; + shl.b32 %r18, %r17, 1; + setp.lt.u32 %p3, %r18, %r12; + add.s32 %r19, %r18, 1; + setp.lt.u32 %p4, %r19, %r12; + add.s32 %r20, %r14, 256; + ld.global.v2.f64 {%fd27, %fd28}, [%rd10+4096]; + shl.b32 %r21, %r20, 1; + setp.lt.u32 %p5, %r21, %r12; + add.s32 %r22, %r21, 1; + setp.lt.u32 %p6, %r22, %r12; + add.s32 %r23, %r14, 384; + ld.global.v2.f64 {%fd31, %fd32}, [%rd10+6144]; + shl.b32 %r24, %r23, 1; + setp.lt.u32 %p7, %r24, %r12; + add.s32 %r25, %r24, 1; + setp.lt.u32 %p8, %r25, %r12; + shl.b32 %r26, %r2, 4; + mov.u32 %r27, shared_d; + add.s32 %r3, %r27, %r26; + selp.f64 %fd35, %fd20, 0d0000000000000000, %p2; + selp.f64 %fd36, %fd19, 0d0000000000000000, %p1; + st.shared.v2.f64 [%r3], {%fd36, %fd35}; + selp.f64 %fd37, %fd24, 0d0000000000000000, %p4; + selp.f64 %fd38, %fd23, 0d0000000000000000, %p3; + st.shared.v2.f64 [%r3+2048], {%fd38, %fd37}; + selp.f64 %fd39, %fd28, 0d0000000000000000, %p6; + selp.f64 %fd40, %fd27, 0d0000000000000000, %p5; + st.shared.v2.f64 [%r3+4096], {%fd40, %fd39}; + selp.f64 %fd41, %fd32, 0d0000000000000000, %p8; + selp.f64 %fd42, %fd31, 0d0000000000000000, %p7; + st.shared.v2.f64 [%r3+6144], {%fd42, %fd41}; + bar.sync 0; + shl.b32 %r28, %r2, 6; + add.s32 %r4, %r27, %r28; + ld.shared.v2.f64 {%fd43, %fd44}, [%r4]; + ld.shared.v2.f64 {%fd47, %fd48}, [%r4+16]; + ld.shared.v2.f64 {%fd51, %fd52}, [%r4+32]; + ld.shared.v2.f64 {%fd55, %fd56}, [%r4+48]; + add.f64 %fd1, %fd43, 0d0000000000000000; + add.f64 %fd2, %fd1, %fd44; + add.f64 %fd3, %fd2, %fd47; + add.f64 %fd4, %fd3, %fd48; + add.f64 %fd5, %fd4, %fd51; + add.f64 %fd6, %fd5, %fd52; + add.f64 %fd7, %fd6, %fd55; + add.f64 %fd8, %fd7, %fd56; + bar.sync 0; + shl.b32 %r30, %r2, 3; + add.s32 %r5, %r27, %r30; + mov.u64 %rd11, 0; + st.shared.u64 [%r5], %rd11; + st.shared.f64 [%r5+1024], %fd8; + bar.sync 0; + ld.shared.f64 %fd59, [%r5+1016]; + ld.shared.f64 %fd60, [%r5+1024]; + add.f64 %fd9, %fd60, %fd59; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd9; + bar.sync 0; + ld.shared.f64 %fd61, [%r5+1008]; + ld.shared.f64 %fd62, [%r5+1024]; + add.f64 %fd10, %fd62, %fd61; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd10; + bar.sync 0; + ld.shared.f64 %fd63, [%r5+992]; + ld.shared.f64 %fd64, [%r5+1024]; + add.f64 %fd11, %fd64, %fd63; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd11; + bar.sync 0; + ld.shared.f64 %fd65, [%r5+960]; + ld.shared.f64 %fd66, [%r5+1024]; + add.f64 %fd12, %fd66, %fd65; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd12; + bar.sync 0; + ld.shared.f64 %fd67, [%r5+896]; + ld.shared.f64 %fd68, [%r5+1024]; + add.f64 %fd13, %fd68, %fd67; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd13; + bar.sync 0; + ld.shared.f64 %fd69, [%r5+768]; + ld.shared.f64 %fd70, [%r5+1024]; + add.f64 %fd14, %fd70, %fd69; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd14; + bar.sync 0; + ld.shared.f64 %fd71, [%r5+512]; + ld.shared.f64 %fd72, [%r5+1024]; + add.f64 %fd15, %fd72, %fd71; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd12, %r1, 8; + add.s64 %rd3, %rd6, %rd12; + setp.ne.s32 %p9, %r2, 127; + @%p9 bra BB38_2; + + mov.b64 %rd15, %fd15; + and.b64 %rd16, %rd15, -4; + or.b64 %rd14, %rd16, 1; + // inline asm + st.cg.u64 [%rd3], %rd14; + // inline asm + +BB38_2: + and.b32 %r6, %r2, 31; + add.s32 %r115, %r6, -32; + mov.f64 %fd96, 0d0000000000000000; + bra.uni BB38_3; + +BB38_8: + add.s32 %r115, %r115, -32; + mov.f64 %fd96, %fd17; + +BB38_3: + cvt.s64.s32 %rd19, %r115; + add.s64 %rd20, %rd19, %rd2; + shl.b64 %rd21, %rd20, 3; + add.s64 %rd18, %rd6, %rd21; + // inline asm + ld.cg.u64 %rd17, [%rd18]; + // inline asm + cvt.u32.u64 %r32, %rd17; + and.b32 %r9, %r32, 3; + setp.eq.s32 %p10, %r9, 0; + mov.u32 %r33, -1; + vote.sync.any.pred %p11, %p10, %r33; + @%p11 bra BB38_3; + + and.b64 %rd22, %rd17, -4; + mov.b64 %fd74, %rd22; + setp.eq.s32 %p12, %r9, 2; + vote.sync.ballot.b32 %r10, %p12, %r33; + setp.eq.s32 %p14, %r10, 0; + add.f64 %fd17, %fd96, %fd74; + @%p14 bra BB38_8; + + clz.b32 %r60, %r10; + mov.u32 %r61, 31; + sub.s32 %r62, %r61, %r60; + setp.lt.u32 %p15, %r6, %r62; + selp.f64 %fd75, %fd96, %fd17, %p15; + // inline asm + mov.b64 {%r36,%r37}, %fd75; + // inline asm + mov.u32 %r63, 2; + mov.u32 %r64, 16; + shfl.sync.down.b32 %r39|%p16, %r37, %r64, %r61, %r33; + shfl.sync.down.b32 %r38|%p17, %r36, %r64, %r61, %r33; + // inline asm + mov.b64 %fd76, {%r38,%r39}; + // inline asm + add.f64 %fd77, %fd75, %fd76; + // inline asm + mov.b64 {%r40,%r41}, %fd77; + // inline asm + mov.u32 %r66, 8; + shfl.sync.down.b32 %r43|%p18, %r41, %r66, %r61, %r33; + shfl.sync.down.b32 %r42|%p19, %r40, %r66, %r61, %r33; + // inline asm + mov.b64 %fd78, {%r42,%r43}; + // inline asm + add.f64 %fd79, %fd77, %fd78; + // inline asm + mov.b64 {%r44,%r45}, %fd79; + // inline asm + mov.u32 %r67, 4; + shfl.sync.down.b32 %r47|%p20, %r45, %r67, %r61, %r33; + shfl.sync.down.b32 %r46|%p21, %r44, %r67, %r61, %r33; + // inline asm + mov.b64 %fd80, {%r46,%r47}; + // inline asm + add.f64 %fd81, %fd79, %fd80; + // inline asm + mov.b64 {%r48,%r49}, %fd81; + // inline asm + shfl.sync.down.b32 %r51|%p22, %r49, %r63, %r61, %r33; + shfl.sync.down.b32 %r50|%p23, %r48, %r63, %r61, %r33; + // inline asm + mov.b64 %fd82, {%r50,%r51}; + // inline asm + add.f64 %fd83, %fd81, %fd82; + // inline asm + mov.b64 {%r52,%r53}, %fd83; + // inline asm + mov.u32 %r68, 1; + shfl.sync.down.b32 %r55|%p24, %r53, %r68, %r61, %r33; + shfl.sync.down.b32 %r54|%p25, %r52, %r68, %r61, %r33; + // inline asm + mov.b64 %fd84, {%r54,%r55}; + // inline asm + add.f64 %fd85, %fd83, %fd84; + // inline asm + mov.b64 {%r56,%r57}, %fd85; + // inline asm + mov.u32 %r69, 0; + shfl.sync.idx.b32 %r59|%p26, %r57, %r69, %r61, %r33; + shfl.sync.idx.b32 %r58|%p27, %r56, %r69, %r61, %r33; + // inline asm + mov.b64 %fd86, {%r58,%r59}; + // inline asm + add.f64 %fd18, %fd15, %fd86; + @%p9 bra BB38_7; + + mov.u32 %r114, %ctaid.x; + mul.wide.u32 %rd34, %r114, 8; + ld.param.u64 %rd33, [scan_exc_large_f64_param_3]; + add.s64 %rd32, %rd33, %rd34; + mov.b64 %rd25, %fd18; + and.b64 %rd26, %rd25, -4; + or.b64 %rd24, %rd26, 2; + // inline asm + st.cg.u64 [%rd32], %rd24; + // inline asm + +BB38_7: + mov.u32 %r105, %tid.x; + shl.b32 %r104, %r105, 6; + mov.u32 %r103, shared_d; + add.s32 %r102, %r103, %r104; + sub.f64 %fd87, %fd18, %fd8; + add.f64 %fd88, %fd87, %fd1; + add.f64 %fd89, %fd87, 0d0000000000000000; + st.shared.v2.f64 [%r102], {%fd89, %fd88}; + add.f64 %fd90, %fd87, %fd3; + add.f64 %fd91, %fd87, %fd2; + st.shared.v2.f64 [%r102+16], {%fd91, %fd90}; + add.f64 %fd92, %fd87, %fd5; + add.f64 %fd93, %fd87, %fd4; + st.shared.v2.f64 [%r102+32], {%fd93, %fd92}; + add.f64 %fd94, %fd87, %fd7; + add.f64 %fd95, %fd87, %fd6; + st.shared.v2.f64 [%r102+48], {%fd95, %fd94}; + bar.sync 0; + mov.u32 %r113, %tid.x; + shl.b32 %r112, %r113, 4; + mov.u32 %r111, shared_d; + add.s32 %r110, %r111, %r112; + mov.u32 %r109, %ctaid.x; + mov.u32 %r108, %tid.x; + shl.b32 %r107, %r109, 9; + add.s32 %r106, %r107, %r108; + cvt.u64.u32 %rd31, %r106; + ld.param.u64 %rd30, [scan_exc_large_f64_param_1]; + cvta.to.global.u64 %rd27, %rd30; + shl.b64 %rd28, %rd31, 4; + add.s64 %rd29, %rd27, %rd28; + ld.shared.v4.u32 {%r70, %r71, %r72, %r73}, [%r110]; + st.global.v4.u32 [%rd29], {%r70, %r71, %r72, %r73}; + ld.shared.v4.u32 {%r78, %r79, %r80, %r81}, [%r110+2048]; + st.global.v4.u32 [%rd29+2048], {%r78, %r79, %r80, %r81}; + ld.shared.v4.u32 {%r86, %r87, %r88, %r89}, [%r110+4096]; + st.global.v4.u32 [%rd29+4096], {%r86, %r87, %r88, %r89}; + ld.shared.v4.u32 {%r94, %r95, %r96, %r97}, [%r110+6144]; + st.global.v4.u32 [%rd29+6144], {%r94, %r95, %r96, %r97}; + ret; +} + + // .globl scan_inc_large_u32 +.visible .entry scan_inc_large_u32( + .param .u64 scan_inc_large_u32_param_0, + .param .u64 scan_inc_large_u32_param_1, + .param .u32 scan_inc_large_u32_param_2, + .param .u64 scan_inc_large_u32_param_3 +) +{ + .reg .pred %p<15>; + .reg .b32 %r<202>; + .reg .b64 %rd<28>; + + + ld.param.u64 %rd6, [scan_inc_large_u32_param_0]; + ld.param.u64 %rd4, [scan_inc_large_u32_param_1]; + ld.param.u64 %rd5, [scan_inc_large_u32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r39, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r40, %r39, %r2; + cvt.u64.u32 %rd1, %r40; + cvta.to.global.u64 %rd7, %rd6; + mul.wide.u32 %rd8, %r40, 16; + add.s64 %rd9, %rd7, %rd8; + ld.global.v4.u32 {%r41, %r42, %r43, %r44}, [%rd9]; + ld.global.v4.u32 {%r49, %r50, %r51, %r52}, [%rd9+2048]; + ld.global.v4.u32 {%r57, %r58, %r59, %r60}, [%rd9+4096]; + ld.global.v4.u32 {%r65, %r66, %r67, %r68}, [%rd9+6144]; + shl.b32 %r73, %r2, 4; + mov.u32 %r74, shared; + add.s32 %r3, %r74, %r73; + st.shared.v4.u32 [%r3], {%r41, %r42, %r43, %r44}; + st.shared.v4.u32 [%r3+2048], {%r49, %r50, %r51, %r52}; + st.shared.v4.u32 [%r3+4096], {%r57, %r58, %r59, %r60}; + st.shared.v4.u32 [%r3+6144], {%r65, %r66, %r67, %r68}; + bar.sync 0; + shl.b32 %r75, %r2, 6; + add.s32 %r4, %r74, %r75; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r4]; + ld.shared.v4.u32 {%r84, %r85, %r86, %r87}, [%r4+16]; + ld.shared.v4.u32 {%r92, %r93, %r94, %r95}, [%r4+32]; + ld.shared.v4.u32 {%r100, %r101, %r102, %r103}, [%r4+48]; + add.s32 %r6, %r78, %r77; + add.s32 %r7, %r79, %r6; + add.s32 %r8, %r80, %r7; + add.s32 %r9, %r84, %r8; + add.s32 %r10, %r85, %r9; + add.s32 %r11, %r86, %r10; + add.s32 %r12, %r87, %r11; + add.s32 %r13, %r92, %r12; + add.s32 %r14, %r93, %r13; + add.s32 %r15, %r94, %r14; + add.s32 %r16, %r95, %r15; + add.s32 %r17, %r100, %r16; + add.s32 %r18, %r101, %r17; + add.s32 %r19, %r102, %r18; + add.s32 %r20, %r103, %r19; + bar.sync 0; + shl.b32 %r108, %r2, 2; + add.s32 %r21, %r74, %r108; + mov.u32 %r201, 0; + st.shared.u32 [%r21], %r201; st.shared.u32 [%r21+512], %r20; bar.sync 0; - ld.shared.u32 %r112, [%r21+508]; - ld.shared.u32 %r113, [%r21+512]; - add.s32 %r22, %r112, %r113; + ld.shared.u32 %r111, [%r21+508]; + ld.shared.u32 %r112, [%r21+512]; + add.s32 %r22, %r111, %r112; bar.sync 0; st.shared.u32 [%r21+512], %r22; bar.sync 0; - ld.shared.u32 %r114, [%r21+504]; - ld.shared.u32 %r115, [%r21+512]; - add.s32 %r23, %r114, %r115; + ld.shared.u32 %r113, [%r21+504]; + ld.shared.u32 %r114, [%r21+512]; + add.s32 %r23, %r113, %r114; bar.sync 0; st.shared.u32 [%r21+512], %r23; bar.sync 0; - ld.shared.u32 %r116, [%r21+496]; - ld.shared.u32 %r117, [%r21+512]; - add.s32 %r24, %r116, %r117; + ld.shared.u32 %r115, [%r21+496]; + ld.shared.u32 %r116, [%r21+512]; + add.s32 %r24, %r115, %r116; bar.sync 0; st.shared.u32 [%r21+512], %r24; bar.sync 0; - ld.shared.u32 %r118, [%r21+480]; - ld.shared.u32 %r119, [%r21+512]; - add.s32 %r25, %r118, %r119; + ld.shared.u32 %r117, [%r21+480]; + ld.shared.u32 %r118, [%r21+512]; + add.s32 %r25, %r117, %r118; bar.sync 0; st.shared.u32 [%r21+512], %r25; bar.sync 0; - ld.shared.u32 %r120, [%r21+448]; - ld.shared.u32 %r121, [%r21+512]; - add.s32 %r26, %r120, %r121; + ld.shared.u32 %r119, [%r21+448]; + ld.shared.u32 %r120, [%r21+512]; + add.s32 %r26, %r119, %r120; bar.sync 0; st.shared.u32 [%r21+512], %r26; bar.sync 0; - ld.shared.u32 %r122, [%r21+384]; - ld.shared.u32 %r123, [%r21+512]; - add.s32 %r27, %r122, %r123; + ld.shared.u32 %r121, [%r21+384]; + ld.shared.u32 %r122, [%r21+512]; + add.s32 %r27, %r121, %r122; bar.sync 0; st.shared.u32 [%r21+512], %r27; bar.sync 0; - ld.shared.u32 %r124, [%r21+256]; - ld.shared.u32 %r125, [%r21+512]; - add.s32 %r28, %r124, %r125; + ld.shared.u32 %r123, [%r21+256]; + ld.shared.u32 %r124, [%r21+512]; + add.s32 %r28, %r123, %r124; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd10, %r1, 8; + add.s64 %rd3, %rd5, %rd10; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB39_2; + + cvt.u64.u32 %rd13, %r28; + shl.b64 %rd14, %rd13, 32; + or.b64 %rd12, %rd14, 1; + // inline asm + st.cg.u64 [%rd3], %rd12; + // inline asm + +BB39_2: + and.b32 %r29, %r2, 31; + add.s32 %r200, %r29, -32; + bra.uni BB39_3; + +BB39_8: + add.s32 %r201, %r34, %r201; + add.s32 %r200, %r200, -32; + +BB39_3: + cvt.s64.s32 %rd17, %r200; + add.s64 %rd18, %rd17, %rd2; + shl.b64 %rd19, %rd18, 3; + add.s64 %rd16, %rd5, %rd19; + // inline asm + ld.cg.u64 %rd15, [%rd16]; + // inline asm + cvt.u32.u64 %r33, %rd15; + shr.u64 %rd20, %rd15, 32; + cvt.u32.u64 %r34, %rd20; + setp.eq.s32 %p2, %r33, 0; + mov.u32 %r126, -1; + vote.sync.any.pred %p3, %p2, %r126; + @%p3 bra BB39_3; + + setp.eq.s32 %p4, %r33, 2; + vote.sync.ballot.b32 %r35, %p4, %r126; + setp.eq.s32 %p6, %r35, 0; + @%p6 bra BB39_8; + + clz.b32 %r129, %r35; + mov.u32 %r130, 31; + sub.s32 %r131, %r130, %r129; + setp.lt.u32 %p7, %r29, %r131; + selp.b32 %r132, 0, %r34, %p7; + mov.u32 %r133, 0; + add.s32 %r134, %r132, %r201; + mov.u32 %r135, 2; + mov.u32 %r136, 16; + shfl.sync.down.b32 %r138|%p8, %r134, %r136, %r130, %r126; + add.s32 %r139, %r138, %r134; + mov.u32 %r140, 8; + shfl.sync.down.b32 %r141|%p9, %r139, %r140, %r130, %r126; + add.s32 %r142, %r141, %r139; + mov.u32 %r143, 4; + shfl.sync.down.b32 %r144|%p10, %r142, %r143, %r130, %r126; + add.s32 %r145, %r144, %r142; + shfl.sync.down.b32 %r146|%p11, %r145, %r135, %r130, %r126; + add.s32 %r147, %r146, %r145; + mov.u32 %r148, 1; + shfl.sync.down.b32 %r149|%p12, %r147, %r148, %r130, %r126; + add.s32 %r150, %r149, %r147; + shfl.sync.idx.b32 %r151|%p13, %r150, %r133, %r130, %r126; + add.s32 %r36, %r151, %r28; + @%p1 bra BB39_7; + + cvt.u64.u32 %rd23, %r36; + shl.b64 %rd24, %rd23, 32; + or.b64 %rd22, %rd24, 2; + // inline asm + st.cg.u64 [%rd3], %rd22; + // inline asm + +BB39_7: + sub.s32 %r152, %r36, %r20; + add.s32 %r153, %r152, %r8; + add.s32 %r154, %r152, %r7; + add.s32 %r155, %r152, %r6; + add.s32 %r156, %r152, %r77; + st.shared.v4.u32 [%r4], {%r156, %r155, %r154, %r153}; + add.s32 %r157, %r152, %r12; + add.s32 %r158, %r152, %r11; + add.s32 %r159, %r152, %r10; + add.s32 %r160, %r152, %r9; + st.shared.v4.u32 [%r4+16], {%r160, %r159, %r158, %r157}; + add.s32 %r161, %r152, %r16; + add.s32 %r162, %r152, %r15; + add.s32 %r163, %r152, %r14; + add.s32 %r164, %r152, %r13; + st.shared.v4.u32 [%r4+32], {%r164, %r163, %r162, %r161}; + add.s32 %r165, %r152, %r19; + add.s32 %r166, %r152, %r18; + add.s32 %r167, %r152, %r17; + st.shared.v4.u32 [%r4+48], {%r167, %r166, %r165, %r36}; + bar.sync 0; + cvta.to.global.u64 %rd25, %rd4; + shl.b64 %rd26, %rd1, 4; + add.s64 %rd27, %rd25, %rd26; + ld.shared.v4.u32 {%r168, %r169, %r170, %r171}, [%r3]; + st.global.v4.u32 [%rd27], {%r168, %r169, %r170, %r171}; + ld.shared.v4.u32 {%r176, %r177, %r178, %r179}, [%r3+2048]; + st.global.v4.u32 [%rd27+2048], {%r176, %r177, %r178, %r179}; + ld.shared.v4.u32 {%r184, %r185, %r186, %r187}, [%r3+4096]; + st.global.v4.u32 [%rd27+4096], {%r184, %r185, %r186, %r187}; + ld.shared.v4.u32 {%r192, %r193, %r194, %r195}, [%r3+6144]; + st.global.v4.u32 [%rd27+6144], {%r192, %r193, %r194, %r195}; + ret; +} + + // .globl scan_inc_large_u64 +.visible .entry scan_inc_large_u64( + .param .u64 scan_inc_large_u64_param_0, + .param .u64 scan_inc_large_u64_param_1, + .param .u32 scan_inc_large_u64_param_2, + .param .u64 scan_inc_large_u64_param_3 +) +{ + .reg .pred %p<21>; + .reg .b32 %r<104>; + .reg .b64 %rd<118>; + + + ld.param.u64 %rd25, [scan_inc_large_u64_param_0]; + ld.param.u64 %rd24, [scan_inc_large_u64_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r12, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r13, %r12, %r2; + cvta.to.global.u64 %rd26, %rd25; + mul.wide.u32 %rd27, %r13, 16; + add.s64 %rd28, %rd26, %rd27; + ld.global.v2.u64 {%rd29, %rd30}, [%rd28]; + ld.global.v2.u64 {%rd33, %rd34}, [%rd28+2048]; + ld.global.v2.u64 {%rd37, %rd38}, [%rd28+4096]; + ld.global.v2.u64 {%rd41, %rd42}, [%rd28+6144]; + shl.b32 %r14, %r2, 4; + mov.u32 %r15, shared; + add.s32 %r3, %r15, %r14; + st.shared.v2.u64 [%r3], {%rd29, %rd30}; + st.shared.v2.u64 [%r3+2048], {%rd33, %rd34}; + st.shared.v2.u64 [%r3+4096], {%rd37, %rd38}; + st.shared.v2.u64 [%r3+6144], {%rd41, %rd42}; + bar.sync 0; + shl.b32 %r16, %r2, 6; + add.s32 %r4, %r15, %r16; + ld.shared.v2.u64 {%rd45, %rd46}, [%r4]; + ld.shared.v2.u64 {%rd48, %rd49}, [%r4+16]; + ld.shared.v2.u64 {%rd52, %rd53}, [%r4+32]; + ld.shared.v2.u64 {%rd56, %rd57}, [%r4+48]; + add.s64 %rd3, %rd46, %rd45; + add.s64 %rd4, %rd48, %rd3; + add.s64 %rd5, %rd49, %rd4; + add.s64 %rd6, %rd52, %rd5; + add.s64 %rd7, %rd53, %rd6; + add.s64 %rd8, %rd56, %rd7; + add.s64 %rd9, %rd57, %rd8; + bar.sync 0; + shl.b32 %r18, %r2, 3; + add.s32 %r5, %r15, %r18; + mov.u64 %rd117, 0; + st.shared.u64 [%r5], %rd117; + st.shared.u64 [%r5+1024], %rd9; + bar.sync 0; + ld.shared.u64 %rd61, [%r5+1016]; + ld.shared.u64 %rd62, [%r5+1024]; + add.s64 %rd10, %rd61, %rd62; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd10; + bar.sync 0; + ld.shared.u64 %rd63, [%r5+1008]; + ld.shared.u64 %rd64, [%r5+1024]; + add.s64 %rd11, %rd63, %rd64; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd11; + bar.sync 0; + ld.shared.u64 %rd65, [%r5+992]; + ld.shared.u64 %rd66, [%r5+1024]; + add.s64 %rd12, %rd65, %rd66; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd12; + bar.sync 0; + ld.shared.u64 %rd67, [%r5+960]; + ld.shared.u64 %rd68, [%r5+1024]; + add.s64 %rd13, %rd67, %rd68; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd13; + bar.sync 0; + ld.shared.u64 %rd69, [%r5+896]; + ld.shared.u64 %rd70, [%r5+1024]; + add.s64 %rd14, %rd69, %rd70; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd14; + bar.sync 0; + ld.shared.u64 %rd71, [%r5+768]; + ld.shared.u64 %rd72, [%r5+1024]; + add.s64 %rd15, %rd71, %rd72; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd15; + bar.sync 0; + ld.shared.u64 %rd73, [%r5+512]; + ld.shared.u64 %rd74, [%r5+1024]; + add.s64 %rd16, %rd73, %rd74; + bar.sync 0; + cvt.u64.u32 %rd17, %r1; + mul.wide.u32 %rd75, %r1, 8; + add.s64 %rd18, %rd24, %rd75; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB40_2; + + shl.b64 %rd78, %rd16, 2; + or.b64 %rd77, %rd78, 1; + // inline asm + st.cg.u64 [%rd18], %rd77; + // inline asm + +BB40_2: + and.b32 %r6, %r2, 31; + add.s32 %r103, %r6, -32; + bra.uni BB40_3; + +BB40_8: + add.s64 %rd117, %rd20, %rd117; + add.s32 %r103, %r103, -32; + +BB40_3: + cvt.s64.s32 %rd82, %r103; + add.s64 %rd83, %rd82, %rd17; + shl.b64 %rd84, %rd83, 3; + add.s64 %rd81, %rd24, %rd84; + // inline asm + ld.cg.u64 %rd80, [%rd81]; + // inline asm + cvt.u32.u64 %r20, %rd80; + and.b32 %r9, %r20, 3; + shr.u64 %rd20, %rd80, 2; + setp.eq.s32 %p2, %r9, 0; + mov.u32 %r21, -1; + vote.sync.any.pred %p3, %p2, %r21; + @%p3 bra BB40_3; + + setp.eq.s32 %p4, %r9, 2; + vote.sync.ballot.b32 %r10, %p4, %r21; + setp.eq.s32 %p6, %r10, 0; + @%p6 bra BB40_8; + + clz.b32 %r48, %r10; + mov.u32 %r49, 31; + sub.s32 %r50, %r49, %r48; + setp.lt.u32 %p7, %r6, %r50; + selp.b64 %rd97, 0, %rd20, %p7; + add.s64 %rd85, %rd97, %rd117; + // inline asm + mov.b64 {%r24,%r25}, %rd85; + // inline asm + mov.u32 %r51, 2; + mov.u32 %r52, 16; + shfl.sync.down.b32 %r27|%p8, %r25, %r52, %r49, %r21; + shfl.sync.down.b32 %r26|%p9, %r24, %r52, %r49, %r21; + // inline asm + mov.b64 %rd86, {%r26,%r27}; + // inline asm + add.s64 %rd87, %rd86, %rd85; + // inline asm + mov.b64 {%r28,%r29}, %rd87; + // inline asm + mov.u32 %r54, 8; + shfl.sync.down.b32 %r31|%p10, %r29, %r54, %r49, %r21; + shfl.sync.down.b32 %r30|%p11, %r28, %r54, %r49, %r21; + // inline asm + mov.b64 %rd88, {%r30,%r31}; + // inline asm + add.s64 %rd89, %rd88, %rd87; + // inline asm + mov.b64 {%r32,%r33}, %rd89; + // inline asm + mov.u32 %r55, 4; + shfl.sync.down.b32 %r35|%p12, %r33, %r55, %r49, %r21; + shfl.sync.down.b32 %r34|%p13, %r32, %r55, %r49, %r21; + // inline asm + mov.b64 %rd90, {%r34,%r35}; + // inline asm + add.s64 %rd91, %rd90, %rd89; + // inline asm + mov.b64 {%r36,%r37}, %rd91; + // inline asm + shfl.sync.down.b32 %r39|%p14, %r37, %r51, %r49, %r21; + shfl.sync.down.b32 %r38|%p15, %r36, %r51, %r49, %r21; + // inline asm + mov.b64 %rd92, {%r38,%r39}; + // inline asm + add.s64 %rd93, %rd92, %rd91; + // inline asm + mov.b64 {%r40,%r41}, %rd93; + // inline asm + mov.u32 %r56, 1; + shfl.sync.down.b32 %r43|%p16, %r41, %r56, %r49, %r21; + shfl.sync.down.b32 %r42|%p17, %r40, %r56, %r49, %r21; + // inline asm + mov.b64 %rd94, {%r42,%r43}; + // inline asm + add.s64 %rd95, %rd94, %rd93; + // inline asm + mov.b64 {%r44,%r45}, %rd95; + // inline asm + mov.u32 %r57, 0; + shfl.sync.idx.b32 %r47|%p18, %r45, %r57, %r49, %r21; + shfl.sync.idx.b32 %r46|%p19, %r44, %r57, %r49, %r21; + // inline asm + mov.b64 %rd96, {%r46,%r47}; + // inline asm + add.s64 %rd21, %rd96, %rd16; + @%p1 bra BB40_7; + + mov.u32 %r102, %ctaid.x; + mul.wide.u32 %rd116, %r102, 8; + ld.param.u64 %rd115, [scan_inc_large_u64_param_3]; + add.s64 %rd114, %rd115, %rd116; + shl.b64 %rd100, %rd21, 2; + or.b64 %rd99, %rd100, 2; + // inline asm + st.cg.u64 [%rd114], %rd99; + // inline asm + +BB40_7: + mov.u32 %r93, %tid.x; + shl.b32 %r92, %r93, 6; + mov.u32 %r91, shared; + add.s32 %r90, %r91, %r92; + sub.s64 %rd101, %rd21, %rd9; + add.s64 %rd102, %rd101, %rd3; + add.s64 %rd103, %rd101, %rd45; + st.shared.v2.u64 [%r90], {%rd103, %rd102}; + add.s64 %rd104, %rd101, %rd5; + add.s64 %rd105, %rd101, %rd4; + st.shared.v2.u64 [%r90+16], {%rd105, %rd104}; + add.s64 %rd106, %rd101, %rd7; + add.s64 %rd107, %rd101, %rd6; + st.shared.v2.u64 [%r90+32], {%rd107, %rd106}; + add.s64 %rd108, %rd101, %rd8; + st.shared.v2.u64 [%r90+48], {%rd108, %rd21}; + bar.sync 0; + mov.u32 %r101, %tid.x; + shl.b32 %r100, %r101, 4; + mov.u32 %r99, shared; + add.s32 %r98, %r99, %r100; + mov.u32 %r97, %ctaid.x; + mov.u32 %r96, %tid.x; + shl.b32 %r95, %r97, 9; + add.s32 %r94, %r95, %r96; + cvt.u64.u32 %rd113, %r94; + ld.param.u64 %rd112, [scan_inc_large_u64_param_1]; + cvta.to.global.u64 %rd109, %rd112; + shl.b64 %rd110, %rd113, 4; + add.s64 %rd111, %rd109, %rd110; + ld.shared.v4.u32 {%r58, %r59, %r60, %r61}, [%r98]; + st.global.v4.u32 [%rd111], {%r58, %r59, %r60, %r61}; + ld.shared.v4.u32 {%r66, %r67, %r68, %r69}, [%r98+2048]; + st.global.v4.u32 [%rd111+2048], {%r66, %r67, %r68, %r69}; + ld.shared.v4.u32 {%r74, %r75, %r76, %r77}, [%r98+4096]; + st.global.v4.u32 [%rd111+4096], {%r74, %r75, %r76, %r77}; + ld.shared.v4.u32 {%r82, %r83, %r84, %r85}, [%r98+6144]; + st.global.v4.u32 [%rd111+6144], {%r82, %r83, %r84, %r85}; + ret; +} + + // .globl scan_inc_large_f32 +.visible .entry scan_inc_large_f32( + .param .u64 scan_inc_large_f32_param_0, + .param .u64 scan_inc_large_f32_param_1, + .param .u32 scan_inc_large_f32_param_2, + .param .u64 scan_inc_large_f32_param_3 +) +{ + .reg .pred %p<31>; + .reg .f32 %f<153>; + .reg .b32 %r<102>; + .reg .b64 %rd<29>; + + + ld.param.u64 %rd7, [scan_inc_large_f32_param_0]; + ld.param.u64 %rd5, [scan_inc_large_f32_param_1]; + ld.param.u32 %r12, [scan_inc_large_f32_param_2]; + ld.param.u64 %rd6, [scan_inc_large_f32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r13, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r14, %r13, %r2; + cvt.u64.u32 %rd1, %r14; + cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v4.f32 {%f27, %f28, %f29, %f30}, [%rd10]; + shl.b32 %r15, %r14, 2; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r15, 2; + setp.lt.u32 %p3, %r17, %r12; + add.s32 %r18, %r15, 3; + setp.lt.u32 %p4, %r18, %r12; + add.s32 %r19, %r14, 128; + ld.global.v4.f32 {%f35, %f36, %f37, %f38}, [%rd10+2048]; + shl.b32 %r20, %r19, 2; + setp.lt.u32 %p5, %r20, %r12; + add.s32 %r21, %r20, 1; + setp.lt.u32 %p6, %r21, %r12; + add.s32 %r22, %r20, 2; + setp.lt.u32 %p7, %r22, %r12; + add.s32 %r23, %r20, 3; + setp.lt.u32 %p8, %r23, %r12; + add.s32 %r24, %r14, 256; + ld.global.v4.f32 {%f43, %f44, %f45, %f46}, [%rd10+4096]; + shl.b32 %r25, %r24, 2; + setp.lt.u32 %p9, %r25, %r12; + add.s32 %r26, %r25, 1; + setp.lt.u32 %p10, %r26, %r12; + add.s32 %r27, %r25, 2; + setp.lt.u32 %p11, %r27, %r12; + add.s32 %r28, %r25, 3; + setp.lt.u32 %p12, %r28, %r12; + add.s32 %r29, %r14, 384; + ld.global.v4.f32 {%f51, %f52, %f53, %f54}, [%rd10+6144]; + shl.b32 %r30, %r29, 2; + setp.lt.u32 %p13, %r30, %r12; + add.s32 %r31, %r30, 1; + setp.lt.u32 %p14, %r31, %r12; + add.s32 %r32, %r30, 2; + setp.lt.u32 %p15, %r32, %r12; + add.s32 %r33, %r30, 3; + setp.lt.u32 %p16, %r33, %r12; + shl.b32 %r34, %r2, 4; + mov.u32 %r35, shared; + add.s32 %r3, %r35, %r34; + selp.f32 %f59, %f30, 0f00000000, %p4; + selp.f32 %f60, %f29, 0f00000000, %p3; + selp.f32 %f61, %f28, 0f00000000, %p2; + selp.f32 %f62, %f27, 0f00000000, %p1; + st.shared.v4.f32 [%r3], {%f62, %f61, %f60, %f59}; + selp.f32 %f63, %f38, 0f00000000, %p8; + selp.f32 %f64, %f37, 0f00000000, %p7; + selp.f32 %f65, %f36, 0f00000000, %p6; + selp.f32 %f66, %f35, 0f00000000, %p5; + st.shared.v4.f32 [%r3+2048], {%f66, %f65, %f64, %f63}; + selp.f32 %f67, %f46, 0f00000000, %p12; + selp.f32 %f68, %f45, 0f00000000, %p11; + selp.f32 %f69, %f44, 0f00000000, %p10; + selp.f32 %f70, %f43, 0f00000000, %p9; + st.shared.v4.f32 [%r3+4096], {%f70, %f69, %f68, %f67}; + selp.f32 %f71, %f54, 0f00000000, %p16; + selp.f32 %f72, %f53, 0f00000000, %p15; + selp.f32 %f73, %f52, 0f00000000, %p14; + selp.f32 %f74, %f51, 0f00000000, %p13; + st.shared.v4.f32 [%r3+6144], {%f74, %f73, %f72, %f71}; + bar.sync 0; + shl.b32 %r36, %r2, 6; + add.s32 %r4, %r35, %r36; + ld.shared.v4.f32 {%f75, %f76, %f77, %f78}, [%r4]; + ld.shared.v4.f32 {%f83, %f84, %f85, %f86}, [%r4+16]; + ld.shared.v4.f32 {%f91, %f92, %f93, %f94}, [%r4+32]; + ld.shared.v4.f32 {%f99, %f100, %f101, %f102}, [%r4+48]; + add.f32 %f1, %f75, 0f00000000; + add.f32 %f2, %f1, %f76; + add.f32 %f3, %f2, %f77; + add.f32 %f4, %f3, %f78; + add.f32 %f5, %f4, %f83; + add.f32 %f6, %f5, %f84; + add.f32 %f7, %f6, %f85; + add.f32 %f8, %f7, %f86; + add.f32 %f9, %f8, %f91; + add.f32 %f10, %f9, %f92; + add.f32 %f11, %f10, %f93; + add.f32 %f12, %f11, %f94; + add.f32 %f13, %f12, %f99; + add.f32 %f14, %f13, %f100; + add.f32 %f15, %f14, %f101; + add.f32 %f16, %f15, %f102; + bar.sync 0; + shl.b32 %r38, %r2, 2; + add.s32 %r5, %r35, %r38; + mov.u32 %r40, 0; + st.shared.u32 [%r5], %r40; + st.shared.f32 [%r5+512], %f16; + bar.sync 0; + ld.shared.f32 %f107, [%r5+508]; + ld.shared.f32 %f108, [%r5+512]; + add.f32 %f17, %f108, %f107; + bar.sync 0; + st.shared.f32 [%r5+512], %f17; + bar.sync 0; + ld.shared.f32 %f109, [%r5+504]; + ld.shared.f32 %f110, [%r5+512]; + add.f32 %f18, %f110, %f109; + bar.sync 0; + st.shared.f32 [%r5+512], %f18; + bar.sync 0; + ld.shared.f32 %f111, [%r5+496]; + ld.shared.f32 %f112, [%r5+512]; + add.f32 %f19, %f112, %f111; + bar.sync 0; + st.shared.f32 [%r5+512], %f19; + bar.sync 0; + ld.shared.f32 %f113, [%r5+480]; + ld.shared.f32 %f114, [%r5+512]; + add.f32 %f20, %f114, %f113; + bar.sync 0; + st.shared.f32 [%r5+512], %f20; + bar.sync 0; + ld.shared.f32 %f115, [%r5+448]; + ld.shared.f32 %f116, [%r5+512]; + add.f32 %f21, %f116, %f115; + bar.sync 0; + st.shared.f32 [%r5+512], %f21; + bar.sync 0; + ld.shared.f32 %f117, [%r5+384]; + ld.shared.f32 %f118, [%r5+512]; + add.f32 %f22, %f118, %f117; + bar.sync 0; + st.shared.f32 [%r5+512], %f22; + bar.sync 0; + ld.shared.f32 %f119, [%r5+256]; + ld.shared.f32 %f120, [%r5+512]; + add.f32 %f23, %f120, %f119; bar.sync 0; - st.shared.u32 [%r21+512], %r28; cvt.u64.u32 %rd2, %r1; mul.wide.u32 %rd11, %r1, 8; add.s64 %rd3, %rd6, %rd11; - setp.ne.s32 %p1, %r2, 127; - @%p1 bra BB28_2; + setp.ne.s32 %p17, %r2, 127; + @%p17 bra BB41_2; - cvt.u64.u32 %rd14, %r28; + mov.b32 %r41, %f23; + cvt.u64.u32 %rd14, %r41; shl.b64 %rd15, %rd14, 32; or.b64 %rd13, %rd15, 1; // inline asm st.cg.u64 [%rd3], %rd13; // inline asm -BB28_2: - mov.u32 %r29, WARP_SZ; - add.s32 %r127, %r29, -1; - and.b32 %r30, %r127, %r2; - sub.s32 %r202, %r30, %r29; - bra.uni BB28_3; +BB41_2: + and.b32 %r6, %r2, 31; + add.s32 %r101, %r6, -32; + mov.f32 %f152, 0f00000000; + bra.uni BB41_3; -BB28_8: - add.s32 %r203, %r35, %r203; - sub.s32 %r202, %r202, %r29; +BB41_8: + add.s32 %r101, %r101, -32; + mov.f32 %f152, %f25; -BB28_3: - cvt.s64.s32 %rd18, %r202; +BB41_3: + cvt.s64.s32 %rd18, %r101; add.s64 %rd19, %rd18, %rd2; shl.b64 %rd20, %rd19, 3; add.s64 %rd17, %rd6, %rd20; // inline asm ld.cg.u64 %rd16, [%rd17]; // inline asm - cvt.u32.u64 %r34, %rd16; - setp.eq.s32 %p2, %r34, 0; - mov.u32 %r128, -1; - vote.sync.any.pred %p3, %p2, %r128; - @%p3 bra BB28_3; + cvt.u32.u64 %r9, %rd16; + setp.eq.s32 %p18, %r9, 0; + mov.u32 %r42, -1; + vote.sync.any.pred %p19, %p18, %r42; + @%p19 bra BB41_3; - setp.eq.s32 %p4, %r34, 2; - vote.sync.ballot.b32 %r36, %p4, %r128; shr.u64 %rd21, %rd16, 32; - cvt.u32.u64 %r35, %rd21; - setp.eq.s32 %p6, %r36, 0; - @%p6 bra BB28_8; - - clz.b32 %r131, %r36; - mov.u32 %r132, 31; - sub.s32 %r133, %r132, %r131; - setp.lt.u32 %p7, %r30, %r133; - selp.b32 %r134, 0, %r35, %p7; - mov.u32 %r135, 0; - add.s32 %r136, %r134, %r203; - mov.u32 %r137, 2; - mov.u32 %r138, 16; - shfl.sync.down.b32 %r140|%p8, %r136, %r138, %r132, %r128; - add.s32 %r141, %r140, %r136; - mov.u32 %r142, 8; - shfl.sync.down.b32 %r143|%p9, %r141, %r142, %r132, %r128; - add.s32 %r144, %r143, %r141; - mov.u32 %r145, 4; - shfl.sync.down.b32 %r146|%p10, %r144, %r145, %r132, %r128; - add.s32 %r147, %r146, %r144; - shfl.sync.down.b32 %r148|%p11, %r147, %r137, %r132, %r128; - add.s32 %r149, %r148, %r147; - mov.u32 %r150, 1; - shfl.sync.down.b32 %r151|%p12, %r149, %r150, %r132, %r128; - add.s32 %r152, %r151, %r149; - shfl.sync.idx.b32 %r153|%p13, %r152, %r135, %r132, %r128; - add.s32 %r37, %r153, %r28; - @%p1 bra BB28_7; - - cvt.u64.u32 %rd24, %r37; + cvt.u32.u64 %r44, %rd21; + mov.b32 %f122, %r44; + setp.eq.s32 %p20, %r9, 2; + vote.sync.ballot.b32 %r10, %p20, %r42; + setp.eq.s32 %p22, %r10, 0; + add.f32 %f25, %f152, %f122; + @%p22 bra BB41_8; + + clz.b32 %r46, %r10; + mov.u32 %r47, 31; + sub.s32 %r48, %r47, %r46; + setp.lt.u32 %p23, %r6, %r48; + selp.f32 %f123, %f152, %f25, %p23; + mov.b32 %r49, %f123; + mov.u32 %r50, 2; + mov.u32 %r51, 16; + shfl.sync.down.b32 %r53|%p24, %r49, %r51, %r47, %r42; + mov.b32 %f124, %r53; + add.f32 %f125, %f123, %f124; + mov.b32 %r54, %f125; + mov.u32 %r55, 8; + shfl.sync.down.b32 %r56|%p25, %r54, %r55, %r47, %r42; + mov.b32 %f126, %r56; + add.f32 %f127, %f125, %f126; + mov.b32 %r57, %f127; + mov.u32 %r58, 4; + shfl.sync.down.b32 %r59|%p26, %r57, %r58, %r47, %r42; + mov.b32 %f128, %r59; + add.f32 %f129, %f127, %f128; + mov.b32 %r60, %f129; + shfl.sync.down.b32 %r61|%p27, %r60, %r50, %r47, %r42; + mov.b32 %f130, %r61; + add.f32 %f131, %f129, %f130; + mov.b32 %r62, %f131; + mov.u32 %r63, 1; + shfl.sync.down.b32 %r64|%p28, %r62, %r63, %r47, %r42; + mov.b32 %f132, %r64; + add.f32 %f133, %f131, %f132; + mov.b32 %r65, %f133; + shfl.sync.idx.b32 %r67|%p29, %r65, %r40, %r47, %r42; + mov.b32 %f134, %r67; + add.f32 %f26, %f23, %f134; + @%p17 bra BB41_7; + + mov.b32 %r68, %f26; + cvt.u64.u32 %rd24, %r68; shl.b64 %rd25, %rd24, 32; or.b64 %rd23, %rd25, 2; // inline asm st.cg.u64 [%rd3], %rd23; // inline asm -BB28_7: - sub.s32 %r154, %r37, %r20; - add.s32 %r155, %r154, %r7; - add.s32 %r156, %r154, %r6; - add.s32 %r157, %r154, %r78; - st.shared.v4.u32 [%r4], {%r154, %r157, %r156, %r155}; - add.s32 %r158, %r154, %r11; - add.s32 %r159, %r154, %r10; - add.s32 %r160, %r154, %r9; - add.s32 %r161, %r154, %r8; - st.shared.v4.u32 [%r4+16], {%r161, %r160, %r159, %r158}; - add.s32 %r162, %r154, %r15; - add.s32 %r163, %r154, %r14; - add.s32 %r164, %r154, %r13; - add.s32 %r165, %r154, %r12; - st.shared.v4.u32 [%r4+32], {%r165, %r164, %r163, %r162}; - add.s32 %r166, %r154, %r19; - add.s32 %r167, %r154, %r18; - add.s32 %r168, %r154, %r17; - add.s32 %r169, %r154, %r16; - st.shared.v4.u32 [%r4+48], {%r169, %r168, %r167, %r166}; +BB41_7: + sub.f32 %f135, %f26, %f16; + add.f32 %f136, %f135, %f4; + add.f32 %f137, %f135, %f3; + add.f32 %f138, %f135, %f2; + add.f32 %f139, %f135, %f1; + st.shared.v4.f32 [%r4], {%f139, %f138, %f137, %f136}; + add.f32 %f140, %f135, %f8; + add.f32 %f141, %f135, %f7; + add.f32 %f142, %f135, %f6; + add.f32 %f143, %f135, %f5; + st.shared.v4.f32 [%r4+16], {%f143, %f142, %f141, %f140}; + add.f32 %f144, %f135, %f12; + add.f32 %f145, %f135, %f11; + add.f32 %f146, %f135, %f10; + add.f32 %f147, %f135, %f9; + st.shared.v4.f32 [%r4+32], {%f147, %f146, %f145, %f144}; + add.f32 %f148, %f135, %f16; + add.f32 %f149, %f135, %f15; + add.f32 %f150, %f135, %f14; + add.f32 %f151, %f135, %f13; + st.shared.v4.f32 [%r4+48], {%f151, %f150, %f149, %f148}; bar.sync 0; cvta.to.global.u64 %rd26, %rd5; shl.b64 %rd27, %rd1, 4; add.s64 %rd28, %rd26, %rd27; - ld.shared.v4.u32 {%r170, %r171, %r172, %r173}, [%r3]; - st.global.v4.u32 [%rd28], {%r170, %r171, %r172, %r173}; - ld.shared.v4.u32 {%r178, %r179, %r180, %r181}, [%r3+2048]; - st.global.v4.u32 [%rd28+2048], {%r178, %r179, %r180, %r181}; - ld.shared.v4.u32 {%r186, %r187, %r188, %r189}, [%r3+4096]; - st.global.v4.u32 [%rd28+4096], {%r186, %r187, %r188, %r189}; - ld.shared.v4.u32 {%r194, %r195, %r196, %r197}, [%r3+6144]; - st.global.v4.u32 [%rd28+6144], {%r194, %r195, %r196, %r197}; + ld.shared.v4.u32 {%r69, %r70, %r71, %r72}, [%r3]; + st.global.v4.u32 [%rd28], {%r69, %r70, %r71, %r72}; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r3+2048]; + st.global.v4.u32 [%rd28+2048], {%r77, %r78, %r79, %r80}; + ld.shared.v4.u32 {%r85, %r86, %r87, %r88}, [%r3+4096]; + st.global.v4.u32 [%rd28+4096], {%r85, %r86, %r87, %r88}; + ld.shared.v4.u32 {%r93, %r94, %r95, %r96}, [%r3+6144]; + st.global.v4.u32 [%rd28+6144], {%r93, %r94, %r95, %r96}; + ret; +} + + // .globl scan_inc_large_f64 +.visible .entry scan_inc_large_f64( + .param .u64 scan_inc_large_f64_param_0, + .param .u64 scan_inc_large_f64_param_1, + .param .u32 scan_inc_large_f64_param_2, + .param .u64 scan_inc_large_f64_param_3 +) +{ + .reg .pred %p<29>; + .reg .b32 %r<116>; + .reg .f64 %fd<97>; + .reg .b64 %rd<35>; + + + ld.param.u64 %rd7, [scan_inc_large_f64_param_0]; + ld.param.u32 %r12, [scan_inc_large_f64_param_2]; + ld.param.u64 %rd6, [scan_inc_large_f64_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r13, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r14, %r13, %r2; + cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v2.f64 {%fd19, %fd20}, [%rd10]; + shl.b32 %r15, %r14, 1; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r14, 128; + ld.global.v2.f64 {%fd23, %fd24}, [%rd10+2048]; + shl.b32 %r18, %r17, 1; + setp.lt.u32 %p3, %r18, %r12; + add.s32 %r19, %r18, 1; + setp.lt.u32 %p4, %r19, %r12; + add.s32 %r20, %r14, 256; + ld.global.v2.f64 {%fd27, %fd28}, [%rd10+4096]; + shl.b32 %r21, %r20, 1; + setp.lt.u32 %p5, %r21, %r12; + add.s32 %r22, %r21, 1; + setp.lt.u32 %p6, %r22, %r12; + add.s32 %r23, %r14, 384; + ld.global.v2.f64 {%fd31, %fd32}, [%rd10+6144]; + shl.b32 %r24, %r23, 1; + setp.lt.u32 %p7, %r24, %r12; + add.s32 %r25, %r24, 1; + setp.lt.u32 %p8, %r25, %r12; + shl.b32 %r26, %r2, 4; + mov.u32 %r27, shared_d; + add.s32 %r3, %r27, %r26; + selp.f64 %fd35, %fd20, 0d0000000000000000, %p2; + selp.f64 %fd36, %fd19, 0d0000000000000000, %p1; + st.shared.v2.f64 [%r3], {%fd36, %fd35}; + selp.f64 %fd37, %fd24, 0d0000000000000000, %p4; + selp.f64 %fd38, %fd23, 0d0000000000000000, %p3; + st.shared.v2.f64 [%r3+2048], {%fd38, %fd37}; + selp.f64 %fd39, %fd28, 0d0000000000000000, %p6; + selp.f64 %fd40, %fd27, 0d0000000000000000, %p5; + st.shared.v2.f64 [%r3+4096], {%fd40, %fd39}; + selp.f64 %fd41, %fd32, 0d0000000000000000, %p8; + selp.f64 %fd42, %fd31, 0d0000000000000000, %p7; + st.shared.v2.f64 [%r3+6144], {%fd42, %fd41}; + bar.sync 0; + shl.b32 %r28, %r2, 6; + add.s32 %r4, %r27, %r28; + ld.shared.v2.f64 {%fd43, %fd44}, [%r4]; + ld.shared.v2.f64 {%fd47, %fd48}, [%r4+16]; + ld.shared.v2.f64 {%fd51, %fd52}, [%r4+32]; + ld.shared.v2.f64 {%fd55, %fd56}, [%r4+48]; + add.f64 %fd1, %fd43, 0d0000000000000000; + add.f64 %fd2, %fd1, %fd44; + add.f64 %fd3, %fd2, %fd47; + add.f64 %fd4, %fd3, %fd48; + add.f64 %fd5, %fd4, %fd51; + add.f64 %fd6, %fd5, %fd52; + add.f64 %fd7, %fd6, %fd55; + add.f64 %fd8, %fd7, %fd56; + bar.sync 0; + shl.b32 %r30, %r2, 3; + add.s32 %r5, %r27, %r30; + mov.u64 %rd11, 0; + st.shared.u64 [%r5], %rd11; + st.shared.f64 [%r5+1024], %fd8; + bar.sync 0; + ld.shared.f64 %fd59, [%r5+1016]; + ld.shared.f64 %fd60, [%r5+1024]; + add.f64 %fd9, %fd60, %fd59; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd9; + bar.sync 0; + ld.shared.f64 %fd61, [%r5+1008]; + ld.shared.f64 %fd62, [%r5+1024]; + add.f64 %fd10, %fd62, %fd61; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd10; + bar.sync 0; + ld.shared.f64 %fd63, [%r5+992]; + ld.shared.f64 %fd64, [%r5+1024]; + add.f64 %fd11, %fd64, %fd63; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd11; + bar.sync 0; + ld.shared.f64 %fd65, [%r5+960]; + ld.shared.f64 %fd66, [%r5+1024]; + add.f64 %fd12, %fd66, %fd65; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd12; + bar.sync 0; + ld.shared.f64 %fd67, [%r5+896]; + ld.shared.f64 %fd68, [%r5+1024]; + add.f64 %fd13, %fd68, %fd67; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd13; + bar.sync 0; + ld.shared.f64 %fd69, [%r5+768]; + ld.shared.f64 %fd70, [%r5+1024]; + add.f64 %fd14, %fd70, %fd69; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd14; + bar.sync 0; + ld.shared.f64 %fd71, [%r5+512]; + ld.shared.f64 %fd72, [%r5+1024]; + add.f64 %fd15, %fd72, %fd71; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd12, %r1, 8; + add.s64 %rd3, %rd6, %rd12; + setp.ne.s32 %p9, %r2, 127; + @%p9 bra BB42_2; + + mov.b64 %rd15, %fd15; + and.b64 %rd16, %rd15, -4; + or.b64 %rd14, %rd16, 1; + // inline asm + st.cg.u64 [%rd3], %rd14; + // inline asm + +BB42_2: + and.b32 %r6, %r2, 31; + add.s32 %r115, %r6, -32; + mov.f64 %fd96, 0d0000000000000000; + bra.uni BB42_3; + +BB42_8: + add.s32 %r115, %r115, -32; + mov.f64 %fd96, %fd17; + +BB42_3: + cvt.s64.s32 %rd19, %r115; + add.s64 %rd20, %rd19, %rd2; + shl.b64 %rd21, %rd20, 3; + add.s64 %rd18, %rd6, %rd21; + // inline asm + ld.cg.u64 %rd17, [%rd18]; + // inline asm + cvt.u32.u64 %r32, %rd17; + and.b32 %r9, %r32, 3; + setp.eq.s32 %p10, %r9, 0; + mov.u32 %r33, -1; + vote.sync.any.pred %p11, %p10, %r33; + @%p11 bra BB42_3; + + and.b64 %rd22, %rd17, -4; + mov.b64 %fd74, %rd22; + setp.eq.s32 %p12, %r9, 2; + vote.sync.ballot.b32 %r10, %p12, %r33; + setp.eq.s32 %p14, %r10, 0; + add.f64 %fd17, %fd96, %fd74; + @%p14 bra BB42_8; + + clz.b32 %r60, %r10; + mov.u32 %r61, 31; + sub.s32 %r62, %r61, %r60; + setp.lt.u32 %p15, %r6, %r62; + selp.f64 %fd75, %fd96, %fd17, %p15; + // inline asm + mov.b64 {%r36,%r37}, %fd75; + // inline asm + mov.u32 %r63, 2; + mov.u32 %r64, 16; + shfl.sync.down.b32 %r39|%p16, %r37, %r64, %r61, %r33; + shfl.sync.down.b32 %r38|%p17, %r36, %r64, %r61, %r33; + // inline asm + mov.b64 %fd76, {%r38,%r39}; + // inline asm + add.f64 %fd77, %fd75, %fd76; + // inline asm + mov.b64 {%r40,%r41}, %fd77; + // inline asm + mov.u32 %r66, 8; + shfl.sync.down.b32 %r43|%p18, %r41, %r66, %r61, %r33; + shfl.sync.down.b32 %r42|%p19, %r40, %r66, %r61, %r33; + // inline asm + mov.b64 %fd78, {%r42,%r43}; + // inline asm + add.f64 %fd79, %fd77, %fd78; + // inline asm + mov.b64 {%r44,%r45}, %fd79; + // inline asm + mov.u32 %r67, 4; + shfl.sync.down.b32 %r47|%p20, %r45, %r67, %r61, %r33; + shfl.sync.down.b32 %r46|%p21, %r44, %r67, %r61, %r33; + // inline asm + mov.b64 %fd80, {%r46,%r47}; + // inline asm + add.f64 %fd81, %fd79, %fd80; + // inline asm + mov.b64 {%r48,%r49}, %fd81; + // inline asm + shfl.sync.down.b32 %r51|%p22, %r49, %r63, %r61, %r33; + shfl.sync.down.b32 %r50|%p23, %r48, %r63, %r61, %r33; + // inline asm + mov.b64 %fd82, {%r50,%r51}; + // inline asm + add.f64 %fd83, %fd81, %fd82; + // inline asm + mov.b64 {%r52,%r53}, %fd83; + // inline asm + mov.u32 %r68, 1; + shfl.sync.down.b32 %r55|%p24, %r53, %r68, %r61, %r33; + shfl.sync.down.b32 %r54|%p25, %r52, %r68, %r61, %r33; + // inline asm + mov.b64 %fd84, {%r54,%r55}; + // inline asm + add.f64 %fd85, %fd83, %fd84; + // inline asm + mov.b64 {%r56,%r57}, %fd85; + // inline asm + mov.u32 %r69, 0; + shfl.sync.idx.b32 %r59|%p26, %r57, %r69, %r61, %r33; + shfl.sync.idx.b32 %r58|%p27, %r56, %r69, %r61, %r33; + // inline asm + mov.b64 %fd86, {%r58,%r59}; + // inline asm + add.f64 %fd18, %fd15, %fd86; + @%p9 bra BB42_7; + + mov.u32 %r114, %ctaid.x; + mul.wide.u32 %rd34, %r114, 8; + ld.param.u64 %rd33, [scan_inc_large_f64_param_3]; + add.s64 %rd32, %rd33, %rd34; + mov.b64 %rd25, %fd18; + and.b64 %rd26, %rd25, -4; + or.b64 %rd24, %rd26, 2; + // inline asm + st.cg.u64 [%rd32], %rd24; + // inline asm + +BB42_7: + mov.u32 %r105, %tid.x; + shl.b32 %r104, %r105, 6; + mov.u32 %r103, shared_d; + add.s32 %r102, %r103, %r104; + sub.f64 %fd87, %fd18, %fd8; + add.f64 %fd88, %fd87, %fd2; + add.f64 %fd89, %fd87, %fd1; + st.shared.v2.f64 [%r102], {%fd89, %fd88}; + add.f64 %fd90, %fd87, %fd4; + add.f64 %fd91, %fd87, %fd3; + st.shared.v2.f64 [%r102+16], {%fd91, %fd90}; + add.f64 %fd92, %fd87, %fd6; + add.f64 %fd93, %fd87, %fd5; + st.shared.v2.f64 [%r102+32], {%fd93, %fd92}; + add.f64 %fd94, %fd87, %fd8; + add.f64 %fd95, %fd87, %fd7; + st.shared.v2.f64 [%r102+48], {%fd95, %fd94}; + bar.sync 0; + mov.u32 %r113, %tid.x; + shl.b32 %r112, %r113, 4; + mov.u32 %r111, shared_d; + add.s32 %r110, %r111, %r112; + mov.u32 %r109, %ctaid.x; + mov.u32 %r108, %tid.x; + shl.b32 %r107, %r109, 9; + add.s32 %r106, %r107, %r108; + cvt.u64.u32 %rd31, %r106; + ld.param.u64 %rd30, [scan_inc_large_f64_param_1]; + cvta.to.global.u64 %rd27, %rd30; + shl.b64 %rd28, %rd31, 4; + add.s64 %rd29, %rd27, %rd28; + ld.shared.v4.u32 {%r70, %r71, %r72, %r73}, [%r110]; + st.global.v4.u32 [%rd29], {%r70, %r71, %r72, %r73}; + ld.shared.v4.u32 {%r78, %r79, %r80, %r81}, [%r110+2048]; + st.global.v4.u32 [%rd29+2048], {%r78, %r79, %r80, %r81}; + ld.shared.v4.u32 {%r86, %r87, %r88, %r89}, [%r110+4096]; + st.global.v4.u32 [%rd29+4096], {%r86, %r87, %r88, %r89}; + ld.shared.v4.u32 {%r94, %r95, %r96, %r97}, [%r110+6144]; + st.global.v4.u32 [%rd29+6144], {%r94, %r95, %r96, %r97}; ret; } @@ -3986,9 +6354,9 @@ BB28_7: mov.u32 %r52, 1; setp.lt.u32 %p1, %r25, 2; mov.u32 %r53, %r4; - @%p1 bra BB29_2; + @%p1 bra BB43_2; -BB29_1: +BB43_1: bar.sync 0; sub.s32 %r33, %r26, %r52; shl.b32 %r34, %r33, 2; @@ -4000,32 +6368,32 @@ BB29_1: st.shared.u32 [%r28], %r53; shl.b32 %r52, %r52, 1; setp.lt.u32 %p2, %r52, %r25; - @%p2 bra BB29_1; + @%p2 bra BB43_1; -BB29_2: +BB43_2: add.s32 %r39, %r25, -1; setp.ne.s32 %p3, %r16, %r39; - @%p3 bra BB29_4; + @%p3 bra BB43_4; cvta.to.global.u64 %rd7, %rd2; st.global.u32 [%rd7], %r53; -BB29_4: +BB43_4: sub.s32 %r11, %r53, %r4; add.s32 %r12, %r11, %r1; add.s32 %r13, %r11, %r2; add.s32 %r14, %r11, %r3; setp.eq.s32 %p4, %r1, 0; - @%p4 bra BB29_6; + @%p4 bra BB43_6; cvta.to.global.u64 %rd8, %rd1; mul.wide.u32 %rd9, %r11, 4; add.s64 %rd10, %rd8, %rd9; st.global.u32 [%rd10], %r21; -BB29_6: +BB43_6: setp.eq.s32 %p5, %r12, %r13; - @%p5 bra BB29_8; + @%p5 bra BB43_8; add.s32 %r45, %r21, 1; cvta.to.global.u64 %rd11, %rd1; @@ -4033,9 +6401,9 @@ BB29_6: add.s64 %rd13, %rd11, %rd12; st.global.u32 [%rd13], %r45; -BB29_8: +BB43_8: setp.eq.s32 %p6, %r13, %r14; - @%p6 bra BB29_10; + @%p6 bra BB43_10; add.s32 %r48, %r21, 2; cvta.to.global.u64 %rd14, %rd1; @@ -4043,9 +6411,9 @@ BB29_8: add.s64 %rd16, %rd14, %rd15; st.global.u32 [%rd16], %r48; -BB29_10: +BB43_10: setp.eq.s32 %p7, %r14, %r53; - @%p7 bra BB29_12; + @%p7 bra BB43_12; add.s32 %r51, %r21, 3; cvta.to.global.u64 %rd17, %rd1; @@ -4053,7 +6421,7 @@ BB29_10: add.s64 %rd19, %rd17, %rd18; st.global.u32 [%rd19], %r51; -BB29_12: +BB43_12: ret; } @@ -4166,7 +6534,7 @@ BB29_12: mul.wide.u32 %rd13, %r1, 8; add.s64 %rd3, %rd6, %rd13; setp.ne.s32 %p1, %r2, 127; - @%p1 bra BB30_2; + @%p1 bra BB44_2; cvt.u64.u32 %rd16, %r27; shl.b64 %rd17, %rd16, 32; @@ -4175,19 +6543,19 @@ BB29_12: st.cg.u64 [%rd3], %rd15; // inline asm -BB30_2: +BB44_2: mov.u32 %r28, WARP_SZ; add.s32 %r98, %r28, -1; and.b32 %r29, %r98, %r2; sub.s32 %r144, %r29, %r28; cvta.to.global.u64 %rd4, %rd7; - bra.uni BB30_3; + bra.uni BB44_3; -BB30_41: +BB44_41: add.s32 %r143, %r34, %r143; sub.s32 %r144, %r144, %r28; -BB30_3: +BB44_3: cvt.s64.s32 %rd20, %r144; add.s64 %rd21, %rd20, %rd2; shl.b64 %rd22, %rd21, 3; @@ -4199,14 +6567,14 @@ BB30_3: setp.eq.s32 %p2, %r33, 0; mov.u32 %r99, -1; vote.sync.any.pred %p3, %p2, %r99; - @%p3 bra BB30_3; + @%p3 bra BB44_3; setp.eq.s32 %p4, %r33, 2; vote.sync.ballot.b32 %r35, %p4, %r99; shr.u64 %rd23, %rd18, 32; cvt.u32.u64 %r34, %rd23; setp.eq.s32 %p6, %r35, 0; - @%p6 bra BB30_41; + @%p6 bra BB44_41; clz.b32 %r102, %r35; mov.u32 %r103, 31; @@ -4232,7 +6600,7 @@ BB30_3: add.s32 %r123, %r122, %r120; shfl.sync.idx.b32 %r124|%p13, %r123, %r106, %r103, %r99; add.s32 %r36, %r124, %r27; - @%p1 bra BB30_8; + @%p1 bra BB44_8; cvt.u32.u64 %r125, %rd2; cvt.u64.u32 %rd26, %r36; @@ -4244,11 +6612,11 @@ BB30_3: mov.u32 %r126, %nctaid.x; add.s32 %r127, %r126, -1; setp.ne.s32 %p15, %r125, %r127; - @%p15 bra BB30_8; + @%p15 bra BB44_8; st.global.u32 [%rd4], %r36; -BB30_8: +BB44_8: sub.s32 %r37, %r36, %r19; add.s32 %r38, %r37, %r4; add.s32 %r39, %r37, %r5; @@ -4267,148 +6635,148 @@ BB30_8: add.s32 %r52, %r37, %r18; shl.b32 %r53, %r3, 4; setp.eq.s32 %p16, %r4, 0; - @%p16 bra BB30_10; + @%p16 bra BB44_10; mul.wide.u32 %rd28, %r37, 4; add.s64 %rd29, %rd1, %rd28; st.global.u32 [%rd29], %r53; -BB30_10: +BB44_10: setp.eq.s32 %p17, %r38, %r39; - @%p17 bra BB30_12; + @%p17 bra BB44_12; add.s32 %r128, %r53, 1; mul.wide.u32 %rd30, %r38, 4; add.s64 %rd31, %rd1, %rd30; st.global.u32 [%rd31], %r128; -BB30_12: +BB44_12: setp.eq.s32 %p18, %r39, %r40; - @%p18 bra BB30_14; + @%p18 bra BB44_14; add.s32 %r129, %r53, 2; mul.wide.u32 %rd32, %r39, 4; add.s64 %rd33, %rd1, %rd32; st.global.u32 [%rd33], %r129; -BB30_14: +BB44_14: setp.eq.s32 %p19, %r40, %r41; - @%p19 bra BB30_16; + @%p19 bra BB44_16; add.s32 %r130, %r53, 3; mul.wide.u32 %rd34, %r40, 4; add.s64 %rd35, %rd1, %rd34; st.global.u32 [%rd35], %r130; -BB30_16: +BB44_16: setp.eq.s32 %p20, %r41, %r42; - @%p20 bra BB30_18; + @%p20 bra BB44_18; add.s32 %r131, %r53, 4; mul.wide.u32 %rd36, %r41, 4; add.s64 %rd37, %rd1, %rd36; st.global.u32 [%rd37], %r131; -BB30_18: +BB44_18: setp.eq.s32 %p21, %r42, %r43; - @%p21 bra BB30_20; + @%p21 bra BB44_20; add.s32 %r132, %r53, 5; mul.wide.u32 %rd38, %r42, 4; add.s64 %rd39, %rd1, %rd38; st.global.u32 [%rd39], %r132; -BB30_20: +BB44_20: setp.eq.s32 %p22, %r43, %r44; - @%p22 bra BB30_22; + @%p22 bra BB44_22; add.s32 %r133, %r53, 6; mul.wide.u32 %rd40, %r43, 4; add.s64 %rd41, %rd1, %rd40; st.global.u32 [%rd41], %r133; -BB30_22: +BB44_22: setp.eq.s32 %p23, %r44, %r45; - @%p23 bra BB30_24; + @%p23 bra BB44_24; add.s32 %r134, %r53, 7; mul.wide.u32 %rd42, %r44, 4; add.s64 %rd43, %rd1, %rd42; st.global.u32 [%rd43], %r134; -BB30_24: +BB44_24: setp.eq.s32 %p24, %r45, %r46; - @%p24 bra BB30_26; + @%p24 bra BB44_26; add.s32 %r135, %r53, 8; mul.wide.u32 %rd44, %r45, 4; add.s64 %rd45, %rd1, %rd44; st.global.u32 [%rd45], %r135; -BB30_26: +BB44_26: setp.eq.s32 %p25, %r46, %r47; - @%p25 bra BB30_28; + @%p25 bra BB44_28; add.s32 %r136, %r53, 9; mul.wide.u32 %rd46, %r46, 4; add.s64 %rd47, %rd1, %rd46; st.global.u32 [%rd47], %r136; -BB30_28: +BB44_28: setp.eq.s32 %p26, %r47, %r48; - @%p26 bra BB30_30; + @%p26 bra BB44_30; add.s32 %r137, %r53, 10; mul.wide.u32 %rd48, %r47, 4; add.s64 %rd49, %rd1, %rd48; st.global.u32 [%rd49], %r137; -BB30_30: +BB44_30: setp.eq.s32 %p27, %r48, %r49; - @%p27 bra BB30_32; + @%p27 bra BB44_32; add.s32 %r138, %r53, 11; mul.wide.u32 %rd50, %r48, 4; add.s64 %rd51, %rd1, %rd50; st.global.u32 [%rd51], %r138; -BB30_32: +BB44_32: setp.eq.s32 %p28, %r49, %r50; - @%p28 bra BB30_34; + @%p28 bra BB44_34; add.s32 %r139, %r53, 12; mul.wide.u32 %rd52, %r49, 4; add.s64 %rd53, %rd1, %rd52; st.global.u32 [%rd53], %r139; -BB30_34: +BB44_34: setp.eq.s32 %p29, %r50, %r51; - @%p29 bra BB30_36; + @%p29 bra BB44_36; add.s32 %r140, %r53, 13; mul.wide.u32 %rd54, %r50, 4; add.s64 %rd55, %rd1, %rd54; st.global.u32 [%rd55], %r140; -BB30_36: +BB44_36: setp.eq.s32 %p30, %r51, %r52; - @%p30 bra BB30_38; + @%p30 bra BB44_38; add.s32 %r141, %r53, 14; mul.wide.u32 %rd56, %r51, 4; add.s64 %rd57, %rd1, %rd56; st.global.u32 [%rd57], %r141; -BB30_38: +BB44_38: setp.eq.s32 %p31, %r52, %r36; - @%p31 bra BB30_40; + @%p31 bra BB44_40; add.s32 %r142, %r53, 15; mul.wide.u32 %rd58, %r52, 4; add.s64 %rd59, %rd1, %rd58; st.global.u32 [%rd59], %r142; -BB30_40: +BB44_40: ret; } @@ -4441,11 +6809,11 @@ BB30_40: div.u32 %r5, %r1, %r30; mul.lo.s32 %r6, %r31, %r27; setp.ge.u32 %p3, %r1, %r6; - @%p3 bra BB31_3; + @%p3 bra BB45_3; mov.u32 %r64, %r1; -BB31_2: +BB45_2: shl.b32 %r32, %r64, 2; mov.u32 %r33, shared; add.s32 %r34, %r33, %r32; @@ -4453,31 +6821,31 @@ BB31_2: st.shared.u32 [%r34], %r35; add.s32 %r64, %r64, %r4; setp.lt.u32 %p4, %r64, %r6; - @%p4 bra BB31_2; + @%p4 bra BB45_2; -BB31_3: +BB45_3: bar.sync 0; add.s32 %r65, %r2, %r1; setp.ge.u32 %p5, %r65, %r3; - @%p5 bra BB31_12; + @%p5 bra BB45_12; add.s32 %r37, %r30, -1; and.b32 %r10, %r37, %r1; mul.lo.s32 %r11, %r5, %r27; cvta.to.global.u64 %rd5, %rd3; -BB31_5: +BB45_5: setp.lt.u32 %p6, %r65, %r26; mov.u32 %r38, -1; vote.sync.ballot.b32 %r66, %p6, %r38; setp.ge.u32 %p7, %r65, %r26; - @%p7 bra BB31_11; + @%p7 bra BB45_11; mul.wide.u32 %rd6, %r65, 4; add.s64 %rd7, %rd5, %rd6; ld.global.u32 %r15, [%rd7]; -BB31_7: +BB45_7: neg.s32 %r39, %r66; and.b32 %r40, %r66, %r39; clz.b32 %r41, %r40; @@ -4488,7 +6856,7 @@ BB31_7: vote.sync.ballot.b32 %r17, %p9, %r66; xor.b32 %r66, %r17, %r66; setp.ne.s32 %p11, %r44, %r15; - @%p11 bra BB31_7; + @%p11 bra BB45_7; neg.s32 %r46, %r17; mov.u32 %r67, 0; @@ -4496,7 +6864,7 @@ BB31_7: clz.b32 %r48, %r47; sub.s32 %r19, %r42, %r48; setp.ne.s32 %p12, %r10, %r19; - @%p12 bra BB31_10; + @%p12 bra BB45_10; add.s32 %r50, %r15, %r11; shl.b32 %r51, %r50, 2; @@ -4507,26 +6875,26 @@ BB31_7: add.s32 %r55, %r54, %r67; st.shared.u32 [%r53], %r55; -BB31_10: +BB45_10: shfl.sync.idx.b32 %r57|%p13, %r67, %r19, %r42, %r17; -BB31_11: +BB45_11: bar.warp.sync -1; add.s32 %r65, %r65, %r4; setp.lt.u32 %p14, %r65, %r3; - @%p14 bra BB31_5; + @%p14 bra BB45_5; -BB31_12: +BB45_12: mov.u32 %r68, %tid.x; setp.lt.u32 %p2, %r68, %r6; bar.sync 0; mul.lo.s32 %r59, %r6, %r29; cvt.u64.u32 %rd1, %r59; cvta.to.global.u64 %rd2, %rd4; - @!%p2 bra BB31_14; - bra.uni BB31_13; + @!%p2 bra BB45_14; + bra.uni BB45_13; -BB31_13: +BB45_13: shl.b32 %r60, %r68, 2; mov.u32 %r61, shared; add.s32 %r62, %r61, %r60; @@ -4538,9 +6906,9 @@ BB31_13: st.global.u32 [%rd11], %r63; add.s32 %r68, %r68, %r4; setp.lt.u32 %p15, %r68, %r6; - @%p15 bra BB31_13; + @%p15 bra BB45_13; -BB31_14: +BB45_14: ret; } @@ -4569,11 +6937,11 @@ BB31_14: add.s32 %r3, %r2, %r25; mov.u32 %r4, %tid.x; setp.ge.u32 %p3, %r4, %r24; - @%p3 bra BB32_3; + @%p3 bra BB46_3; mov.u32 %r57, %r4; -BB32_2: +BB46_2: shl.b32 %r27, %r57, 2; mov.u32 %r28, shared; add.s32 %r29, %r28, %r27; @@ -4581,31 +6949,31 @@ BB32_2: st.shared.u32 [%r29], %r30; add.s32 %r57, %r57, %r1; setp.lt.u32 %p4, %r57, %r24; - @%p4 bra BB32_2; + @%p4 bra BB46_2; -BB32_3: +BB46_3: bar.sync 0; add.s32 %r58, %r2, %r4; setp.ge.u32 %p5, %r58, %r3; - @%p5 bra BB32_12; + @%p5 bra BB46_12; mov.u32 %r31, WARP_SZ; add.s32 %r32, %r31, -1; and.b32 %r8, %r32, %r4; cvta.to.global.u64 %rd1, %rd4; -BB32_5: +BB46_5: setp.lt.u32 %p6, %r58, %r23; mov.u32 %r33, -1; vote.sync.ballot.b32 %r59, %p6, %r33; setp.ge.u32 %p7, %r58, %r23; - @%p7 bra BB32_11; + @%p7 bra BB46_11; mul.wide.u32 %rd6, %r58, 4; add.s64 %rd7, %rd1, %rd6; ld.global.u32 %r12, [%rd7]; -BB32_7: +BB46_7: neg.s32 %r34, %r59; and.b32 %r35, %r59, %r34; clz.b32 %r36, %r35; @@ -4616,7 +6984,7 @@ BB32_7: vote.sync.ballot.b32 %r14, %p9, %r59; xor.b32 %r59, %r14, %r59; setp.ne.s32 %p11, %r39, %r12; - @%p11 bra BB32_7; + @%p11 bra BB46_7; neg.s32 %r41, %r14; mov.u32 %r60, 0; @@ -4624,7 +6992,7 @@ BB32_7: clz.b32 %r43, %r42; sub.s32 %r16, %r37, %r43; setp.ne.s32 %p12, %r8, %r16; - @%p12 bra BB32_10; + @%p12 bra BB46_10; popc.b32 %r45, %r14; shl.b32 %r46, %r12, 2; @@ -4632,25 +7000,25 @@ BB32_7: add.s32 %r48, %r47, %r46; atom.shared.add.u32 %r60, [%r48], %r45; -BB32_10: +BB46_10: shfl.sync.idx.b32 %r50|%p13, %r60, %r16, %r37, %r14; -BB32_11: +BB46_11: add.s32 %r58, %r58, %r1; setp.lt.u32 %p14, %r58, %r3; - @%p14 bra BB32_5; + @%p14 bra BB46_5; -BB32_12: +BB46_12: mov.u32 %r61, %tid.x; setp.lt.u32 %p2, %r61, %r24; bar.sync 0; mul.lo.s32 %r52, %r26, %r24; cvt.u64.u32 %rd2, %r52; cvta.to.global.u64 %rd3, %rd5; - @!%p2 bra BB32_14; - bra.uni BB32_13; + @!%p2 bra BB46_14; + bra.uni BB46_13; -BB32_13: +BB46_13: shl.b32 %r53, %r61, 2; mov.u32 %r54, shared; add.s32 %r55, %r54, %r53; @@ -4662,9 +7030,9 @@ BB32_13: st.global.u32 [%rd11], %r56; add.s32 %r61, %r61, %r1; setp.lt.u32 %p15, %r61, %r24; - @%p15 bra BB32_13; + @%p15 bra BB46_13; -BB32_14: +BB46_14: ret; } @@ -4693,7 +7061,7 @@ BB32_14: mov.u32 %r3, %tid.x; add.s32 %r41, %r21, %r3; setp.ge.u32 %p2, %r41, %r2; - @%p2 bra BB33_9; + @%p2 bra BB47_9; mov.u32 %r22, WARP_SZ; add.s32 %r23, %r22, -1; @@ -4704,19 +7072,19 @@ BB32_14: cvta.to.global.u64 %rd2, %rd5; cvta.to.global.u64 %rd6, %rd4; -BB33_2: +BB47_2: setp.lt.u32 %p3, %r41, %r18; mov.u32 %r25, -1; vote.sync.ballot.b32 %r42, %p3, %r25; setp.ge.u32 %p4, %r41, %r18; - @%p4 bra BB33_8; + @%p4 bra BB47_8; mul.wide.u32 %rd7, %r41, 4; add.s64 %rd8, %rd6, %rd7; ld.global.u32 %r10, [%rd8]; cvt.u64.u32 %rd3, %r10; -BB33_4: +BB47_4: neg.s32 %r26, %r42; and.b32 %r27, %r42, %r26; clz.b32 %r28, %r27; @@ -4728,7 +7096,7 @@ BB33_4: vote.sync.ballot.b32 %r12, %p6, %r42; xor.b32 %r42, %r12, %r42; setp.ne.s32 %p8, %r31, %r32; - @%p8 bra BB33_4; + @%p8 bra BB47_4; neg.s32 %r34, %r12; mov.u32 %r43, 0; @@ -4736,7 +7104,7 @@ BB33_4: clz.b32 %r36, %r35; sub.s32 %r14, %r29, %r36; setp.ne.s32 %p9, %r5, %r14; - @%p9 bra BB33_7; + @%p9 bra BB47_7; popc.b32 %r38, %r12; add.s64 %rd9, %rd3, %rd1; @@ -4744,15 +7112,15 @@ BB33_4: add.s64 %rd11, %rd2, %rd10; atom.global.add.u32 %r43, [%rd11], %r38; -BB33_7: +BB47_7: shfl.sync.idx.b32 %r40|%p10, %r43, %r14, %r29, %r12; -BB33_8: +BB47_8: add.s32 %r41, %r41, %r6; setp.lt.u32 %p11, %r41, %r2; - @%p11 bra BB33_2; + @%p11 bra BB47_2; -BB33_9: +BB47_9: ret; } @@ -4782,7 +7150,7 @@ BB33_9: mov.u32 %r23, %ctaid.x; mad.lo.s32 %r52, %r2, %r23, %r1; setp.ge.u32 %p3, %r52, %r21; - @%p3 bra BB34_13; + @%p3 bra BB48_13; shl.b32 %r24, %r1, 2; mov.u32 %r25, shared; @@ -4797,45 +7165,45 @@ BB33_9: cvta.to.global.u64 %rd10, %rd2; cvta.to.global.u64 %rd11, %rd3; -BB34_2: +BB48_2: setp.ge.u32 %p4, %r52, %r20; mov.u32 %r53, %r22; - @%p4 bra BB34_4; + @%p4 bra BB48_4; cvta.to.global.u64 %rd4, %rd1; mul.wide.u32 %rd5, %r52, 4; add.s64 %rd6, %rd4, %rd5; ld.global.u32 %r53, [%rd6]; -BB34_4: +BB48_4: add.s32 %r32, %r1, 1; setp.lt.u32 %p1, %r32, %r2; st.shared.u32 [%r4], %r53; bar.sync 0; - @%p1 bra BB34_7; - bra.uni BB34_5; + @%p1 bra BB48_7; + bra.uni BB48_5; -BB34_7: +BB48_7: ld.shared.u32 %r54, [%r4+4]; - bra.uni BB34_8; + bra.uni BB48_8; -BB34_5: +BB48_5: add.s32 %r10, %r52, 1; setp.ge.u32 %p5, %r10, %r20; mov.u32 %r54, %r22; - @%p5 bra BB34_8; + @%p5 bra BB48_8; cvta.to.global.u64 %rd7, %rd1; mul.wide.u32 %rd8, %r10, 4; add.s64 %rd9, %rd7, %rd8; ld.global.u32 %r54, [%rd9]; -BB34_8: +BB48_8: setp.ne.s32 %p6, %r54, %r53; mov.u32 %r34, -1; vote.sync.ballot.b32 %r14, %p6, %r34; setp.eq.s32 %p7, %r54, %r53; - @%p7 bra BB34_12; + @%p7 bra BB48_12; neg.s32 %r36, %r14; mov.u32 %r35, 0; @@ -4845,12 +7213,12 @@ BB34_8: sub.s32 %r16, %r39, %r38; setp.ne.s32 %p8, %r28, %r16; mov.u32 %r55, %r35; - @%p8 bra BB34_11; + @%p8 bra BB48_11; popc.b32 %r44, %r14; atom.global.add.u32 %r55, [%rd10], %r44; -BB34_11: +BB48_11: shfl.sync.idx.b32 %r46|%p9, %r55, %r16, %r39, %r14; shl.b32 %r47, %r14, %r5; popc.b32 %r48, %r47; @@ -4860,12 +7228,12 @@ BB34_11: sub.s32 %r50, %r54, %r53; st.global.v4.u32 [%rd13], {%r52, %r53, %r50, %r35}; -BB34_12: +BB48_12: add.s32 %r52, %r6, %r52; setp.lt.u32 %p10, %r52, %r21; - @%p10 bra BB34_2; + @%p10 bra BB48_2; -BB34_13: +BB48_13: ret; } @@ -4904,11 +7272,11 @@ BB34_13: cvt.u64.u32 %rd2, %r31; mul.lo.s32 %r7, %r29, %r26; setp.ge.u32 %p2, %r5, %r7; - @%p2 bra BB35_3; + @%p2 bra BB49_3; mov.u32 %r61, %r5; -BB35_2: +BB49_2: cvt.u64.u32 %rd7, %r61; add.s64 %rd8, %rd7, %rd2; shl.b64 %rd9, %rd8, 2; @@ -4920,13 +7288,13 @@ BB35_2: st.shared.u32 [%r35], %r32; add.s32 %r61, %r61, %r4; setp.lt.u32 %p3, %r61, %r7; - @%p3 bra BB35_2; + @%p3 bra BB49_2; -BB35_3: +BB49_3: bar.sync 0; add.s32 %r62, %r1, %r5; setp.ge.u32 %p4, %r62, %r2; - @%p4 bra BB35_12; + @%p4 bra BB49_12; add.s32 %r36, %r3, -1; and.b32 %r11, %r36, %r5; @@ -4936,18 +7304,18 @@ BB35_3: mul.lo.s32 %r13, %r6, %r26; cvta.to.global.u64 %rd11, %rd4; -BB35_5: +BB49_5: setp.lt.u32 %p5, %r62, %r25; mov.u32 %r38, -1; vote.sync.ballot.b32 %r63, %p5, %r38; setp.ge.u32 %p6, %r62, %r25; - @%p6 bra BB35_11; + @%p6 bra BB49_11; mul.wide.u32 %rd12, %r62, 4; add.s64 %rd13, %rd11, %rd12; ld.global.u32 %r17, [%rd13]; -BB35_7: +BB49_7: neg.s32 %r39, %r63; and.b32 %r40, %r63, %r39; clz.b32 %r41, %r40; @@ -4958,7 +7326,7 @@ BB35_7: vote.sync.ballot.b32 %r19, %p8, %r63; xor.b32 %r63, %r19, %r63; setp.ne.s32 %p10, %r44, %r17; - @%p10 bra BB35_7; + @%p10 bra BB49_7; neg.s32 %r46, %r19; mov.u32 %r64, 0; @@ -4966,7 +7334,7 @@ BB35_7: clz.b32 %r48, %r47; sub.s32 %r21, %r42, %r48; setp.ne.s32 %p11, %r11, %r21; - @%p11 bra BB35_10; + @%p11 bra BB49_10; add.s32 %r50, %r17, %r13; shl.b32 %r51, %r50, 2; @@ -4977,7 +7345,7 @@ BB35_7: add.s32 %r55, %r54, %r64; st.shared.u32 [%r53], %r55; -BB35_10: +BB49_10: shfl.sync.idx.b32 %r57|%p12, %r64, %r21, %r42, %r19; shl.b32 %r58, %r19, %r12; popc.b32 %r59, %r58; @@ -4986,12 +7354,12 @@ BB35_10: add.s64 %rd15, %rd3, %rd14; st.global.u32 [%rd15], %r62; -BB35_11: +BB49_11: add.s32 %r62, %r62, %r4; setp.lt.u32 %p13, %r62, %r2; - @%p13 bra BB35_5; + @%p13 bra BB49_5; -BB35_12: +BB49_12: ret; } @@ -5025,11 +7393,11 @@ BB35_12: cvt.u64.u32 %rd2, %r25; mov.u32 %r4, %tid.x; setp.ge.u32 %p2, %r4, %r22; - @%p2 bra BB36_3; + @%p2 bra BB50_3; mov.u32 %r54, %r4; -BB36_2: +BB50_2: cvt.u64.u32 %rd8, %r54; add.s64 %rd9, %rd8, %rd2; shl.b64 %rd10, %rd9, 2; @@ -5041,13 +7409,13 @@ BB36_2: st.shared.u32 [%r29], %r26; add.s32 %r54, %r54, %r1; setp.lt.u32 %p3, %r54, %r22; - @%p3 bra BB36_2; + @%p3 bra BB50_2; -BB36_3: +BB50_3: bar.sync 0; add.s32 %r55, %r2, %r4; setp.ge.u32 %p4, %r55, %r3; - @%p4 bra BB36_12; + @%p4 bra BB50_12; mov.u32 %r30, WARP_SZ; add.s32 %r31, %r30, -1; @@ -5057,18 +7425,18 @@ BB36_3: cvta.to.global.u64 %rd3, %rd6; cvta.to.global.u64 %rd4, %rd5; -BB36_5: +BB50_5: setp.lt.u32 %p5, %r55, %r21; mov.u32 %r33, -1; vote.sync.ballot.b32 %r56, %p5, %r33; setp.ge.u32 %p6, %r55, %r21; - @%p6 bra BB36_11; + @%p6 bra BB50_11; mul.wide.u32 %rd12, %r55, 4; add.s64 %rd13, %rd4, %rd12; ld.global.u32 %r13, [%rd13]; -BB36_7: +BB50_7: neg.s32 %r34, %r56; and.b32 %r35, %r56, %r34; clz.b32 %r36, %r35; @@ -5079,7 +7447,7 @@ BB36_7: vote.sync.ballot.b32 %r15, %p8, %r56; xor.b32 %r56, %r15, %r56; setp.ne.s32 %p10, %r39, %r13; - @%p10 bra BB36_7; + @%p10 bra BB50_7; neg.s32 %r41, %r15; mov.u32 %r57, 0; @@ -5087,7 +7455,7 @@ BB36_7: clz.b32 %r43, %r42; sub.s32 %r17, %r37, %r43; setp.ne.s32 %p11, %r8, %r17; - @%p11 bra BB36_10; + @%p11 bra BB50_10; popc.b32 %r45, %r15; shl.b32 %r46, %r13, 2; @@ -5095,7 +7463,7 @@ BB36_7: add.s32 %r48, %r47, %r46; atom.shared.add.u32 %r57, [%r48], %r45; -BB36_10: +BB50_10: shfl.sync.idx.b32 %r50|%p12, %r57, %r17, %r37, %r15; shl.b32 %r51, %r15, %r9; popc.b32 %r52, %r51; @@ -5104,12 +7472,12 @@ BB36_10: add.s64 %rd15, %rd3, %rd14; st.global.u32 [%rd15], %r55; -BB36_11: +BB50_11: add.s32 %r55, %r55, %r1; setp.lt.u32 %p13, %r55, %r3; - @%p13 bra BB36_5; + @%p13 bra BB50_5; -BB36_12: +BB50_12: ret; } @@ -5140,7 +7508,7 @@ BB36_12: add.s32 %r3, %r21, %r20; add.s32 %r46, %r21, %r1; setp.ge.u32 %p2, %r46, %r3; - @%p2 bra BB37_9; + @%p2 bra BB51_9; mov.u32 %r22, WARP_SZ; add.s32 %r23, %r22, -1; @@ -5153,19 +7521,19 @@ BB36_12: cvta.to.global.u64 %rd9, %rd4; cvta.to.global.u64 %rd13, %rd5; -BB37_2: +BB51_2: setp.lt.u32 %p3, %r46, %r18; mov.u32 %r26, -1; vote.sync.ballot.b32 %r47, %p3, %r26; setp.ge.u32 %p4, %r46, %r18; - @%p4 bra BB37_8; + @%p4 bra BB51_8; mul.wide.u32 %rd7, %r46, 4; add.s64 %rd8, %rd6, %rd7; ld.global.u32 %r10, [%rd8]; cvt.u64.u32 %rd2, %r10; -BB37_4: +BB51_4: neg.s32 %r27, %r47; and.b32 %r28, %r47, %r27; clz.b32 %r29, %r28; @@ -5177,7 +7545,7 @@ BB37_4: vote.sync.ballot.b32 %r12, %p6, %r47; xor.b32 %r47, %r12, %r47; setp.ne.s32 %p8, %r32, %r33; - @%p8 bra BB37_4; + @%p8 bra BB51_4; neg.s32 %r35, %r12; mov.u32 %r48, 0; @@ -5185,7 +7553,7 @@ BB37_4: clz.b32 %r37, %r36; sub.s32 %r14, %r30, %r37; setp.ne.s32 %p9, %r5, %r14; - @%p9 bra BB37_7; + @%p9 bra BB51_7; popc.b32 %r39, %r12; add.s64 %rd10, %rd2, %rd1; @@ -5193,7 +7561,7 @@ BB37_4: add.s64 %rd12, %rd9, %rd11; atom.global.add.u32 %r48, [%rd12], %r39; -BB37_7: +BB51_7: shfl.sync.idx.b32 %r41|%p10, %r48, %r14, %r30, %r12; shl.b32 %r42, %r12, %r6; popc.b32 %r43, %r42; @@ -5202,13 +7570,13 @@ BB37_7: add.s64 %rd15, %rd13, %rd14; st.global.u32 [%rd15], %r46; -BB37_8: +BB51_8: mov.u32 %r45, %ntid.x; add.s32 %r46, %r46, %r45; setp.lt.u32 %p11, %r46, %r3; - @%p11 bra BB37_2; + @%p11 bra BB51_2; -BB37_9: +BB51_9: ret; } @@ -5240,7 +7608,7 @@ BB37_9: setp.ge.u32 %p1, %r6, %r9; setp.ge.u32 %p2, %r3, %r10; or.pred %p3, %p1, %p2; - @%p3 bra BB38_2; + @%p3 bra BB52_2; cvta.to.global.u64 %rd3, %rd1; mad.lo.s32 %r13, %r6, %r10, %r3; @@ -5253,14 +7621,14 @@ BB37_9: add.s32 %r18, %r17, %r16; st.shared.u32 [%r18], %r14; -BB38_2: +BB52_2: bar.sync 0; add.s32 %r7, %r5, %r1; setp.ge.u32 %p4, %r7, %r10; add.s32 %r8, %r4, %r2; setp.ge.u32 %p5, %r8, %r9; or.pred %p6, %p4, %p5; - @%p6 bra BB38_4; + @%p6 bra BB52_4; mad.lo.s32 %r19, %r2, 17, %r5; shl.b32 %r20, %r19, 2; @@ -5273,7 +7641,7 @@ BB38_2: add.s64 %rd8, %rd6, %rd7; st.global.u32 [%rd8], %r23; -BB38_4: +BB52_4: ret; } @@ -5364,21 +7732,21 @@ BB38_4: mov.u32 %r8, %tid.x; mad.lo.s32 %r10, %r1, %r7, %r8; setp.ge.u32 %p1, %r10, %r6; - @%p1 bra BB43_3; + @%p1 bra BB57_3; mov.u32 %r9, %nctaid.x; mul.lo.s32 %r3, %r9, %r1; cvta.to.global.u64 %rd1, %rd2; -BB43_2: +BB57_2: mul.wide.u32 %rd4, %r10, 8; add.s64 %rd5, %rd1, %rd4; st.global.u64 [%rd5], %rd3; add.s32 %r10, %r3, %r10; setp.lt.u32 %p2, %r10, %r6; - @%p2 bra BB43_2; + @%p2 bra BB57_2; -BB43_3: +BB57_3: ret; } @@ -5403,7 +7771,7 @@ BB43_3: mov.u32 %r5, %tid.x; mad.lo.s32 %r1, %r4, %r3, %r5; setp.ge.u32 %p1, %r1, %r2; - @%p1 bra BB44_12; + @%p1 bra BB58_12; cvta.to.global.u64 %rd5, %rd4; mul.wide.u32 %rd6, %r1, 16; @@ -5414,52 +7782,52 @@ BB43_3: cvta.to.global.u64 %rd9, %rd3; add.s64 %rd2, %rd9, %rd8; setp.gt.s32 %p2, %r8, 1; - @%p2 bra BB44_5; + @%p2 bra BB58_5; setp.eq.s32 %p6, %r8, 0; - @%p6 bra BB44_11; - bra.uni BB44_3; + @%p6 bra BB58_11; + bra.uni BB58_3; -BB44_11: +BB58_11: st.global.u64 [%rd2], %rd1; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_5: +BB58_5: setp.eq.s32 %p3, %r8, 2; - @%p3 bra BB44_10; + @%p3 bra BB58_10; setp.eq.s32 %p4, %r8, 4; - @%p4 bra BB44_9; - bra.uni BB44_7; + @%p4 bra BB58_9; + bra.uni BB58_7; -BB44_9: +BB58_9: ld.u32 %r10, [%rd1]; st.global.u32 [%rd2], %r10; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_3: +BB58_3: setp.eq.s32 %p7, %r8, 1; - @%p7 bra BB44_4; - bra.uni BB44_12; + @%p7 bra BB58_4; + bra.uni BB58_12; -BB44_4: +BB58_4: ld.u8 %rs2, [%rd1]; st.global.u8 [%rd2], %rs2; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_10: +BB58_10: ld.u16 %rs1, [%rd1]; st.global.u16 [%rd2], %rs1; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_7: +BB58_7: setp.ne.s32 %p5, %r8, 8; - @%p5 bra BB44_12; + @%p5 bra BB58_12; ld.u64 %rd10, [%rd1]; st.global.u64 [%rd2], %rd10; -BB44_12: +BB58_12: ret; } @@ -5485,7 +7853,7 @@ BB44_12: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB45_2; + @%p1 bra BB59_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5497,7 +7865,7 @@ BB44_12: add.s64 %rd8, %rd6, %rd7; st.global.u32 [%rd8], %r8; -BB45_2: +BB59_2: ret; } @@ -5523,7 +7891,7 @@ BB45_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB46_2; + @%p1 bra BB60_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5535,7 +7903,7 @@ BB45_2: ld.global.u32 %r8, [%rd8]; atom.global.add.u32 %r9, [%rd6], %r8; -BB46_2: +BB60_2: ret; } @@ -5561,7 +7929,7 @@ BB46_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB47_2; + @%p1 bra BB61_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5573,7 +7941,7 @@ BB46_2: add.s64 %rd9, %rd7, %rd8; st.global.u64 [%rd9], %rd6; -BB47_2: +BB61_2: ret; } @@ -5599,7 +7967,7 @@ BB47_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB48_2; + @%p1 bra BB62_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5611,7 +7979,7 @@ BB47_2: ld.global.u64 %rd9, [%rd8]; atom.global.add.u64 %rd10, [%rd6], %rd9; -BB48_2: +BB62_2: ret; } @@ -5638,7 +8006,7 @@ BB48_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB49_2; + @%p1 bra BB63_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5650,7 +8018,7 @@ BB48_2: add.s64 %rd8, %rd6, %rd7; st.global.f32 [%rd8], %f1; -BB49_2: +BB63_2: ret; } @@ -5677,7 +8045,7 @@ BB49_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB50_2; + @%p1 bra BB64_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5689,7 +8057,7 @@ BB49_2: ld.global.f32 %f1, [%rd8]; atom.global.add.f32 %f2, [%rd6], %f1; -BB50_2: +BB64_2: ret; } @@ -5716,7 +8084,7 @@ BB50_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB51_2; + @%p1 bra BB65_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5728,7 +8096,7 @@ BB50_2: add.s64 %rd8, %rd6, %rd7; st.global.f64 [%rd8], %fd1; -BB51_2: +BB65_2: ret; } @@ -5755,7 +8123,7 @@ BB51_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB52_3; + @%p1 bra BB66_3; cvta.to.global.u64 %rd7, %rd5; div.u32 %r7, %r1, %r2; @@ -5767,16 +8135,16 @@ BB51_2: ld.global.f64 %fd1, [%rd11]; ld.global.u64 %rd13, [%rd1]; -BB52_2: +BB66_2: mov.b64 %fd2, %rd13; add.f64 %fd3, %fd1, %fd2; mov.b64 %rd12, %fd3; atom.global.cas.b64 %rd4, [%rd1], %rd13, %rd12; setp.ne.s64 %p2, %rd13, %rd4; mov.u64 %rd13, %rd4; - @%p2 bra BB52_2; + @%p2 bra BB66_2; -BB52_3: +BB66_3: ret; } diff --git a/resources/kernels_70.ptx b/resources/kernels_70.ptx index efcea99a9..6e1ff9c4e 100644 --- a/resources/kernels_70.ptx +++ b/resources/kernels_70.ptx @@ -3627,72 +3627,10 @@ BB25_15: ret; } - // .globl scan_small_u32 -.visible .entry scan_small_u32( - .param .u64 scan_small_u32_param_0, - .param .u64 scan_small_u32_param_1, - .param .u32 scan_small_u32_param_2 -) -{ - .reg .pred %p<3>; - .reg .b32 %r<42>; - .reg .b64 %rd<9>; - - - ld.param.u64 %rd2, [scan_small_u32_param_0]; - ld.param.u64 %rd1, [scan_small_u32_param_1]; - cvta.to.global.u64 %rd3, %rd2; - mov.u32 %r12, %tid.x; - mul.wide.u32 %rd4, %r12, 16; - add.s64 %rd5, %rd3, %rd4; - ld.global.v4.u32 {%r13, %r14, %r15, %r16}, [%rd5]; - mov.u32 %r17, 0; - mov.u32 %r40, 1; - add.s32 %r2, %r14, %r13; - add.s32 %r3, %r15, %r2; - add.s32 %r4, %r16, %r3; - shl.b32 %r21, %r12, 2; - mov.u32 %r22, shared; - add.s32 %r23, %r22, %r21; - st.shared.u32 [%r23], %r17; - mov.u32 %r24, %ntid.x; - add.s32 %r25, %r24, %r12; - shl.b32 %r26, %r25, 2; - add.s32 %r5, %r22, %r26; - st.shared.u32 [%r5], %r4; - setp.lt.u32 %p1, %r24, 2; - mov.u32 %r41, %r4; - @%p1 bra BB26_2; - -BB26_1: - bar.sync 0; - sub.s32 %r29, %r25, %r40; - shl.b32 %r30, %r29, 2; - add.s32 %r32, %r22, %r30; - ld.shared.u32 %r33, [%r32]; - ld.shared.u32 %r34, [%r5]; - add.s32 %r41, %r33, %r34; - bar.sync 0; - st.shared.u32 [%r5], %r41; - shl.b32 %r40, %r40, 1; - setp.lt.u32 %p2, %r40, %r24; - @%p2 bra BB26_1; - -BB26_2: - cvta.to.global.u64 %rd6, %rd1; - add.s64 %rd8, %rd6, %rd4; - sub.s32 %r36, %r41, %r4; - add.s32 %r37, %r36, %r3; - add.s32 %r38, %r36, %r2; - add.s32 %r39, %r36, %r13; - st.global.v4.u32 [%rd8], {%r36, %r39, %r38, %r37}; - ret; -} - - // .globl scan_large_u32_init -.visible .entry scan_large_u32_init( - .param .u64 scan_large_u32_init_param_0, - .param .u32 scan_large_u32_init_param_1 + // .globl scan_large_init +.visible .entry scan_large_init( + .param .u64 scan_large_init_param_0, + .param .u32 scan_large_init_param_1 ) { .reg .pred %p<4>; @@ -3700,20 +3638,20 @@ BB26_2: .reg .b64 %rd<6>; - ld.param.u64 %rd2, [scan_large_u32_init_param_0]; - ld.param.u32 %r6, [scan_large_u32_init_param_1]; + ld.param.u64 %rd2, [scan_large_init_param_0]; + ld.param.u32 %r6, [scan_large_init_param_1]; mov.u32 %r1, %ntid.x; mov.u32 %r7, %ctaid.x; mov.u32 %r8, %tid.x; mad.lo.s32 %r10, %r1, %r7, %r8; setp.ge.u32 %p1, %r10, %r6; - @%p1 bra BB27_3; + @%p1 bra BB26_3; mov.u32 %r9, %nctaid.x; mul.lo.s32 %r3, %r9, %r1; cvta.to.global.u64 %rd1, %rd2; -BB27_2: +BB26_2: setp.lt.u32 %p2, %r10, 32; selp.b64 %rd3, 2, 0, %p2; mul.wide.u32 %rd4, %r10, 8; @@ -3721,227 +3659,2657 @@ BB27_2: st.global.u64 [%rd5], %rd3; add.s32 %r10, %r3, %r10; setp.lt.u32 %p3, %r10, %r6; - @%p3 bra BB27_2; + @%p3 bra BB26_2; + +BB26_3: + ret; +} + + // .globl scan_exc_small_u32 +.visible .entry scan_exc_small_u32( + .param .u64 scan_exc_small_u32_param_0, + .param .u64 scan_exc_small_u32_param_1, + .param .u32 scan_exc_small_u32_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<41>; + .reg .b64 %rd<10>; + + + ld.param.u64 %rd3, [scan_exc_small_u32_param_0]; + ld.param.u64 %rd2, [scan_exc_small_u32_param_1]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r13, %tid.x; + cvt.u64.u32 %rd1, %r13; + mul.wide.u32 %rd5, %r13, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v4.u32 {%r14, %r15, %r16, %r17}, [%rd6]; + mov.u32 %r18, 0; + add.s32 %r2, %r15, %r14; + add.s32 %r3, %r16, %r2; + add.s32 %r4, %r17, %r3; + shl.b32 %r22, %r13, 2; + mov.u32 %r23, shared; + add.s32 %r24, %r23, %r22; + st.shared.u32 [%r24], %r18; + mov.u32 %r5, %ntid.x; + add.s32 %r6, %r5, %r13; + setp.lt.u32 %p1, %r5, 2; + mov.u32 %r40, %r4; + @%p1 bra BB27_3; + + shl.b32 %r26, %r6, 2; + add.s32 %r7, %r23, %r26; + mov.u32 %r38, 1; + mov.u32 %r40, %r4; + +BB27_2: + st.shared.u32 [%r7], %r40; + bar.sync 0; + sub.s32 %r28, %r6, %r38; + shl.b32 %r29, %r28, 2; + add.s32 %r31, %r23, %r29; + ld.shared.u32 %r32, [%r31]; + ld.shared.u32 %r33, [%r7]; + add.s32 %r40, %r32, %r33; + bar.sync 0; + shl.b32 %r38, %r38, 1; + setp.lt.u32 %p2, %r38, %r5; + @%p2 bra BB27_2; BB27_3: + cvta.to.global.u64 %rd7, %rd2; + shl.b64 %rd8, %rd1, 4; + add.s64 %rd9, %rd7, %rd8; + sub.s32 %r34, %r40, %r4; + add.s32 %r35, %r34, %r3; + add.s32 %r36, %r34, %r2; + add.s32 %r37, %r34, %r14; + st.global.v4.u32 [%rd9], {%r34, %r37, %r36, %r35}; + ret; +} + + // .globl scan_exc_small_u64 +.visible .entry scan_exc_small_u64( + .param .u64 scan_exc_small_u64_param_0, + .param .u64 scan_exc_small_u64_param_1, + .param .u32 scan_exc_small_u64_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<18>; + .reg .b64 %rd<25>; + + + ld.param.u64 %rd8, [scan_exc_small_u64_param_0]; + ld.param.u64 %rd7, [scan_exc_small_u64_param_1]; + cvta.to.global.u64 %rd9, %rd8; + mov.u32 %r6, %tid.x; + cvt.u64.u32 %rd1, %r6; + mul.wide.u32 %rd10, %r6, 16; + add.s64 %rd11, %rd9, %rd10; + ld.global.v2.u64 {%rd12, %rd13}, [%rd11]; + add.s64 %rd3, %rd13, %rd12; + shl.b32 %r7, %r6, 3; + mov.u32 %r8, shared; + add.s32 %r9, %r8, %r7; + mov.u64 %rd15, 0; + st.shared.u64 [%r9], %rd15; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r6; + setp.lt.u32 %p1, %r1, 2; + mov.u64 %rd24, %rd3; + @%p1 bra BB28_3; + + shl.b32 %r11, %r2, 3; + add.s32 %r3, %r8, %r11; + mov.u32 %r17, 1; + mov.u64 %rd24, %rd3; + +BB28_2: + st.shared.u64 [%r3], %rd24; + bar.sync 0; + sub.s32 %r13, %r2, %r17; + shl.b32 %r14, %r13, 3; + add.s32 %r16, %r8, %r14; + ld.shared.u64 %rd16, [%r16]; + ld.shared.u64 %rd17, [%r3]; + add.s64 %rd24, %rd16, %rd17; + bar.sync 0; + shl.b32 %r17, %r17, 1; + setp.lt.u32 %p2, %r17, %r1; + @%p2 bra BB28_2; + +BB28_3: + cvta.to.global.u64 %rd18, %rd7; + shl.b64 %rd19, %rd1, 4; + add.s64 %rd20, %rd18, %rd19; + sub.s64 %rd21, %rd24, %rd3; + add.s64 %rd22, %rd21, %rd12; + st.global.v2.u64 [%rd20], {%rd21, %rd22}; + ret; +} + + // .globl scan_exc_small_f32 +.visible .entry scan_exc_small_f32( + .param .u64 scan_exc_small_f32_param_0, + .param .u64 scan_exc_small_f32_param_1, + .param .u32 scan_exc_small_f32_param_2 +) +{ + .reg .pred %p<7>; + .reg .f32 %f<29>; + .reg .b32 %r<30>; + .reg .b64 %rd<9>; + + + ld.param.u64 %rd2, [scan_exc_small_f32_param_0]; + ld.param.u64 %rd1, [scan_exc_small_f32_param_1]; + ld.param.u32 %r6, [scan_exc_small_f32_param_2]; + cvta.to.global.u64 %rd3, %rd2; + mov.u32 %r7, %tid.x; + mul.wide.u32 %rd4, %r7, 16; + add.s64 %rd5, %rd3, %rd4; + ld.global.v4.f32 {%f8, %f9, %f10, %f11}, [%rd5]; + shl.b32 %r8, %r7, 2; + setp.lt.u32 %p1, %r8, %r6; + add.f32 %f16, %f8, 0f00000000; + selp.f32 %f1, %f16, 0f00000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f32 %f17, %f9, 0f00000000, %p2; + add.f32 %f2, %f1, %f17; + add.s32 %r10, %r8, 2; + setp.lt.u32 %p3, %r10, %r6; + selp.f32 %f18, %f10, 0f00000000, %p3; + add.f32 %f3, %f2, %f18; + add.s32 %r11, %r8, 3; + setp.lt.u32 %p4, %r11, %r6; + selp.f32 %f19, %f11, 0f00000000, %p4; + add.f32 %f4, %f3, %f19; + mov.u32 %r12, shared; + add.s32 %r13, %r12, %r8; + mov.u32 %r14, 0; + st.shared.u32 [%r13], %r14; + mov.u32 %r15, %ntid.x; + setp.lt.u32 %p5, %r15, 2; + mov.f32 %f28, %f4; + @%p5 bra BB29_3; + + add.s32 %r19, %r15, %r7; + shl.b32 %r20, %r19, 2; + add.s32 %r1, %r12, %r20; + mov.u32 %r29, 1; + mov.f32 %f28, %f4; + +BB29_2: + st.shared.f32 [%r1], %f28; + bar.sync 0; + sub.s32 %r24, %r19, %r29; + shl.b32 %r25, %r24, 2; + add.s32 %r27, %r12, %r25; + ld.shared.f32 %f20, [%r27]; + ld.shared.f32 %f21, [%r1]; + add.f32 %f28, %f21, %f20; + bar.sync 0; + shl.b32 %r29, %r29, 1; + setp.lt.u32 %p6, %r29, %r15; + @%p6 bra BB29_2; + +BB29_3: + sub.f32 %f22, %f28, %f4; + cvta.to.global.u64 %rd6, %rd1; + add.s64 %rd8, %rd6, %rd4; + add.f32 %f23, %f22, %f3; + add.f32 %f24, %f22, %f2; + add.f32 %f25, %f22, %f1; + add.f32 %f26, %f22, 0f00000000; + st.global.v4.f32 [%rd8], {%f26, %f25, %f24, %f23}; + ret; +} + + // .globl scan_exc_small_f64 +.visible .entry scan_exc_small_f64( + .param .u64 scan_exc_small_f64_param_0, + .param .u64 scan_exc_small_f64_param_1, + .param .u32 scan_exc_small_f64_param_2 +) +{ + .reg .pred %p<5>; + .reg .b32 %r<21>; + .reg .f64 %fd<19>; + .reg .b64 %rd<11>; + + + ld.param.u64 %rd3, [scan_exc_small_f64_param_0]; + ld.param.u64 %rd2, [scan_exc_small_f64_param_1]; + ld.param.u32 %r6, [scan_exc_small_f64_param_2]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r7, %tid.x; + cvt.u64.u32 %rd1, %r7; + mul.wide.u32 %rd5, %r7, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v2.f64 {%fd6, %fd7}, [%rd6]; + shl.b32 %r8, %r7, 1; + setp.lt.u32 %p1, %r8, %r6; + add.f64 %fd10, %fd6, 0d0000000000000000; + selp.f64 %fd1, %fd10, 0d0000000000000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f64 %fd11, %fd7, 0d0000000000000000, %p2; + add.f64 %fd2, %fd1, %fd11; + shl.b32 %r10, %r7, 3; + mov.u32 %r11, shared_d; + add.s32 %r12, %r11, %r10; + mov.u64 %rd7, 0; + st.shared.u64 [%r12], %rd7; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r7; + setp.lt.u32 %p3, %r1, 2; + mov.f64 %fd18, %fd2; + @%p3 bra BB30_3; + + shl.b32 %r14, %r2, 3; + add.s32 %r3, %r11, %r14; + mov.u32 %r20, 1; + mov.f64 %fd18, %fd2; + +BB30_2: + st.shared.f64 [%r3], %fd18; + bar.sync 0; + sub.s32 %r16, %r2, %r20; + shl.b32 %r17, %r16, 3; + add.s32 %r19, %r11, %r17; + ld.shared.f64 %fd12, [%r19]; + ld.shared.f64 %fd13, [%r3]; + add.f64 %fd18, %fd13, %fd12; + bar.sync 0; + shl.b32 %r20, %r20, 1; + setp.lt.u32 %p4, %r20, %r1; + @%p4 bra BB30_2; + +BB30_3: + sub.f64 %fd14, %fd18, %fd2; + cvta.to.global.u64 %rd8, %rd2; + shl.b64 %rd9, %rd1, 4; + add.s64 %rd10, %rd8, %rd9; + add.f64 %fd15, %fd14, %fd1; + add.f64 %fd16, %fd14, 0d0000000000000000; + st.global.v2.f64 [%rd10], {%fd16, %fd15}; + ret; +} + + // .globl scan_inc_small_u32 +.visible .entry scan_inc_small_u32( + .param .u64 scan_inc_small_u32_param_0, + .param .u64 scan_inc_small_u32_param_1, + .param .u32 scan_inc_small_u32_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<41>; + .reg .b64 %rd<10>; + + + ld.param.u64 %rd3, [scan_inc_small_u32_param_0]; + ld.param.u64 %rd2, [scan_inc_small_u32_param_1]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r13, %tid.x; + cvt.u64.u32 %rd1, %r13; + mul.wide.u32 %rd5, %r13, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v4.u32 {%r14, %r15, %r16, %r17}, [%rd6]; + mov.u32 %r18, 0; + add.s32 %r2, %r15, %r14; + add.s32 %r3, %r16, %r2; + add.s32 %r4, %r17, %r3; + shl.b32 %r22, %r13, 2; + mov.u32 %r23, shared; + add.s32 %r24, %r23, %r22; + st.shared.u32 [%r24], %r18; + mov.u32 %r5, %ntid.x; + add.s32 %r6, %r5, %r13; + setp.lt.u32 %p1, %r5, 2; + mov.u32 %r40, %r4; + @%p1 bra BB31_3; + + shl.b32 %r26, %r6, 2; + add.s32 %r7, %r23, %r26; + mov.u32 %r38, 1; + mov.u32 %r40, %r4; + +BB31_2: + st.shared.u32 [%r7], %r40; + bar.sync 0; + sub.s32 %r28, %r6, %r38; + shl.b32 %r29, %r28, 2; + add.s32 %r31, %r23, %r29; + ld.shared.u32 %r32, [%r31]; + ld.shared.u32 %r33, [%r7]; + add.s32 %r40, %r32, %r33; + bar.sync 0; + shl.b32 %r38, %r38, 1; + setp.lt.u32 %p2, %r38, %r5; + @%p2 bra BB31_2; + +BB31_3: + sub.s32 %r34, %r40, %r4; + cvta.to.global.u64 %rd7, %rd2; + shl.b64 %rd8, %rd1, 4; + add.s64 %rd9, %rd7, %rd8; + add.s32 %r35, %r34, %r3; + add.s32 %r36, %r34, %r2; + add.s32 %r37, %r34, %r14; + st.global.v4.u32 [%rd9], {%r37, %r36, %r35, %r40}; + ret; +} + + // .globl scan_inc_small_u64 +.visible .entry scan_inc_small_u64( + .param .u64 scan_inc_small_u64_param_0, + .param .u64 scan_inc_small_u64_param_1, + .param .u32 scan_inc_small_u64_param_2 +) +{ + .reg .pred %p<3>; + .reg .b32 %r<18>; + .reg .b64 %rd<25>; + + + ld.param.u64 %rd8, [scan_inc_small_u64_param_0]; + ld.param.u64 %rd7, [scan_inc_small_u64_param_1]; + cvta.to.global.u64 %rd9, %rd8; + mov.u32 %r6, %tid.x; + cvt.u64.u32 %rd1, %r6; + mul.wide.u32 %rd10, %r6, 16; + add.s64 %rd11, %rd9, %rd10; + ld.global.v2.u64 {%rd12, %rd13}, [%rd11]; + add.s64 %rd3, %rd13, %rd12; + shl.b32 %r7, %r6, 3; + mov.u32 %r8, shared; + add.s32 %r9, %r8, %r7; + mov.u64 %rd15, 0; + st.shared.u64 [%r9], %rd15; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r6; + setp.lt.u32 %p1, %r1, 2; + mov.u64 %rd24, %rd3; + @%p1 bra BB32_3; + + shl.b32 %r11, %r2, 3; + add.s32 %r3, %r8, %r11; + mov.u32 %r17, 1; + mov.u64 %rd24, %rd3; + +BB32_2: + st.shared.u64 [%r3], %rd24; + bar.sync 0; + sub.s32 %r13, %r2, %r17; + shl.b32 %r14, %r13, 3; + add.s32 %r16, %r8, %r14; + ld.shared.u64 %rd16, [%r16]; + ld.shared.u64 %rd17, [%r3]; + add.s64 %rd24, %rd16, %rd17; + bar.sync 0; + shl.b32 %r17, %r17, 1; + setp.lt.u32 %p2, %r17, %r1; + @%p2 bra BB32_2; + +BB32_3: + sub.s64 %rd18, %rd24, %rd3; + cvta.to.global.u64 %rd19, %rd7; + shl.b64 %rd20, %rd1, 4; + add.s64 %rd21, %rd19, %rd20; + add.s64 %rd22, %rd18, %rd12; + st.global.v2.u64 [%rd21], {%rd22, %rd24}; + ret; +} + + // .globl scan_inc_small_f32 +.visible .entry scan_inc_small_f32( + .param .u64 scan_inc_small_f32_param_0, + .param .u64 scan_inc_small_f32_param_1, + .param .u32 scan_inc_small_f32_param_2 +) +{ + .reg .pred %p<7>; + .reg .f32 %f<29>; + .reg .b32 %r<30>; + .reg .b64 %rd<9>; + + + ld.param.u64 %rd2, [scan_inc_small_f32_param_0]; + ld.param.u64 %rd1, [scan_inc_small_f32_param_1]; + ld.param.u32 %r6, [scan_inc_small_f32_param_2]; + cvta.to.global.u64 %rd3, %rd2; + mov.u32 %r7, %tid.x; + mul.wide.u32 %rd4, %r7, 16; + add.s64 %rd5, %rd3, %rd4; + ld.global.v4.f32 {%f8, %f9, %f10, %f11}, [%rd5]; + shl.b32 %r8, %r7, 2; + setp.lt.u32 %p1, %r8, %r6; + add.f32 %f16, %f8, 0f00000000; + selp.f32 %f1, %f16, 0f00000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f32 %f17, %f9, 0f00000000, %p2; + add.f32 %f2, %f1, %f17; + add.s32 %r10, %r8, 2; + setp.lt.u32 %p3, %r10, %r6; + selp.f32 %f18, %f10, 0f00000000, %p3; + add.f32 %f3, %f2, %f18; + add.s32 %r11, %r8, 3; + setp.lt.u32 %p4, %r11, %r6; + selp.f32 %f19, %f11, 0f00000000, %p4; + add.f32 %f4, %f3, %f19; + mov.u32 %r12, shared; + add.s32 %r13, %r12, %r8; + mov.u32 %r14, 0; + st.shared.u32 [%r13], %r14; + mov.u32 %r15, %ntid.x; + setp.lt.u32 %p5, %r15, 2; + mov.f32 %f28, %f4; + @%p5 bra BB33_3; + + add.s32 %r19, %r15, %r7; + shl.b32 %r20, %r19, 2; + add.s32 %r1, %r12, %r20; + mov.u32 %r29, 1; + mov.f32 %f28, %f4; + +BB33_2: + st.shared.f32 [%r1], %f28; + bar.sync 0; + sub.s32 %r24, %r19, %r29; + shl.b32 %r25, %r24, 2; + add.s32 %r27, %r12, %r25; + ld.shared.f32 %f20, [%r27]; + ld.shared.f32 %f21, [%r1]; + add.f32 %f28, %f21, %f20; + bar.sync 0; + shl.b32 %r29, %r29, 1; + setp.lt.u32 %p6, %r29, %r15; + @%p6 bra BB33_2; + +BB33_3: + sub.f32 %f22, %f28, %f4; + cvta.to.global.u64 %rd6, %rd1; + add.s64 %rd8, %rd6, %rd4; + add.f32 %f23, %f22, %f4; + add.f32 %f24, %f22, %f3; + add.f32 %f25, %f22, %f2; + add.f32 %f26, %f22, %f1; + st.global.v4.f32 [%rd8], {%f26, %f25, %f24, %f23}; + ret; +} + + // .globl scan_inc_small_f64 +.visible .entry scan_inc_small_f64( + .param .u64 scan_inc_small_f64_param_0, + .param .u64 scan_inc_small_f64_param_1, + .param .u32 scan_inc_small_f64_param_2 +) +{ + .reg .pred %p<5>; + .reg .b32 %r<21>; + .reg .f64 %fd<19>; + .reg .b64 %rd<11>; + + + ld.param.u64 %rd3, [scan_inc_small_f64_param_0]; + ld.param.u64 %rd2, [scan_inc_small_f64_param_1]; + ld.param.u32 %r6, [scan_inc_small_f64_param_2]; + cvta.to.global.u64 %rd4, %rd3; + mov.u32 %r7, %tid.x; + cvt.u64.u32 %rd1, %r7; + mul.wide.u32 %rd5, %r7, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v2.f64 {%fd6, %fd7}, [%rd6]; + shl.b32 %r8, %r7, 1; + setp.lt.u32 %p1, %r8, %r6; + add.f64 %fd10, %fd6, 0d0000000000000000; + selp.f64 %fd1, %fd10, 0d0000000000000000, %p1; + add.s32 %r9, %r8, 1; + setp.lt.u32 %p2, %r9, %r6; + selp.f64 %fd11, %fd7, 0d0000000000000000, %p2; + add.f64 %fd2, %fd1, %fd11; + shl.b32 %r10, %r7, 3; + mov.u32 %r11, shared_d; + add.s32 %r12, %r11, %r10; + mov.u64 %rd7, 0; + st.shared.u64 [%r12], %rd7; + mov.u32 %r1, %ntid.x; + add.s32 %r2, %r1, %r7; + setp.lt.u32 %p3, %r1, 2; + mov.f64 %fd18, %fd2; + @%p3 bra BB34_3; + + shl.b32 %r14, %r2, 3; + add.s32 %r3, %r11, %r14; + mov.u32 %r20, 1; + mov.f64 %fd18, %fd2; + +BB34_2: + st.shared.f64 [%r3], %fd18; + bar.sync 0; + sub.s32 %r16, %r2, %r20; + shl.b32 %r17, %r16, 3; + add.s32 %r19, %r11, %r17; + ld.shared.f64 %fd12, [%r19]; + ld.shared.f64 %fd13, [%r3]; + add.f64 %fd18, %fd13, %fd12; + bar.sync 0; + shl.b32 %r20, %r20, 1; + setp.lt.u32 %p4, %r20, %r1; + @%p4 bra BB34_2; + +BB34_3: + sub.f64 %fd14, %fd18, %fd2; + cvta.to.global.u64 %rd8, %rd2; + shl.b64 %rd9, %rd1, 4; + add.s64 %rd10, %rd8, %rd9; + add.f64 %fd15, %fd14, %fd2; + add.f64 %fd16, %fd14, %fd1; + st.global.v2.f64 [%rd10], {%fd16, %fd15}; ret; } - // .globl scan_large_u32 -.visible .entry scan_large_u32( - .param .u64 scan_large_u32_param_0, - .param .u64 scan_large_u32_param_1, - .param .u64 scan_large_u32_param_2 + // .globl scan_exc_large_u32 +.visible .entry scan_exc_large_u32( + .param .u64 scan_exc_large_u32_param_0, + .param .u64 scan_exc_large_u32_param_1, + .param .u32 scan_exc_large_u32_param_2, + .param .u64 scan_exc_large_u32_param_3 ) { .reg .pred %p<15>; - .reg .b32 %r<204>; + .reg .b32 %r<202>; + .reg .b64 %rd<28>; + + + ld.param.u64 %rd6, [scan_exc_large_u32_param_0]; + ld.param.u64 %rd4, [scan_exc_large_u32_param_1]; + ld.param.u64 %rd5, [scan_exc_large_u32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r39, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r40, %r39, %r2; + cvt.u64.u32 %rd1, %r40; + cvta.to.global.u64 %rd7, %rd6; + mul.wide.u32 %rd8, %r40, 16; + add.s64 %rd9, %rd7, %rd8; + ld.global.v4.u32 {%r41, %r42, %r43, %r44}, [%rd9]; + ld.global.v4.u32 {%r49, %r50, %r51, %r52}, [%rd9+2048]; + ld.global.v4.u32 {%r57, %r58, %r59, %r60}, [%rd9+4096]; + ld.global.v4.u32 {%r65, %r66, %r67, %r68}, [%rd9+6144]; + shl.b32 %r73, %r2, 4; + mov.u32 %r74, shared; + add.s32 %r3, %r74, %r73; + st.shared.v4.u32 [%r3], {%r41, %r42, %r43, %r44}; + st.shared.v4.u32 [%r3+2048], {%r49, %r50, %r51, %r52}; + st.shared.v4.u32 [%r3+4096], {%r57, %r58, %r59, %r60}; + st.shared.v4.u32 [%r3+6144], {%r65, %r66, %r67, %r68}; + bar.sync 0; + shl.b32 %r75, %r2, 6; + add.s32 %r4, %r74, %r75; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r4]; + ld.shared.v4.u32 {%r84, %r85, %r86, %r87}, [%r4+16]; + ld.shared.v4.u32 {%r92, %r93, %r94, %r95}, [%r4+32]; + ld.shared.v4.u32 {%r100, %r101, %r102, %r103}, [%r4+48]; + add.s32 %r6, %r78, %r77; + add.s32 %r7, %r79, %r6; + add.s32 %r8, %r80, %r7; + add.s32 %r9, %r84, %r8; + add.s32 %r10, %r85, %r9; + add.s32 %r11, %r86, %r10; + add.s32 %r12, %r87, %r11; + add.s32 %r13, %r92, %r12; + add.s32 %r14, %r93, %r13; + add.s32 %r15, %r94, %r14; + add.s32 %r16, %r95, %r15; + add.s32 %r17, %r100, %r16; + add.s32 %r18, %r101, %r17; + add.s32 %r19, %r102, %r18; + add.s32 %r20, %r103, %r19; + bar.sync 0; + shl.b32 %r108, %r2, 2; + add.s32 %r21, %r74, %r108; + mov.u32 %r201, 0; + st.shared.u32 [%r21], %r201; + st.shared.u32 [%r21+512], %r20; + bar.sync 0; + ld.shared.u32 %r111, [%r21+508]; + ld.shared.u32 %r112, [%r21+512]; + add.s32 %r22, %r111, %r112; + bar.sync 0; + st.shared.u32 [%r21+512], %r22; + bar.sync 0; + ld.shared.u32 %r113, [%r21+504]; + ld.shared.u32 %r114, [%r21+512]; + add.s32 %r23, %r113, %r114; + bar.sync 0; + st.shared.u32 [%r21+512], %r23; + bar.sync 0; + ld.shared.u32 %r115, [%r21+496]; + ld.shared.u32 %r116, [%r21+512]; + add.s32 %r24, %r115, %r116; + bar.sync 0; + st.shared.u32 [%r21+512], %r24; + bar.sync 0; + ld.shared.u32 %r117, [%r21+480]; + ld.shared.u32 %r118, [%r21+512]; + add.s32 %r25, %r117, %r118; + bar.sync 0; + st.shared.u32 [%r21+512], %r25; + bar.sync 0; + ld.shared.u32 %r119, [%r21+448]; + ld.shared.u32 %r120, [%r21+512]; + add.s32 %r26, %r119, %r120; + bar.sync 0; + st.shared.u32 [%r21+512], %r26; + bar.sync 0; + ld.shared.u32 %r121, [%r21+384]; + ld.shared.u32 %r122, [%r21+512]; + add.s32 %r27, %r121, %r122; + bar.sync 0; + st.shared.u32 [%r21+512], %r27; + bar.sync 0; + ld.shared.u32 %r123, [%r21+256]; + ld.shared.u32 %r124, [%r21+512]; + add.s32 %r28, %r123, %r124; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd10, %r1, 8; + add.s64 %rd3, %rd5, %rd10; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB35_2; + + cvt.u64.u32 %rd13, %r28; + shl.b64 %rd14, %rd13, 32; + or.b64 %rd12, %rd14, 1; + // inline asm + st.cg.u64 [%rd3], %rd12; + // inline asm + +BB35_2: + and.b32 %r29, %r2, 31; + add.s32 %r200, %r29, -32; + bra.uni BB35_3; + +BB35_8: + add.s32 %r201, %r34, %r201; + add.s32 %r200, %r200, -32; + +BB35_3: + cvt.s64.s32 %rd17, %r200; + add.s64 %rd18, %rd17, %rd2; + shl.b64 %rd19, %rd18, 3; + add.s64 %rd16, %rd5, %rd19; + // inline asm + ld.cg.u64 %rd15, [%rd16]; + // inline asm + cvt.u32.u64 %r33, %rd15; + shr.u64 %rd20, %rd15, 32; + cvt.u32.u64 %r34, %rd20; + setp.eq.s32 %p2, %r33, 0; + mov.u32 %r126, -1; + vote.sync.any.pred %p3, %p2, %r126; + @%p3 bra BB35_3; + + setp.eq.s32 %p4, %r33, 2; + vote.sync.ballot.b32 %r35, %p4, %r126; + setp.eq.s32 %p6, %r35, 0; + @%p6 bra BB35_8; + + clz.b32 %r129, %r35; + mov.u32 %r130, 31; + sub.s32 %r131, %r130, %r129; + setp.lt.u32 %p7, %r29, %r131; + selp.b32 %r132, 0, %r34, %p7; + mov.u32 %r133, 0; + add.s32 %r134, %r132, %r201; + mov.u32 %r135, 2; + mov.u32 %r136, 16; + shfl.sync.down.b32 %r138|%p8, %r134, %r136, %r130, %r126; + add.s32 %r139, %r138, %r134; + mov.u32 %r140, 8; + shfl.sync.down.b32 %r141|%p9, %r139, %r140, %r130, %r126; + add.s32 %r142, %r141, %r139; + mov.u32 %r143, 4; + shfl.sync.down.b32 %r144|%p10, %r142, %r143, %r130, %r126; + add.s32 %r145, %r144, %r142; + shfl.sync.down.b32 %r146|%p11, %r145, %r135, %r130, %r126; + add.s32 %r147, %r146, %r145; + mov.u32 %r148, 1; + shfl.sync.down.b32 %r149|%p12, %r147, %r148, %r130, %r126; + add.s32 %r150, %r149, %r147; + shfl.sync.idx.b32 %r151|%p13, %r150, %r133, %r130, %r126; + add.s32 %r36, %r151, %r28; + @%p1 bra BB35_7; + + cvt.u64.u32 %rd23, %r36; + shl.b64 %rd24, %rd23, 32; + or.b64 %rd22, %rd24, 2; + // inline asm + st.cg.u64 [%rd3], %rd22; + // inline asm + +BB35_7: + sub.s32 %r152, %r36, %r20; + add.s32 %r153, %r152, %r7; + add.s32 %r154, %r152, %r6; + add.s32 %r155, %r152, %r77; + st.shared.v4.u32 [%r4], {%r152, %r155, %r154, %r153}; + add.s32 %r156, %r152, %r11; + add.s32 %r157, %r152, %r10; + add.s32 %r158, %r152, %r9; + add.s32 %r159, %r152, %r8; + st.shared.v4.u32 [%r4+16], {%r159, %r158, %r157, %r156}; + add.s32 %r160, %r152, %r15; + add.s32 %r161, %r152, %r14; + add.s32 %r162, %r152, %r13; + add.s32 %r163, %r152, %r12; + st.shared.v4.u32 [%r4+32], {%r163, %r162, %r161, %r160}; + add.s32 %r164, %r152, %r19; + add.s32 %r165, %r152, %r18; + add.s32 %r166, %r152, %r17; + add.s32 %r167, %r152, %r16; + st.shared.v4.u32 [%r4+48], {%r167, %r166, %r165, %r164}; + bar.sync 0; + cvta.to.global.u64 %rd25, %rd4; + shl.b64 %rd26, %rd1, 4; + add.s64 %rd27, %rd25, %rd26; + ld.shared.v4.u32 {%r168, %r169, %r170, %r171}, [%r3]; + st.global.v4.u32 [%rd27], {%r168, %r169, %r170, %r171}; + ld.shared.v4.u32 {%r176, %r177, %r178, %r179}, [%r3+2048]; + st.global.v4.u32 [%rd27+2048], {%r176, %r177, %r178, %r179}; + ld.shared.v4.u32 {%r184, %r185, %r186, %r187}, [%r3+4096]; + st.global.v4.u32 [%rd27+4096], {%r184, %r185, %r186, %r187}; + ld.shared.v4.u32 {%r192, %r193, %r194, %r195}, [%r3+6144]; + st.global.v4.u32 [%rd27+6144], {%r192, %r193, %r194, %r195}; + ret; +} + + // .globl scan_exc_large_u64 +.visible .entry scan_exc_large_u64( + .param .u64 scan_exc_large_u64_param_0, + .param .u64 scan_exc_large_u64_param_1, + .param .u32 scan_exc_large_u64_param_2, + .param .u64 scan_exc_large_u64_param_3 +) +{ + .reg .pred %p<21>; + .reg .b32 %r<104>; + .reg .b64 %rd<118>; + + + ld.param.u64 %rd25, [scan_exc_large_u64_param_0]; + ld.param.u64 %rd24, [scan_exc_large_u64_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r12, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r13, %r12, %r2; + cvta.to.global.u64 %rd26, %rd25; + mul.wide.u32 %rd27, %r13, 16; + add.s64 %rd28, %rd26, %rd27; + ld.global.v2.u64 {%rd29, %rd30}, [%rd28]; + ld.global.v2.u64 {%rd33, %rd34}, [%rd28+2048]; + ld.global.v2.u64 {%rd37, %rd38}, [%rd28+4096]; + ld.global.v2.u64 {%rd41, %rd42}, [%rd28+6144]; + shl.b32 %r14, %r2, 4; + mov.u32 %r15, shared; + add.s32 %r3, %r15, %r14; + st.shared.v2.u64 [%r3], {%rd29, %rd30}; + st.shared.v2.u64 [%r3+2048], {%rd33, %rd34}; + st.shared.v2.u64 [%r3+4096], {%rd37, %rd38}; + st.shared.v2.u64 [%r3+6144], {%rd41, %rd42}; + bar.sync 0; + shl.b32 %r16, %r2, 6; + add.s32 %r4, %r15, %r16; + ld.shared.v2.u64 {%rd45, %rd46}, [%r4]; + ld.shared.v2.u64 {%rd48, %rd49}, [%r4+16]; + ld.shared.v2.u64 {%rd52, %rd53}, [%r4+32]; + ld.shared.v2.u64 {%rd56, %rd57}, [%r4+48]; + add.s64 %rd3, %rd46, %rd45; + add.s64 %rd4, %rd48, %rd3; + add.s64 %rd5, %rd49, %rd4; + add.s64 %rd6, %rd52, %rd5; + add.s64 %rd7, %rd53, %rd6; + add.s64 %rd8, %rd56, %rd7; + add.s64 %rd9, %rd57, %rd8; + bar.sync 0; + shl.b32 %r18, %r2, 3; + add.s32 %r5, %r15, %r18; + mov.u64 %rd117, 0; + st.shared.u64 [%r5], %rd117; + st.shared.u64 [%r5+1024], %rd9; + bar.sync 0; + ld.shared.u64 %rd61, [%r5+1016]; + ld.shared.u64 %rd62, [%r5+1024]; + add.s64 %rd10, %rd61, %rd62; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd10; + bar.sync 0; + ld.shared.u64 %rd63, [%r5+1008]; + ld.shared.u64 %rd64, [%r5+1024]; + add.s64 %rd11, %rd63, %rd64; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd11; + bar.sync 0; + ld.shared.u64 %rd65, [%r5+992]; + ld.shared.u64 %rd66, [%r5+1024]; + add.s64 %rd12, %rd65, %rd66; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd12; + bar.sync 0; + ld.shared.u64 %rd67, [%r5+960]; + ld.shared.u64 %rd68, [%r5+1024]; + add.s64 %rd13, %rd67, %rd68; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd13; + bar.sync 0; + ld.shared.u64 %rd69, [%r5+896]; + ld.shared.u64 %rd70, [%r5+1024]; + add.s64 %rd14, %rd69, %rd70; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd14; + bar.sync 0; + ld.shared.u64 %rd71, [%r5+768]; + ld.shared.u64 %rd72, [%r5+1024]; + add.s64 %rd15, %rd71, %rd72; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd15; + bar.sync 0; + ld.shared.u64 %rd73, [%r5+512]; + ld.shared.u64 %rd74, [%r5+1024]; + add.s64 %rd16, %rd73, %rd74; + bar.sync 0; + cvt.u64.u32 %rd17, %r1; + mul.wide.u32 %rd75, %r1, 8; + add.s64 %rd18, %rd24, %rd75; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB36_2; + + shl.b64 %rd78, %rd16, 2; + or.b64 %rd77, %rd78, 1; + // inline asm + st.cg.u64 [%rd18], %rd77; + // inline asm + +BB36_2: + and.b32 %r6, %r2, 31; + add.s32 %r103, %r6, -32; + bra.uni BB36_3; + +BB36_8: + add.s64 %rd117, %rd20, %rd117; + add.s32 %r103, %r103, -32; + +BB36_3: + cvt.s64.s32 %rd82, %r103; + add.s64 %rd83, %rd82, %rd17; + shl.b64 %rd84, %rd83, 3; + add.s64 %rd81, %rd24, %rd84; + // inline asm + ld.cg.u64 %rd80, [%rd81]; + // inline asm + cvt.u32.u64 %r20, %rd80; + and.b32 %r9, %r20, 3; + shr.u64 %rd20, %rd80, 2; + setp.eq.s32 %p2, %r9, 0; + mov.u32 %r21, -1; + vote.sync.any.pred %p3, %p2, %r21; + @%p3 bra BB36_3; + + setp.eq.s32 %p4, %r9, 2; + vote.sync.ballot.b32 %r10, %p4, %r21; + setp.eq.s32 %p6, %r10, 0; + @%p6 bra BB36_8; + + clz.b32 %r48, %r10; + mov.u32 %r49, 31; + sub.s32 %r50, %r49, %r48; + setp.lt.u32 %p7, %r6, %r50; + selp.b64 %rd97, 0, %rd20, %p7; + add.s64 %rd85, %rd97, %rd117; + // inline asm + mov.b64 {%r24,%r25}, %rd85; + // inline asm + mov.u32 %r51, 2; + mov.u32 %r52, 16; + shfl.sync.down.b32 %r27|%p8, %r25, %r52, %r49, %r21; + shfl.sync.down.b32 %r26|%p9, %r24, %r52, %r49, %r21; + // inline asm + mov.b64 %rd86, {%r26,%r27}; + // inline asm + add.s64 %rd87, %rd86, %rd85; + // inline asm + mov.b64 {%r28,%r29}, %rd87; + // inline asm + mov.u32 %r54, 8; + shfl.sync.down.b32 %r31|%p10, %r29, %r54, %r49, %r21; + shfl.sync.down.b32 %r30|%p11, %r28, %r54, %r49, %r21; + // inline asm + mov.b64 %rd88, {%r30,%r31}; + // inline asm + add.s64 %rd89, %rd88, %rd87; + // inline asm + mov.b64 {%r32,%r33}, %rd89; + // inline asm + mov.u32 %r55, 4; + shfl.sync.down.b32 %r35|%p12, %r33, %r55, %r49, %r21; + shfl.sync.down.b32 %r34|%p13, %r32, %r55, %r49, %r21; + // inline asm + mov.b64 %rd90, {%r34,%r35}; + // inline asm + add.s64 %rd91, %rd90, %rd89; + // inline asm + mov.b64 {%r36,%r37}, %rd91; + // inline asm + shfl.sync.down.b32 %r39|%p14, %r37, %r51, %r49, %r21; + shfl.sync.down.b32 %r38|%p15, %r36, %r51, %r49, %r21; + // inline asm + mov.b64 %rd92, {%r38,%r39}; + // inline asm + add.s64 %rd93, %rd92, %rd91; + // inline asm + mov.b64 {%r40,%r41}, %rd93; + // inline asm + mov.u32 %r56, 1; + shfl.sync.down.b32 %r43|%p16, %r41, %r56, %r49, %r21; + shfl.sync.down.b32 %r42|%p17, %r40, %r56, %r49, %r21; + // inline asm + mov.b64 %rd94, {%r42,%r43}; + // inline asm + add.s64 %rd95, %rd94, %rd93; + // inline asm + mov.b64 {%r44,%r45}, %rd95; + // inline asm + mov.u32 %r57, 0; + shfl.sync.idx.b32 %r47|%p18, %r45, %r57, %r49, %r21; + shfl.sync.idx.b32 %r46|%p19, %r44, %r57, %r49, %r21; + // inline asm + mov.b64 %rd96, {%r46,%r47}; + // inline asm + add.s64 %rd21, %rd96, %rd16; + @%p1 bra BB36_7; + + mov.u32 %r102, %ctaid.x; + mul.wide.u32 %rd116, %r102, 8; + ld.param.u64 %rd115, [scan_exc_large_u64_param_3]; + add.s64 %rd114, %rd115, %rd116; + shl.b64 %rd100, %rd21, 2; + or.b64 %rd99, %rd100, 2; + // inline asm + st.cg.u64 [%rd114], %rd99; + // inline asm + +BB36_7: + mov.u32 %r93, %tid.x; + shl.b32 %r92, %r93, 6; + mov.u32 %r91, shared; + add.s32 %r90, %r91, %r92; + sub.s64 %rd101, %rd21, %rd9; + add.s64 %rd102, %rd101, %rd45; + st.shared.v2.u64 [%r90], {%rd101, %rd102}; + add.s64 %rd103, %rd101, %rd4; + add.s64 %rd104, %rd101, %rd3; + st.shared.v2.u64 [%r90+16], {%rd104, %rd103}; + add.s64 %rd105, %rd101, %rd6; + add.s64 %rd106, %rd101, %rd5; + st.shared.v2.u64 [%r90+32], {%rd106, %rd105}; + add.s64 %rd107, %rd101, %rd8; + add.s64 %rd108, %rd101, %rd7; + st.shared.v2.u64 [%r90+48], {%rd108, %rd107}; + bar.sync 0; + mov.u32 %r101, %tid.x; + shl.b32 %r100, %r101, 4; + mov.u32 %r99, shared; + add.s32 %r98, %r99, %r100; + mov.u32 %r97, %ctaid.x; + mov.u32 %r96, %tid.x; + shl.b32 %r95, %r97, 9; + add.s32 %r94, %r95, %r96; + cvt.u64.u32 %rd113, %r94; + ld.param.u64 %rd112, [scan_exc_large_u64_param_1]; + cvta.to.global.u64 %rd109, %rd112; + shl.b64 %rd110, %rd113, 4; + add.s64 %rd111, %rd109, %rd110; + ld.shared.v4.u32 {%r58, %r59, %r60, %r61}, [%r98]; + st.global.v4.u32 [%rd111], {%r58, %r59, %r60, %r61}; + ld.shared.v4.u32 {%r66, %r67, %r68, %r69}, [%r98+2048]; + st.global.v4.u32 [%rd111+2048], {%r66, %r67, %r68, %r69}; + ld.shared.v4.u32 {%r74, %r75, %r76, %r77}, [%r98+4096]; + st.global.v4.u32 [%rd111+4096], {%r74, %r75, %r76, %r77}; + ld.shared.v4.u32 {%r82, %r83, %r84, %r85}, [%r98+6144]; + st.global.v4.u32 [%rd111+6144], {%r82, %r83, %r84, %r85}; + ret; +} + + // .globl scan_exc_large_f32 +.visible .entry scan_exc_large_f32( + .param .u64 scan_exc_large_f32_param_0, + .param .u64 scan_exc_large_f32_param_1, + .param .u32 scan_exc_large_f32_param_2, + .param .u64 scan_exc_large_f32_param_3 +) +{ + .reg .pred %p<31>; + .reg .f32 %f<153>; + .reg .b32 %r<102>; .reg .b64 %rd<29>; - ld.param.u64 %rd7, [scan_large_u32_param_0]; - ld.param.u64 %rd5, [scan_large_u32_param_1]; - ld.param.u64 %rd6, [scan_large_u32_param_2]; + ld.param.u64 %rd7, [scan_exc_large_f32_param_0]; + ld.param.u64 %rd5, [scan_exc_large_f32_param_1]; + ld.param.u32 %r12, [scan_exc_large_f32_param_2]; + ld.param.u64 %rd6, [scan_exc_large_f32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r13, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r14, %r13, %r2; + cvt.u64.u32 %rd1, %r14; cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v4.f32 {%f27, %f28, %f29, %f30}, [%rd10]; + shl.b32 %r15, %r14, 2; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r15, 2; + setp.lt.u32 %p3, %r17, %r12; + add.s32 %r18, %r15, 3; + setp.lt.u32 %p4, %r18, %r12; + add.s32 %r19, %r14, 128; + ld.global.v4.f32 {%f35, %f36, %f37, %f38}, [%rd10+2048]; + shl.b32 %r20, %r19, 2; + setp.lt.u32 %p5, %r20, %r12; + add.s32 %r21, %r20, 1; + setp.lt.u32 %p6, %r21, %r12; + add.s32 %r22, %r20, 2; + setp.lt.u32 %p7, %r22, %r12; + add.s32 %r23, %r20, 3; + setp.lt.u32 %p8, %r23, %r12; + add.s32 %r24, %r14, 256; + ld.global.v4.f32 {%f43, %f44, %f45, %f46}, [%rd10+4096]; + shl.b32 %r25, %r24, 2; + setp.lt.u32 %p9, %r25, %r12; + add.s32 %r26, %r25, 1; + setp.lt.u32 %p10, %r26, %r12; + add.s32 %r27, %r25, 2; + setp.lt.u32 %p11, %r27, %r12; + add.s32 %r28, %r25, 3; + setp.lt.u32 %p12, %r28, %r12; + add.s32 %r29, %r14, 384; + ld.global.v4.f32 {%f51, %f52, %f53, %f54}, [%rd10+6144]; + shl.b32 %r30, %r29, 2; + setp.lt.u32 %p13, %r30, %r12; + add.s32 %r31, %r30, 1; + setp.lt.u32 %p14, %r31, %r12; + add.s32 %r32, %r30, 2; + setp.lt.u32 %p15, %r32, %r12; + add.s32 %r33, %r30, 3; + setp.lt.u32 %p16, %r33, %r12; + shl.b32 %r34, %r2, 4; + mov.u32 %r35, shared; + add.s32 %r3, %r35, %r34; + selp.f32 %f59, %f30, 0f00000000, %p4; + selp.f32 %f60, %f29, 0f00000000, %p3; + selp.f32 %f61, %f28, 0f00000000, %p2; + selp.f32 %f62, %f27, 0f00000000, %p1; + st.shared.v4.f32 [%r3], {%f62, %f61, %f60, %f59}; + selp.f32 %f63, %f38, 0f00000000, %p8; + selp.f32 %f64, %f37, 0f00000000, %p7; + selp.f32 %f65, %f36, 0f00000000, %p6; + selp.f32 %f66, %f35, 0f00000000, %p5; + st.shared.v4.f32 [%r3+2048], {%f66, %f65, %f64, %f63}; + selp.f32 %f67, %f46, 0f00000000, %p12; + selp.f32 %f68, %f45, 0f00000000, %p11; + selp.f32 %f69, %f44, 0f00000000, %p10; + selp.f32 %f70, %f43, 0f00000000, %p9; + st.shared.v4.f32 [%r3+4096], {%f70, %f69, %f68, %f67}; + selp.f32 %f71, %f54, 0f00000000, %p16; + selp.f32 %f72, %f53, 0f00000000, %p15; + selp.f32 %f73, %f52, 0f00000000, %p14; + selp.f32 %f74, %f51, 0f00000000, %p13; + st.shared.v4.f32 [%r3+6144], {%f74, %f73, %f72, %f71}; + bar.sync 0; + shl.b32 %r36, %r2, 6; + add.s32 %r4, %r35, %r36; + ld.shared.v4.f32 {%f75, %f76, %f77, %f78}, [%r4]; + ld.shared.v4.f32 {%f83, %f84, %f85, %f86}, [%r4+16]; + ld.shared.v4.f32 {%f91, %f92, %f93, %f94}, [%r4+32]; + ld.shared.v4.f32 {%f99, %f100, %f101, %f102}, [%r4+48]; + add.f32 %f1, %f75, 0f00000000; + add.f32 %f2, %f1, %f76; + add.f32 %f3, %f2, %f77; + add.f32 %f4, %f3, %f78; + add.f32 %f5, %f4, %f83; + add.f32 %f6, %f5, %f84; + add.f32 %f7, %f6, %f85; + add.f32 %f8, %f7, %f86; + add.f32 %f9, %f8, %f91; + add.f32 %f10, %f9, %f92; + add.f32 %f11, %f10, %f93; + add.f32 %f12, %f11, %f94; + add.f32 %f13, %f12, %f99; + add.f32 %f14, %f13, %f100; + add.f32 %f15, %f14, %f101; + add.f32 %f16, %f15, %f102; + bar.sync 0; + shl.b32 %r38, %r2, 2; + add.s32 %r5, %r35, %r38; + mov.u32 %r40, 0; + st.shared.u32 [%r5], %r40; + st.shared.f32 [%r5+512], %f16; + bar.sync 0; + ld.shared.f32 %f107, [%r5+508]; + ld.shared.f32 %f108, [%r5+512]; + add.f32 %f17, %f108, %f107; + bar.sync 0; + st.shared.f32 [%r5+512], %f17; + bar.sync 0; + ld.shared.f32 %f109, [%r5+504]; + ld.shared.f32 %f110, [%r5+512]; + add.f32 %f18, %f110, %f109; + bar.sync 0; + st.shared.f32 [%r5+512], %f18; + bar.sync 0; + ld.shared.f32 %f111, [%r5+496]; + ld.shared.f32 %f112, [%r5+512]; + add.f32 %f19, %f112, %f111; + bar.sync 0; + st.shared.f32 [%r5+512], %f19; + bar.sync 0; + ld.shared.f32 %f113, [%r5+480]; + ld.shared.f32 %f114, [%r5+512]; + add.f32 %f20, %f114, %f113; + bar.sync 0; + st.shared.f32 [%r5+512], %f20; + bar.sync 0; + ld.shared.f32 %f115, [%r5+448]; + ld.shared.f32 %f116, [%r5+512]; + add.f32 %f21, %f116, %f115; + bar.sync 0; + st.shared.f32 [%r5+512], %f21; + bar.sync 0; + ld.shared.f32 %f117, [%r5+384]; + ld.shared.f32 %f118, [%r5+512]; + add.f32 %f22, %f118, %f117; + bar.sync 0; + st.shared.f32 [%r5+512], %f22; + bar.sync 0; + ld.shared.f32 %f119, [%r5+256]; + ld.shared.f32 %f120, [%r5+512]; + add.f32 %f23, %f120, %f119; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd11, %r1, 8; + add.s64 %rd3, %rd6, %rd11; + setp.ne.s32 %p17, %r2, 127; + @%p17 bra BB37_2; + + mov.b32 %r41, %f23; + cvt.u64.u32 %rd14, %r41; + shl.b64 %rd15, %rd14, 32; + or.b64 %rd13, %rd15, 1; + // inline asm + st.cg.u64 [%rd3], %rd13; + // inline asm + +BB37_2: + and.b32 %r6, %r2, 31; + add.s32 %r101, %r6, -32; + mov.f32 %f152, 0f00000000; + bra.uni BB37_3; + +BB37_8: + add.s32 %r101, %r101, -32; + mov.f32 %f152, %f25; + +BB37_3: + cvt.s64.s32 %rd18, %r101; + add.s64 %rd19, %rd18, %rd2; + shl.b64 %rd20, %rd19, 3; + add.s64 %rd17, %rd6, %rd20; + // inline asm + ld.cg.u64 %rd16, [%rd17]; + // inline asm + cvt.u32.u64 %r9, %rd16; + setp.eq.s32 %p18, %r9, 0; + mov.u32 %r42, -1; + vote.sync.any.pred %p19, %p18, %r42; + @%p19 bra BB37_3; + + shr.u64 %rd21, %rd16, 32; + cvt.u32.u64 %r44, %rd21; + mov.b32 %f122, %r44; + setp.eq.s32 %p20, %r9, 2; + vote.sync.ballot.b32 %r10, %p20, %r42; + setp.eq.s32 %p22, %r10, 0; + add.f32 %f25, %f152, %f122; + @%p22 bra BB37_8; + + clz.b32 %r46, %r10; + mov.u32 %r47, 31; + sub.s32 %r48, %r47, %r46; + setp.lt.u32 %p23, %r6, %r48; + selp.f32 %f123, %f152, %f25, %p23; + mov.b32 %r49, %f123; + mov.u32 %r50, 2; + mov.u32 %r51, 16; + shfl.sync.down.b32 %r53|%p24, %r49, %r51, %r47, %r42; + mov.b32 %f124, %r53; + add.f32 %f125, %f123, %f124; + mov.b32 %r54, %f125; + mov.u32 %r55, 8; + shfl.sync.down.b32 %r56|%p25, %r54, %r55, %r47, %r42; + mov.b32 %f126, %r56; + add.f32 %f127, %f125, %f126; + mov.b32 %r57, %f127; + mov.u32 %r58, 4; + shfl.sync.down.b32 %r59|%p26, %r57, %r58, %r47, %r42; + mov.b32 %f128, %r59; + add.f32 %f129, %f127, %f128; + mov.b32 %r60, %f129; + shfl.sync.down.b32 %r61|%p27, %r60, %r50, %r47, %r42; + mov.b32 %f130, %r61; + add.f32 %f131, %f129, %f130; + mov.b32 %r62, %f131; + mov.u32 %r63, 1; + shfl.sync.down.b32 %r64|%p28, %r62, %r63, %r47, %r42; + mov.b32 %f132, %r64; + add.f32 %f133, %f131, %f132; + mov.b32 %r65, %f133; + shfl.sync.idx.b32 %r67|%p29, %r65, %r40, %r47, %r42; + mov.b32 %f134, %r67; + add.f32 %f26, %f23, %f134; + @%p17 bra BB37_7; + + mov.b32 %r68, %f26; + cvt.u64.u32 %rd24, %r68; + shl.b64 %rd25, %rd24, 32; + or.b64 %rd23, %rd25, 2; + // inline asm + st.cg.u64 [%rd3], %rd23; + // inline asm + +BB37_7: + sub.f32 %f135, %f26, %f16; + add.f32 %f136, %f135, %f3; + add.f32 %f137, %f135, %f2; + add.f32 %f138, %f135, %f1; + add.f32 %f139, %f135, 0f00000000; + st.shared.v4.f32 [%r4], {%f139, %f138, %f137, %f136}; + add.f32 %f140, %f135, %f7; + add.f32 %f141, %f135, %f6; + add.f32 %f142, %f135, %f5; + add.f32 %f143, %f135, %f4; + st.shared.v4.f32 [%r4+16], {%f143, %f142, %f141, %f140}; + add.f32 %f144, %f135, %f11; + add.f32 %f145, %f135, %f10; + add.f32 %f146, %f135, %f9; + add.f32 %f147, %f135, %f8; + st.shared.v4.f32 [%r4+32], {%f147, %f146, %f145, %f144}; + add.f32 %f148, %f135, %f15; + add.f32 %f149, %f135, %f14; + add.f32 %f150, %f135, %f13; + add.f32 %f151, %f135, %f12; + st.shared.v4.f32 [%r4+48], {%f151, %f150, %f149, %f148}; + bar.sync 0; + cvta.to.global.u64 %rd26, %rd5; + shl.b64 %rd27, %rd1, 4; + add.s64 %rd28, %rd26, %rd27; + ld.shared.v4.u32 {%r69, %r70, %r71, %r72}, [%r3]; + st.global.v4.u32 [%rd28], {%r69, %r70, %r71, %r72}; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r3+2048]; + st.global.v4.u32 [%rd28+2048], {%r77, %r78, %r79, %r80}; + ld.shared.v4.u32 {%r85, %r86, %r87, %r88}, [%r3+4096]; + st.global.v4.u32 [%rd28+4096], {%r85, %r86, %r87, %r88}; + ld.shared.v4.u32 {%r93, %r94, %r95, %r96}, [%r3+6144]; + st.global.v4.u32 [%rd28+6144], {%r93, %r94, %r95, %r96}; + ret; +} + + // .globl scan_exc_large_f64 +.visible .entry scan_exc_large_f64( + .param .u64 scan_exc_large_f64_param_0, + .param .u64 scan_exc_large_f64_param_1, + .param .u32 scan_exc_large_f64_param_2, + .param .u64 scan_exc_large_f64_param_3 +) +{ + .reg .pred %p<29>; + .reg .b32 %r<116>; + .reg .f64 %fd<97>; + .reg .b64 %rd<35>; + + + ld.param.u64 %rd7, [scan_exc_large_f64_param_0]; + ld.param.u32 %r12, [scan_exc_large_f64_param_2]; + ld.param.u64 %rd6, [scan_exc_large_f64_param_3]; mov.u32 %r1, %ctaid.x; - shl.b32 %r40, %r1, 9; + shl.b32 %r13, %r1, 9; mov.u32 %r2, %tid.x; - add.s32 %r41, %r40, %r2; - cvt.u64.u32 %rd1, %r41; - mul.wide.u32 %rd9, %r41, 16; + add.s32 %r14, %r13, %r2; + cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; add.s64 %rd10, %rd8, %rd9; - ld.global.v4.u32 {%r42, %r43, %r44, %r45}, [%rd10]; - ld.global.v4.u32 {%r50, %r51, %r52, %r53}, [%rd10+2048]; - ld.global.v4.u32 {%r58, %r59, %r60, %r61}, [%rd10+4096]; - ld.global.v4.u32 {%r66, %r67, %r68, %r69}, [%rd10+6144]; - shl.b32 %r74, %r2, 4; - mov.u32 %r75, shared; - add.s32 %r3, %r75, %r74; - st.shared.v4.u32 [%r3], {%r42, %r43, %r44, %r45}; - st.shared.v4.u32 [%r3+2048], {%r50, %r51, %r52, %r53}; - st.shared.v4.u32 [%r3+4096], {%r58, %r59, %r60, %r61}; - st.shared.v4.u32 [%r3+6144], {%r66, %r67, %r68, %r69}; - bar.sync 0; - shl.b32 %r76, %r2, 6; - add.s32 %r4, %r75, %r76; - ld.shared.v4.u32 {%r78, %r79, %r80, %r81}, [%r4]; - ld.shared.v4.u32 {%r85, %r86, %r87, %r88}, [%r4+16]; - ld.shared.v4.u32 {%r93, %r94, %r95, %r96}, [%r4+32]; - ld.shared.v4.u32 {%r101, %r102, %r103, %r104}, [%r4+48]; - add.s32 %r6, %r79, %r78; - add.s32 %r7, %r80, %r6; - add.s32 %r8, %r81, %r7; - add.s32 %r9, %r85, %r8; - add.s32 %r10, %r86, %r9; - add.s32 %r11, %r87, %r10; - add.s32 %r12, %r88, %r11; - add.s32 %r13, %r93, %r12; - add.s32 %r14, %r94, %r13; - add.s32 %r15, %r95, %r14; - add.s32 %r16, %r96, %r15; - add.s32 %r17, %r101, %r16; - add.s32 %r18, %r102, %r17; - add.s32 %r19, %r103, %r18; - add.s32 %r20, %r104, %r19; - bar.sync 0; - shl.b32 %r109, %r2, 2; - add.s32 %r21, %r75, %r109; - mov.u32 %r203, 0; - st.shared.u32 [%r21], %r203; + ld.global.v2.f64 {%fd19, %fd20}, [%rd10]; + shl.b32 %r15, %r14, 1; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r14, 128; + ld.global.v2.f64 {%fd23, %fd24}, [%rd10+2048]; + shl.b32 %r18, %r17, 1; + setp.lt.u32 %p3, %r18, %r12; + add.s32 %r19, %r18, 1; + setp.lt.u32 %p4, %r19, %r12; + add.s32 %r20, %r14, 256; + ld.global.v2.f64 {%fd27, %fd28}, [%rd10+4096]; + shl.b32 %r21, %r20, 1; + setp.lt.u32 %p5, %r21, %r12; + add.s32 %r22, %r21, 1; + setp.lt.u32 %p6, %r22, %r12; + add.s32 %r23, %r14, 384; + ld.global.v2.f64 {%fd31, %fd32}, [%rd10+6144]; + shl.b32 %r24, %r23, 1; + setp.lt.u32 %p7, %r24, %r12; + add.s32 %r25, %r24, 1; + setp.lt.u32 %p8, %r25, %r12; + shl.b32 %r26, %r2, 4; + mov.u32 %r27, shared_d; + add.s32 %r3, %r27, %r26; + selp.f64 %fd35, %fd20, 0d0000000000000000, %p2; + selp.f64 %fd36, %fd19, 0d0000000000000000, %p1; + st.shared.v2.f64 [%r3], {%fd36, %fd35}; + selp.f64 %fd37, %fd24, 0d0000000000000000, %p4; + selp.f64 %fd38, %fd23, 0d0000000000000000, %p3; + st.shared.v2.f64 [%r3+2048], {%fd38, %fd37}; + selp.f64 %fd39, %fd28, 0d0000000000000000, %p6; + selp.f64 %fd40, %fd27, 0d0000000000000000, %p5; + st.shared.v2.f64 [%r3+4096], {%fd40, %fd39}; + selp.f64 %fd41, %fd32, 0d0000000000000000, %p8; + selp.f64 %fd42, %fd31, 0d0000000000000000, %p7; + st.shared.v2.f64 [%r3+6144], {%fd42, %fd41}; + bar.sync 0; + shl.b32 %r28, %r2, 6; + add.s32 %r4, %r27, %r28; + ld.shared.v2.f64 {%fd43, %fd44}, [%r4]; + ld.shared.v2.f64 {%fd47, %fd48}, [%r4+16]; + ld.shared.v2.f64 {%fd51, %fd52}, [%r4+32]; + ld.shared.v2.f64 {%fd55, %fd56}, [%r4+48]; + add.f64 %fd1, %fd43, 0d0000000000000000; + add.f64 %fd2, %fd1, %fd44; + add.f64 %fd3, %fd2, %fd47; + add.f64 %fd4, %fd3, %fd48; + add.f64 %fd5, %fd4, %fd51; + add.f64 %fd6, %fd5, %fd52; + add.f64 %fd7, %fd6, %fd55; + add.f64 %fd8, %fd7, %fd56; + bar.sync 0; + shl.b32 %r30, %r2, 3; + add.s32 %r5, %r27, %r30; + mov.u64 %rd11, 0; + st.shared.u64 [%r5], %rd11; + st.shared.f64 [%r5+1024], %fd8; + bar.sync 0; + ld.shared.f64 %fd59, [%r5+1016]; + ld.shared.f64 %fd60, [%r5+1024]; + add.f64 %fd9, %fd60, %fd59; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd9; + bar.sync 0; + ld.shared.f64 %fd61, [%r5+1008]; + ld.shared.f64 %fd62, [%r5+1024]; + add.f64 %fd10, %fd62, %fd61; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd10; + bar.sync 0; + ld.shared.f64 %fd63, [%r5+992]; + ld.shared.f64 %fd64, [%r5+1024]; + add.f64 %fd11, %fd64, %fd63; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd11; + bar.sync 0; + ld.shared.f64 %fd65, [%r5+960]; + ld.shared.f64 %fd66, [%r5+1024]; + add.f64 %fd12, %fd66, %fd65; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd12; + bar.sync 0; + ld.shared.f64 %fd67, [%r5+896]; + ld.shared.f64 %fd68, [%r5+1024]; + add.f64 %fd13, %fd68, %fd67; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd13; + bar.sync 0; + ld.shared.f64 %fd69, [%r5+768]; + ld.shared.f64 %fd70, [%r5+1024]; + add.f64 %fd14, %fd70, %fd69; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd14; + bar.sync 0; + ld.shared.f64 %fd71, [%r5+512]; + ld.shared.f64 %fd72, [%r5+1024]; + add.f64 %fd15, %fd72, %fd71; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd12, %r1, 8; + add.s64 %rd3, %rd6, %rd12; + setp.ne.s32 %p9, %r2, 127; + @%p9 bra BB38_2; + + mov.b64 %rd15, %fd15; + and.b64 %rd16, %rd15, -4; + or.b64 %rd14, %rd16, 1; + // inline asm + st.cg.u64 [%rd3], %rd14; + // inline asm + +BB38_2: + and.b32 %r6, %r2, 31; + add.s32 %r115, %r6, -32; + mov.f64 %fd96, 0d0000000000000000; + bra.uni BB38_3; + +BB38_8: + add.s32 %r115, %r115, -32; + mov.f64 %fd96, %fd17; + +BB38_3: + cvt.s64.s32 %rd19, %r115; + add.s64 %rd20, %rd19, %rd2; + shl.b64 %rd21, %rd20, 3; + add.s64 %rd18, %rd6, %rd21; + // inline asm + ld.cg.u64 %rd17, [%rd18]; + // inline asm + cvt.u32.u64 %r32, %rd17; + and.b32 %r9, %r32, 3; + setp.eq.s32 %p10, %r9, 0; + mov.u32 %r33, -1; + vote.sync.any.pred %p11, %p10, %r33; + @%p11 bra BB38_3; + + and.b64 %rd22, %rd17, -4; + mov.b64 %fd74, %rd22; + setp.eq.s32 %p12, %r9, 2; + vote.sync.ballot.b32 %r10, %p12, %r33; + setp.eq.s32 %p14, %r10, 0; + add.f64 %fd17, %fd96, %fd74; + @%p14 bra BB38_8; + + clz.b32 %r60, %r10; + mov.u32 %r61, 31; + sub.s32 %r62, %r61, %r60; + setp.lt.u32 %p15, %r6, %r62; + selp.f64 %fd75, %fd96, %fd17, %p15; + // inline asm + mov.b64 {%r36,%r37}, %fd75; + // inline asm + mov.u32 %r63, 2; + mov.u32 %r64, 16; + shfl.sync.down.b32 %r39|%p16, %r37, %r64, %r61, %r33; + shfl.sync.down.b32 %r38|%p17, %r36, %r64, %r61, %r33; + // inline asm + mov.b64 %fd76, {%r38,%r39}; + // inline asm + add.f64 %fd77, %fd75, %fd76; + // inline asm + mov.b64 {%r40,%r41}, %fd77; + // inline asm + mov.u32 %r66, 8; + shfl.sync.down.b32 %r43|%p18, %r41, %r66, %r61, %r33; + shfl.sync.down.b32 %r42|%p19, %r40, %r66, %r61, %r33; + // inline asm + mov.b64 %fd78, {%r42,%r43}; + // inline asm + add.f64 %fd79, %fd77, %fd78; + // inline asm + mov.b64 {%r44,%r45}, %fd79; + // inline asm + mov.u32 %r67, 4; + shfl.sync.down.b32 %r47|%p20, %r45, %r67, %r61, %r33; + shfl.sync.down.b32 %r46|%p21, %r44, %r67, %r61, %r33; + // inline asm + mov.b64 %fd80, {%r46,%r47}; + // inline asm + add.f64 %fd81, %fd79, %fd80; + // inline asm + mov.b64 {%r48,%r49}, %fd81; + // inline asm + shfl.sync.down.b32 %r51|%p22, %r49, %r63, %r61, %r33; + shfl.sync.down.b32 %r50|%p23, %r48, %r63, %r61, %r33; + // inline asm + mov.b64 %fd82, {%r50,%r51}; + // inline asm + add.f64 %fd83, %fd81, %fd82; + // inline asm + mov.b64 {%r52,%r53}, %fd83; + // inline asm + mov.u32 %r68, 1; + shfl.sync.down.b32 %r55|%p24, %r53, %r68, %r61, %r33; + shfl.sync.down.b32 %r54|%p25, %r52, %r68, %r61, %r33; + // inline asm + mov.b64 %fd84, {%r54,%r55}; + // inline asm + add.f64 %fd85, %fd83, %fd84; + // inline asm + mov.b64 {%r56,%r57}, %fd85; + // inline asm + mov.u32 %r69, 0; + shfl.sync.idx.b32 %r59|%p26, %r57, %r69, %r61, %r33; + shfl.sync.idx.b32 %r58|%p27, %r56, %r69, %r61, %r33; + // inline asm + mov.b64 %fd86, {%r58,%r59}; + // inline asm + add.f64 %fd18, %fd15, %fd86; + @%p9 bra BB38_7; + + mov.u32 %r114, %ctaid.x; + mul.wide.u32 %rd34, %r114, 8; + ld.param.u64 %rd33, [scan_exc_large_f64_param_3]; + add.s64 %rd32, %rd33, %rd34; + mov.b64 %rd25, %fd18; + and.b64 %rd26, %rd25, -4; + or.b64 %rd24, %rd26, 2; + // inline asm + st.cg.u64 [%rd32], %rd24; + // inline asm + +BB38_7: + mov.u32 %r105, %tid.x; + shl.b32 %r104, %r105, 6; + mov.u32 %r103, shared_d; + add.s32 %r102, %r103, %r104; + sub.f64 %fd87, %fd18, %fd8; + add.f64 %fd88, %fd87, %fd1; + add.f64 %fd89, %fd87, 0d0000000000000000; + st.shared.v2.f64 [%r102], {%fd89, %fd88}; + add.f64 %fd90, %fd87, %fd3; + add.f64 %fd91, %fd87, %fd2; + st.shared.v2.f64 [%r102+16], {%fd91, %fd90}; + add.f64 %fd92, %fd87, %fd5; + add.f64 %fd93, %fd87, %fd4; + st.shared.v2.f64 [%r102+32], {%fd93, %fd92}; + add.f64 %fd94, %fd87, %fd7; + add.f64 %fd95, %fd87, %fd6; + st.shared.v2.f64 [%r102+48], {%fd95, %fd94}; + bar.sync 0; + mov.u32 %r113, %tid.x; + shl.b32 %r112, %r113, 4; + mov.u32 %r111, shared_d; + add.s32 %r110, %r111, %r112; + mov.u32 %r109, %ctaid.x; + mov.u32 %r108, %tid.x; + shl.b32 %r107, %r109, 9; + add.s32 %r106, %r107, %r108; + cvt.u64.u32 %rd31, %r106; + ld.param.u64 %rd30, [scan_exc_large_f64_param_1]; + cvta.to.global.u64 %rd27, %rd30; + shl.b64 %rd28, %rd31, 4; + add.s64 %rd29, %rd27, %rd28; + ld.shared.v4.u32 {%r70, %r71, %r72, %r73}, [%r110]; + st.global.v4.u32 [%rd29], {%r70, %r71, %r72, %r73}; + ld.shared.v4.u32 {%r78, %r79, %r80, %r81}, [%r110+2048]; + st.global.v4.u32 [%rd29+2048], {%r78, %r79, %r80, %r81}; + ld.shared.v4.u32 {%r86, %r87, %r88, %r89}, [%r110+4096]; + st.global.v4.u32 [%rd29+4096], {%r86, %r87, %r88, %r89}; + ld.shared.v4.u32 {%r94, %r95, %r96, %r97}, [%r110+6144]; + st.global.v4.u32 [%rd29+6144], {%r94, %r95, %r96, %r97}; + ret; +} + + // .globl scan_inc_large_u32 +.visible .entry scan_inc_large_u32( + .param .u64 scan_inc_large_u32_param_0, + .param .u64 scan_inc_large_u32_param_1, + .param .u32 scan_inc_large_u32_param_2, + .param .u64 scan_inc_large_u32_param_3 +) +{ + .reg .pred %p<15>; + .reg .b32 %r<202>; + .reg .b64 %rd<28>; + + + ld.param.u64 %rd6, [scan_inc_large_u32_param_0]; + ld.param.u64 %rd4, [scan_inc_large_u32_param_1]; + ld.param.u64 %rd5, [scan_inc_large_u32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r39, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r40, %r39, %r2; + cvt.u64.u32 %rd1, %r40; + cvta.to.global.u64 %rd7, %rd6; + mul.wide.u32 %rd8, %r40, 16; + add.s64 %rd9, %rd7, %rd8; + ld.global.v4.u32 {%r41, %r42, %r43, %r44}, [%rd9]; + ld.global.v4.u32 {%r49, %r50, %r51, %r52}, [%rd9+2048]; + ld.global.v4.u32 {%r57, %r58, %r59, %r60}, [%rd9+4096]; + ld.global.v4.u32 {%r65, %r66, %r67, %r68}, [%rd9+6144]; + shl.b32 %r73, %r2, 4; + mov.u32 %r74, shared; + add.s32 %r3, %r74, %r73; + st.shared.v4.u32 [%r3], {%r41, %r42, %r43, %r44}; + st.shared.v4.u32 [%r3+2048], {%r49, %r50, %r51, %r52}; + st.shared.v4.u32 [%r3+4096], {%r57, %r58, %r59, %r60}; + st.shared.v4.u32 [%r3+6144], {%r65, %r66, %r67, %r68}; + bar.sync 0; + shl.b32 %r75, %r2, 6; + add.s32 %r4, %r74, %r75; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r4]; + ld.shared.v4.u32 {%r84, %r85, %r86, %r87}, [%r4+16]; + ld.shared.v4.u32 {%r92, %r93, %r94, %r95}, [%r4+32]; + ld.shared.v4.u32 {%r100, %r101, %r102, %r103}, [%r4+48]; + add.s32 %r6, %r78, %r77; + add.s32 %r7, %r79, %r6; + add.s32 %r8, %r80, %r7; + add.s32 %r9, %r84, %r8; + add.s32 %r10, %r85, %r9; + add.s32 %r11, %r86, %r10; + add.s32 %r12, %r87, %r11; + add.s32 %r13, %r92, %r12; + add.s32 %r14, %r93, %r13; + add.s32 %r15, %r94, %r14; + add.s32 %r16, %r95, %r15; + add.s32 %r17, %r100, %r16; + add.s32 %r18, %r101, %r17; + add.s32 %r19, %r102, %r18; + add.s32 %r20, %r103, %r19; + bar.sync 0; + shl.b32 %r108, %r2, 2; + add.s32 %r21, %r74, %r108; + mov.u32 %r201, 0; + st.shared.u32 [%r21], %r201; st.shared.u32 [%r21+512], %r20; bar.sync 0; - ld.shared.u32 %r112, [%r21+508]; - ld.shared.u32 %r113, [%r21+512]; - add.s32 %r22, %r112, %r113; + ld.shared.u32 %r111, [%r21+508]; + ld.shared.u32 %r112, [%r21+512]; + add.s32 %r22, %r111, %r112; bar.sync 0; st.shared.u32 [%r21+512], %r22; bar.sync 0; - ld.shared.u32 %r114, [%r21+504]; - ld.shared.u32 %r115, [%r21+512]; - add.s32 %r23, %r114, %r115; + ld.shared.u32 %r113, [%r21+504]; + ld.shared.u32 %r114, [%r21+512]; + add.s32 %r23, %r113, %r114; bar.sync 0; st.shared.u32 [%r21+512], %r23; bar.sync 0; - ld.shared.u32 %r116, [%r21+496]; - ld.shared.u32 %r117, [%r21+512]; - add.s32 %r24, %r116, %r117; + ld.shared.u32 %r115, [%r21+496]; + ld.shared.u32 %r116, [%r21+512]; + add.s32 %r24, %r115, %r116; bar.sync 0; st.shared.u32 [%r21+512], %r24; bar.sync 0; - ld.shared.u32 %r118, [%r21+480]; - ld.shared.u32 %r119, [%r21+512]; - add.s32 %r25, %r118, %r119; + ld.shared.u32 %r117, [%r21+480]; + ld.shared.u32 %r118, [%r21+512]; + add.s32 %r25, %r117, %r118; bar.sync 0; st.shared.u32 [%r21+512], %r25; bar.sync 0; - ld.shared.u32 %r120, [%r21+448]; - ld.shared.u32 %r121, [%r21+512]; - add.s32 %r26, %r120, %r121; + ld.shared.u32 %r119, [%r21+448]; + ld.shared.u32 %r120, [%r21+512]; + add.s32 %r26, %r119, %r120; bar.sync 0; st.shared.u32 [%r21+512], %r26; bar.sync 0; - ld.shared.u32 %r122, [%r21+384]; - ld.shared.u32 %r123, [%r21+512]; - add.s32 %r27, %r122, %r123; + ld.shared.u32 %r121, [%r21+384]; + ld.shared.u32 %r122, [%r21+512]; + add.s32 %r27, %r121, %r122; bar.sync 0; st.shared.u32 [%r21+512], %r27; bar.sync 0; - ld.shared.u32 %r124, [%r21+256]; - ld.shared.u32 %r125, [%r21+512]; - add.s32 %r28, %r124, %r125; + ld.shared.u32 %r123, [%r21+256]; + ld.shared.u32 %r124, [%r21+512]; + add.s32 %r28, %r123, %r124; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd10, %r1, 8; + add.s64 %rd3, %rd5, %rd10; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB39_2; + + cvt.u64.u32 %rd13, %r28; + shl.b64 %rd14, %rd13, 32; + or.b64 %rd12, %rd14, 1; + // inline asm + st.cg.u64 [%rd3], %rd12; + // inline asm + +BB39_2: + and.b32 %r29, %r2, 31; + add.s32 %r200, %r29, -32; + bra.uni BB39_3; + +BB39_8: + add.s32 %r201, %r34, %r201; + add.s32 %r200, %r200, -32; + +BB39_3: + cvt.s64.s32 %rd17, %r200; + add.s64 %rd18, %rd17, %rd2; + shl.b64 %rd19, %rd18, 3; + add.s64 %rd16, %rd5, %rd19; + // inline asm + ld.cg.u64 %rd15, [%rd16]; + // inline asm + cvt.u32.u64 %r33, %rd15; + shr.u64 %rd20, %rd15, 32; + cvt.u32.u64 %r34, %rd20; + setp.eq.s32 %p2, %r33, 0; + mov.u32 %r126, -1; + vote.sync.any.pred %p3, %p2, %r126; + @%p3 bra BB39_3; + + setp.eq.s32 %p4, %r33, 2; + vote.sync.ballot.b32 %r35, %p4, %r126; + setp.eq.s32 %p6, %r35, 0; + @%p6 bra BB39_8; + + clz.b32 %r129, %r35; + mov.u32 %r130, 31; + sub.s32 %r131, %r130, %r129; + setp.lt.u32 %p7, %r29, %r131; + selp.b32 %r132, 0, %r34, %p7; + mov.u32 %r133, 0; + add.s32 %r134, %r132, %r201; + mov.u32 %r135, 2; + mov.u32 %r136, 16; + shfl.sync.down.b32 %r138|%p8, %r134, %r136, %r130, %r126; + add.s32 %r139, %r138, %r134; + mov.u32 %r140, 8; + shfl.sync.down.b32 %r141|%p9, %r139, %r140, %r130, %r126; + add.s32 %r142, %r141, %r139; + mov.u32 %r143, 4; + shfl.sync.down.b32 %r144|%p10, %r142, %r143, %r130, %r126; + add.s32 %r145, %r144, %r142; + shfl.sync.down.b32 %r146|%p11, %r145, %r135, %r130, %r126; + add.s32 %r147, %r146, %r145; + mov.u32 %r148, 1; + shfl.sync.down.b32 %r149|%p12, %r147, %r148, %r130, %r126; + add.s32 %r150, %r149, %r147; + shfl.sync.idx.b32 %r151|%p13, %r150, %r133, %r130, %r126; + add.s32 %r36, %r151, %r28; + @%p1 bra BB39_7; + + cvt.u64.u32 %rd23, %r36; + shl.b64 %rd24, %rd23, 32; + or.b64 %rd22, %rd24, 2; + // inline asm + st.cg.u64 [%rd3], %rd22; + // inline asm + +BB39_7: + sub.s32 %r152, %r36, %r20; + add.s32 %r153, %r152, %r8; + add.s32 %r154, %r152, %r7; + add.s32 %r155, %r152, %r6; + add.s32 %r156, %r152, %r77; + st.shared.v4.u32 [%r4], {%r156, %r155, %r154, %r153}; + add.s32 %r157, %r152, %r12; + add.s32 %r158, %r152, %r11; + add.s32 %r159, %r152, %r10; + add.s32 %r160, %r152, %r9; + st.shared.v4.u32 [%r4+16], {%r160, %r159, %r158, %r157}; + add.s32 %r161, %r152, %r16; + add.s32 %r162, %r152, %r15; + add.s32 %r163, %r152, %r14; + add.s32 %r164, %r152, %r13; + st.shared.v4.u32 [%r4+32], {%r164, %r163, %r162, %r161}; + add.s32 %r165, %r152, %r19; + add.s32 %r166, %r152, %r18; + add.s32 %r167, %r152, %r17; + st.shared.v4.u32 [%r4+48], {%r167, %r166, %r165, %r36}; + bar.sync 0; + cvta.to.global.u64 %rd25, %rd4; + shl.b64 %rd26, %rd1, 4; + add.s64 %rd27, %rd25, %rd26; + ld.shared.v4.u32 {%r168, %r169, %r170, %r171}, [%r3]; + st.global.v4.u32 [%rd27], {%r168, %r169, %r170, %r171}; + ld.shared.v4.u32 {%r176, %r177, %r178, %r179}, [%r3+2048]; + st.global.v4.u32 [%rd27+2048], {%r176, %r177, %r178, %r179}; + ld.shared.v4.u32 {%r184, %r185, %r186, %r187}, [%r3+4096]; + st.global.v4.u32 [%rd27+4096], {%r184, %r185, %r186, %r187}; + ld.shared.v4.u32 {%r192, %r193, %r194, %r195}, [%r3+6144]; + st.global.v4.u32 [%rd27+6144], {%r192, %r193, %r194, %r195}; + ret; +} + + // .globl scan_inc_large_u64 +.visible .entry scan_inc_large_u64( + .param .u64 scan_inc_large_u64_param_0, + .param .u64 scan_inc_large_u64_param_1, + .param .u32 scan_inc_large_u64_param_2, + .param .u64 scan_inc_large_u64_param_3 +) +{ + .reg .pred %p<21>; + .reg .b32 %r<104>; + .reg .b64 %rd<118>; + + + ld.param.u64 %rd25, [scan_inc_large_u64_param_0]; + ld.param.u64 %rd24, [scan_inc_large_u64_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r12, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r13, %r12, %r2; + cvta.to.global.u64 %rd26, %rd25; + mul.wide.u32 %rd27, %r13, 16; + add.s64 %rd28, %rd26, %rd27; + ld.global.v2.u64 {%rd29, %rd30}, [%rd28]; + ld.global.v2.u64 {%rd33, %rd34}, [%rd28+2048]; + ld.global.v2.u64 {%rd37, %rd38}, [%rd28+4096]; + ld.global.v2.u64 {%rd41, %rd42}, [%rd28+6144]; + shl.b32 %r14, %r2, 4; + mov.u32 %r15, shared; + add.s32 %r3, %r15, %r14; + st.shared.v2.u64 [%r3], {%rd29, %rd30}; + st.shared.v2.u64 [%r3+2048], {%rd33, %rd34}; + st.shared.v2.u64 [%r3+4096], {%rd37, %rd38}; + st.shared.v2.u64 [%r3+6144], {%rd41, %rd42}; + bar.sync 0; + shl.b32 %r16, %r2, 6; + add.s32 %r4, %r15, %r16; + ld.shared.v2.u64 {%rd45, %rd46}, [%r4]; + ld.shared.v2.u64 {%rd48, %rd49}, [%r4+16]; + ld.shared.v2.u64 {%rd52, %rd53}, [%r4+32]; + ld.shared.v2.u64 {%rd56, %rd57}, [%r4+48]; + add.s64 %rd3, %rd46, %rd45; + add.s64 %rd4, %rd48, %rd3; + add.s64 %rd5, %rd49, %rd4; + add.s64 %rd6, %rd52, %rd5; + add.s64 %rd7, %rd53, %rd6; + add.s64 %rd8, %rd56, %rd7; + add.s64 %rd9, %rd57, %rd8; + bar.sync 0; + shl.b32 %r18, %r2, 3; + add.s32 %r5, %r15, %r18; + mov.u64 %rd117, 0; + st.shared.u64 [%r5], %rd117; + st.shared.u64 [%r5+1024], %rd9; + bar.sync 0; + ld.shared.u64 %rd61, [%r5+1016]; + ld.shared.u64 %rd62, [%r5+1024]; + add.s64 %rd10, %rd61, %rd62; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd10; + bar.sync 0; + ld.shared.u64 %rd63, [%r5+1008]; + ld.shared.u64 %rd64, [%r5+1024]; + add.s64 %rd11, %rd63, %rd64; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd11; + bar.sync 0; + ld.shared.u64 %rd65, [%r5+992]; + ld.shared.u64 %rd66, [%r5+1024]; + add.s64 %rd12, %rd65, %rd66; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd12; + bar.sync 0; + ld.shared.u64 %rd67, [%r5+960]; + ld.shared.u64 %rd68, [%r5+1024]; + add.s64 %rd13, %rd67, %rd68; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd13; + bar.sync 0; + ld.shared.u64 %rd69, [%r5+896]; + ld.shared.u64 %rd70, [%r5+1024]; + add.s64 %rd14, %rd69, %rd70; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd14; + bar.sync 0; + ld.shared.u64 %rd71, [%r5+768]; + ld.shared.u64 %rd72, [%r5+1024]; + add.s64 %rd15, %rd71, %rd72; + bar.sync 0; + st.shared.u64 [%r5+1024], %rd15; + bar.sync 0; + ld.shared.u64 %rd73, [%r5+512]; + ld.shared.u64 %rd74, [%r5+1024]; + add.s64 %rd16, %rd73, %rd74; + bar.sync 0; + cvt.u64.u32 %rd17, %r1; + mul.wide.u32 %rd75, %r1, 8; + add.s64 %rd18, %rd24, %rd75; + setp.ne.s32 %p1, %r2, 127; + @%p1 bra BB40_2; + + shl.b64 %rd78, %rd16, 2; + or.b64 %rd77, %rd78, 1; + // inline asm + st.cg.u64 [%rd18], %rd77; + // inline asm + +BB40_2: + and.b32 %r6, %r2, 31; + add.s32 %r103, %r6, -32; + bra.uni BB40_3; + +BB40_8: + add.s64 %rd117, %rd20, %rd117; + add.s32 %r103, %r103, -32; + +BB40_3: + cvt.s64.s32 %rd82, %r103; + add.s64 %rd83, %rd82, %rd17; + shl.b64 %rd84, %rd83, 3; + add.s64 %rd81, %rd24, %rd84; + // inline asm + ld.cg.u64 %rd80, [%rd81]; + // inline asm + cvt.u32.u64 %r20, %rd80; + and.b32 %r9, %r20, 3; + shr.u64 %rd20, %rd80, 2; + setp.eq.s32 %p2, %r9, 0; + mov.u32 %r21, -1; + vote.sync.any.pred %p3, %p2, %r21; + @%p3 bra BB40_3; + + setp.eq.s32 %p4, %r9, 2; + vote.sync.ballot.b32 %r10, %p4, %r21; + setp.eq.s32 %p6, %r10, 0; + @%p6 bra BB40_8; + + clz.b32 %r48, %r10; + mov.u32 %r49, 31; + sub.s32 %r50, %r49, %r48; + setp.lt.u32 %p7, %r6, %r50; + selp.b64 %rd97, 0, %rd20, %p7; + add.s64 %rd85, %rd97, %rd117; + // inline asm + mov.b64 {%r24,%r25}, %rd85; + // inline asm + mov.u32 %r51, 2; + mov.u32 %r52, 16; + shfl.sync.down.b32 %r27|%p8, %r25, %r52, %r49, %r21; + shfl.sync.down.b32 %r26|%p9, %r24, %r52, %r49, %r21; + // inline asm + mov.b64 %rd86, {%r26,%r27}; + // inline asm + add.s64 %rd87, %rd86, %rd85; + // inline asm + mov.b64 {%r28,%r29}, %rd87; + // inline asm + mov.u32 %r54, 8; + shfl.sync.down.b32 %r31|%p10, %r29, %r54, %r49, %r21; + shfl.sync.down.b32 %r30|%p11, %r28, %r54, %r49, %r21; + // inline asm + mov.b64 %rd88, {%r30,%r31}; + // inline asm + add.s64 %rd89, %rd88, %rd87; + // inline asm + mov.b64 {%r32,%r33}, %rd89; + // inline asm + mov.u32 %r55, 4; + shfl.sync.down.b32 %r35|%p12, %r33, %r55, %r49, %r21; + shfl.sync.down.b32 %r34|%p13, %r32, %r55, %r49, %r21; + // inline asm + mov.b64 %rd90, {%r34,%r35}; + // inline asm + add.s64 %rd91, %rd90, %rd89; + // inline asm + mov.b64 {%r36,%r37}, %rd91; + // inline asm + shfl.sync.down.b32 %r39|%p14, %r37, %r51, %r49, %r21; + shfl.sync.down.b32 %r38|%p15, %r36, %r51, %r49, %r21; + // inline asm + mov.b64 %rd92, {%r38,%r39}; + // inline asm + add.s64 %rd93, %rd92, %rd91; + // inline asm + mov.b64 {%r40,%r41}, %rd93; + // inline asm + mov.u32 %r56, 1; + shfl.sync.down.b32 %r43|%p16, %r41, %r56, %r49, %r21; + shfl.sync.down.b32 %r42|%p17, %r40, %r56, %r49, %r21; + // inline asm + mov.b64 %rd94, {%r42,%r43}; + // inline asm + add.s64 %rd95, %rd94, %rd93; + // inline asm + mov.b64 {%r44,%r45}, %rd95; + // inline asm + mov.u32 %r57, 0; + shfl.sync.idx.b32 %r47|%p18, %r45, %r57, %r49, %r21; + shfl.sync.idx.b32 %r46|%p19, %r44, %r57, %r49, %r21; + // inline asm + mov.b64 %rd96, {%r46,%r47}; + // inline asm + add.s64 %rd21, %rd96, %rd16; + @%p1 bra BB40_7; + + mov.u32 %r102, %ctaid.x; + mul.wide.u32 %rd116, %r102, 8; + ld.param.u64 %rd115, [scan_inc_large_u64_param_3]; + add.s64 %rd114, %rd115, %rd116; + shl.b64 %rd100, %rd21, 2; + or.b64 %rd99, %rd100, 2; + // inline asm + st.cg.u64 [%rd114], %rd99; + // inline asm + +BB40_7: + mov.u32 %r93, %tid.x; + shl.b32 %r92, %r93, 6; + mov.u32 %r91, shared; + add.s32 %r90, %r91, %r92; + sub.s64 %rd101, %rd21, %rd9; + add.s64 %rd102, %rd101, %rd3; + add.s64 %rd103, %rd101, %rd45; + st.shared.v2.u64 [%r90], {%rd103, %rd102}; + add.s64 %rd104, %rd101, %rd5; + add.s64 %rd105, %rd101, %rd4; + st.shared.v2.u64 [%r90+16], {%rd105, %rd104}; + add.s64 %rd106, %rd101, %rd7; + add.s64 %rd107, %rd101, %rd6; + st.shared.v2.u64 [%r90+32], {%rd107, %rd106}; + add.s64 %rd108, %rd101, %rd8; + st.shared.v2.u64 [%r90+48], {%rd108, %rd21}; + bar.sync 0; + mov.u32 %r101, %tid.x; + shl.b32 %r100, %r101, 4; + mov.u32 %r99, shared; + add.s32 %r98, %r99, %r100; + mov.u32 %r97, %ctaid.x; + mov.u32 %r96, %tid.x; + shl.b32 %r95, %r97, 9; + add.s32 %r94, %r95, %r96; + cvt.u64.u32 %rd113, %r94; + ld.param.u64 %rd112, [scan_inc_large_u64_param_1]; + cvta.to.global.u64 %rd109, %rd112; + shl.b64 %rd110, %rd113, 4; + add.s64 %rd111, %rd109, %rd110; + ld.shared.v4.u32 {%r58, %r59, %r60, %r61}, [%r98]; + st.global.v4.u32 [%rd111], {%r58, %r59, %r60, %r61}; + ld.shared.v4.u32 {%r66, %r67, %r68, %r69}, [%r98+2048]; + st.global.v4.u32 [%rd111+2048], {%r66, %r67, %r68, %r69}; + ld.shared.v4.u32 {%r74, %r75, %r76, %r77}, [%r98+4096]; + st.global.v4.u32 [%rd111+4096], {%r74, %r75, %r76, %r77}; + ld.shared.v4.u32 {%r82, %r83, %r84, %r85}, [%r98+6144]; + st.global.v4.u32 [%rd111+6144], {%r82, %r83, %r84, %r85}; + ret; +} + + // .globl scan_inc_large_f32 +.visible .entry scan_inc_large_f32( + .param .u64 scan_inc_large_f32_param_0, + .param .u64 scan_inc_large_f32_param_1, + .param .u32 scan_inc_large_f32_param_2, + .param .u64 scan_inc_large_f32_param_3 +) +{ + .reg .pred %p<31>; + .reg .f32 %f<153>; + .reg .b32 %r<102>; + .reg .b64 %rd<29>; + + + ld.param.u64 %rd7, [scan_inc_large_f32_param_0]; + ld.param.u64 %rd5, [scan_inc_large_f32_param_1]; + ld.param.u32 %r12, [scan_inc_large_f32_param_2]; + ld.param.u64 %rd6, [scan_inc_large_f32_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r13, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r14, %r13, %r2; + cvt.u64.u32 %rd1, %r14; + cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v4.f32 {%f27, %f28, %f29, %f30}, [%rd10]; + shl.b32 %r15, %r14, 2; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r15, 2; + setp.lt.u32 %p3, %r17, %r12; + add.s32 %r18, %r15, 3; + setp.lt.u32 %p4, %r18, %r12; + add.s32 %r19, %r14, 128; + ld.global.v4.f32 {%f35, %f36, %f37, %f38}, [%rd10+2048]; + shl.b32 %r20, %r19, 2; + setp.lt.u32 %p5, %r20, %r12; + add.s32 %r21, %r20, 1; + setp.lt.u32 %p6, %r21, %r12; + add.s32 %r22, %r20, 2; + setp.lt.u32 %p7, %r22, %r12; + add.s32 %r23, %r20, 3; + setp.lt.u32 %p8, %r23, %r12; + add.s32 %r24, %r14, 256; + ld.global.v4.f32 {%f43, %f44, %f45, %f46}, [%rd10+4096]; + shl.b32 %r25, %r24, 2; + setp.lt.u32 %p9, %r25, %r12; + add.s32 %r26, %r25, 1; + setp.lt.u32 %p10, %r26, %r12; + add.s32 %r27, %r25, 2; + setp.lt.u32 %p11, %r27, %r12; + add.s32 %r28, %r25, 3; + setp.lt.u32 %p12, %r28, %r12; + add.s32 %r29, %r14, 384; + ld.global.v4.f32 {%f51, %f52, %f53, %f54}, [%rd10+6144]; + shl.b32 %r30, %r29, 2; + setp.lt.u32 %p13, %r30, %r12; + add.s32 %r31, %r30, 1; + setp.lt.u32 %p14, %r31, %r12; + add.s32 %r32, %r30, 2; + setp.lt.u32 %p15, %r32, %r12; + add.s32 %r33, %r30, 3; + setp.lt.u32 %p16, %r33, %r12; + shl.b32 %r34, %r2, 4; + mov.u32 %r35, shared; + add.s32 %r3, %r35, %r34; + selp.f32 %f59, %f30, 0f00000000, %p4; + selp.f32 %f60, %f29, 0f00000000, %p3; + selp.f32 %f61, %f28, 0f00000000, %p2; + selp.f32 %f62, %f27, 0f00000000, %p1; + st.shared.v4.f32 [%r3], {%f62, %f61, %f60, %f59}; + selp.f32 %f63, %f38, 0f00000000, %p8; + selp.f32 %f64, %f37, 0f00000000, %p7; + selp.f32 %f65, %f36, 0f00000000, %p6; + selp.f32 %f66, %f35, 0f00000000, %p5; + st.shared.v4.f32 [%r3+2048], {%f66, %f65, %f64, %f63}; + selp.f32 %f67, %f46, 0f00000000, %p12; + selp.f32 %f68, %f45, 0f00000000, %p11; + selp.f32 %f69, %f44, 0f00000000, %p10; + selp.f32 %f70, %f43, 0f00000000, %p9; + st.shared.v4.f32 [%r3+4096], {%f70, %f69, %f68, %f67}; + selp.f32 %f71, %f54, 0f00000000, %p16; + selp.f32 %f72, %f53, 0f00000000, %p15; + selp.f32 %f73, %f52, 0f00000000, %p14; + selp.f32 %f74, %f51, 0f00000000, %p13; + st.shared.v4.f32 [%r3+6144], {%f74, %f73, %f72, %f71}; + bar.sync 0; + shl.b32 %r36, %r2, 6; + add.s32 %r4, %r35, %r36; + ld.shared.v4.f32 {%f75, %f76, %f77, %f78}, [%r4]; + ld.shared.v4.f32 {%f83, %f84, %f85, %f86}, [%r4+16]; + ld.shared.v4.f32 {%f91, %f92, %f93, %f94}, [%r4+32]; + ld.shared.v4.f32 {%f99, %f100, %f101, %f102}, [%r4+48]; + add.f32 %f1, %f75, 0f00000000; + add.f32 %f2, %f1, %f76; + add.f32 %f3, %f2, %f77; + add.f32 %f4, %f3, %f78; + add.f32 %f5, %f4, %f83; + add.f32 %f6, %f5, %f84; + add.f32 %f7, %f6, %f85; + add.f32 %f8, %f7, %f86; + add.f32 %f9, %f8, %f91; + add.f32 %f10, %f9, %f92; + add.f32 %f11, %f10, %f93; + add.f32 %f12, %f11, %f94; + add.f32 %f13, %f12, %f99; + add.f32 %f14, %f13, %f100; + add.f32 %f15, %f14, %f101; + add.f32 %f16, %f15, %f102; + bar.sync 0; + shl.b32 %r38, %r2, 2; + add.s32 %r5, %r35, %r38; + mov.u32 %r40, 0; + st.shared.u32 [%r5], %r40; + st.shared.f32 [%r5+512], %f16; + bar.sync 0; + ld.shared.f32 %f107, [%r5+508]; + ld.shared.f32 %f108, [%r5+512]; + add.f32 %f17, %f108, %f107; + bar.sync 0; + st.shared.f32 [%r5+512], %f17; + bar.sync 0; + ld.shared.f32 %f109, [%r5+504]; + ld.shared.f32 %f110, [%r5+512]; + add.f32 %f18, %f110, %f109; + bar.sync 0; + st.shared.f32 [%r5+512], %f18; + bar.sync 0; + ld.shared.f32 %f111, [%r5+496]; + ld.shared.f32 %f112, [%r5+512]; + add.f32 %f19, %f112, %f111; + bar.sync 0; + st.shared.f32 [%r5+512], %f19; + bar.sync 0; + ld.shared.f32 %f113, [%r5+480]; + ld.shared.f32 %f114, [%r5+512]; + add.f32 %f20, %f114, %f113; + bar.sync 0; + st.shared.f32 [%r5+512], %f20; + bar.sync 0; + ld.shared.f32 %f115, [%r5+448]; + ld.shared.f32 %f116, [%r5+512]; + add.f32 %f21, %f116, %f115; + bar.sync 0; + st.shared.f32 [%r5+512], %f21; + bar.sync 0; + ld.shared.f32 %f117, [%r5+384]; + ld.shared.f32 %f118, [%r5+512]; + add.f32 %f22, %f118, %f117; + bar.sync 0; + st.shared.f32 [%r5+512], %f22; + bar.sync 0; + ld.shared.f32 %f119, [%r5+256]; + ld.shared.f32 %f120, [%r5+512]; + add.f32 %f23, %f120, %f119; bar.sync 0; - st.shared.u32 [%r21+512], %r28; cvt.u64.u32 %rd2, %r1; mul.wide.u32 %rd11, %r1, 8; add.s64 %rd3, %rd6, %rd11; - setp.ne.s32 %p1, %r2, 127; - @%p1 bra BB28_2; + setp.ne.s32 %p17, %r2, 127; + @%p17 bra BB41_2; - cvt.u64.u32 %rd14, %r28; + mov.b32 %r41, %f23; + cvt.u64.u32 %rd14, %r41; shl.b64 %rd15, %rd14, 32; or.b64 %rd13, %rd15, 1; // inline asm st.cg.u64 [%rd3], %rd13; // inline asm -BB28_2: - mov.u32 %r29, WARP_SZ; - add.s32 %r127, %r29, -1; - and.b32 %r30, %r127, %r2; - sub.s32 %r202, %r30, %r29; - bra.uni BB28_3; +BB41_2: + and.b32 %r6, %r2, 31; + add.s32 %r101, %r6, -32; + mov.f32 %f152, 0f00000000; + bra.uni BB41_3; -BB28_8: - add.s32 %r203, %r35, %r203; - sub.s32 %r202, %r202, %r29; +BB41_8: + add.s32 %r101, %r101, -32; + mov.f32 %f152, %f25; -BB28_3: - cvt.s64.s32 %rd18, %r202; +BB41_3: + cvt.s64.s32 %rd18, %r101; add.s64 %rd19, %rd18, %rd2; shl.b64 %rd20, %rd19, 3; add.s64 %rd17, %rd6, %rd20; // inline asm ld.cg.u64 %rd16, [%rd17]; // inline asm - cvt.u32.u64 %r34, %rd16; - setp.eq.s32 %p2, %r34, 0; - mov.u32 %r128, -1; - vote.sync.any.pred %p3, %p2, %r128; - @%p3 bra BB28_3; + cvt.u32.u64 %r9, %rd16; + setp.eq.s32 %p18, %r9, 0; + mov.u32 %r42, -1; + vote.sync.any.pred %p19, %p18, %r42; + @%p19 bra BB41_3; - setp.eq.s32 %p4, %r34, 2; - vote.sync.ballot.b32 %r36, %p4, %r128; shr.u64 %rd21, %rd16, 32; - cvt.u32.u64 %r35, %rd21; - setp.eq.s32 %p6, %r36, 0; - @%p6 bra BB28_8; - - clz.b32 %r131, %r36; - mov.u32 %r132, 31; - sub.s32 %r133, %r132, %r131; - setp.lt.u32 %p7, %r30, %r133; - selp.b32 %r134, 0, %r35, %p7; - mov.u32 %r135, 0; - add.s32 %r136, %r134, %r203; - mov.u32 %r137, 2; - mov.u32 %r138, 16; - shfl.sync.down.b32 %r140|%p8, %r136, %r138, %r132, %r128; - add.s32 %r141, %r140, %r136; - mov.u32 %r142, 8; - shfl.sync.down.b32 %r143|%p9, %r141, %r142, %r132, %r128; - add.s32 %r144, %r143, %r141; - mov.u32 %r145, 4; - shfl.sync.down.b32 %r146|%p10, %r144, %r145, %r132, %r128; - add.s32 %r147, %r146, %r144; - shfl.sync.down.b32 %r148|%p11, %r147, %r137, %r132, %r128; - add.s32 %r149, %r148, %r147; - mov.u32 %r150, 1; - shfl.sync.down.b32 %r151|%p12, %r149, %r150, %r132, %r128; - add.s32 %r152, %r151, %r149; - shfl.sync.idx.b32 %r153|%p13, %r152, %r135, %r132, %r128; - add.s32 %r37, %r153, %r28; - @%p1 bra BB28_7; - - cvt.u64.u32 %rd24, %r37; + cvt.u32.u64 %r44, %rd21; + mov.b32 %f122, %r44; + setp.eq.s32 %p20, %r9, 2; + vote.sync.ballot.b32 %r10, %p20, %r42; + setp.eq.s32 %p22, %r10, 0; + add.f32 %f25, %f152, %f122; + @%p22 bra BB41_8; + + clz.b32 %r46, %r10; + mov.u32 %r47, 31; + sub.s32 %r48, %r47, %r46; + setp.lt.u32 %p23, %r6, %r48; + selp.f32 %f123, %f152, %f25, %p23; + mov.b32 %r49, %f123; + mov.u32 %r50, 2; + mov.u32 %r51, 16; + shfl.sync.down.b32 %r53|%p24, %r49, %r51, %r47, %r42; + mov.b32 %f124, %r53; + add.f32 %f125, %f123, %f124; + mov.b32 %r54, %f125; + mov.u32 %r55, 8; + shfl.sync.down.b32 %r56|%p25, %r54, %r55, %r47, %r42; + mov.b32 %f126, %r56; + add.f32 %f127, %f125, %f126; + mov.b32 %r57, %f127; + mov.u32 %r58, 4; + shfl.sync.down.b32 %r59|%p26, %r57, %r58, %r47, %r42; + mov.b32 %f128, %r59; + add.f32 %f129, %f127, %f128; + mov.b32 %r60, %f129; + shfl.sync.down.b32 %r61|%p27, %r60, %r50, %r47, %r42; + mov.b32 %f130, %r61; + add.f32 %f131, %f129, %f130; + mov.b32 %r62, %f131; + mov.u32 %r63, 1; + shfl.sync.down.b32 %r64|%p28, %r62, %r63, %r47, %r42; + mov.b32 %f132, %r64; + add.f32 %f133, %f131, %f132; + mov.b32 %r65, %f133; + shfl.sync.idx.b32 %r67|%p29, %r65, %r40, %r47, %r42; + mov.b32 %f134, %r67; + add.f32 %f26, %f23, %f134; + @%p17 bra BB41_7; + + mov.b32 %r68, %f26; + cvt.u64.u32 %rd24, %r68; shl.b64 %rd25, %rd24, 32; or.b64 %rd23, %rd25, 2; // inline asm st.cg.u64 [%rd3], %rd23; // inline asm -BB28_7: - sub.s32 %r154, %r37, %r20; - add.s32 %r155, %r154, %r7; - add.s32 %r156, %r154, %r6; - add.s32 %r157, %r154, %r78; - st.shared.v4.u32 [%r4], {%r154, %r157, %r156, %r155}; - add.s32 %r158, %r154, %r11; - add.s32 %r159, %r154, %r10; - add.s32 %r160, %r154, %r9; - add.s32 %r161, %r154, %r8; - st.shared.v4.u32 [%r4+16], {%r161, %r160, %r159, %r158}; - add.s32 %r162, %r154, %r15; - add.s32 %r163, %r154, %r14; - add.s32 %r164, %r154, %r13; - add.s32 %r165, %r154, %r12; - st.shared.v4.u32 [%r4+32], {%r165, %r164, %r163, %r162}; - add.s32 %r166, %r154, %r19; - add.s32 %r167, %r154, %r18; - add.s32 %r168, %r154, %r17; - add.s32 %r169, %r154, %r16; - st.shared.v4.u32 [%r4+48], {%r169, %r168, %r167, %r166}; +BB41_7: + sub.f32 %f135, %f26, %f16; + add.f32 %f136, %f135, %f4; + add.f32 %f137, %f135, %f3; + add.f32 %f138, %f135, %f2; + add.f32 %f139, %f135, %f1; + st.shared.v4.f32 [%r4], {%f139, %f138, %f137, %f136}; + add.f32 %f140, %f135, %f8; + add.f32 %f141, %f135, %f7; + add.f32 %f142, %f135, %f6; + add.f32 %f143, %f135, %f5; + st.shared.v4.f32 [%r4+16], {%f143, %f142, %f141, %f140}; + add.f32 %f144, %f135, %f12; + add.f32 %f145, %f135, %f11; + add.f32 %f146, %f135, %f10; + add.f32 %f147, %f135, %f9; + st.shared.v4.f32 [%r4+32], {%f147, %f146, %f145, %f144}; + add.f32 %f148, %f135, %f16; + add.f32 %f149, %f135, %f15; + add.f32 %f150, %f135, %f14; + add.f32 %f151, %f135, %f13; + st.shared.v4.f32 [%r4+48], {%f151, %f150, %f149, %f148}; bar.sync 0; cvta.to.global.u64 %rd26, %rd5; shl.b64 %rd27, %rd1, 4; add.s64 %rd28, %rd26, %rd27; - ld.shared.v4.u32 {%r170, %r171, %r172, %r173}, [%r3]; - st.global.v4.u32 [%rd28], {%r170, %r171, %r172, %r173}; - ld.shared.v4.u32 {%r178, %r179, %r180, %r181}, [%r3+2048]; - st.global.v4.u32 [%rd28+2048], {%r178, %r179, %r180, %r181}; - ld.shared.v4.u32 {%r186, %r187, %r188, %r189}, [%r3+4096]; - st.global.v4.u32 [%rd28+4096], {%r186, %r187, %r188, %r189}; - ld.shared.v4.u32 {%r194, %r195, %r196, %r197}, [%r3+6144]; - st.global.v4.u32 [%rd28+6144], {%r194, %r195, %r196, %r197}; + ld.shared.v4.u32 {%r69, %r70, %r71, %r72}, [%r3]; + st.global.v4.u32 [%rd28], {%r69, %r70, %r71, %r72}; + ld.shared.v4.u32 {%r77, %r78, %r79, %r80}, [%r3+2048]; + st.global.v4.u32 [%rd28+2048], {%r77, %r78, %r79, %r80}; + ld.shared.v4.u32 {%r85, %r86, %r87, %r88}, [%r3+4096]; + st.global.v4.u32 [%rd28+4096], {%r85, %r86, %r87, %r88}; + ld.shared.v4.u32 {%r93, %r94, %r95, %r96}, [%r3+6144]; + st.global.v4.u32 [%rd28+6144], {%r93, %r94, %r95, %r96}; + ret; +} + + // .globl scan_inc_large_f64 +.visible .entry scan_inc_large_f64( + .param .u64 scan_inc_large_f64_param_0, + .param .u64 scan_inc_large_f64_param_1, + .param .u32 scan_inc_large_f64_param_2, + .param .u64 scan_inc_large_f64_param_3 +) +{ + .reg .pred %p<29>; + .reg .b32 %r<116>; + .reg .f64 %fd<97>; + .reg .b64 %rd<35>; + + + ld.param.u64 %rd7, [scan_inc_large_f64_param_0]; + ld.param.u32 %r12, [scan_inc_large_f64_param_2]; + ld.param.u64 %rd6, [scan_inc_large_f64_param_3]; + mov.u32 %r1, %ctaid.x; + shl.b32 %r13, %r1, 9; + mov.u32 %r2, %tid.x; + add.s32 %r14, %r13, %r2; + cvta.to.global.u64 %rd8, %rd7; + mul.wide.u32 %rd9, %r14, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v2.f64 {%fd19, %fd20}, [%rd10]; + shl.b32 %r15, %r14, 1; + setp.lt.u32 %p1, %r15, %r12; + add.s32 %r16, %r15, 1; + setp.lt.u32 %p2, %r16, %r12; + add.s32 %r17, %r14, 128; + ld.global.v2.f64 {%fd23, %fd24}, [%rd10+2048]; + shl.b32 %r18, %r17, 1; + setp.lt.u32 %p3, %r18, %r12; + add.s32 %r19, %r18, 1; + setp.lt.u32 %p4, %r19, %r12; + add.s32 %r20, %r14, 256; + ld.global.v2.f64 {%fd27, %fd28}, [%rd10+4096]; + shl.b32 %r21, %r20, 1; + setp.lt.u32 %p5, %r21, %r12; + add.s32 %r22, %r21, 1; + setp.lt.u32 %p6, %r22, %r12; + add.s32 %r23, %r14, 384; + ld.global.v2.f64 {%fd31, %fd32}, [%rd10+6144]; + shl.b32 %r24, %r23, 1; + setp.lt.u32 %p7, %r24, %r12; + add.s32 %r25, %r24, 1; + setp.lt.u32 %p8, %r25, %r12; + shl.b32 %r26, %r2, 4; + mov.u32 %r27, shared_d; + add.s32 %r3, %r27, %r26; + selp.f64 %fd35, %fd20, 0d0000000000000000, %p2; + selp.f64 %fd36, %fd19, 0d0000000000000000, %p1; + st.shared.v2.f64 [%r3], {%fd36, %fd35}; + selp.f64 %fd37, %fd24, 0d0000000000000000, %p4; + selp.f64 %fd38, %fd23, 0d0000000000000000, %p3; + st.shared.v2.f64 [%r3+2048], {%fd38, %fd37}; + selp.f64 %fd39, %fd28, 0d0000000000000000, %p6; + selp.f64 %fd40, %fd27, 0d0000000000000000, %p5; + st.shared.v2.f64 [%r3+4096], {%fd40, %fd39}; + selp.f64 %fd41, %fd32, 0d0000000000000000, %p8; + selp.f64 %fd42, %fd31, 0d0000000000000000, %p7; + st.shared.v2.f64 [%r3+6144], {%fd42, %fd41}; + bar.sync 0; + shl.b32 %r28, %r2, 6; + add.s32 %r4, %r27, %r28; + ld.shared.v2.f64 {%fd43, %fd44}, [%r4]; + ld.shared.v2.f64 {%fd47, %fd48}, [%r4+16]; + ld.shared.v2.f64 {%fd51, %fd52}, [%r4+32]; + ld.shared.v2.f64 {%fd55, %fd56}, [%r4+48]; + add.f64 %fd1, %fd43, 0d0000000000000000; + add.f64 %fd2, %fd1, %fd44; + add.f64 %fd3, %fd2, %fd47; + add.f64 %fd4, %fd3, %fd48; + add.f64 %fd5, %fd4, %fd51; + add.f64 %fd6, %fd5, %fd52; + add.f64 %fd7, %fd6, %fd55; + add.f64 %fd8, %fd7, %fd56; + bar.sync 0; + shl.b32 %r30, %r2, 3; + add.s32 %r5, %r27, %r30; + mov.u64 %rd11, 0; + st.shared.u64 [%r5], %rd11; + st.shared.f64 [%r5+1024], %fd8; + bar.sync 0; + ld.shared.f64 %fd59, [%r5+1016]; + ld.shared.f64 %fd60, [%r5+1024]; + add.f64 %fd9, %fd60, %fd59; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd9; + bar.sync 0; + ld.shared.f64 %fd61, [%r5+1008]; + ld.shared.f64 %fd62, [%r5+1024]; + add.f64 %fd10, %fd62, %fd61; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd10; + bar.sync 0; + ld.shared.f64 %fd63, [%r5+992]; + ld.shared.f64 %fd64, [%r5+1024]; + add.f64 %fd11, %fd64, %fd63; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd11; + bar.sync 0; + ld.shared.f64 %fd65, [%r5+960]; + ld.shared.f64 %fd66, [%r5+1024]; + add.f64 %fd12, %fd66, %fd65; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd12; + bar.sync 0; + ld.shared.f64 %fd67, [%r5+896]; + ld.shared.f64 %fd68, [%r5+1024]; + add.f64 %fd13, %fd68, %fd67; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd13; + bar.sync 0; + ld.shared.f64 %fd69, [%r5+768]; + ld.shared.f64 %fd70, [%r5+1024]; + add.f64 %fd14, %fd70, %fd69; + bar.sync 0; + st.shared.f64 [%r5+1024], %fd14; + bar.sync 0; + ld.shared.f64 %fd71, [%r5+512]; + ld.shared.f64 %fd72, [%r5+1024]; + add.f64 %fd15, %fd72, %fd71; + bar.sync 0; + cvt.u64.u32 %rd2, %r1; + mul.wide.u32 %rd12, %r1, 8; + add.s64 %rd3, %rd6, %rd12; + setp.ne.s32 %p9, %r2, 127; + @%p9 bra BB42_2; + + mov.b64 %rd15, %fd15; + and.b64 %rd16, %rd15, -4; + or.b64 %rd14, %rd16, 1; + // inline asm + st.cg.u64 [%rd3], %rd14; + // inline asm + +BB42_2: + and.b32 %r6, %r2, 31; + add.s32 %r115, %r6, -32; + mov.f64 %fd96, 0d0000000000000000; + bra.uni BB42_3; + +BB42_8: + add.s32 %r115, %r115, -32; + mov.f64 %fd96, %fd17; + +BB42_3: + cvt.s64.s32 %rd19, %r115; + add.s64 %rd20, %rd19, %rd2; + shl.b64 %rd21, %rd20, 3; + add.s64 %rd18, %rd6, %rd21; + // inline asm + ld.cg.u64 %rd17, [%rd18]; + // inline asm + cvt.u32.u64 %r32, %rd17; + and.b32 %r9, %r32, 3; + setp.eq.s32 %p10, %r9, 0; + mov.u32 %r33, -1; + vote.sync.any.pred %p11, %p10, %r33; + @%p11 bra BB42_3; + + and.b64 %rd22, %rd17, -4; + mov.b64 %fd74, %rd22; + setp.eq.s32 %p12, %r9, 2; + vote.sync.ballot.b32 %r10, %p12, %r33; + setp.eq.s32 %p14, %r10, 0; + add.f64 %fd17, %fd96, %fd74; + @%p14 bra BB42_8; + + clz.b32 %r60, %r10; + mov.u32 %r61, 31; + sub.s32 %r62, %r61, %r60; + setp.lt.u32 %p15, %r6, %r62; + selp.f64 %fd75, %fd96, %fd17, %p15; + // inline asm + mov.b64 {%r36,%r37}, %fd75; + // inline asm + mov.u32 %r63, 2; + mov.u32 %r64, 16; + shfl.sync.down.b32 %r39|%p16, %r37, %r64, %r61, %r33; + shfl.sync.down.b32 %r38|%p17, %r36, %r64, %r61, %r33; + // inline asm + mov.b64 %fd76, {%r38,%r39}; + // inline asm + add.f64 %fd77, %fd75, %fd76; + // inline asm + mov.b64 {%r40,%r41}, %fd77; + // inline asm + mov.u32 %r66, 8; + shfl.sync.down.b32 %r43|%p18, %r41, %r66, %r61, %r33; + shfl.sync.down.b32 %r42|%p19, %r40, %r66, %r61, %r33; + // inline asm + mov.b64 %fd78, {%r42,%r43}; + // inline asm + add.f64 %fd79, %fd77, %fd78; + // inline asm + mov.b64 {%r44,%r45}, %fd79; + // inline asm + mov.u32 %r67, 4; + shfl.sync.down.b32 %r47|%p20, %r45, %r67, %r61, %r33; + shfl.sync.down.b32 %r46|%p21, %r44, %r67, %r61, %r33; + // inline asm + mov.b64 %fd80, {%r46,%r47}; + // inline asm + add.f64 %fd81, %fd79, %fd80; + // inline asm + mov.b64 {%r48,%r49}, %fd81; + // inline asm + shfl.sync.down.b32 %r51|%p22, %r49, %r63, %r61, %r33; + shfl.sync.down.b32 %r50|%p23, %r48, %r63, %r61, %r33; + // inline asm + mov.b64 %fd82, {%r50,%r51}; + // inline asm + add.f64 %fd83, %fd81, %fd82; + // inline asm + mov.b64 {%r52,%r53}, %fd83; + // inline asm + mov.u32 %r68, 1; + shfl.sync.down.b32 %r55|%p24, %r53, %r68, %r61, %r33; + shfl.sync.down.b32 %r54|%p25, %r52, %r68, %r61, %r33; + // inline asm + mov.b64 %fd84, {%r54,%r55}; + // inline asm + add.f64 %fd85, %fd83, %fd84; + // inline asm + mov.b64 {%r56,%r57}, %fd85; + // inline asm + mov.u32 %r69, 0; + shfl.sync.idx.b32 %r59|%p26, %r57, %r69, %r61, %r33; + shfl.sync.idx.b32 %r58|%p27, %r56, %r69, %r61, %r33; + // inline asm + mov.b64 %fd86, {%r58,%r59}; + // inline asm + add.f64 %fd18, %fd15, %fd86; + @%p9 bra BB42_7; + + mov.u32 %r114, %ctaid.x; + mul.wide.u32 %rd34, %r114, 8; + ld.param.u64 %rd33, [scan_inc_large_f64_param_3]; + add.s64 %rd32, %rd33, %rd34; + mov.b64 %rd25, %fd18; + and.b64 %rd26, %rd25, -4; + or.b64 %rd24, %rd26, 2; + // inline asm + st.cg.u64 [%rd32], %rd24; + // inline asm + +BB42_7: + mov.u32 %r105, %tid.x; + shl.b32 %r104, %r105, 6; + mov.u32 %r103, shared_d; + add.s32 %r102, %r103, %r104; + sub.f64 %fd87, %fd18, %fd8; + add.f64 %fd88, %fd87, %fd2; + add.f64 %fd89, %fd87, %fd1; + st.shared.v2.f64 [%r102], {%fd89, %fd88}; + add.f64 %fd90, %fd87, %fd4; + add.f64 %fd91, %fd87, %fd3; + st.shared.v2.f64 [%r102+16], {%fd91, %fd90}; + add.f64 %fd92, %fd87, %fd6; + add.f64 %fd93, %fd87, %fd5; + st.shared.v2.f64 [%r102+32], {%fd93, %fd92}; + add.f64 %fd94, %fd87, %fd8; + add.f64 %fd95, %fd87, %fd7; + st.shared.v2.f64 [%r102+48], {%fd95, %fd94}; + bar.sync 0; + mov.u32 %r113, %tid.x; + shl.b32 %r112, %r113, 4; + mov.u32 %r111, shared_d; + add.s32 %r110, %r111, %r112; + mov.u32 %r109, %ctaid.x; + mov.u32 %r108, %tid.x; + shl.b32 %r107, %r109, 9; + add.s32 %r106, %r107, %r108; + cvt.u64.u32 %rd31, %r106; + ld.param.u64 %rd30, [scan_inc_large_f64_param_1]; + cvta.to.global.u64 %rd27, %rd30; + shl.b64 %rd28, %rd31, 4; + add.s64 %rd29, %rd27, %rd28; + ld.shared.v4.u32 {%r70, %r71, %r72, %r73}, [%r110]; + st.global.v4.u32 [%rd29], {%r70, %r71, %r72, %r73}; + ld.shared.v4.u32 {%r78, %r79, %r80, %r81}, [%r110+2048]; + st.global.v4.u32 [%rd29+2048], {%r78, %r79, %r80, %r81}; + ld.shared.v4.u32 {%r86, %r87, %r88, %r89}, [%r110+4096]; + st.global.v4.u32 [%rd29+4096], {%r86, %r87, %r88, %r89}; + ld.shared.v4.u32 {%r94, %r95, %r96, %r97}, [%r110+6144]; + st.global.v4.u32 [%rd29+6144], {%r94, %r95, %r96, %r97}; ret; } @@ -3986,9 +6354,9 @@ BB28_7: mov.u32 %r52, 1; setp.lt.u32 %p1, %r25, 2; mov.u32 %r53, %r4; - @%p1 bra BB29_2; + @%p1 bra BB43_2; -BB29_1: +BB43_1: bar.sync 0; sub.s32 %r33, %r26, %r52; shl.b32 %r34, %r33, 2; @@ -4000,32 +6368,32 @@ BB29_1: st.shared.u32 [%r28], %r53; shl.b32 %r52, %r52, 1; setp.lt.u32 %p2, %r52, %r25; - @%p2 bra BB29_1; + @%p2 bra BB43_1; -BB29_2: +BB43_2: add.s32 %r39, %r25, -1; setp.ne.s32 %p3, %r16, %r39; - @%p3 bra BB29_4; + @%p3 bra BB43_4; cvta.to.global.u64 %rd7, %rd2; st.global.u32 [%rd7], %r53; -BB29_4: +BB43_4: sub.s32 %r11, %r53, %r4; add.s32 %r12, %r11, %r1; add.s32 %r13, %r11, %r2; add.s32 %r14, %r11, %r3; setp.eq.s32 %p4, %r1, 0; - @%p4 bra BB29_6; + @%p4 bra BB43_6; cvta.to.global.u64 %rd8, %rd1; mul.wide.u32 %rd9, %r11, 4; add.s64 %rd10, %rd8, %rd9; st.global.u32 [%rd10], %r21; -BB29_6: +BB43_6: setp.eq.s32 %p5, %r12, %r13; - @%p5 bra BB29_8; + @%p5 bra BB43_8; add.s32 %r45, %r21, 1; cvta.to.global.u64 %rd11, %rd1; @@ -4033,9 +6401,9 @@ BB29_6: add.s64 %rd13, %rd11, %rd12; st.global.u32 [%rd13], %r45; -BB29_8: +BB43_8: setp.eq.s32 %p6, %r13, %r14; - @%p6 bra BB29_10; + @%p6 bra BB43_10; add.s32 %r48, %r21, 2; cvta.to.global.u64 %rd14, %rd1; @@ -4043,9 +6411,9 @@ BB29_8: add.s64 %rd16, %rd14, %rd15; st.global.u32 [%rd16], %r48; -BB29_10: +BB43_10: setp.eq.s32 %p7, %r14, %r53; - @%p7 bra BB29_12; + @%p7 bra BB43_12; add.s32 %r51, %r21, 3; cvta.to.global.u64 %rd17, %rd1; @@ -4053,7 +6421,7 @@ BB29_10: add.s64 %rd19, %rd17, %rd18; st.global.u32 [%rd19], %r51; -BB29_12: +BB43_12: ret; } @@ -4166,7 +6534,7 @@ BB29_12: mul.wide.u32 %rd13, %r1, 8; add.s64 %rd3, %rd6, %rd13; setp.ne.s32 %p1, %r2, 127; - @%p1 bra BB30_2; + @%p1 bra BB44_2; cvt.u64.u32 %rd16, %r27; shl.b64 %rd17, %rd16, 32; @@ -4175,19 +6543,19 @@ BB29_12: st.cg.u64 [%rd3], %rd15; // inline asm -BB30_2: +BB44_2: mov.u32 %r28, WARP_SZ; add.s32 %r98, %r28, -1; and.b32 %r29, %r98, %r2; sub.s32 %r144, %r29, %r28; cvta.to.global.u64 %rd4, %rd7; - bra.uni BB30_3; + bra.uni BB44_3; -BB30_41: +BB44_41: add.s32 %r143, %r34, %r143; sub.s32 %r144, %r144, %r28; -BB30_3: +BB44_3: cvt.s64.s32 %rd20, %r144; add.s64 %rd21, %rd20, %rd2; shl.b64 %rd22, %rd21, 3; @@ -4199,14 +6567,14 @@ BB30_3: setp.eq.s32 %p2, %r33, 0; mov.u32 %r99, -1; vote.sync.any.pred %p3, %p2, %r99; - @%p3 bra BB30_3; + @%p3 bra BB44_3; setp.eq.s32 %p4, %r33, 2; vote.sync.ballot.b32 %r35, %p4, %r99; shr.u64 %rd23, %rd18, 32; cvt.u32.u64 %r34, %rd23; setp.eq.s32 %p6, %r35, 0; - @%p6 bra BB30_41; + @%p6 bra BB44_41; clz.b32 %r102, %r35; mov.u32 %r103, 31; @@ -4232,7 +6600,7 @@ BB30_3: add.s32 %r123, %r122, %r120; shfl.sync.idx.b32 %r124|%p13, %r123, %r106, %r103, %r99; add.s32 %r36, %r124, %r27; - @%p1 bra BB30_8; + @%p1 bra BB44_8; cvt.u32.u64 %r125, %rd2; cvt.u64.u32 %rd26, %r36; @@ -4244,11 +6612,11 @@ BB30_3: mov.u32 %r126, %nctaid.x; add.s32 %r127, %r126, -1; setp.ne.s32 %p15, %r125, %r127; - @%p15 bra BB30_8; + @%p15 bra BB44_8; st.global.u32 [%rd4], %r36; -BB30_8: +BB44_8: sub.s32 %r37, %r36, %r19; add.s32 %r38, %r37, %r4; add.s32 %r39, %r37, %r5; @@ -4267,148 +6635,148 @@ BB30_8: add.s32 %r52, %r37, %r18; shl.b32 %r53, %r3, 4; setp.eq.s32 %p16, %r4, 0; - @%p16 bra BB30_10; + @%p16 bra BB44_10; mul.wide.u32 %rd28, %r37, 4; add.s64 %rd29, %rd1, %rd28; st.global.u32 [%rd29], %r53; -BB30_10: +BB44_10: setp.eq.s32 %p17, %r38, %r39; - @%p17 bra BB30_12; + @%p17 bra BB44_12; add.s32 %r128, %r53, 1; mul.wide.u32 %rd30, %r38, 4; add.s64 %rd31, %rd1, %rd30; st.global.u32 [%rd31], %r128; -BB30_12: +BB44_12: setp.eq.s32 %p18, %r39, %r40; - @%p18 bra BB30_14; + @%p18 bra BB44_14; add.s32 %r129, %r53, 2; mul.wide.u32 %rd32, %r39, 4; add.s64 %rd33, %rd1, %rd32; st.global.u32 [%rd33], %r129; -BB30_14: +BB44_14: setp.eq.s32 %p19, %r40, %r41; - @%p19 bra BB30_16; + @%p19 bra BB44_16; add.s32 %r130, %r53, 3; mul.wide.u32 %rd34, %r40, 4; add.s64 %rd35, %rd1, %rd34; st.global.u32 [%rd35], %r130; -BB30_16: +BB44_16: setp.eq.s32 %p20, %r41, %r42; - @%p20 bra BB30_18; + @%p20 bra BB44_18; add.s32 %r131, %r53, 4; mul.wide.u32 %rd36, %r41, 4; add.s64 %rd37, %rd1, %rd36; st.global.u32 [%rd37], %r131; -BB30_18: +BB44_18: setp.eq.s32 %p21, %r42, %r43; - @%p21 bra BB30_20; + @%p21 bra BB44_20; add.s32 %r132, %r53, 5; mul.wide.u32 %rd38, %r42, 4; add.s64 %rd39, %rd1, %rd38; st.global.u32 [%rd39], %r132; -BB30_20: +BB44_20: setp.eq.s32 %p22, %r43, %r44; - @%p22 bra BB30_22; + @%p22 bra BB44_22; add.s32 %r133, %r53, 6; mul.wide.u32 %rd40, %r43, 4; add.s64 %rd41, %rd1, %rd40; st.global.u32 [%rd41], %r133; -BB30_22: +BB44_22: setp.eq.s32 %p23, %r44, %r45; - @%p23 bra BB30_24; + @%p23 bra BB44_24; add.s32 %r134, %r53, 7; mul.wide.u32 %rd42, %r44, 4; add.s64 %rd43, %rd1, %rd42; st.global.u32 [%rd43], %r134; -BB30_24: +BB44_24: setp.eq.s32 %p24, %r45, %r46; - @%p24 bra BB30_26; + @%p24 bra BB44_26; add.s32 %r135, %r53, 8; mul.wide.u32 %rd44, %r45, 4; add.s64 %rd45, %rd1, %rd44; st.global.u32 [%rd45], %r135; -BB30_26: +BB44_26: setp.eq.s32 %p25, %r46, %r47; - @%p25 bra BB30_28; + @%p25 bra BB44_28; add.s32 %r136, %r53, 9; mul.wide.u32 %rd46, %r46, 4; add.s64 %rd47, %rd1, %rd46; st.global.u32 [%rd47], %r136; -BB30_28: +BB44_28: setp.eq.s32 %p26, %r47, %r48; - @%p26 bra BB30_30; + @%p26 bra BB44_30; add.s32 %r137, %r53, 10; mul.wide.u32 %rd48, %r47, 4; add.s64 %rd49, %rd1, %rd48; st.global.u32 [%rd49], %r137; -BB30_30: +BB44_30: setp.eq.s32 %p27, %r48, %r49; - @%p27 bra BB30_32; + @%p27 bra BB44_32; add.s32 %r138, %r53, 11; mul.wide.u32 %rd50, %r48, 4; add.s64 %rd51, %rd1, %rd50; st.global.u32 [%rd51], %r138; -BB30_32: +BB44_32: setp.eq.s32 %p28, %r49, %r50; - @%p28 bra BB30_34; + @%p28 bra BB44_34; add.s32 %r139, %r53, 12; mul.wide.u32 %rd52, %r49, 4; add.s64 %rd53, %rd1, %rd52; st.global.u32 [%rd53], %r139; -BB30_34: +BB44_34: setp.eq.s32 %p29, %r50, %r51; - @%p29 bra BB30_36; + @%p29 bra BB44_36; add.s32 %r140, %r53, 13; mul.wide.u32 %rd54, %r50, 4; add.s64 %rd55, %rd1, %rd54; st.global.u32 [%rd55], %r140; -BB30_36: +BB44_36: setp.eq.s32 %p30, %r51, %r52; - @%p30 bra BB30_38; + @%p30 bra BB44_38; add.s32 %r141, %r53, 14; mul.wide.u32 %rd56, %r51, 4; add.s64 %rd57, %rd1, %rd56; st.global.u32 [%rd57], %r141; -BB30_38: +BB44_38: setp.eq.s32 %p31, %r52, %r36; - @%p31 bra BB30_40; + @%p31 bra BB44_40; add.s32 %r142, %r53, 15; mul.wide.u32 %rd58, %r52, 4; add.s64 %rd59, %rd1, %rd58; st.global.u32 [%rd59], %r142; -BB30_40: +BB44_40: ret; } @@ -4441,11 +6809,11 @@ BB30_40: div.u32 %r5, %r4, %r26; mul.lo.s32 %r6, %r27, %r23; setp.ge.u32 %p3, %r4, %r6; - @%p3 bra BB31_3; + @%p3 bra BB45_3; mov.u32 %r56, %r4; -BB31_2: +BB45_2: shl.b32 %r28, %r56, 2; mov.u32 %r29, shared; add.s32 %r30, %r29, %r28; @@ -4453,23 +6821,23 @@ BB31_2: st.shared.u32 [%r30], %r31; add.s32 %r56, %r56, %r3; setp.lt.u32 %p4, %r56, %r6; - @%p4 bra BB31_2; + @%p4 bra BB45_2; -BB31_3: +BB45_3: bar.sync 0; add.s32 %r57, %r1, %r4; setp.ge.u32 %p5, %r57, %r2; - @%p5 bra BB31_10; + @%p5 bra BB45_10; mul.lo.s32 %r10, %r5, %r23; cvta.to.global.u64 %rd5, %rd3; -BB31_5: +BB45_5: setp.lt.u32 %p6, %r57, %r22; mov.u32 %r32, -1; vote.sync.ballot.b32 %r12, %p6, %r32; setp.ge.u32 %p7, %r57, %r22; - @%p7 bra BB31_9; + @%p7 bra BB45_9; mul.wide.u32 %rd6, %r57, 4; add.s64 %rd7, %rd5, %rd6; @@ -4485,7 +6853,7 @@ BB31_5: mov.u32 %r40, %tid.x; and.b32 %r41, %r39, %r40; setp.ne.s32 %p8, %r41, %r15; - @%p8 bra BB31_8; + @%p8 bra BB45_8; add.s32 %r42, %r13, %r10; shl.b32 %r43, %r42, 2; @@ -4496,26 +6864,26 @@ BB31_5: add.s32 %r47, %r46, %r58; st.shared.u32 [%r45], %r47; -BB31_8: +BB45_8: shfl.sync.idx.b32 %r49|%p9, %r58, %r15, %r37, %r14; -BB31_9: +BB45_9: bar.warp.sync -1; add.s32 %r57, %r57, %r3; setp.lt.u32 %p10, %r57, %r2; - @%p10 bra BB31_5; + @%p10 bra BB45_5; -BB31_10: +BB45_10: mov.u32 %r59, %tid.x; setp.lt.u32 %p2, %r59, %r6; bar.sync 0; mul.lo.s32 %r51, %r6, %r25; cvt.u64.u32 %rd1, %r51; cvta.to.global.u64 %rd2, %rd4; - @!%p2 bra BB31_12; - bra.uni BB31_11; + @!%p2 bra BB45_12; + bra.uni BB45_11; -BB31_11: +BB45_11: shl.b32 %r52, %r59, 2; mov.u32 %r53, shared; add.s32 %r54, %r53, %r52; @@ -4527,9 +6895,9 @@ BB31_11: st.global.u32 [%rd11], %r55; add.s32 %r59, %r59, %r3; setp.lt.u32 %p11, %r59, %r6; - @%p11 bra BB31_11; + @%p11 bra BB45_11; -BB31_12: +BB45_12: ret; } @@ -4558,11 +6926,11 @@ BB31_12: add.s32 %r3, %r2, %r22; mov.u32 %r4, %tid.x; setp.ge.u32 %p3, %r4, %r21; - @%p3 bra BB32_3; + @%p3 bra BB46_3; mov.u32 %r48, %r4; -BB32_2: +BB46_2: shl.b32 %r24, %r48, 2; mov.u32 %r25, shared; add.s32 %r26, %r25, %r24; @@ -4570,25 +6938,25 @@ BB32_2: st.shared.u32 [%r26], %r27; add.s32 %r48, %r48, %r1; setp.lt.u32 %p4, %r48, %r21; - @%p4 bra BB32_2; + @%p4 bra BB46_2; -BB32_3: +BB46_3: bar.sync 0; add.s32 %r49, %r2, %r4; setp.ge.u32 %p5, %r49, %r3; - @%p5 bra BB32_10; + @%p5 bra BB46_10; mov.u32 %r28, WARP_SZ; add.s32 %r29, %r28, -1; and.b32 %r8, %r29, %r4; cvta.to.global.u64 %rd1, %rd4; -BB32_5: +BB46_5: setp.lt.u32 %p6, %r49, %r20; mov.u32 %r30, -1; vote.sync.ballot.b32 %r10, %p6, %r30; setp.ge.u32 %p7, %r49, %r20; - @%p7 bra BB32_9; + @%p7 bra BB46_9; mul.wide.u32 %rd6, %r49, 4; add.s64 %rd7, %rd1, %rd6; @@ -4601,7 +6969,7 @@ BB32_5: mov.u32 %r35, 31; sub.s32 %r13, %r35, %r34; setp.ne.s32 %p8, %r8, %r13; - @%p8 bra BB32_8; + @%p8 bra BB46_8; popc.b32 %r36, %r12; shl.b32 %r37, %r11, 2; @@ -4609,25 +6977,25 @@ BB32_5: add.s32 %r39, %r38, %r37; atom.shared.add.u32 %r50, [%r39], %r36; -BB32_8: +BB46_8: shfl.sync.idx.b32 %r41|%p9, %r50, %r13, %r35, %r12; -BB32_9: +BB46_9: add.s32 %r49, %r49, %r1; setp.lt.u32 %p10, %r49, %r3; - @%p10 bra BB32_5; + @%p10 bra BB46_5; -BB32_10: +BB46_10: mov.u32 %r51, %tid.x; setp.lt.u32 %p2, %r51, %r21; bar.sync 0; mul.lo.s32 %r43, %r23, %r21; cvt.u64.u32 %rd2, %r43; cvta.to.global.u64 %rd3, %rd5; - @!%p2 bra BB32_12; - bra.uni BB32_11; + @!%p2 bra BB46_12; + bra.uni BB46_11; -BB32_11: +BB46_11: shl.b32 %r44, %r51, 2; mov.u32 %r45, shared; add.s32 %r46, %r45, %r44; @@ -4639,9 +7007,9 @@ BB32_11: st.global.u32 [%rd11], %r47; add.s32 %r51, %r51, %r1; setp.lt.u32 %p11, %r51, %r21; - @%p11 bra BB32_11; + @%p11 bra BB46_11; -BB32_12: +BB46_12: ret; } @@ -4670,7 +7038,7 @@ BB32_12: mov.u32 %r17, %tid.x; add.s32 %r32, %r16, %r17; setp.ge.u32 %p2, %r32, %r2; - @%p2 bra BB33_7; + @%p2 bra BB47_7; mul.lo.s32 %r18, %r1, %r14; cvt.u64.u32 %rd1, %r18; @@ -4678,12 +7046,12 @@ BB32_12: cvta.to.global.u64 %rd2, %rd4; cvta.to.global.u64 %rd5, %rd3; -BB33_2: +BB47_2: setp.lt.u32 %p3, %r32, %r13; mov.u32 %r19, -1; vote.sync.ballot.b32 %r6, %p3, %r19; setp.ge.u32 %p4, %r32, %r13; - @%p4 bra BB33_6; + @%p4 bra BB47_6; mul.wide.u32 %rd6, %r32, 4; add.s64 %rd7, %rd5, %rd6; @@ -4699,7 +7067,7 @@ BB33_2: add.s32 %r26, %r25, -1; and.b32 %r28, %r26, %r17; setp.ne.s32 %p5, %r28, %r9; - @%p5 bra BB33_5; + @%p5 bra BB47_5; popc.b32 %r29, %r8; cvt.u64.u32 %rd8, %r7; @@ -4708,15 +7076,15 @@ BB33_2: add.s64 %rd11, %rd2, %rd10; atom.global.add.u32 %r33, [%rd11], %r29; -BB33_5: +BB47_5: shfl.sync.idx.b32 %r31|%p6, %r33, %r9, %r24, %r8; -BB33_6: +BB47_6: add.s32 %r32, %r32, %r4; setp.lt.u32 %p7, %r32, %r2; - @%p7 bra BB33_2; + @%p7 bra BB47_2; -BB33_7: +BB47_7: ret; } @@ -4746,7 +7114,7 @@ BB33_7: mov.u32 %r23, %ctaid.x; mad.lo.s32 %r52, %r2, %r23, %r1; setp.ge.u32 %p3, %r52, %r21; - @%p3 bra BB34_13; + @%p3 bra BB48_13; shl.b32 %r24, %r1, 2; mov.u32 %r25, shared; @@ -4761,45 +7129,45 @@ BB33_7: cvta.to.global.u64 %rd10, %rd2; cvta.to.global.u64 %rd11, %rd3; -BB34_2: +BB48_2: setp.ge.u32 %p4, %r52, %r20; mov.u32 %r53, %r22; - @%p4 bra BB34_4; + @%p4 bra BB48_4; cvta.to.global.u64 %rd4, %rd1; mul.wide.u32 %rd5, %r52, 4; add.s64 %rd6, %rd4, %rd5; ld.global.u32 %r53, [%rd6]; -BB34_4: +BB48_4: add.s32 %r32, %r1, 1; setp.lt.u32 %p1, %r32, %r2; st.shared.u32 [%r4], %r53; bar.sync 0; - @%p1 bra BB34_7; - bra.uni BB34_5; + @%p1 bra BB48_7; + bra.uni BB48_5; -BB34_7: +BB48_7: ld.shared.u32 %r54, [%r4+4]; - bra.uni BB34_8; + bra.uni BB48_8; -BB34_5: +BB48_5: add.s32 %r10, %r52, 1; setp.ge.u32 %p5, %r10, %r20; mov.u32 %r54, %r22; - @%p5 bra BB34_8; + @%p5 bra BB48_8; cvta.to.global.u64 %rd7, %rd1; mul.wide.u32 %rd8, %r10, 4; add.s64 %rd9, %rd7, %rd8; ld.global.u32 %r54, [%rd9]; -BB34_8: +BB48_8: setp.ne.s32 %p6, %r54, %r53; mov.u32 %r34, -1; vote.sync.ballot.b32 %r14, %p6, %r34; setp.eq.s32 %p7, %r54, %r53; - @%p7 bra BB34_12; + @%p7 bra BB48_12; neg.s32 %r36, %r14; mov.u32 %r35, 0; @@ -4809,12 +7177,12 @@ BB34_8: sub.s32 %r16, %r39, %r38; setp.ne.s32 %p8, %r28, %r16; mov.u32 %r55, %r35; - @%p8 bra BB34_11; + @%p8 bra BB48_11; popc.b32 %r44, %r14; atom.global.add.u32 %r55, [%rd10], %r44; -BB34_11: +BB48_11: shfl.sync.idx.b32 %r46|%p9, %r55, %r16, %r39, %r14; shl.b32 %r47, %r14, %r5; popc.b32 %r48, %r47; @@ -4824,12 +7192,12 @@ BB34_11: sub.s32 %r50, %r54, %r53; st.global.v4.u32 [%rd13], {%r52, %r53, %r50, %r35}; -BB34_12: +BB48_12: add.s32 %r52, %r6, %r52; setp.lt.u32 %p10, %r52, %r21; - @%p10 bra BB34_2; + @%p10 bra BB48_2; -BB34_13: +BB48_13: ret; } @@ -4868,11 +7236,11 @@ BB34_13: cvt.u64.u32 %rd2, %r28; mul.lo.s32 %r7, %r26, %r23; setp.ge.u32 %p2, %r5, %r7; - @%p2 bra BB35_3; + @%p2 bra BB49_3; mov.u32 %r52, %r5; -BB35_2: +BB49_2: cvt.u64.u32 %rd7, %r52; add.s64 %rd8, %rd7, %rd2; shl.b64 %rd9, %rd8, 2; @@ -4884,13 +7252,13 @@ BB35_2: st.shared.u32 [%r32], %r29; add.s32 %r52, %r52, %r4; setp.lt.u32 %p3, %r52, %r7; - @%p3 bra BB35_2; + @%p3 bra BB49_2; -BB35_3: +BB49_3: bar.sync 0; add.s32 %r53, %r1, %r5; setp.ge.u32 %p4, %r53, %r2; - @%p4 bra BB35_10; + @%p4 bra BB49_10; add.s32 %r33, %r3, -1; and.b32 %r11, %r33, %r5; @@ -4900,12 +7268,12 @@ BB35_3: mul.lo.s32 %r13, %r6, %r23; cvta.to.global.u64 %rd11, %rd4; -BB35_5: +BB49_5: setp.lt.u32 %p5, %r53, %r22; mov.u32 %r35, -1; vote.sync.ballot.b32 %r15, %p5, %r35; setp.ge.u32 %p6, %r53, %r22; - @%p6 bra BB35_9; + @%p6 bra BB49_9; mul.wide.u32 %rd12, %r53, 4; add.s64 %rd13, %rd11, %rd12; @@ -4918,7 +7286,7 @@ BB35_5: mov.u32 %r40, 31; sub.s32 %r18, %r40, %r39; setp.ne.s32 %p7, %r11, %r18; - @%p7 bra BB35_8; + @%p7 bra BB49_8; add.s32 %r41, %r16, %r13; shl.b32 %r42, %r41, 2; @@ -4929,7 +7297,7 @@ BB35_5: add.s32 %r46, %r45, %r54; st.shared.u32 [%r44], %r46; -BB35_8: +BB49_8: shfl.sync.idx.b32 %r48|%p8, %r54, %r18, %r40, %r17; shl.b32 %r49, %r17, %r12; popc.b32 %r50, %r49; @@ -4938,12 +7306,12 @@ BB35_8: add.s64 %rd15, %rd3, %rd14; st.global.u32 [%rd15], %r53; -BB35_9: +BB49_9: add.s32 %r53, %r53, %r4; setp.lt.u32 %p9, %r53, %r2; - @%p9 bra BB35_5; + @%p9 bra BB49_5; -BB35_10: +BB49_10: ret; } @@ -4977,11 +7345,11 @@ BB35_10: cvt.u64.u32 %rd2, %r22; mov.u32 %r4, %tid.x; setp.ge.u32 %p2, %r4, %r19; - @%p2 bra BB36_3; + @%p2 bra BB50_3; mov.u32 %r45, %r4; -BB36_2: +BB50_2: cvt.u64.u32 %rd8, %r45; add.s64 %rd9, %rd8, %rd2; shl.b64 %rd10, %rd9, 2; @@ -4993,13 +7361,13 @@ BB36_2: st.shared.u32 [%r26], %r23; add.s32 %r45, %r45, %r1; setp.lt.u32 %p3, %r45, %r19; - @%p3 bra BB36_2; + @%p3 bra BB50_2; -BB36_3: +BB50_3: bar.sync 0; add.s32 %r46, %r2, %r4; setp.ge.u32 %p4, %r46, %r3; - @%p4 bra BB36_10; + @%p4 bra BB50_10; mov.u32 %r27, WARP_SZ; add.s32 %r28, %r27, -1; @@ -5009,12 +7377,12 @@ BB36_3: cvta.to.global.u64 %rd3, %rd6; cvta.to.global.u64 %rd4, %rd5; -BB36_5: +BB50_5: setp.lt.u32 %p5, %r46, %r18; mov.u32 %r30, -1; vote.sync.ballot.b32 %r11, %p5, %r30; setp.ge.u32 %p6, %r46, %r18; - @%p6 bra BB36_9; + @%p6 bra BB50_9; mul.wide.u32 %rd12, %r46, 4; add.s64 %rd13, %rd4, %rd12; @@ -5027,7 +7395,7 @@ BB36_5: mov.u32 %r35, 31; sub.s32 %r14, %r35, %r34; setp.ne.s32 %p7, %r8, %r14; - @%p7 bra BB36_8; + @%p7 bra BB50_8; popc.b32 %r36, %r13; shl.b32 %r37, %r12, 2; @@ -5035,7 +7403,7 @@ BB36_5: add.s32 %r39, %r38, %r37; atom.shared.add.u32 %r47, [%r39], %r36; -BB36_8: +BB50_8: shfl.sync.idx.b32 %r41|%p8, %r47, %r14, %r35, %r13; shl.b32 %r42, %r13, %r9; popc.b32 %r43, %r42; @@ -5044,12 +7412,12 @@ BB36_8: add.s64 %rd15, %rd3, %rd14; st.global.u32 [%rd15], %r46; -BB36_9: +BB50_9: add.s32 %r46, %r46, %r1; setp.lt.u32 %p9, %r46, %r3; - @%p9 bra BB36_5; + @%p9 bra BB50_5; -BB36_10: +BB50_10: ret; } @@ -5080,7 +7448,7 @@ BB36_10: add.s32 %r2, %r17, %r15; add.s32 %r41, %r17, %r16; setp.ge.u32 %p2, %r41, %r2; - @%p2 bra BB37_7; + @%p2 bra BB51_7; mov.u32 %r18, WARP_SZ; add.s32 %r19, %r18, -1; @@ -5093,12 +7461,12 @@ BB36_10: cvta.to.global.u64 %rd8, %rd3; cvta.to.global.u64 %rd13, %rd4; -BB37_2: +BB51_2: setp.lt.u32 %p3, %r41, %r13; mov.u32 %r24, -1; vote.sync.ballot.b32 %r6, %p3, %r24; setp.ge.u32 %p4, %r41, %r13; - @%p4 bra BB37_6; + @%p4 bra BB51_6; mul.wide.u32 %rd6, %r41, 4; add.s64 %rd7, %rd5, %rd6; @@ -5111,7 +7479,7 @@ BB37_2: mov.u32 %r29, 31; sub.s32 %r9, %r29, %r28; setp.ne.s32 %p5, %r21, %r9; - @%p5 bra BB37_5; + @%p5 bra BB51_5; popc.b32 %r34, %r8; cvt.u64.u32 %rd9, %r7; @@ -5120,7 +7488,7 @@ BB37_2: add.s64 %rd12, %rd8, %rd11; atom.global.add.u32 %r42, [%rd12], %r34; -BB37_5: +BB51_5: shfl.sync.idx.b32 %r36|%p6, %r42, %r9, %r29, %r8; shl.b32 %r37, %r8, %r4; popc.b32 %r38, %r37; @@ -5129,13 +7497,13 @@ BB37_5: add.s64 %rd15, %rd13, %rd14; st.global.u32 [%rd15], %r41; -BB37_6: +BB51_6: mov.u32 %r40, %ntid.x; add.s32 %r41, %r41, %r40; setp.lt.u32 %p7, %r41, %r2; - @%p7 bra BB37_2; + @%p7 bra BB51_2; -BB37_7: +BB51_7: ret; } @@ -5167,7 +7535,7 @@ BB37_7: setp.ge.u32 %p1, %r6, %r9; setp.ge.u32 %p2, %r3, %r10; or.pred %p3, %p1, %p2; - @%p3 bra BB38_2; + @%p3 bra BB52_2; cvta.to.global.u64 %rd3, %rd1; mad.lo.s32 %r13, %r6, %r10, %r3; @@ -5180,14 +7548,14 @@ BB37_7: add.s32 %r18, %r17, %r16; st.shared.u32 [%r18], %r14; -BB38_2: +BB52_2: bar.sync 0; add.s32 %r7, %r5, %r1; setp.ge.u32 %p4, %r7, %r10; add.s32 %r8, %r4, %r2; setp.ge.u32 %p5, %r8, %r9; or.pred %p6, %p4, %p5; - @%p6 bra BB38_4; + @%p6 bra BB52_4; mad.lo.s32 %r19, %r2, 17, %r5; shl.b32 %r20, %r19, 2; @@ -5200,7 +7568,7 @@ BB38_2: add.s64 %rd8, %rd6, %rd7; st.global.u32 [%rd8], %r23; -BB38_4: +BB52_4: ret; } @@ -5291,21 +7659,21 @@ BB38_4: mov.u32 %r8, %tid.x; mad.lo.s32 %r10, %r1, %r7, %r8; setp.ge.u32 %p1, %r10, %r6; - @%p1 bra BB43_3; + @%p1 bra BB57_3; mov.u32 %r9, %nctaid.x; mul.lo.s32 %r3, %r9, %r1; cvta.to.global.u64 %rd1, %rd2; -BB43_2: +BB57_2: mul.wide.u32 %rd4, %r10, 8; add.s64 %rd5, %rd1, %rd4; st.global.u64 [%rd5], %rd3; add.s32 %r10, %r3, %r10; setp.lt.u32 %p2, %r10, %r6; - @%p2 bra BB43_2; + @%p2 bra BB57_2; -BB43_3: +BB57_3: ret; } @@ -5330,7 +7698,7 @@ BB43_3: mov.u32 %r5, %tid.x; mad.lo.s32 %r1, %r4, %r3, %r5; setp.ge.u32 %p1, %r1, %r2; - @%p1 bra BB44_12; + @%p1 bra BB58_12; cvta.to.global.u64 %rd5, %rd4; mul.wide.u32 %rd6, %r1, 16; @@ -5341,52 +7709,52 @@ BB43_3: cvta.to.global.u64 %rd9, %rd3; add.s64 %rd2, %rd9, %rd8; setp.gt.s32 %p2, %r8, 1; - @%p2 bra BB44_5; + @%p2 bra BB58_5; setp.eq.s32 %p6, %r8, 0; - @%p6 bra BB44_11; - bra.uni BB44_3; + @%p6 bra BB58_11; + bra.uni BB58_3; -BB44_11: +BB58_11: st.global.u64 [%rd2], %rd1; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_5: +BB58_5: setp.eq.s32 %p3, %r8, 2; - @%p3 bra BB44_10; + @%p3 bra BB58_10; setp.eq.s32 %p4, %r8, 4; - @%p4 bra BB44_9; - bra.uni BB44_7; + @%p4 bra BB58_9; + bra.uni BB58_7; -BB44_9: +BB58_9: ld.u32 %r10, [%rd1]; st.global.u32 [%rd2], %r10; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_3: +BB58_3: setp.eq.s32 %p7, %r8, 1; - @%p7 bra BB44_4; - bra.uni BB44_12; + @%p7 bra BB58_4; + bra.uni BB58_12; -BB44_4: +BB58_4: ld.u8 %rs2, [%rd1]; st.global.u8 [%rd2], %rs2; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_10: +BB58_10: ld.u16 %rs1, [%rd1]; st.global.u16 [%rd2], %rs1; - bra.uni BB44_12; + bra.uni BB58_12; -BB44_7: +BB58_7: setp.ne.s32 %p5, %r8, 8; - @%p5 bra BB44_12; + @%p5 bra BB58_12; ld.u64 %rd10, [%rd1]; st.global.u64 [%rd2], %rd10; -BB44_12: +BB58_12: ret; } @@ -5412,7 +7780,7 @@ BB44_12: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB45_2; + @%p1 bra BB59_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5424,7 +7792,7 @@ BB44_12: add.s64 %rd8, %rd6, %rd7; st.global.u32 [%rd8], %r8; -BB45_2: +BB59_2: ret; } @@ -5450,7 +7818,7 @@ BB45_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB46_2; + @%p1 bra BB60_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5462,7 +7830,7 @@ BB45_2: ld.global.u32 %r8, [%rd8]; atom.global.add.u32 %r9, [%rd6], %r8; -BB46_2: +BB60_2: ret; } @@ -5488,7 +7856,7 @@ BB46_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB47_2; + @%p1 bra BB61_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5500,7 +7868,7 @@ BB46_2: add.s64 %rd9, %rd7, %rd8; st.global.u64 [%rd9], %rd6; -BB47_2: +BB61_2: ret; } @@ -5526,7 +7894,7 @@ BB47_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB48_2; + @%p1 bra BB62_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5538,7 +7906,7 @@ BB47_2: ld.global.u64 %rd9, [%rd8]; atom.global.add.u64 %rd10, [%rd6], %rd9; -BB48_2: +BB62_2: ret; } @@ -5565,7 +7933,7 @@ BB48_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB49_2; + @%p1 bra BB63_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5577,7 +7945,7 @@ BB48_2: add.s64 %rd8, %rd6, %rd7; st.global.f32 [%rd8], %f1; -BB49_2: +BB63_2: ret; } @@ -5604,7 +7972,7 @@ BB49_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB50_2; + @%p1 bra BB64_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5616,7 +7984,7 @@ BB49_2: ld.global.f32 %f1, [%rd8]; atom.global.add.f32 %f2, [%rd6], %f1; -BB50_2: +BB64_2: ret; } @@ -5643,7 +8011,7 @@ BB50_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB51_2; + @%p1 bra BB65_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5655,7 +8023,7 @@ BB50_2: add.s64 %rd8, %rd6, %rd7; st.global.f64 [%rd8], %fd1; -BB51_2: +BB65_2: ret; } @@ -5682,7 +8050,7 @@ BB51_2: mov.u32 %r6, %tid.x; mad.lo.s32 %r1, %r5, %r4, %r6; setp.ge.u32 %p1, %r1, %r3; - @%p1 bra BB52_2; + @%p1 bra BB66_2; cvta.to.global.u64 %rd3, %rd1; div.u32 %r7, %r1, %r2; @@ -5694,7 +8062,7 @@ BB51_2: ld.global.f64 %fd1, [%rd8]; atom.global.add.f64 %fd2, [%rd6], %fd1; -BB52_2: +BB66_2: ret; } diff --git a/resources/reduce.cuh b/resources/reduce.cuh index 539b8837b..68cd14c43 100644 --- a/resources/reduce.cuh +++ b/resources/reduce.cuh @@ -55,8 +55,8 @@ __device__ void reduce(const Value *data, uint32_t size, Value *out) { value = reduce(value, shared[tid + 32]); // Block-level reduction from nb*32 -> nb values - for (int offset = 16; offset > 0; offset /= 2) - value = reduce(value, __shfl_down_sync(0xFFFFFFFF, value, offset, 32)); + for (uint32_t offset = WARP_SIZE / 2; offset > 0; offset /= 2) + value = reduce(value, __shfl_down_sync(FULL_MASK, value, offset, WARP_SIZE)); if (tid == 0) out[bid] = value; diff --git a/resources/scan.cuh b/resources/scan.cuh index 16d2491dc..4fe6eada3 100644 --- a/resources/scan.cuh +++ b/resources/scan.cuh @@ -8,158 +8,346 @@ */ #include "common.h" +#include -KERNEL void scan_small_u32(const uint32_t *in, uint32_t *out, uint32_t size) { - uint32_t *shared = SharedMemory::get(); +template struct is_same { static constexpr bool value = false; }; +template struct is_same { static constexpr bool value = true; }; - uint32_t values[4]; - *(uint4 *) values = ((const uint4 *) in)[threadIdx.x]; +template +DEVICE void scan_small(const Type *in, Type *out, uint32_t size) { + Type *shared = SharedMemory::get(); + Type values[M]; - // Unrolled exclusive scan - uint32_t sum_local = 0; - for (int i = 0; i < 4; ++i) { - uint32_t v = values[i]; - values[i] = sum_local; - sum_local += v; + // Fetch M values at once with a vector load operation + *(Vector *) values = ((const Vector *) in)[threadIdx.x]; + + // Unrolled exclusive scan over those M values + Type sum_local = Type(0); + for (uint32_t i = 0; i < M; ++i) { + Type v = values[i]; + + if constexpr (is_same::value || is_same::value) { + /* Must be careful not to process uninitialized memory beyond the + input array when performing arithmetic with floating point + numbers (could produce a NaN that breaks the result even for + in-bounds data) */ + + if (threadIdx.x * M + i >= size) + v = Type(0); + } + + if constexpr (Inclusive) { + sum_local += v; + values[i] = sum_local; + } else { + values[i] = sum_local; + sum_local += v; + } } - // Reduce using shared memory + // Block-level inclusive scan of 'sum_local' via shared memory uint32_t si = threadIdx.x; shared[si] = 0; si += blockDim.x; - shared[si] = sum_local; - uint32_t sum_block = sum_local; + Type sum_block = sum_local; for (uint32_t offset = 1; offset < blockDim.x; offset <<= 1) { + shared[si] = sum_block; __syncthreads(); sum_block = shared[si] + shared[si - offset]; __syncthreads(); - shared[si] = sum_block; } sum_block -= sum_local; - for (int i = 0; i < 4; ++i) + + for (uint32_t i = 0; i < M; ++i) values[i] += sum_block; - ((uint4 *) out)[threadIdx.x] = *(const uint4 *) values; + ((Vector *) out)[threadIdx.x] = *(const Vector *) values; } -__device__ __forceinline__ void store_cg(uint64_t *ptr, uint64_t val) { - asm volatile("st.cg.u64 [%0], %1;" : : "l"(ptr), "l"(val)); -} +template +DEVICE FINLINE void store_pair(uint64_t *ptr, uint32_t flags, T value) { + uint64_t combined; + + if constexpr (sizeof(T) == 4) { + uint32_t value_32; + memcpy(&value_32, &value, sizeof(T)); + combined = flags | (((uint64_t) value_32) << 32); + } else if constexpr (sizeof(T) == 8) { + if constexpr (is_same::value) { + combined = (value << 2) | flags; + } else { + uint64_t value_64; + memcpy(&value_64, &value, sizeof(T)); + combined = (value_64 & ~3ull) | flags; + } + } -__device__ __forceinline__ uint64_t load_cg(uint64_t *ptr) { - uint64_t retval; - asm volatile("ld.cg.u64 %0, [%1];" : "=l"(retval) : "l"(ptr)); - return retval; + asm volatile("st.cg.u64 [%0], %1;" : : "l"(ptr), "l"(combined)); } -KERNEL void scan_large_u32_init(uint64_t *out, uint32_t size) { - for (uint32_t i = blockIdx.x * blockDim.x + threadIdx.x; i < size; - i += blockDim.x * gridDim.x) - out[i] = (i < 32) ? 2 : 0; -} +template +DEVICE FINLINE void load_pair(uint64_t *ptr, uint32_t *flags_out, T *value_out) { + uint64_t tmp; + asm volatile("ld.cg.u64 %0, [%1];" : "=l"(tmp) : "l"(ptr)); -KERNEL void scan_large_u32(const uint32_t *in, uint32_t *out, uint64_t *scratch) { - uint32_t *shared = SharedMemory::get(); - uint32_t thread_count = 128; + if constexpr (sizeof(T) == 4) { + *flags_out = (uint32_t) tmp; + uint32_t value_32 = (uint32_t) (tmp >> 32); + memcpy(value_out, &value_32, sizeof(T)); + } else if constexpr (sizeof(T) == 8) { + *flags_out = ((uint32_t) tmp) & 3u; - /* Transpose inputs in shared memory using blocks of 16 values */ { - uint4 v[4]; - for (int i = 0; i < 4; ++i) - v[i] = ((const uint4 *) in)[(blockIdx.x * 4 + i) * thread_count + threadIdx.x]; + if constexpr (is_same::value) { + *value_out = tmp >> 2; + } else { + tmp &= ~3ull; + memcpy(value_out, &tmp, sizeof(T)); + } + } +} - for (int i = 0; i < 4; ++i) - ((uint4 *) shared)[i * thread_count + threadIdx.x] = v[i]; +/** + * Prefix sum for large arrays, which are processed in chunks of 128*N*M + * (usually M=N=4, so 2048) elements. This works as follows: + * + * 1. All 128 threads in a block cooperate to perform a coalesced M-wide vector + * load. This repeats N-1 more times to read a contiguous chunk of 128*N*M + * values. The loaded data is written to shared memory (in the same order). + * + * 2. Each thread fetches N*M *contiguous* elements from shared memory and + * performs a local inclusive or exclusive scan using register memory. + * This process also produces the sum of all N*M values. + * + * 3. The 128 threads perform a tree reduction via shared memory to compute + * an inclusive scan of the local sum computed in step 2. + * + * 4. The last thread stores the tentative block-wide sum in a global memory + * scratch pad. + * + * 5. All threads in the block look backwards to account for the prefix + * of predecessor blocks. This is based on the paper + * "Single-pass Parallel Prefix Scan with Decoupled Look-back" + * by Duane Merrill and Michael Garland + * + * 6. The last thread stores the final block-wide sum with correct prefix + * in the global memory scratch pad. + */ + +template +DEVICE void scan_large(const Type *in, Type *out, uint32_t size, uint64_t *scratch) { + Type *shared = SharedMemory::get(); + const uint32_t thread_count = 128; + + /* Copy a block of input data to shared memory */ { + Vector v[N]; + for (uint32_t i = 0; i < N; ++i) { + uint32_t j = (blockIdx.x * N + i) * thread_count + threadIdx.x; + Vector value = ((const Vector *) in)[j]; + + /* Must be careful not to process uninitialized memory beyond the + input array when performing arithmetic with floating point + numbers (could produce a NaN that breaks the result even for + in-bounds data) */ + if constexpr (is_same::value) { + j *= M; + if (j + 0 >= size) value.x = 0; + if (j + 1 >= size) value.y = 0; + if (j + 2 >= size) value.z = 0; + if (j + 3 >= size) value.w = 0; + } + + if constexpr (is_same::value) { + j *= M; + if (j + 0 >= size) value.x = 0; + if (j + 1 >= size) value.y = 0; + } + + v[i] = value; + } + + for (uint32_t i = 0; i < N; ++i) + ((Vector *) shared)[i * thread_count + threadIdx.x] = v[i]; } __syncthreads(); // Fetch input from shared memory - uint32_t values[16]; - for (int i = 0; i < 4; ++i) - ((uint4 *) values)[i] = ((const uint4 *) shared)[threadIdx.x * 4 + i]; + Type values[N * M]; + for (uint32_t i = 0; i < N; ++i) + ((Vector *) values)[i] = ((const Vector *) shared)[threadIdx.x * N + i]; // Unrolled exclusive scan - uint32_t sum_local = 0; - for (int i = 0; i < 16; ++i) { - uint32_t v = values[i]; - values[i] = sum_local; - sum_local += v; + Type sum_local = Type(0); + for (uint32_t i = 0; i < N * M; ++i) { + Type v = values[i]; + + if constexpr (Inclusive) { + sum_local += v; + values[i] = sum_local; + } else { + values[i] = sum_local; + sum_local += v; + } } __syncthreads(); - // Block-level reduction of partial sum over 16 elements via shared memory + // Block-level inclusive scan of 'sum_local' via shared memory uint32_t si = threadIdx.x; shared[si] = 0; si += thread_count; - shared[si] = sum_local; - uint32_t sum_block = sum_local; + Type sum_block = sum_local; for (uint32_t offset = 1; offset < thread_count; offset <<= 1) { + shared[si] = sum_block; __syncthreads(); sum_block = shared[si] + shared[si - offset]; __syncthreads(); - shared[si] = sum_block; } - // Store block-level partial inclusive scan value in global memory + // Store tentative block-level inclusive scan value in global memory + // (still missing prefix from predecessors) scratch += blockIdx.x; if (threadIdx.x == thread_count - 1) - store_cg(scratch, (((uint64_t) sum_block) << 32) | 1ull); + store_pair(scratch, 1, sum_block); + + uint32_t lane = threadIdx.x & (WARP_SIZE - 1); + Type prefix = Type(0); - uint32_t lane = threadIdx.x & (warpSize - 1); - uint32_t prefix = 0; - int32_t shift = lane - warpSize; + // Each thread looks back a different amount + int32_t shift = lane - WARP_SIZE; - /* Compute prefix due to previous blocks using warp-level primitives. - Based on "Single-pass Parallel Prefix Scan with Decoupled Look-back" - by Duane Merrill and Michael Garland */ + // Decoupled loopback iteration while (true) { - /// Prevent loop invariant code motion of loads - uint64_t temp = load_cg(scratch + shift); - uint32_t flag = (uint32_t) temp; + uint32_t flags; + Type value; - if (__any_sync(0xFFFFFFFF, flag == 0)) + // Load with volatile inline assembly to prevent loop hoisting + load_pair(scratch + shift, &flags, &value); + + // Retry if at least one of the predecessors hasn't made any progress yet + if (__any_sync(FULL_MASK, flags == 0)) continue; - uint32_t mask = __ballot_sync(0xFFFFFFFF, flag == 2), - value = (uint32_t) (temp >> 32); + uint32_t mask = __ballot_sync(FULL_MASK, flags == 2); if (mask == 0) { + // Sum partial results, look back further prefix += value; - shift -= warpSize; + shift -= WARP_SIZE; } else { + // Lane 'index' is done! uint32_t index = 31 - __clz(mask); + + // Sum up all the unconverged (higher) lanes *and* 'index' if (lane >= index) prefix += value; + break; } } - // Warp-level reduction - for (int offset = 16; offset > 0; offset /= 2) - prefix += __shfl_down_sync(0xFFFFFFFF, prefix, offset, 32); - sum_block += __shfl_sync(0xFFFFFFFF, prefix, 0); + // Warp-level sum reduction of 'prefix' + for (uint32_t offset = WARP_SIZE / 2; offset > 0; offset /= 2) + prefix += __shfl_down_sync(FULL_MASK, prefix, offset, WARP_SIZE); + + // Broadcast the reduced 'prefix' value from lane 0 + prefix = __shfl_sync(FULL_MASK, prefix, 0); + + // Offset the local block sum with the final prefix + sum_block += prefix; // Store block-level complete inclusive scan value in global memory if (threadIdx.x == thread_count - 1) - store_cg(scratch, (((uint64_t) sum_block) << 32) | 2ull); + store_pair(scratch, 2, sum_block); sum_block -= sum_local; - for (int i = 0; i < 16; ++i) + for (uint32_t i = 0; i < N * M; ++i) values[i] += sum_block; // Store input into shared memory - for (int i = 0; i < 4; ++i) - ((uint4 *) shared)[threadIdx.x*4 + i] = ((const uint4 *) values)[i]; + for (uint32_t i = 0; i < N; ++i) + ((Vector *) shared)[threadIdx.x*N + i] = ((const Vector *) values)[i]; __syncthreads(); - /* Transpose inputs in shared memory using blocks of 16 values */ { - for (int i = 0; i < 4; ++i) { - uint4 v = ((const uint4 *) shared)[i * thread_count + threadIdx.x]; - ((uint4 *) out)[(blockIdx.x * 4 + i) * thread_count + threadIdx.x] = v; + /* Copy shared memory back to global memory */ { + for (uint32_t i = 0; i < N; ++i) { + uint32_t j = i * thread_count + threadIdx.x; + Vector v = ((const Vector *) shared)[j]; + ((Vector *) out)[j + blockIdx.x * (N * thread_count)] = v; } } } + +KERNEL void scan_large_init(uint64_t *scratch, uint32_t size) { + for (uint32_t i = blockIdx.x * blockDim.x + threadIdx.x; i < size; + i += blockDim.x * gridDim.x) + scratch[i] = (i < 32) ? 2 : 0; +} + +KERNEL void scan_exc_small_u32(const uint32_t *in, uint32_t *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_exc_small_u64(const uint64_t *in, uint64_t *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_exc_small_f32(const float *in, float *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_exc_small_f64(const double *in, double *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_inc_small_u32(const uint32_t *in, uint32_t *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_inc_small_u64(const uint64_t *in, uint64_t *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_inc_small_f32(const float *in, float *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_inc_small_f64(const double *in, double *out, uint32_t size) { + scan_small(in, out, size); +} + +KERNEL void scan_exc_large_u32(const uint32_t *in, uint32_t *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_exc_large_u64(const uint64_t *in, uint64_t *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_exc_large_f32(const float *in, float *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_exc_large_f64(const double *in, double *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_inc_large_u32(const uint32_t *in, uint32_t *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_inc_large_u64(const uint64_t *in, uint64_t *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_inc_large_f32(const float *in, float *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + +KERNEL void scan_inc_large_f64(const double *in, double *out, uint32_t size, uint64_t *scratch) { + scan_large(in, out, size, scratch); +} + diff --git a/src/api.cpp b/src/api.cpp index 1f2896fcc..eb0df3c27 100644 --- a/src/api.cpp +++ b/src/api.cpp @@ -682,9 +682,10 @@ void jit_reduce(JitBackend backend, VarType type, ReduceOp rtype, const void *pt jitc_reduce(backend, type, rtype, ptr, size, out); } -void jit_scan_u32(JitBackend backend, const uint32_t *in, uint32_t size, uint32_t *out) { +void jit_scan(JitBackend backend, VarType type, int exclusive, const void *in, + uint32_t size, void *out) { lock_guard guard(state.lock); - jitc_scan_u32(backend, in, size, out); + jitc_scan(backend, type, exclusive != 0, in, size, out); } uint32_t jit_compress(JitBackend backend, const uint8_t *in, uint32_t size, uint32_t *out) { diff --git a/src/cuda.h b/src/cuda.h index 323205951..562276e0a 100644 --- a/src/cuda.h +++ b/src/cuda.h @@ -77,9 +77,11 @@ extern CUfunction *jitc_cuda_mkperm_phase_4_tiny; extern CUfunction *jitc_cuda_mkperm_phase_4_small; extern CUfunction *jitc_cuda_mkperm_phase_4_large; extern CUfunction *jitc_cuda_transpose; -extern CUfunction *jitc_cuda_scan_small_u32; -extern CUfunction *jitc_cuda_scan_large_u32; -extern CUfunction *jitc_cuda_scan_large_u32_init; +extern CUfunction *jitc_cuda_scan_exc_small[(int) VarType::Count]; +extern CUfunction *jitc_cuda_scan_exc_large[(int) VarType::Count]; +extern CUfunction *jitc_cuda_scan_inc_small[(int) VarType::Count]; +extern CUfunction *jitc_cuda_scan_inc_large[(int) VarType::Count]; +extern CUfunction *jitc_cuda_scan_large_init; extern CUfunction *jitc_cuda_compress_small; extern CUfunction *jitc_cuda_compress_large; extern CUfunction *jitc_cuda_poke[(int) VarType::Count]; diff --git a/src/cuda_core.cpp b/src/cuda_core.cpp index 802c4d5a5..5aa8a7d3d 100644 --- a/src/cuda_core.cpp +++ b/src/cuda_core.cpp @@ -25,14 +25,16 @@ CUfunction *jitc_cuda_mkperm_phase_4_tiny = nullptr; CUfunction *jitc_cuda_mkperm_phase_4_small = nullptr; CUfunction *jitc_cuda_mkperm_phase_4_large = nullptr; CUfunction *jitc_cuda_transpose = nullptr; -CUfunction *jitc_cuda_scan_small_u32 = nullptr; -CUfunction *jitc_cuda_scan_large_u32 = nullptr; -CUfunction *jitc_cuda_scan_large_u32_init = nullptr; +CUfunction *jitc_cuda_scan_exc_small[(int) VarType::Count] { }; +CUfunction *jitc_cuda_scan_exc_large[(int) VarType::Count] { }; +CUfunction *jitc_cuda_scan_inc_small[(int) VarType::Count] { }; +CUfunction *jitc_cuda_scan_inc_large[(int) VarType::Count] { }; +CUfunction *jitc_cuda_scan_large_init = nullptr; CUfunction *jitc_cuda_compress_small = nullptr; CUfunction *jitc_cuda_compress_large = nullptr; CUfunction *jitc_cuda_poke[(int)VarType::Count] { }; -CUfunction *jitc_cuda_block_copy[(int)VarType::Count] { }; -CUfunction *jitc_cuda_block_sum [(int)VarType::Count] { }; +CUfunction *jitc_cuda_block_copy[(int) VarType::Count] { }; +CUfunction *jitc_cuda_block_sum [(int) VarType::Count] { }; CUfunction *jitc_cuda_reductions[(int) ReduceOp::Count] [(int) VarType::Count] = { }; CUfunction *jitc_cuda_vcall_prepare = nullptr; @@ -141,17 +143,17 @@ bool jitc_cuda_init() { jitc_log(Info, "jit_cuda_init(): enabling CUDA backend (version %i.%i)", jitc_cuda_version_major, jitc_cuda_version_minor); + size_t asize = sizeof(CUfunction) * device_count; for (uint32_t k = 0; k < (uint32_t) VarType::Count; k++) { - for (uint32_t j = 0; j < (uint32_t) ReduceOp::Count; j++) { - jitc_cuda_reductions[j][k] = (CUfunction *) malloc_check_zero( - sizeof(CUfunction) * device_count); - } - jitc_cuda_poke[k] = (CUfunction *) malloc_check_zero( - sizeof(CUfunction) * device_count); - jitc_cuda_block_copy[k] = (CUfunction *) malloc_check_zero( - sizeof(CUfunction) * device_count); - jitc_cuda_block_sum[k] = (CUfunction *) malloc_check_zero( - sizeof(CUfunction) * device_count); + jitc_cuda_poke[k] = (CUfunction *) malloc_check_zero(asize); + jitc_cuda_block_copy[k] = (CUfunction *) malloc_check_zero(asize); + jitc_cuda_block_sum[k] = (CUfunction *) malloc_check_zero(asize); + jitc_cuda_scan_exc_small[k] = (CUfunction *) malloc_check_zero(asize); + jitc_cuda_scan_inc_small[k] = (CUfunction *) malloc_check_zero(asize); + jitc_cuda_scan_exc_large[k] = (CUfunction *) malloc_check_zero(asize); + jitc_cuda_scan_inc_large[k] = (CUfunction *) malloc_check_zero(asize); + for (uint32_t j = 0; j < (uint32_t) ReduceOp::Count; j++) + jitc_cuda_reductions[j][k] = (CUfunction *) malloc_check_zero(asize); } jitc_cuda_module = @@ -275,9 +277,7 @@ bool jitc_cuda_init() { LOAD(mkperm_phase_4_small); LOAD(mkperm_phase_4_large); LOAD(transpose); - LOAD(scan_small_u32); - LOAD(scan_large_u32); - LOAD(scan_large_u32_init); + LOAD(scan_large_init); LOAD(compress_small); LOAD(compress_large); LOAD(vcall_prepare); @@ -326,6 +326,30 @@ bool jitc_cuda_init() { jitc_cuda_reductions[j][k][i] = func; } } + + snprintf(name, sizeof(name), "scan_exc_small_%s", type_name_short[k]); + if (strstr(kernels_list, name)) { + cuda_check(cuModuleGetFunction(&func, m, name)); + jitc_cuda_scan_exc_small[k][i] = func; + } + + snprintf(name, sizeof(name), "scan_inc_small_%s", type_name_short[k]); + if (strstr(kernels_list, name)) { + cuda_check(cuModuleGetFunction(&func, m, name)); + jitc_cuda_scan_inc_small[k][i] = func; + } + + snprintf(name, sizeof(name), "scan_exc_large_%s", type_name_short[k]); + if (strstr(kernels_list, name)) { + cuda_check(cuModuleGetFunction(&func, m, name)); + jitc_cuda_scan_exc_large[k][i] = func; + } + + snprintf(name, sizeof(name), "scan_inc_large_%s", type_name_short[k]); + if (strstr(kernels_list, name)) { + cuda_check(cuModuleGetFunction(&func, m, name)); + jitc_cuda_scan_inc_large[k][i] = func; + } } Device device; @@ -406,14 +430,16 @@ void jitc_cuda_shutdown() { Z(jitc_cuda_mkperm_phase_4_small); Z(jitc_cuda_mkperm_phase_4_large); Z(jitc_cuda_transpose); - Z(jitc_cuda_scan_small_u32); - Z(jitc_cuda_scan_large_u32); - Z(jitc_cuda_scan_large_u32_init); + Z(jitc_cuda_scan_large_init); Z(jitc_cuda_compress_small); Z(jitc_cuda_compress_large); Z(jitc_cuda_module); for (uint32_t k = 0; k < (uint32_t) VarType::Count; k++) { + Z(jitc_cuda_scan_exc_small[k]); + Z(jitc_cuda_scan_exc_large[k]); + Z(jitc_cuda_scan_inc_small[k]); + Z(jitc_cuda_scan_inc_large[k]); Z(jitc_cuda_poke[k]); Z(jitc_cuda_block_copy[k]); Z(jitc_cuda_block_sum[k]); diff --git a/src/util.cpp b/src/util.cpp index 42bbbaf4c..41b301c05 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -144,7 +144,7 @@ void jitc_memset_async(JitBackend backend, void *ptr, uint32_t size_, device.get_launch_config(&block_count, &thread_count, size_); void *args[] = { &ptr, &size_, (void *) src }; CUfunction kernel = jitc_cuda_fill_64[device.id]; - jitc_submit_gpu(KernelType::Reduce, kernel, block_count, + jitc_submit_gpu(KernelType::Other, kernel, block_count, thread_count, 0, ts->stream, args, nullptr, size_); } @@ -458,51 +458,135 @@ bool jitc_any(JitBackend backend, uint8_t *values, uint32_t size) { return result; } +template +void sum_reduce_1(uint32_t start, uint32_t end, const void *in_, uint32_t index, + void *scratch) { + const T *in = (const T *) in_; + T accum = T(0); + for (uint32_t i = start; i != end; ++i) + accum += in[i]; + ((T*) scratch)[index] = accum; +} + +template +void sum_reduce_2(uint32_t start, uint32_t end, const void *in_, void *out_, + uint32_t index, const void *scratch, bool exclusive) { + const T *in = (const T *) in_; + T *out = (T *) out_; + + T accum; + if (scratch) + accum = ((const T *) scratch)[index]; + else + accum = T(0); + + if (exclusive) { + for (uint32_t i = start; i != end; ++i) { + T value = in[i]; + out[i] = accum; + accum += value; + } + } else { + for (uint32_t i = start; i != end; ++i) { + T value = in[i]; + accum += value; + out[i] = accum; + } + } +} + +void sum_reduce_1(VarType vt, uint32_t start, uint32_t end, const void *in, uint32_t index, void *scratch) { + switch (vt) { + case VarType::UInt32: sum_reduce_1(start, end, in, index, scratch); break; + case VarType::UInt64: sum_reduce_1(start, end, in, index, scratch); break; + case VarType::Float32: sum_reduce_1 (start, end, in, index, scratch); break; + case VarType::Float64: sum_reduce_1 (start, end, in, index, scratch); break; + default: + jitc_raise("jit_scan(): type %s is not supported!", type_name[(int) vt]); + } +} + +void sum_reduce_2(VarType vt, uint32_t start, uint32_t end, const void *in, void *out, uint32_t index, const void *scratch, bool exclusive) { + switch (vt) { + case VarType::UInt32: sum_reduce_2(start, end, in, out, index, scratch, exclusive); break; + case VarType::UInt64: sum_reduce_2(start, end, in, out, index, scratch, exclusive); break; + case VarType::Float32: sum_reduce_2 (start, end, in, out, index, scratch, exclusive); break; + case VarType::Float64: sum_reduce_2 (start, end, in, out, index, scratch, exclusive); break; + default: + jitc_raise("jit_scan(): type %s is not supported!", type_name[(int) vt]); + } +} + /// Exclusive prefix sum -void jitc_scan_u32(JitBackend backend, const uint32_t *in, uint32_t size, uint32_t *out) { +void jitc_scan(JitBackend backend, VarType vt, bool exclusive, + const void *in, uint32_t size, void *out) { + if (size == 0) + return; + if (vt == VarType::Int32) + vt = VarType::UInt32; + + const uint32_t isize = type_size[(int) vt]; ThreadState *ts = thread_state(backend); if (backend == JitBackend::CUDA) { const Device &device = state.devices[ts->device]; scoped_set_context guard(ts->context); - if (size == 0) { - return; - } else if (size == 1) { - cuda_check(cuMemsetD8Async((CUdeviceptr) out, 0, sizeof(uint32_t), - ts->stream)); - } else if (size <= 4096) { - /// Kernel for small arrays - uint32_t items_per_thread = 4, + if (size == 1) { + if (exclusive) { + cuda_check(cuMemsetD8Async((CUdeviceptr) out, 0, isize, ts->stream)); + } else { + if (in != out) + cuda_check(cuMemcpyAsync((CUdeviceptr) out, + (CUdeviceptr) in, isize, + ts->stream)); + } + } else if ((isize == 4 && size <= 4096) || (isize == 8 && size < 2048)) { + // Kernel for small arrays + uint32_t items_per_thread = isize == 8 ? 2 : 4, thread_count = round_pow2((size + items_per_thread - 1) / items_per_thread), - shared_size = thread_count * 2 * sizeof(uint32_t); + shared_size = thread_count * 2 * isize; jitc_log(Debug, - "jit_scan(" DRJIT_PTR " -> " DRJIT_PTR - ", size=%u, type=small, threads=%u, shared=%u)", - (uintptr_t) in, (uintptr_t) out, size, thread_count, - shared_size); + "jit_scan(" DRJIT_PTR " -> " DRJIT_PTR + ", type=%s, exclusive=%i, size=%u, type=small, threads=%u, shared=%u)", + (uintptr_t) in, (uintptr_t) out, type_name[(int) vt], exclusive, size, + thread_count, shared_size); + + CUfunction kernel = + (exclusive ? jitc_cuda_scan_exc_small + : jitc_cuda_scan_inc_small)[(int) vt][device.id]; + + if (!kernel) + jitc_raise("jit_scan(): type %s is not supported!", type_name[(int) vt]); void *args[] = { &in, &out, &size }; jitc_submit_gpu( - KernelType::Other, jitc_cuda_scan_small_u32[device.id], 1, + KernelType::Other, kernel, 1, thread_count, shared_size, ts->stream, args, nullptr, size); } else { - /// Kernel for large arrays - uint32_t items_per_thread = 16, + // Kernel for large arrays + uint32_t items_per_thread = isize == 8 ? 8 : 16, thread_count = 128, items_per_block = items_per_thread * thread_count, block_count = (size + items_per_block - 1) / items_per_block, - shared_size = items_per_block * sizeof(uint32_t), + shared_size = items_per_block * isize, scratch_items = block_count + 32; jitc_log(Debug, - "jit_scan(" DRJIT_PTR " -> " DRJIT_PTR - ", size=%u, type=large, blocks=%u, threads=%u, shared=%u, " - "scratch=%u)", - (uintptr_t) in, (uintptr_t) out, size, block_count, - thread_count, shared_size, scratch_items * 4); + "jit_scan(" DRJIT_PTR " -> " DRJIT_PTR + ", type=%s, exclusive=%i, size=%u, type=large, blocks=%u, threads=%u, " + "shared=%u, scratch=%zu)", + (uintptr_t) in, (uintptr_t) out, type_name[(int) vt], exclusive, size, + block_count, thread_count, shared_size, scratch_items * sizeof(uint64_t)); + + CUfunction kernel = + (exclusive ? jitc_cuda_scan_exc_large + : jitc_cuda_scan_inc_large)[(int) vt][device.id]; + + if (!kernel) + jitc_raise("jit_scan(): type %s is not supported!", type_name[(int) vt]); uint64_t *scratch = (uint64_t *) jitc_malloc( AllocType::Device, scratch_items * sizeof(uint64_t)); @@ -514,14 +598,13 @@ void jitc_scan_u32(JitBackend backend, const uint32_t *in, uint32_t size, uint32 void *args[] = { &scratch, &scratch_items }; jitc_submit_gpu(KernelType::Other, - jitc_cuda_scan_large_u32_init[device.id], + jitc_cuda_scan_large_init[device.id], block_count_init, thread_count_init, 0, ts->stream, args, nullptr, scratch_items); scratch += 32; // move beyond padding area - void *args_2[] = { &in, &out, &scratch }; - jitc_submit_gpu(KernelType::Other, - jitc_cuda_scan_large_u32[device.id], block_count, + void *args_2[] = { &in, &out, &size, &scratch }; + jitc_submit_gpu(KernelType::Other, kernel, block_count, thread_count, shared_size, ts->stream, args_2, nullptr, scratch_items); scratch -= 32; @@ -540,48 +623,32 @@ void jitc_scan_u32(JitBackend backend, const uint32_t *in, uint32_t size, uint32 ", size=%u, block_size=%u, blocks=%u)", (uintptr_t) in, (uintptr_t) out, size, block_size, blocks); - uint32_t *scratch = nullptr; + void *scratch = nullptr; if (blocks > 1) { - scratch = (uint32_t *) jitc_malloc(AllocType::HostAsync, - blocks * sizeof(uint32_t)); + scratch = (void *) jitc_malloc(AllocType::HostAsync, blocks * isize); jitc_submit_cpu( KernelType::Other, - [block_size, size, in, scratch](uint32_t index) { + [block_size, size, in, vt, scratch](uint32_t index) { uint32_t start = index * block_size, end = std::min(start + block_size, size); - uint32_t accum = 0; - for (uint32_t i = start; i != end; ++i) - accum += in[i]; - - scratch[index] = accum; + sum_reduce_1(vt, start, end, in, index, scratch); }, + size, blocks); - size, blocks - ); - - jitc_scan_u32(backend, scratch, blocks, scratch); + jitc_scan(backend, vt, true, scratch, blocks, scratch); } jitc_submit_cpu( KernelType::Other, - [block_size, size, in, out, scratch](uint32_t index) { + [block_size, size, in, out, vt, scratch, exclusive](uint32_t index) { uint32_t start = index * block_size, end = std::min(start + block_size, size); - uint32_t accum = 0; - if (scratch) - accum = scratch[index]; - - for (uint32_t i = start; i != end; ++i) { - uint32_t value = in[i]; - out[i] = accum; - accum += value; - } + sum_reduce_2(vt, start, end, in, out, index, scratch, exclusive); }, - size, blocks ); @@ -652,7 +719,7 @@ uint32_t jitc_compress(JitBackend backend, const uint8_t *in, uint32_t size, uin void *args[] = { &scratch, &scratch_items }; jitc_submit_gpu(KernelType::Other, - jitc_cuda_scan_large_u32_init[device.id], + jitc_cuda_scan_large_init[device.id], block_count_init, thread_count_init, 0, ts->stream, args, nullptr, scratch_items); @@ -692,7 +759,7 @@ uint32_t jitc_compress(JitBackend backend, const uint8_t *in, uint32_t size, uin if (blocks > 1) { scratch = (uint32_t *) jitc_malloc(AllocType::HostAsync, - blocks * sizeof(uint32_t)); + blocks * sizeof(uint32_t)); jitc_submit_cpu( KernelType::Other, @@ -710,7 +777,7 @@ uint32_t jitc_compress(JitBackend backend, const uint8_t *in, uint32_t size, uin size, blocks ); - jitc_scan_u32(backend, scratch, blocks, scratch); + jitc_scan(backend, VarType::UInt32, true, scratch, blocks, scratch); } jitc_submit_cpu( @@ -881,7 +948,8 @@ uint32_t jitc_mkperm(JitBackend backend, const uint32_t *ptr, uint32_t size, cuda_transpose(ts, buckets_1, buckets_2, bucket_size_all / bucket_size_1, bucket_count); - jitc_scan_u32(backend, buckets_2, bucket_size_all / sizeof(uint32_t), buckets_2); + jitc_scan(backend, VarType::UInt32, true, buckets_2, + bucket_size_all / sizeof(uint32_t), buckets_2); if (needs_transpose) cuda_transpose(ts, buckets_2, buckets_1, bucket_count, diff --git a/src/util.h b/src/util.h index f41457a24..bbeded3ea 100644 --- a/src/util.h +++ b/src/util.h @@ -16,8 +16,8 @@ extern const char *reduction_name[(int) ReduceOp::Count]; /// Fill a device memory region with constants of a given type -extern void jitc_memset_async(JitBackend backend, void *ptr, uint32_t size, uint32_t isize, - const void *src); +extern void jitc_memset_async(JitBackend backend, void *ptr, uint32_t size, + uint32_t isize, const void *src); /// Reduce the given array to a single value extern void jitc_reduce(JitBackend backend, VarType type, ReduceOp rtype, @@ -30,8 +30,8 @@ extern bool jitc_all(JitBackend backend, uint8_t *values, uint32_t size); extern bool jitc_any(JitBackend backend, uint8_t *values, uint32_t size); /// Exclusive prefix sum -extern void jitc_scan_u32(JitBackend backend, const uint32_t *in, uint32_t size, - uint32_t *out); +extern void jitc_scan(JitBackend backend, VarType vt, bool exclusive, + const void *in, uint32_t size, void *out); /// Mask compression extern uint32_t jitc_compress(JitBackend backend, const uint8_t *in, uint32_t size, diff --git a/tests/reductions.cpp b/tests/reductions.cpp index 017bf7abe..c6e371070 100644 --- a/tests/reductions.cpp +++ b/tests/reductions.cpp @@ -33,7 +33,7 @@ TEST_BOTH(01_all_any) { } } -TEST_BOTH(02_scan) { +TEST_BOTH(02_scan_exc_u32) { scoped_set_log_level ssll(LogLevel::Info); for (uint32_t i = 0; i < 100; ++i) { uint32_t size = 23*i*i*i + 1; @@ -42,7 +42,7 @@ TEST_BOTH(02_scan) { if (i < 15) { result = arange(size); - ref = result * (result - 1) / 2; + ref = (result * (result - 1)) / 2; } else { result = full(1, size); ref = arange(size); @@ -50,12 +50,148 @@ TEST_BOTH(02_scan) { jit_var_schedule(result.index()); jit_var_schedule(ref.index()); jit_eval(); - jit_scan_u32(Float::Backend, result.data(), size, result.data()); + jit_scan(Float::Backend, VarType::UInt32, true, result.data(), size, result.data()); jit_assert(result == ref); } } -TEST_BOTH(03_compress) { +TEST_BOTH(03_scan_inc_u32) { + scoped_set_log_level ssll(LogLevel::Info); + for (uint32_t i = 0; i < 100; ++i) { + uint32_t size = 23*i*i*i + 1; + + UInt32 result, ref; + + if (i < 15) { + result = arange(size); + ref = ((result + 1) * result) / 2; + } else { + result = full(1, size); + ref = arange(size) + 1; + } + jit_var_schedule(result.index()); + jit_var_schedule(ref.index()); + jit_eval(); + jit_scan(Float::Backend, VarType::UInt32, false, result.data(), size, result.data()); + jit_assert(result == ref); + } +} + +TEST_BOTH(04_scan_exc_f32) { + scoped_set_log_level ssll(LogLevel::Info); + for (uint32_t i = 0; i < 80; ++i) { + uint32_t size = 23*i*i*i + 1; + + Float result = full(1, size); + Float ref = arange(size); + jit_var_schedule(result.index()); + jit_var_schedule(ref.index()); + jit_scan(Float::Backend, VarType::Float32, true, result.data(), size, result.data()); + float f = hsum(abs(result - ref)).read(0); + jit_assert(f < 1e-6); + } +} + +TEST_BOTH(05_scan_inc_f32) { + for (uint32_t i = 0; i < 80; ++i) { + uint32_t size = 23*i*i*i + 1; + + Float result = full(1, size); + Float ref = arange(size) + 1.f; + jit_var_schedule(result.index()); + jit_var_schedule(ref.index()); + jit_scan(Float::Backend, VarType::Float32, false, result.data(), size, result.data()); + float f = hsum(abs(result - ref)).read(0); + jit_assert(f < 1e-6); + } +} + +TEST_BOTH(06_scan_exc_u64) { + using UInt64 = typename UInt32::template ReplaceValue; + scoped_set_log_level ssll(LogLevel::Info); + for (uint32_t i = 0; i < 100; ++i) { + uint32_t size = 23*i*i*i + 1; + + UInt64 result, ref; + + if (i < 15) { + result = arange(size); + ref = (result * (result - 1)) / 2; + } else { + result = full(1, size); + ref = arange(size); + } + jit_var_schedule(result.index()); + jit_var_schedule(ref.index()); + jit_eval(); + jit_scan(UInt64::Backend, VarType::UInt64, true, result.data(), size, result.data()); + + jit_assert(result == ref); + } +} + +TEST_BOTH(07_scan_inc_u64) { + using UInt64 = typename UInt32::template ReplaceValue; + scoped_set_log_level ssll(LogLevel::Info); + for (uint32_t i = 0; i < 100; ++i) { + uint32_t size = 23*i*i*i + 1; + + UInt64 result, ref; + + if (i < 15) { + result = arange(size); + ref = (result * (result + 1)) / 2; + } else { + result = full(1, size); + ref = arange(size) + 1; + } + jit_var_schedule(result.index()); + jit_var_schedule(ref.index()); + jit_eval(); + jit_scan(UInt64::Backend, VarType::UInt64, false, result.data(), size, result.data()); + + jit_assert(result == ref); + } +} + +TEST_BOTH(08_scan_exc_f64) { + using Double = typename Float::template ReplaceValue; + scoped_set_log_level ssll(LogLevel::Info); + for (uint32_t i = 0; i < 100; ++i) { + uint32_t size = 23*i*i*i + 1; + + Double input = full(1, size); + Double output = empty(size); + Double ref = arange(size); + jit_var_schedule(input.index()); + jit_var_schedule(ref.index()); + jit_eval(); + jit_scan(Double::Backend, VarType::Float64, true, input.data(), size, output.data()); + double f = hsum(abs(output - ref)).read(0); + jit_assert(f < 1e-6); + } +} + +TEST_BOTH(09_scan_inc_f64) { + using Double = typename Float::template ReplaceValue; + scoped_set_log_level ssll(LogLevel::Info); + for (uint32_t i = 0; i < 100; ++i) { + uint32_t size = 23*i*i*i + 1; + + Double input = full(1, size); + Double output = empty(size); + Double ref = arange(size)+1.0; + jit_var_schedule(input.index()); + jit_var_schedule(ref.index()); + jit_eval(); + jit_scan(Double::Backend, VarType::Float64, false, input.data(), size, output.data()); + double f = hsum(abs(output - ref)).read(0); + jit_assert(f < 1e-6); + } +} + + +TEST_BOTH(10_compress) { scoped_set_log_level ssll(LogLevel::Info); for (uint32_t i = 0; i < 30; ++i) { uint32_t size = 23*i*i*i + 1; @@ -98,7 +234,7 @@ TEST_BOTH(03_compress) { } } -TEST_BOTH(04_mkperm) { +TEST_BOTH(11_mkperm) { scoped_set_log_level ssll(LogLevel::Info); srand(0); for (uint32_t i = 0; i < 30; ++i) { @@ -186,20 +322,10 @@ TEST_BOTH(04_mkperm) { } #if 0 -TEST_BOTH(05_block_ops) { +TEST_BOTH(12_block_ops) { Float a(0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f); jit_log(Info, "block_copy: %s\n", block_copy(a, 3).str()); jit_log(Info, "block_sum: %s\n", block_sum(a, 3).str()); } - -TEST_LLVM(06_parallel_scatter_reduce) { - scoped_set_log_level ssll(LogLevel::Info); - UInt32 a = zero(10); - - UInt32 index = block_copy(arange(10), 1024 * 1024 + 10); - scatter_reduce(a, UInt32(1), index, ReduceOp::Add); - UInt32 ref = full(1024 * 1024 + 10, 10); - jit_assert(ref == a); -} #endif