From e5f03247609659fabf275458c411c074fcbd1f2b Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Tue, 16 Jun 2026 19:44:57 +0100 Subject: [PATCH 01/15] scripts: llext: support relocatable link bypass When CONFIG_LLEXT_TYPE_ELF_RELOCATABLE is active, bypass appending static address flags (-Ttext, --section-start, -Tdata) in the linker helper script. This keeps section base addresses at 0. Also adjust the offset calculator to avoid integer parsing errors when all section addresses are set to 0. Signed-off-by: Liam Girdwood --- scripts/llext_offset_calc.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/llext_offset_calc.py b/scripts/llext_offset_calc.py index 0f302a8cbe12..2a07984b725f 100755 --- a/scripts/llext_offset_calc.py +++ b/scripts/llext_offset_calc.py @@ -47,6 +47,9 @@ def get_elf_size(elf_name): if section.header['sh_addr'] + section.header['sh_size'] > end: end = section.header['sh_addr'] + section.header['sh_size'] + if start == 0xffffffff: + return 0 + size = end - start return size From 9f31eecbd08598136e09650493223f2a1be0b275 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Tue, 16 Jun 2026 19:44:59 +0100 Subject: [PATCH 02/15] library_manager: llext: implement page-level VMA allocator for relocatable modules Implement page-level virtual memory mapping using Zephyr's sys_bitarray utility over the library region. Compile section layout at load-time to allocate virtual addresses and rewrite section sh_addr headers in-place. This enables Zephyr LLEXT to naturally relocate references. Signed-off-by: Liam Girdwood --- app/llext_relocatable.conf | 1 + src/include/sof/lib_manager.h | 3 + src/library_manager/llext_manager.c | 509 ++++++++++++++++++++++- src/library_manager/llext_manager_dram.c | 5 + 4 files changed, 515 insertions(+), 3 deletions(-) diff --git a/app/llext_relocatable.conf b/app/llext_relocatable.conf index 76b5339e1bb0..ce8dafe3a6aa 100644 --- a/app/llext_relocatable.conf +++ b/app/llext_relocatable.conf @@ -1 +1,2 @@ CONFIG_LLEXT_TYPE_ELF_RELOCATABLE=y +CONFIG_LLEXT_EXPORT_BUILTINS_BY_SLID=y diff --git a/src/include/sof/lib_manager.h b/src/include/sof/lib_manager.h index 019695be69ef..0c4c59dbb486 100644 --- a/src/include/sof/lib_manager.h +++ b/src/include/sof/lib_manager.h @@ -94,6 +94,7 @@ enum { LIB_MANAGER_DATA, LIB_MANAGER_RODATA, LIB_MANAGER_BSS, + LIB_MANAGER_EXPORT, LIB_MANAGER_COLD, LIB_MANAGER_COLDRODATA, LIB_MANAGER_N_SEGMENTS, @@ -118,6 +119,8 @@ struct lib_manager_module { bool mapped; bool domain_dp; struct lib_manager_segment_desc segment[LIB_MANAGER_N_SEGMENTS]; + uintptr_t vma_base; + size_t vma_size; }; struct lib_manager_mod_ctx { diff --git a/src/library_manager/llext_manager.c b/src/library_manager/llext_manager.c index 69e27c0c964e..7304b0d1dee5 100644 --- a/src/library_manager/llext_manager.c +++ b/src/library_manager/llext_manager.c @@ -52,6 +52,368 @@ extern struct tr_ctx lib_manager_tr; #define PAGE_SZ CONFIG_MM_DRV_PAGE_SIZE +#include +#include + +#define LLEXT_LIB_PAGES (CONFIG_LIBRARY_REGION_SIZE / PAGE_SZ) +SYS_BITARRAY_DEFINE_STATIC(lib_vma_bitarray, LLEXT_LIB_PAGES); + +static uintptr_t llext_manager_alloc_vma(size_t size) +{ + size_t num_pages = ALIGN_UP(size, PAGE_SZ) / PAGE_SZ; + size_t offset; + int ret; + + ret = sys_bitarray_alloc(&lib_vma_bitarray, num_pages, &offset); + if (ret < 0) { + tr_err(&lib_manager_tr, "llext_manager_alloc_vma: failed to allocate %zu pages", num_pages); + return 0; + } + + return CONFIG_LIBRARY_BASE_ADDRESS + offset * PAGE_SZ; +} + +void llext_manager_free_vma(uintptr_t vma, size_t size) +{ + if (!vma || !size) + return; + + size_t num_pages = ALIGN_UP(size, PAGE_SZ) / PAGE_SZ; + size_t offset = (vma - CONFIG_LIBRARY_BASE_ADDRESS) / PAGE_SZ; + + sys_bitarray_free(&lib_vma_bitarray, num_pages, offset); +} + +static enum llext_mem llext_manager_get_sec_mem_idx(const char *name, const elf_shdr_t *shdr) +{ + if (strcmp(name, ".exported_sym") == 0) + return LLEXT_MEM_EXPORT; + + switch (shdr->sh_type) { + case SHT_NOBITS: + return LLEXT_MEM_BSS; + case SHT_PROGBITS: + if (shdr->sh_flags & SHF_EXECINSTR) + return LLEXT_MEM_TEXT; + else if (shdr->sh_flags & SHF_WRITE) + return LLEXT_MEM_DATA; + else + return LLEXT_MEM_RODATA; + case SHT_PREINIT_ARRAY: + return LLEXT_MEM_PREINIT; + case SHT_INIT_ARRAY: + return LLEXT_MEM_INIT; + case SHT_FINI_ARRAY: + return LLEXT_MEM_FINI; + default: + return LLEXT_MEM_COUNT; + } +} + +/* + * llext_manager_layout_sections() rebases the addresses of recognized + * sections in place, directly in the raw ELF buffer, before llext_load() + * ever parses the file. Two classes of data in the file still reference the + * OLD (pre-rebase) addresses after that mutation, and need fixing up + * ourselves: + * + * 1. .rela.dyn/.rela.plt r_offset fields (byte-for-byte copies from the + * build-time ELF) -- otherwise llext_link_plt()'s llext_file_offset() + * lookup fails ("Offset not found") for every relocation whose target + * section moved. + * + * 2. R_XTENSA_RELATIVE relocations are a complete no-op in Zephyr's llext + * core whenever ldr_parm->pre_located is set (see + * arch_elf_relocate_local() in arch/xtensa/core/elf.c), under the + * assumption that a pre-located relative relocation's stored pointer + * value is already correct. SOF's rebase step violates that assumption, + * so we must apply the same delta to the pointer VALUE stored at each + * R_XTENSA_RELATIVE's target ourselves. + * + * 3. .symtab/.dynsym st_value fields: llext_copy_symbols() takes st_value + * as the final absolute address, unmodified, whenever pre_located is + * set (same assumption as above, same violation) -- this feeds both + * llext_find_sym() lookups (R_XTENSA_GLOB_DAT resolution) and exported + * symbol addresses, so stale st_value silently propagates stale + * addresses through both. + * + * Track the (old_addr, size, delta, section index) of every section + * actually rebased during the real (vma_base != 0) pass, then walk the ELF + * a second time applying all three fixups above. + */ +struct llext_manager_sec_rebase { + uintptr_t old_addr; + size_t size; + ptrdiff_t delta; + int shdr_idx; +}; + +#define LLEXT_MANAGER_MAX_REBASED_SECTIONS 32 + +/* Keep in sync with arch/xtensa/core/elf.c -- not exposed via a shared header. */ +#define SOF_LLEXT_R_XTENSA_RELATIVE 5 + +static ptrdiff_t llext_manager_delta_for_old_addr(const struct llext_manager_sec_rebase *rebase, + int rebase_cnt, uintptr_t old_addr) +{ + for (int k = 0; k < rebase_cnt; k++) { + if (old_addr >= rebase[k].old_addr && old_addr < rebase[k].old_addr + rebase[k].size) + return rebase[k].delta; + } + + return 0; +} + +static bool llext_manager_addr_to_file_off(uint8_t *elf_buf, uintptr_t addr, size_t *file_off) +{ + elf_ehdr_t *hdr = (elf_ehdr_t *)elf_buf; + elf_shdr_t *shdrs = (elf_shdr_t *)(elf_buf + hdr->e_shoff); + + for (int i = 0; i < hdr->e_shnum; i++) { + elf_shdr_t *shdr = shdrs + i; + + if (!(shdr->sh_flags & SHF_ALLOC) || !shdr->sh_size) + continue; + + if (addr >= shdr->sh_addr && addr < shdr->sh_addr + shdr->sh_size) { + *file_off = shdr->sh_offset + (addr - shdr->sh_addr); + return true; + } + } + + return false; +} + +static void llext_manager_fixup_rela(uint8_t *elf_buf, + const struct llext_manager_sec_rebase *rebase, + int rebase_cnt) +{ + elf_ehdr_t *hdr = (elf_ehdr_t *)elf_buf; + elf_shdr_t *shdrs = (elf_shdr_t *)(elf_buf + hdr->e_shoff); + + for (int i = 0; i < hdr->e_shnum; i++) { + elf_shdr_t *shdr = shdrs + i; + + if (shdr->sh_type != SHT_RELA) + continue; + + int cnt = shdr->sh_size / shdr->sh_entsize; + elf_rela_t *relas = (elf_rela_t *)(elf_buf + shdr->sh_offset); + + for (int j = 0; j < cnt; j++) { + elf_rela_t *rela = relas + j; + ptrdiff_t r_delta = llext_manager_delta_for_old_addr(rebase, rebase_cnt, + rela->r_offset); + + if (!r_delta) + continue; + + rela->r_offset += r_delta; + + if (ELF_R_TYPE(rela->r_info) == SOF_LLEXT_R_XTENSA_RELATIVE) { + size_t file_off; + + if (llext_manager_addr_to_file_off(elf_buf, rela->r_offset, + &file_off)) { + uint32_t *val = (uint32_t *)(elf_buf + file_off); + ptrdiff_t v_delta = llext_manager_delta_for_old_addr( + rebase, rebase_cnt, *val); + + *val += v_delta; + } + } + } + } +} + +static void llext_manager_fixup_symtab(uint8_t *elf_buf, + const struct llext_manager_sec_rebase *rebase, + int rebase_cnt) +{ + elf_ehdr_t *hdr = (elf_ehdr_t *)elf_buf; + elf_shdr_t *shdrs = (elf_shdr_t *)(elf_buf + hdr->e_shoff); + + for (int i = 0; i < hdr->e_shnum; i++) { + elf_shdr_t *shdr = shdrs + i; + + if (shdr->sh_type != SHT_SYMTAB && shdr->sh_type != SHT_DYNSYM) + continue; + + int cnt = shdr->sh_size / shdr->sh_entsize; + elf_sym_t *syms = (elf_sym_t *)(elf_buf + shdr->sh_offset); + + for (int j = 0; j < cnt; j++) { + elf_sym_t *sym = syms + j; + int k; + + for (k = 0; k < rebase_cnt; k++) { + if (sym->st_shndx == rebase[k].shdr_idx) { + sym->st_value += rebase[k].delta; + break; + } + } + } + } +} + +static size_t llext_manager_layout_sections(uint8_t *elf_buf, uintptr_t vma_base) +{ + elf_ehdr_t *hdr = (elf_ehdr_t *)elf_buf; + elf_shdr_t *shdrs = (elf_shdr_t *)(elf_buf + hdr->e_shoff); + elf_shdr_t *shstr_shdr = shdrs + hdr->e_shstrndx; + const char *shstrtab = (const char *)(elf_buf + shstr_shdr->sh_offset); + + uintptr_t current_vma = vma_base; + enum llext_mem last_region = LLEXT_MEM_COUNT; + struct llext_manager_sec_rebase rebase[LLEXT_MANAGER_MAX_REBASED_SECTIONS]; + int rebase_cnt = 0; + bool region_opened[LLEXT_MEM_COUNT] = { false }; + ptrdiff_t region_delta[LLEXT_MEM_COUNT] = { 0 }; + + for (int i = 0; i < hdr->e_shnum; i++) { + elf_shdr_t *shdr = shdrs + i; + + if (!(shdr->sh_flags & SHF_ALLOC) || shdr->sh_size == 0) + continue; + + const char *name = shstrtab + shdr->sh_name; + enum llext_mem s_region = llext_manager_get_sec_mem_idx(name, shdr); + + if (s_region == LLEXT_MEM_BSS) { + /* + * For layout purposes only, treat .bss as part of the DATA + * region rather than its own distinct region. llext_manager_ + * load_module() requires .bss to be immediately contiguous + * with writable DATA (they share a single VMA mapping, since + * .bss has no file backing of its own and just extends + * DATA's mapped-and-zeroed tail). If .bss were laid out as + * its own region, any OTHER region (e.g. .exported_sym) + * appearing between DATA's last member and .bss in file order + * would consume the address range .bss needs to be adjacent + * to, forcing .bss onto a spurious extra page beyond where + * DATA actually ends. Aliasing to LLEXT_MEM_DATA here reuses + * the exact same delta/contiguous-packing path already used + * for DATA members that reappear after such an interruption. + * This only affects the rebased sh_addr written below; it + * does not change which segment .bss is reported under + * elsewhere (that comes from Zephyr's own section type-based + * classification, independent of this local variable). + */ + s_region = LLEXT_MEM_DATA; + } + + if (s_region == LLEXT_MEM_COUNT) { + /* + * Not part of any llext region (e.g. .dynamic) and its own + * sh_addr is left untouched below. But it still occupies + * real file space, possibly between two sections of a + * region that IS being repacked here -- account for its + * slot so later same-region sections keep the same + * relative spacing that llext_map_sections()'s ET_DYN + * consistency check (sh_addr delta == sh_offset delta) + * requires. + */ + current_vma = ALIGN_UP(current_vma, shdr->sh_addralign); + current_vma += shdr->sh_size; + continue; + } + + if (region_opened[s_region]) { + /* + * This region already had a section rebased earlier and is + * reappearing now, with a genuinely different region's + * section(s) interleaved in between in file order (e.g. + * .exported_sym sitting between two .data-region members). + * Reuse the region's already-established rebase delta so + * this member keeps the exact same (sh_addr - sh_offset) as + * the region's first member -- that constant delta is what + * llext_map_sections()'s ET_DYN consistency check actually + * requires. Re-packing it back into the forward current_vma + * layout instead (as if it were a fresh region) would insert + * a spurious page-aligned gap that doesn't exist in the + * original file. + */ + if (vma_base) { + uintptr_t old_addr = shdr->sh_addr; + uintptr_t new_addr = (uintptr_t)((ptrdiff_t)old_addr + + region_delta[s_region]); + + if (new_addr != old_addr && rebase_cnt < ARRAY_SIZE(rebase)) { + rebase[rebase_cnt].old_addr = old_addr; + rebase[rebase_cnt].size = shdr->sh_size; + rebase[rebase_cnt].delta = region_delta[s_region]; + rebase[rebase_cnt].shdr_idx = i; + rebase_cnt++; + } + shdr->sh_addr = new_addr; + + /* + * A reopened region's member keeps the region's original + * constant address delta (required above for the ET_DYN + * sh_addr/sh_offset consistency check), which is NOT + * necessarily contiguous with current_vma's independently + * tracked cursor -- any other region's section(s) placed + * (and possibly page-aligned) since this region was last + * open, e.g. .exported_sym, can leave current_vma short of + * where this delta-preserving placement actually ends. + * Re-anchor current_vma to this section's real end so the + * next freshly-opened region's page-alignment starts after + * this region's true extent, not a stale, too-small cursor + * value -- otherwise the next region can be placed + * overlapping this region's tail. + */ + current_vma = new_addr + shdr->sh_size; + } + + /* + * Keep last_region tracking the region of the section that + * ACTUALLY precedes the next one in file order, not just "the + * last freshly-opened region". Without this, a fresh region + * immediately following a reused-region section (e.g. .bss + * right after a re-visited .data member, with .exported_sym + * sandwiched earlier) sees a stale last_region from whatever + * region was last freshly opened (e.g. EXPORT) instead of this + * section's own region (DATA), and wrongly concludes it needs + * yet another PAGE_SZ-aligned transition on top of the one + * already inserted for EXPORT -- stacking two page gaps where + * only one belongs, which desyncs .bss from the writable-data + * region it must remain contiguous with. + */ + last_region = s_region; + continue; + } + + if (last_region != LLEXT_MEM_COUNT && last_region != s_region) { + current_vma = ALIGN_UP(current_vma, PAGE_SZ); + } + last_region = s_region; + + current_vma = ALIGN_UP(current_vma, shdr->sh_addralign); + if (vma_base) { + uintptr_t old_addr = shdr->sh_addr; + + if (old_addr != current_vma && rebase_cnt < ARRAY_SIZE(rebase)) { + rebase[rebase_cnt].old_addr = old_addr; + rebase[rebase_cnt].size = shdr->sh_size; + rebase[rebase_cnt].delta = (ptrdiff_t)current_vma - (ptrdiff_t)old_addr; + rebase[rebase_cnt].shdr_idx = i; + rebase_cnt++; + } + region_delta[s_region] = (ptrdiff_t)current_vma - (ptrdiff_t)old_addr; + region_opened[s_region] = true; + shdr->sh_addr = current_vma; + } + current_vma += shdr->sh_size; + } + + if (vma_base && rebase_cnt) { + llext_manager_fixup_rela(elf_buf, rebase, rebase_cnt); + llext_manager_fixup_symtab(elf_buf, rebase, rebase_cnt); + } + + return current_vma - vma_base; +} + static int llext_manager_update_flags(void __sparse_cache *vma, size_t size, uint32_t flags) { size_t pre_pad_size = (uintptr_t)vma & (PAGE_SZ - 1); @@ -252,6 +614,11 @@ static int llext_manager_load_module(struct lib_manager_module *mctx) mctx->segment[LIB_MANAGER_RODATA].addr; size_t rodata_size = mctx->segment[LIB_MANAGER_RODATA].size; + /* Exported symbol table (.exported_sym), read-only like .rodata */ + void __sparse_cache *va_base_export = (void __sparse_cache *) + mctx->segment[LIB_MANAGER_EXPORT].addr; + size_t export_size = mctx->segment[LIB_MANAGER_EXPORT].size; + /* Writable data (.data, .bss and others) */ void __sparse_cache *va_base_data = (void __sparse_cache *) mctx->segment[LIB_MANAGER_DATA].addr; @@ -319,6 +686,12 @@ static int llext_manager_load_module(struct lib_manager_module *mctx) if (ret < 0) goto e_text; + /* Copy exported symbol table */ + ret = llext_manager_load_data_from_storage(virtual_region, ldr, ext, LLEXT_MEM_EXPORT, + va_base_export, export_size, 0); + if (ret < 0) + goto e_rodata; + /* Copy writable data */ /* * NOTE: va_base_data and data_size refer to an address range that @@ -373,6 +746,11 @@ static int llext_manager_unload_module(struct lib_manager_module *mctx) mctx->segment[LIB_MANAGER_RODATA].addr; size_t rodata_size = mctx->segment[LIB_MANAGER_RODATA].size; + /* Exported symbol table (.exported_sym), read-only like .rodata */ + void __sparse_cache *va_base_export = (void __sparse_cache *) + mctx->segment[LIB_MANAGER_EXPORT].addr; + size_t export_size = mctx->segment[LIB_MANAGER_EXPORT].size; + /* Writable data (.data, .bss, etc.) */ void __sparse_cache *va_base_data = (void __sparse_cache *) mctx->segment[LIB_MANAGER_DATA].addr; @@ -419,6 +797,12 @@ static int llext_manager_unload_module(struct lib_manager_module *mctx) if (ret < 0 && !err) err = ret; + llext_manager_unmap_detached_sections(ldr, ext, LLEXT_MEM_EXPORT, + va_base_export, export_size); + ret = llext_manager_align_unmap(va_base_export, export_size); + if (ret < 0 && !err) + err = ret; + #ifdef CONFIG_SOF_USERSPACE_LL llext_manager_rm_partition(zephyr_ll_mem_domain(), (uintptr_t)shdr, total, K_MEM_PARTITION_P_RW_U_NA | XTENSA_MMU_CACHED_WB); @@ -438,6 +822,73 @@ static bool llext_manager_section_detached(const elf_shdr_t *shdr) return shdr->sh_addr < SOF_MODULE_DRAM_LINK_END; } +/* + * Zephyr's llext_load() reads several sections' actual byte content + * synchronously, during the load itself -- e.g. llext_export_symbols() + * (called unconditionally to build the extension's exported-symbol table + * for future dependency resolution) reads .exported_sym, and other parts + * of the eager load path read .rodata and friends. This is unlike the + * later, on-demand copy SOF performs when a module is actually + * instantiated (llext_manager_load_module()), which only runs well after + * llext_manager_link() has already called llext_load(). So every + * "attached" (non-detached, i.e. real VMA, see + * llext_manager_section_detached()) allocated section with real file + * content (skipping .bss/SHT_NOBITS, which has none) has to be populated + * here, directly from the raw ELF buffer, before llext_load() is invoked + * below. + */ +static int llext_manager_load_sections_early(uint8_t *elf_buf) +{ + elf_ehdr_t *hdr = (elf_ehdr_t *)elf_buf; + elf_shdr_t *shdrs = (elf_shdr_t *)(elf_buf + hdr->e_shoff); + const struct sys_mm_drv_region *virtual_memory_regions; + const struct sys_mm_drv_region *virtual_region; + int i; + + virtual_memory_regions = sys_mm_drv_query_memory_regions(); + if (!virtual_memory_regions) + return -EFAULT; + + SYS_MM_DRV_MEMORY_REGION_FOREACH(virtual_memory_regions, virtual_region) { + if (virtual_region->attr == VIRTUAL_REGION_LLEXT_LIBRARIES_ATTR) + break; + } + + if (!virtual_region->size) + return -EFAULT; + + for (i = 0; i < hdr->e_shnum; i++) { + elf_shdr_t *shdr = shdrs + i; + void __sparse_cache *vma; + int ret; + + if (!(shdr->sh_flags & SHF_ALLOC) || shdr->sh_size == 0) + continue; + + if (shdr->sh_type == SHT_NOBITS) + continue; + + if (llext_manager_section_detached(shdr)) + continue; + + vma = (void __sparse_cache *)(uintptr_t)shdr->sh_addr; + + ret = llext_manager_align_map(virtual_region, vma, shdr->sh_size, + SYS_MM_MEM_PERM_RW); + if (ret < 0) + return ret; + + ret = memcpy_s((__sparse_force void *)(uintptr_t)shdr->sh_addr, shdr->sh_size, + elf_buf + shdr->sh_offset, shdr->sh_size); + if (ret < 0) + return ret; + + dcache_writeback_region(vma, shdr->sh_size); + } + + return 0; +} + static int llext_manager_link(const char *name, struct lib_manager_module *mctx, const void **buildinfo, const struct sof_man_module_manifest **mod_manifest) @@ -460,6 +911,36 @@ static int llext_manager_link(const char *name, } if (!*llext || mctx->mapped) { + if (!*llext) { + uint8_t *elf_buf = (uint8_t *)mctx->ebl->buf; + size_t total_size = llext_manager_layout_sections(elf_buf, 0); + if (total_size == 0) { + tr_err(&lib_manager_tr, "llext_manager_link: layout sections failed"); + return -EINVAL; + } + + uintptr_t vma_base = llext_manager_alloc_vma(total_size); + if (!vma_base) { + tr_err(&lib_manager_tr, "llext_manager_link: VMA allocation failed"); + return -ENOMEM; + } + + mctx->vma_base = vma_base; + mctx->vma_size = total_size; + + llext_manager_layout_sections(elf_buf, vma_base); + + ret = llext_manager_load_sections_early(elf_buf); + if (ret < 0) { + tr_err(&lib_manager_tr, + "llext_manager_link: early section copy failed: %d", ret); + llext_manager_free_vma(mctx->vma_base, mctx->vma_size); + mctx->vma_base = 0; + mctx->vma_size = 0; + return ret; + } + } + /* * Either the very first time loading this module, or the module * is already mapped, we just call llext_load() to refcount it @@ -472,8 +953,15 @@ static int llext_manager_link(const char *name, }; ret = llext_load(ldr, name, llext, &ldr_parm); - if (ret) + if (ret) { + tr_err(&lib_manager_tr, "llext_load failed: ret=%d", ret); + if (mctx->vma_base) { + llext_manager_free_vma(mctx->vma_base, mctx->vma_size); + mctx->vma_base = 0; + mctx->vma_size = 0; + } return ret; + } } /* All code sections */ @@ -512,6 +1000,20 @@ static int llext_manager_link(const char *name, mctx->segment[LIB_MANAGER_BSS].addr, mctx->segment[LIB_MANAGER_BSS].size); + /* + * Exported symbol table (.exported_sym). Some toolchains (e.g. GNU ld, + * unlike the Clang LLEXT overlay which merges it into .rodata) keep this + * as its own distinct allocatable section, so it needs its own tracked + * segment and its own copy-from-storage pass, same as .rodata. + */ + llext_get_region_info(ldr, *llext, LLEXT_MEM_EXPORT, &hdr, NULL, NULL); + mctx->segment[LIB_MANAGER_EXPORT].addr = hdr->sh_addr; + mctx->segment[LIB_MANAGER_EXPORT].size = hdr->sh_size; + + tr_dbg(&lib_manager_tr, ".exported_sym: start: %#lx size %#x", + mctx->segment[LIB_MANAGER_EXPORT].addr, + mctx->segment[LIB_MANAGER_EXPORT].size); + *buildinfo = NULL; ret = llext_section_shndx(ldr, *llext, ".mod_buildinfo"); if (ret >= 0) { @@ -1174,13 +1676,14 @@ int llext_manager_add_library(uint32_t module_id) } for (i = 0; i < ctx->n_mod; i++) { - const struct sof_man_module *mod = lib_manager_get_module_manifest(module_id + i); + unsigned int idx = ctx->mod[i].start_idx; + const struct sof_man_module *mod = lib_manager_get_module_manifest(module_id + idx); if (mod->type.load_type == SOF_MAN_MOD_TYPE_LLEXT_AUX) { const struct sof_man_module_manifest *mod_manifest; const struct sof_module_api_build_info *buildinfo; - ret = llext_manager_link_single(module_id + i, desc, ctx, + ret = llext_manager_link_single(module_id + idx, desc, ctx, (const void **)&buildinfo, &mod_manifest); if (ret < 0) return ret; diff --git a/src/library_manager/llext_manager_dram.c b/src/library_manager/llext_manager_dram.c index 2f6cff2b3501..1cc8fad942f8 100644 --- a/src/library_manager/llext_manager_dram.c +++ b/src/library_manager/llext_manager_dram.c @@ -14,6 +14,8 @@ LOG_MODULE_DECLARE(lib_manager, CONFIG_SOF_LOG_LEVEL); +void llext_manager_free_vma(uintptr_t vma, size_t size); + struct lib_manager_dram_storage { struct ext_library ext_lib; struct lib_manager_mod_ctx *ctx; @@ -332,6 +334,9 @@ int llext_manager_restore_from_dram(void) if (mod[k].llext) llext_unload(&mod[k].llext); + if (mod[k].vma_base) + llext_manager_free_vma(mod[k].vma_base, mod[k].vma_size); + if (mod[k].ebl) rfree(mod[k].ebl); } From 1a8d1bbc732e9a75d8cff34437544f16c8261bb6 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Sun, 16 Aug 2026 18:15:39 +0100 Subject: [PATCH 03/15] zephyr: llext: link non-relocatable modules -Bsymbolic-functions Without this flag, calls between GLOBAL-visibility functions defined in different translation units of the SAME llext module are emitted as PLT calls. Zephyr's llext_link_plt() only resolves PLT symbols against the base image's export table, this module's own .exported_sym table, or other already-loaded extensions -- never against symbols merely defined locally in this module's own .dynsym. Multi-TU C++ libraries (e.g. TensorFlow Lite Micro) call plenty of non-exported internal helpers across .cc files, so without this flag those calls fail to link at load time. Signed-off-by: Liam Girdwood --- zephyr/CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index 1ef726a20316..cc84c5b54e66 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -102,7 +102,16 @@ function(sof_llext_build module) if(CONFIG_LLEXT_TYPE_ELF_RELOCATABLE) set(EXTRA_LINKER_PARAMS -nostdlib -nodefaultlibs -r) else() - set(EXTRA_LINKER_PARAMS -nostdlib -nodefaultlibs -shared) + # -Bsymbolic-functions: without this, calls between GLOBAL-visibility + # functions defined in different translation units of the SAME llext + # module are emitted as PLT calls. Zephyr's llext_link_plt() resolves + # PLT symbols only against the base image's export table, this + # module's own .exported_sym table, or other already-loaded + # extensions -- never against symbols merely defined locally in this + # module's own .dynsym. Multi-TU C++ libraries (e.g. TFLite Micro) + # call plenty of non-exported internal helpers across .cc files, so + # without this flag those calls fail to link at load time. + set(EXTRA_LINKER_PARAMS -nostdlib -nodefaultlibs -shared -Wl,-Bsymbolic-functions) endif() foreach(path ${SOF_LLEXT_LIBS_PATH}) From a75c52fa23d374b3f4cc980b091659e6abcfb193 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Sun, 16 Aug 2026 18:15:27 +0100 Subject: [PATCH 04/15] lib: cpp: export operator new/delete and __cxa_pure_virtual for LLEXT LLEXT modules linking C++ code (e.g. TensorFlow Lite Micro) can end up with undefined references to global operator new/delete and __cxa_pure_virtual even when built with -fno-exceptions -- some support code (e.g. TFLM's arena allocators) still emits calls to the sized deallocation form in generated destructors, and any TU referencing an abstract class's vtable needs __cxa_pure_virtual resolvable for its pure-virtual slots. zephyr/lib/cpp/minimal/cpp_new.cpp and cpp_virtual.c already define these, but neither is referenced anywhere in the base image build, so their definitions are never pulled into the link or exported. Add thin wrappers in src/lib/cpp_new_export.cpp and export them under the mangled names so LLEXT modules can resolve against the base image. Signed-off-by: Liam Girdwood --- src/lib/CMakeLists.txt | 4 +++ src/lib/cpp_new_export.cpp | 55 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/lib/cpp_new_export.cpp diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 707753635f69..d9213ef4473d 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -23,6 +23,10 @@ if(CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL) add_local_sources(sof cpu-clk-manager.c) endif() +if(CONFIG_CPP) + add_local_sources(sof cpp_new_export.cpp) +endif() + is_zephyr(zephyr) if(zephyr) ### Zephyr ### diff --git a/src/lib/cpp_new_export.cpp b/src/lib/cpp_new_export.cpp new file mode 100644 index 000000000000..9b226a9f80c3 --- /dev/null +++ b/src/lib/cpp_new_export.cpp @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright(c) 2026 Intel Corporation. All rights reserved. + +#include +#include +#include + +/* + * LLEXT modules linking C++ code (e.g. TFLite Micro) can end up with + * undefined references to global operator new/delete even when built with + * -fno-exceptions, because some support code (e.g. TFLM's arena allocators) + * still emits a call to the sized deallocation form in its generated + * destructors. Export wrappers here so such extensions can resolve them + * against the base image, mirroring zephyr/lib/cpp/minimal/cpp_new.cpp + * (which isn't itself referenced anywhere in the base image build, so its + * definitions are never pulled into the link or exported). + */ + +namespace { + +[[maybe_unused]] void *sof_operator_new(size_t size) +{ + return malloc(size); +} + +[[maybe_unused]] void sof_operator_delete(void *ptr, size_t size) +{ + (void)size; + free(ptr); +} + +/* + * Same problem as operator new/delete above, one level lower: an abstract + * class's vtable (e.g. TFLM's MicroOpResolver base) fills the slots for its + * pure virtual methods with the address of __cxa_pure_virtual, so any + * translation unit that references such a vtable needs this symbol + * resolvable even though it should never actually be called at runtime. + * zephyr/lib/cpp/minimal/cpp_virtual.c already defines a real + * __cxa_pure_virtual, but -- exactly like cpp_new.cpp above -- nothing in + * the base image build references it directly, so it is never pulled into + * the link or exported for LLEXT modules to resolve against. Provide our + * own and export it under the same name. + */ +[[maybe_unused]] void sof_cxa_pure_virtual(void) +{ + while (1) { + } +} + +} /* namespace */ + +EXPORT_SYMBOL_NAMED(sof_operator_new, _Znwj); +EXPORT_SYMBOL_NAMED(sof_operator_delete, _ZdlPvj); +EXPORT_SYMBOL_NAMED(sof_cxa_pure_virtual, __cxa_pure_virtual); From bfd9f593c6d50747970d35a45906f841c4b8e682 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Sun, 16 Aug 2026 18:17:12 +0100 Subject: [PATCH 05/15] lib: ams: export producer API for LLEXT modules Export ams_send(), ams_helper_register_producer(), ams_helper_unregister_producer(), and ams_helper_prepare_payload() so an LLEXT module can act as an AMS message producer (e.g. a keyword-spotting component signaling KPB directly) without needing these calls statically linked into the base image. Signed-off-by: Liam Girdwood --- src/ipc/ipc4/ams_helpers.c | 5 +++++ src/lib/ams.c | 39 +++++++++++++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/ipc/ipc4/ams_helpers.c b/src/ipc/ipc4/ams_helpers.c index 6f21ee3e3623..b95acf176e88 100644 --- a/src/ipc/ipc4/ams_helpers.c +++ b/src/ipc/ipc4/ams_helpers.c @@ -7,6 +7,7 @@ #include #include +#include #if CONFIG_AMS @@ -76,4 +77,8 @@ void ams_helper_prepare_payload(const struct comp_dev *dev, payload->message = message; } +EXPORT_SYMBOL(ams_helper_register_producer); +EXPORT_SYMBOL(ams_helper_unregister_producer); +EXPORT_SYMBOL(ams_helper_prepare_payload); + #endif /* CONFIG_AMS */ diff --git a/src/lib/ams.c b/src/lib/ams.c index 7f4e6ebb8664..1809763acef7 100644 --- a/src/lib/ams.c +++ b/src/lib/ams.c @@ -22,6 +22,7 @@ #include #include #include +#include LOG_MODULE_REGISTER(ams, CONFIG_SOF_LOG_LEVEL); @@ -284,9 +285,8 @@ static uint32_t ams_push_slot(struct ams_shared_context __sparse_cache *ctx_shar for (uint32_t i = 0; i < ARRAY_SIZE(ctx_shared->slots); ++i) { if (ctx_shared->slot_uses[i] == 0) { - /* the slot only carries the payload struct (read back - * via u.msg); message points to a caller-owned buffer - * rather than inline data, so copy exactly the struct + /* the slot carries the payload struct (read back + * via u.msg) and inline message data */ err = memcpy_s((__sparse_force void *)ctx_shared->slots[i].u.msg_raw, sizeof(ctx_shared->slots[i].u.msg_raw), @@ -295,6 +295,23 @@ static uint32_t ams_push_slot(struct ams_shared_context __sparse_cache *ctx_shar if (err != 0) return AMS_INVALID_SLOT; + if (msg->message && msg->message_length > 0) { + size_t max_data = sizeof(ctx_shared->slots[i].u.msg_raw) - + sizeof(*msg); + + if (msg->message_length > max_data) { + tr_err(&ams_tr, "Message too large: %u > %zu", + msg->message_length, max_data); + return AMS_INVALID_SLOT; + } + + err = memcpy_s((__sparse_force void *)(ctx_shared->slots[i].u.msg_raw + sizeof(*msg)), + max_data, + msg->message, msg->message_length); + if (err != 0) + return AMS_INVALID_SLOT; + } + ctx_shared->slots[i].module_id = module_id; ctx_shared->slots[i].instance_id = instance_id; ctx_shared->slot_done[i] = 0; @@ -468,6 +485,8 @@ int ams_send(const struct ams_message_payload *const ams_message_payload) AMS_INVALID_SLOT); } +EXPORT_SYMBOL(ams_send); + int ams_message_send_mi(struct async_message_service *ams, const struct ams_message_payload *const ams_message_payload, uint16_t target_module, uint16_t target_instance) @@ -488,12 +507,26 @@ static int ams_process_slot(struct async_message_service *ams, uint32_t slot) { struct ams_shared_context __sparse_cache *shared_c; struct ams_message_payload msg; + uint8_t msg_buf[256]; uint16_t module_id; uint16_t instance_id; shared_c = ams_acquire(ams->ams_context->shared); msg = shared_c->slots[slot].u.msg; + if (msg.message && msg.message_length > 0) { + if (msg.message_length <= sizeof(msg_buf)) { + if (memcpy_s(msg_buf, sizeof(msg_buf), + (__sparse_force void *)(shared_c->slots[slot].u.msg_raw + sizeof(msg)), + msg.message_length) != 0) { + ams_release(shared_c); + return -EINVAL; + } + msg.message = msg_buf; + } else { + msg.message = (__sparse_force uint8_t *)(shared_c->slots[slot].u.msg_raw + sizeof(msg)); + } + } module_id = shared_c->slots[slot].module_id; instance_id = shared_c->slots[slot].instance_id; From 26154bfd51e397f730d1b7d7fa738a773d7092b0 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Sun, 16 Aug 2026 18:19:25 +0100 Subject: [PATCH 06/15] scripts: xtensa-build-zephyr: create per-UUID symlinks in install_lib() Consume the lib_uuids dict already populated earlier in the script: when a library's final .bin file did not yet exist at UUID-collection time, its UUIDs were deferred into lib_uuids instead of being symlinked immediately. install_lib() now walks lib_uuids[key] and creates the deferred .bin symlink/copy once the library is actually installed. Signed-off-by: Liam Girdwood --- scripts/tensorflow-clone.sh | 67 ++++++++++++++++++++++++---------- scripts/xtensa-build-zephyr.py | 4 ++ 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/scripts/tensorflow-clone.sh b/scripts/tensorflow-clone.sh index d3f67d0a835e..caa0f58577ea 100755 --- a/scripts/tensorflow-clone.sh +++ b/scripts/tensorflow-clone.sh @@ -1,6 +1,6 @@ #!/bin/bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2025 Intel Corporation. All rights reserved. +# Copyright(c) 2025-2026 Intel Corporation. All rights reserved. # fail immediately on any errors set -e @@ -14,8 +14,7 @@ declare -a REPOS=( "https://github.com/google/ruy" ) -# Commit ID to check for (optional). If specified, the script will update -# the repository if this commit ID is not found. Leave empty to skip. +# Commit ID to check out. If specified, the script will checkout this commit. declare -a COMMIT_ID=( "cdedfb1a1044eb774915de21b63a1b6aa93276f6" "e86d97b6237f88ab5925c0b41e3e3589a1560d86" @@ -25,7 +24,10 @@ declare -a COMMIT_ID=( ) # Directory where repositories will be cloned/updated. -BASE_DIR="$HOME/work/sof" # Or any other desired location +# Default to the parent directory containing the SOF workspace. +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +SOF_PARENT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" +BASE_DIR="${1:-"$SOF_PARENT_DIR"}" # Function to check if a commit ID exists in a repository check_commit() { @@ -36,40 +38,65 @@ check_commit() { return 0 # Skip check if no commit ID is provided fi - if ! git -C "$repo_dir" rev-parse --quiet --verify "$commit_id" >/dev/null 2>&1; then - return 1 # Commit ID not found + if ! git -C "$repo_dir" rev-parse --quiet --verify "$commit_id^{commit}" >/dev/null 2>&1; then + return 1 # Commit ID not found locally else - return 0 # Commit ID found + return 0 # Commit ID found locally fi } - # Function to update the repository update_repo() { local repo_dir="$1" echo "Updating repository: $repo_dir" - git -C "$repo_dir" fetch --all - git -C "$repo_dir" pull + git -C "$repo_dir" fetch --all --tags --prune +} + +# Function to checkout the required commit ID +checkout_commit() { + local repo_dir="$1" + local commit_id="$2" + local repo_name="$3" + + if [ -z "$commit_id" ]; then + return 0 + fi + + local current_commit + current_commit=$(git -C "$repo_dir" rev-parse HEAD) + + local target_commit + target_commit=$(git -C "$repo_dir" rev-parse "$commit_id^{commit}") + + if [ "$current_commit" != "$target_commit" ]; then + echo "Checking out $commit_id in $repo_name..." + git -C "$repo_dir" checkout -q "$commit_id" + else + echo "Repository $repo_name is already at commit $commit_id." + fi } # Main script logic mkdir -p "$BASE_DIR" for ((i = 0; i < ${#REPOS[@]}; i++)); do - echo "Counter: $i, Value: ${REPOS[i]}" - repo_url=${REPOS[i]} - - repo_name=$(basename "$repo_url" .git) # Extract repo name + repo_url="${REPOS[i]}" + commit_id="${COMMIT_ID[i]}" + repo_name=$(basename "$repo_url" .git) repo_dir="$BASE_DIR/$repo_name" - if [ ! -d "$repo_dir" ]; then - echo "Cloning repository: $repo_url" + echo "=== [$((i + 1))/${#REPOS[@]}] $repo_name ===" + + if [ ! -d "$repo_dir/.git" ]; then + echo "Cloning repository: $repo_url -> $repo_dir" git clone "$repo_url" "$repo_dir" || { echo "git clone failed for $repo_url"; exit 1; } - elif ! check_commit "$repo_dir" "${COMMIT_ID[i]}"; then + fi + + if ! check_commit "$repo_dir" "$commit_id"; then update_repo "$repo_dir" - else - echo "Repository $repo_name is up to date." fi + + checkout_commit "$repo_dir" "$commit_id" "$repo_name" done -echo "All repositories processed." +echo "All repositories processed and checked out to required commits." diff --git a/scripts/xtensa-build-zephyr.py b/scripts/xtensa-build-zephyr.py index f20c95f7262a..735842e0ba54 100755 --- a/scripts/xtensa-build-zephyr.py +++ b/scripts/xtensa-build-zephyr.py @@ -1174,6 +1174,10 @@ def install_lib(platform, sof_output_dir, abs_build_dir, platform_wconfig): symlink_or_copy(lib_install_dir, lib_name, lib_dir, alias_libname) + for uuid in lib_uuids.get(key, []): + linkname = uuid + '.bin' + symlink_or_copy(lib_install_dir, lib_name, sof_lib_dir, linkname) + def install_platform(platform, sof_output_dir, platf_build_environ, platform_wconfig): # Keep in sync with caller From d4eddd536d9b384110e3c13aa42ee351306bea62 Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Fri, 28 Aug 2026 12:06:10 +0300 Subject: [PATCH 07/15] [DNM] audio: buffer: add support for DP-to-DP component binding Previously binding two DP (Data Processing) scheduled components was rejected with IPC4_INVALID_REQUEST. Add support for DP-to-DP binding by creating a dual ring buffer configuration where each DP module gets its own ring buffer on either side of the intermediate comp_buffer. Cascade data through input ring_buffer -> comp_buffer -> output ring_buffer with rate-limiting on the output side, and manage DP vregion reference counting and memory contexts. Signed-off-by: Seppo Ingalsuo --- src/audio/buffers/audio_buffer.c | 78 +++++++++++++++++++---- src/audio/buffers/ring_buffer.c | 13 +++- src/audio/module_adapter/module_adapter.c | 17 +++-- src/ipc/ipc4/helper.c | 65 +++++++++++++++---- zephyr/Kconfig | 9 +++ 5 files changed, 155 insertions(+), 27 deletions(-) diff --git a/src/audio/buffers/audio_buffer.c b/src/audio/buffers/audio_buffer.c index 1ecf8472dd65..0a08df93de6a 100644 --- a/src/audio/buffers/audio_buffer.c +++ b/src/audio/buffers/audio_buffer.c @@ -24,8 +24,16 @@ int audio_buffer_attach_secondary_buffer(struct sof_audio_buffer *buffer, bool at_input, struct sof_audio_buffer *secondary_buffer) { +#if CONFIG_DP_TO_DP_BIND + /* check per-side: allow attaching on both sides (needed for DP-to-DP) */ + if (at_input && buffer->secondary_buffer_sink) + return -EINVAL; + if (!at_input && buffer->secondary_buffer_source) + return -EINVAL; +#else if (buffer->secondary_buffer_sink || buffer->secondary_buffer_source) return -EINVAL; +#endif /* secondary buffer must share audio params with the primary buffer */ secondary_buffer->audio_stream_params = buffer->audio_stream_params; @@ -48,6 +56,56 @@ int audio_buffer_sync_secondary_buffer(struct sof_audio_buffer *buffer, size_t l struct sof_source *data_src; struct sof_sink *data_dst; +#if CONFIG_DP_TO_DP_BIND + if (buffer->secondary_buffer_sink && buffer->secondary_buffer_source) { + /* + * DP-to-DP case: both secondary buffers present. + * Data flows: input_ring_buffer -> comp_buffer -> output_ring_buffer + * + * This buffer is visited twice during each LL cycle: + * - In the input loop (sink DP module via comp_dev_for_each_producer) with + * limit == SIZE_MAX. In a DP-to-DP connection, input to sink DP is fed + * via output_ring_buffer; the intermediate comp_buffer transfer is driven + * by the output loop. Hence, this call is a no-op. + * - In the output loop (source DP module via comp_dev_for_each_consumer) with + * limit == source_get_min_available(downstream). This executes the 2-step + * cascade with rate-limiting properly applied on the output transfer. + */ + if (limit == SIZE_MAX) + return 0; + + /* + * Step 1: copy from input secondary buffer to primary (comp_buffer). + * No limit on input side - copy all available data. + */ + data_src = audio_buffer_get_source(buffer->secondary_buffer_sink); + data_dst = &buffer->_sink_api; + + size_t data_available = source_get_data_available(data_src); + size_t free_size = sink_get_free_size(data_dst); + size_t to_copy = MIN(data_available, free_size); + + err = source_to_sink_copy(data_src, data_dst, true, to_copy); + if (err) + return err; + + /* + * Step 2: copy from primary (comp_buffer) to output secondary buffer. + * Apply the limit to the output side to control how much data + * is made available to the downstream DP module per LL cycle. + */ + data_src = &buffer->_source_api; + data_dst = audio_buffer_get_sink(buffer->secondary_buffer_source); + + data_available = source_get_data_available(data_src); + free_size = sink_get_free_size(data_dst); + to_copy = MIN(MIN(data_available, free_size), limit); + + err = source_to_sink_copy(data_src, data_dst, true, to_copy); + return err; + } +#endif + if (buffer->secondary_buffer_sink) { /* * audio_buffer sink API is shadowed, that means there's a secondary_buffer @@ -203,18 +261,16 @@ uint32_t audio_buffer_sink_get_lft(struct sof_sink *sink) return us_in_buffer; /* - * TODO, Currently there's no DP to DP connection - * >>> the code below is never accessible and won't work because of cache incoherence <<< - * - * to make DP to DP connection possible: + * NOTE: DP-to-DP connections are now supported via dual ring_buffers + * attached as secondary buffers on both sides of a comp_buffer. + * Data cascades: ring_buf_src -> comp_buffer -> ring_buf_sink + * with syncing during each LL cycle. * - * 1) module data must be ALWAYS located in non cached memory alias, allowing - * cross core access to params like period (needed below) and calling - * module_get_deadline for the next module, regardless of cores the modules are - * running on - * 2) comp_buffer must be removed from all pipeline code, replaced with a generic abstract - * class audio_buffer - allowing using comp_buffer and ring_buffer without current - * "hybrid buffer" solution + * Future improvements: + * 1) module data should be in non-cached memory alias for reliable + * cross-core access to params like period and deadlines + * 2) comp_buffer should be replaced with generic audio_buffer + * throughout pipeline code (Pipeline 2.0) */ } diff --git a/src/audio/buffers/ring_buffer.c b/src/audio/buffers/ring_buffer.c index 51245e91ca40..8b6055903dde 100644 --- a/src/audio/buffers/ring_buffer.c +++ b/src/audio/buffers/ring_buffer.c @@ -86,7 +86,6 @@ static inline void ring_buffer_writeback_shared(struct ring_buffer *ring_buffer, dcache_writeback_region(ptr, size); } - /** * @brief remove the queue from the list, free memory */ @@ -101,6 +100,18 @@ static void ring_buffer_free(struct sof_audio_buffer *audio_buffer) sof_ctx_free(alloc, (__sparse_force void *)ring_buffer->_data_buffer); sof_ctx_free(alloc, ring_buffer); + +#if CONFIG_DP_TO_DP_BIND + /* + * For DP-to-DP binding: matches vregion_get() in ipc_comp_connect() + * for each ring_buffer. Releases the DP module's virtual memory region + * and frees the module allocation context when the refcount reaches zero. + */ + if (alloc && alloc->vreg) { + if (!vregion_put(alloc->vreg)) + rfree(alloc); + } +#endif } static void ring_buffer_reset(struct sof_audio_buffer *audio_buffer) diff --git a/src/audio/module_adapter/module_adapter.c b/src/audio/module_adapter/module_adapter.c index 9e6720424bcf..a2dad0a8d340 100644 --- a/src/audio/module_adapter/module_adapter.c +++ b/src/audio/module_adapter/module_adapter.c @@ -230,15 +230,25 @@ struct comp_dev *module_adapter_new_ext(const struct comp_driver *drv, #endif comp_cl_dbg(drv, "start"); + struct comp_ipc_config local_config; + if (!config) { comp_cl_err(drv, "NULL config! drv = %p", drv); return NULL; } + + local_config = *config; + #if CONFIG_IPC_MAJOR_4 if (config->ipc_extended_init) { ret = module_ext_init_decode(drv, &ext_data, &spec); if (ret != 0) return NULL; + +#if CONFIG_ZEPHYR_DP_SCHEDULER + if (ext_data.dp_data) + local_config.proc_domain = COMP_PROCESSING_DOMAIN_DP; +#endif } #endif const struct module_ext_init_data *ext_init = @@ -248,7 +258,7 @@ struct comp_dev *module_adapter_new_ext(const struct comp_driver *drv, NULL; #endif - struct processing_module *mod = module_adapter_mem_alloc(drv, config, ext_init); + struct processing_module *mod = module_adapter_mem_alloc(drv, &local_config, ext_init); if (!mod) return NULL; @@ -275,7 +285,7 @@ struct comp_dev *module_adapter_new_ext(const struct comp_driver *drv, #if CONFIG_ZEPHYR_DP_SCHEDULER /* create a task for DP processing */ - if (config->proc_domain == COMP_PROCESSING_DOMAIN_DP) { + if (dev->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP) { /* All data allocated, create a thread */ ret = pipeline_comp_dp_task_init(dev); if (ret) { @@ -1183,7 +1193,7 @@ static int module_adapter_copy_ring_buffers(struct comp_dev *dev) /* input - we need to copy data from audio_stream (as source) * to ring_buffer (as sink) */ - err = audio_buffer_sync_secondary_buffer(&buffer->audio_buffer, UINT_MAX); + err = audio_buffer_sync_secondary_buffer(&buffer->audio_buffer, SIZE_MAX); if (err) { comp_err(dev, "LL to DP copy error status: %d", err); @@ -1365,7 +1375,6 @@ int module_adapter_copy(struct comp_dev *dev) return module_adapter_copy_ring_buffers(dev); else return module_adapter_sink_source_copy(dev); - } comp_err(dev, "unknown processing_data_type"); diff --git a/src/ipc/ipc4/helper.c b/src/ipc/ipc4/helper.c index 0907bcb03ace..e09e5edf39b3 100644 --- a/src/ipc/ipc4/helper.c +++ b/src/ipc/ipc4/helper.c @@ -781,18 +781,22 @@ __cold int ipc4_comp_connect(struct ipc *ipc, const struct ipc4_module_bind_unbi struct mod_alloc_ctx *alloc; #if CONFIG_ZEPHYR_DP_SCHEDULER - if (source->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP && - sink->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP) { + bool src_is_dp = source->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP; + bool sink_is_dp = sink->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP; +#if CONFIG_DP_TO_DP_BIND + bool dp_to_dp = src_is_dp && sink_is_dp; +#else + if (src_is_dp && sink_is_dp) { tr_err(&ipc_tr, "DP to DP binding is not supported: can't bind %x to %x", src_id, sink_id); return IPC4_INVALID_REQUEST; } - +#endif struct comp_dev *dp; - if (sink->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP) + if (sink_is_dp) dp = sink; - else if (source->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP) + else if (src_is_dp) dp = source; else dp = NULL; @@ -865,8 +869,8 @@ __cold int ipc4_comp_connect(struct ipc *ipc, const struct ipc4_module_bind_unbi * * size = 2*max(obs of source module, ibs of destination module) * (obs and ibs is single buffer size) - * in case of DP -> LL - * size = 2*ibs of destination (LL) module. DP queue will handle obs of DP module + * in case of DP -> LL or DP -> DP + * size = 2*ibs of destination module. DP queue will handle obs of DP module */ if (source->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_LL) buf_size = MAX(ibs, obs) * 2; @@ -901,12 +905,13 @@ __cold int ipc4_comp_connect(struct ipc *ipc, const struct ipc4_module_bind_unbi #if CONFIG_ZEPHYR_DP_SCHEDULER struct ring_buffer *ring_buffer = NULL; - if (sink->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP || - source->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP) { + if (src_is_dp || sink_is_dp) { struct processing_module *srcmod = comp_mod(source); struct module_data *src_module_data = &srcmod->priv; struct processing_module *dstmod = comp_mod(sink); struct module_data *dst_module_data = &dstmod->priv; + bool is_shared = audio_buffer_is_shared(&buffer->audio_buffer); + uint32_t buf_id = buf_get_id(buffer); /* * Handle cases where the size of the ring buffer depends on the @@ -918,16 +923,54 @@ __cold int ipc4_comp_connect(struct ipc *ipc, const struct ipc4_module_bind_unbi */ ring_buffer = ring_buffer_create(dp, MAX(ibs, dst_module_data->mpd.in_buff_size), MAX(obs, src_module_data->mpd.out_buff_size), - audio_buffer_is_shared(&buffer->audio_buffer), - buf_get_id(buffer)); + is_shared, buf_id); if (!ring_buffer) { buffer_free(buffer); return IPC4_OUT_OF_MEMORY; } +#if CONFIG_DP_TO_DP_BIND + /* refcount the DP vregion for this ring_buffer (matches vregion_put in + * ring_buffer_free for DP-to-DP binding) + */ + if (ring_buffer->audio_buffer.alloc) + vregion_get(ring_buffer->audio_buffer.alloc->vreg); +#endif + /* data destination module needs to use ring_buffer */ audio_buffer_attach_secondary_buffer(&buffer->audio_buffer, dp == source, &ring_buffer->audio_buffer); + +#if CONFIG_DP_TO_DP_BIND + /* + * DP-to-DP binding: both source and sink are DP modules. + * A second ring_buffer is needed on the other side of the comp_buffer + * so each DP module has its own lock-free ring_buffer interface. + * Data flows: src_DP -> ring_buf_src -> comp_buffer -> ring_buf_sink -> sink_DP + * The comp_buffer acts as the intermediary synced during LL cycles. + */ + if (dp_to_dp) { + struct ring_buffer *ring_buffer2; + + ring_buffer2 = + ring_buffer_create(source, + MAX(ibs, dst_module_data->mpd.in_buff_size), + MAX(obs, src_module_data->mpd.out_buff_size), + is_shared, buf_id); + if (!ring_buffer2) { + buffer_free(buffer); + return IPC4_OUT_OF_MEMORY; + } + + /* refcount the source DP vregion for ring_buffer2 */ + if (ring_buffer2->audio_buffer.alloc) + vregion_get(ring_buffer2->audio_buffer.alloc->vreg); + + /* attach second ring_buffer on the source side */ + audio_buffer_attach_secondary_buffer(&buffer->audio_buffer, dp != source, + &ring_buffer2->audio_buffer); + } +#endif } #endif /* CONFIG_ZEPHYR_DP_SCHEDULER */ diff --git a/zephyr/Kconfig b/zephyr/Kconfig index 651b1ec16775..253869f0a773 100644 --- a/zephyr/Kconfig +++ b/zephyr/Kconfig @@ -267,6 +267,15 @@ config ZEPHYR_DP_SCHEDULER_MIN_STACK_SIZE ext_init payload. If the stack size requested in the IPC is smaller than this, then the value defined here takes over. +config DP_TO_DP_BIND + bool "Support DP to DP component binding" + default y + depends on ZEPHYR_DP_SCHEDULER + help + Enable binding between two Data Processing (DP) scheduled components. + This allows connecting DP modules together (e.g. DP source to DP sink) + via intermediate buffering. + config CROSS_CORE_STREAM bool "Enable cross-core connected pipelines" default y if IPC_MAJOR_4 From 537023e145c6c1ff9e829a3569d8f952ae4eee7c Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Mon, 24 Aug 2026 17:11:00 +0300 Subject: [PATCH 08/15] platform: cavs: initialize DP scheduler during platform_init Call scheduler_dp_init() in platform_init() on cAVS platforms when CONFIG_ZEPHYR_DP_SCHEDULER is enabled so that DP tasks (such as MFCC and MWW in the Data Processing domain) can bind to the DP scheduler without failing with -ENODEV (-19). Signed-off-by: Seppo Ingalsuo --- app/boards/intel_adsp/Kconfig.defconfig | 3 +++ app/boards/intel_adsp_cavs25.conf | 2 ++ src/platform/intel/cavs/platform.c | 7 +++++++ zephyr/Kconfig | 8 ++++---- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/boards/intel_adsp/Kconfig.defconfig b/app/boards/intel_adsp/Kconfig.defconfig index 0fd7126d58d1..ac8c6fb6f190 100644 --- a/app/boards/intel_adsp/Kconfig.defconfig +++ b/app/boards/intel_adsp/Kconfig.defconfig @@ -87,6 +87,9 @@ config L3_HEAP config ZEPHYR_DP_SCHEDULER default y +config DP_TO_DP_BIND + default y + config ZEPHYR_NATIVE_DRIVERS default y diff --git a/app/boards/intel_adsp_cavs25.conf b/app/boards/intel_adsp_cavs25.conf index 7b2a260db89d..0a89f1a669a7 100644 --- a/app/boards/intel_adsp_cavs25.conf +++ b/app/boards/intel_adsp_cavs25.conf @@ -19,6 +19,8 @@ CONFIG_PCM_CONVERTER_FORMAT_S24_3LE=y # SOF / infrastructure CONFIG_AMS=y +CONFIG_IDC_TIMEOUT_US=100000 +CONFIG_P4WQ_INIT_STAGE_EARLY=y CONFIG_LP_MEMORY_BANKS=1 CONFIG_HP_MEMORY_BANKS=30 diff --git a/src/platform/intel/cavs/platform.c b/src/platform/intel/cavs/platform.c index 8a1a7c59c3b5..4752916a85b5 100644 --- a/src/platform/intel/cavs/platform.c +++ b/src/platform/intel/cavs/platform.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -122,6 +123,12 @@ int platform_init(struct sof *sof) sof->platform_timer_domain = timer_domain_init(sof->platform_timer, 0); scheduler_init_ll(sof->platform_timer_domain); +#if CONFIG_ZEPHYR_DP_SCHEDULER + ret = scheduler_dp_init(); + if (ret < 0) + return ret; +#endif /* CONFIG_ZEPHYR_DP_SCHEDULER */ + /* init the system agent */ trace_point(TRACE_BOOT_PLATFORM_AGENT); sa_init(sof, CONFIG_SYSTICK_PERIOD); diff --git a/zephyr/Kconfig b/zephyr/Kconfig index 253869f0a773..547f5326d64a 100644 --- a/zephyr/Kconfig +++ b/zephyr/Kconfig @@ -239,19 +239,19 @@ config DMA_DOMAIN_SEM_LIMIT config PIPELINE_2_0 bool "Enable pipeline 2.0 changes" depends on IPC_MAJOR_4 - default y if ACE + default y if (ACE || CAVS) help This flag enables changes to new pipeline structure, known as pipeline2_0 It is required for certain new features, like DP_SCHEDULER. config ZEPHYR_DP_SCHEDULER bool "use Zephyr thread based DP scheduler" - default y if ACE + default y if (ACE || CAVS) depends on IPC_MAJOR_4 depends on ZEPHYR_SOF_MODULE - depends on ACE + depends on (ACE || CAVS) depends on PIPELINE_2_0 - imply XTENSA_HIFI_SHARING if XTENSA_HIFI + imply XTENSA_HIFI_SHARING if (XTENSA_HIFI && ACE) help Enable Data Processing preemptive scheduler based on Zephyr preemptive threads. From a5f9ad78791349e86a20026c77a64d16e7b00413 Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Thu, 27 Aug 2026 15:24:07 +0300 Subject: [PATCH 09/15] audio: mfcc: add mel40 and mel40_10ms profiles for microWakeWord frontend Add 40-bin mel filterbank configurations (mel40, mel40_compress, mel40_10ms, and mel40_10ms_compress) to setup_mfcc.m and generate the corresponding topology blobs for microWakeWord streaming frontends. Signed-off-by: Seppo Ingalsuo --- src/audio/mfcc/mfcc_common.c | 2 +- src/audio/mfcc/tune/setup_mfcc.m | 44 +++++++++++++++++++ src/include/sof/audio/mfcc/mfcc_vad.h | 8 ++-- .../topology2/cavs-benchmark-hda.conf | 10 +++++ .../development/tplg-targets-bench.cmake | 2 + .../include/bench/mfcc_controls_capture.conf | 1 + .../include/bench/mfcc_controls_playback.conf | 1 + .../include/bench/mfccmel40_10ms_s16.conf | 13 ++++++ .../include/bench/mfccmel40_10ms_s24.conf | 13 ++++++ .../include/bench/mfccmel40_10ms_s32.conf | 13 ++++++ .../components/mfcc/ceps13_compress_dtx.conf | 2 +- .../include/components/mfcc/default.conf | 2 +- .../include/components/mfcc/mel40.conf | 24 ++++++++++ .../include/components/mfcc/mel40_10ms.conf | 24 ++++++++++ .../components/mfcc/mel40_10ms_compress.conf | 24 ++++++++++ .../components/mfcc/mel40_compress.conf | 24 ++++++++++ .../include/components/mfcc/mel80.conf | 2 +- .../components/mfcc/mel80_compress.conf | 2 +- .../components/mfcc/mel80_compress_dtx.conf | 2 +- 19 files changed, 203 insertions(+), 10 deletions(-) create mode 100644 tools/topology/topology2/include/bench/mfccmel40_10ms_s16.conf create mode 100644 tools/topology/topology2/include/bench/mfccmel40_10ms_s24.conf create mode 100644 tools/topology/topology2/include/bench/mfccmel40_10ms_s32.conf create mode 100644 tools/topology/topology2/include/components/mfcc/mel40.conf create mode 100644 tools/topology/topology2/include/components/mfcc/mel40_10ms.conf create mode 100644 tools/topology/topology2/include/components/mfcc/mel40_10ms_compress.conf create mode 100644 tools/topology/topology2/include/components/mfcc/mel40_compress.conf diff --git a/src/audio/mfcc/mfcc_common.c b/src/audio/mfcc/mfcc_common.c index 3890671165fd..2460493ed34d 100644 --- a/src/audio/mfcc/mfcc_common.c +++ b/src/audio/mfcc/mfcc_common.c @@ -419,7 +419,7 @@ int mfcc_stft_process(struct processing_module *mod, struct mfcc_comp_data *cd) /* Use hop counter for frame numbering (independent of VAD enable) */ state->header.frame_number = state->hop_count; - /* Run VAD on the mel log spectrum (available in both modes) */ + /* Run VAD on the scaled mel log spectrum (available in both modes) */ if (config->enable_vad) { mfcc_vad_update(&cd->vad, state->mel_log_32); diff --git a/src/audio/mfcc/tune/setup_mfcc.m b/src/audio/mfcc/tune/setup_mfcc.m index dbf69587a74f..13ffea4955ec 100644 --- a/src/audio/mfcc/tune/setup_mfcc.m +++ b/src/audio/mfcc/tune/setup_mfcc.m @@ -31,6 +31,50 @@ function setup_mfcc() setup.tplg_fn = 'mel80_compress.conf'; export_mfcc_setup(gen_cfg, setup); + % Blob for 40-bin/20ms-hop mel spectrogram, matching TFLM micro_speech's + % front-end shape (TFLM_FEATURE_SIZE=40, TFLM_FEATURE_STRIDE_MS=20, + % TFLM_FEATURE_DURATION_MS=30) for interim wake-word sanity-checking. + setup = get_mel_spectrogram_config(); + setup.frame_length = 30.0; % 480 samples at 16 kHz + setup.frame_shift = 20.0; % 320 samples at 16 kHz + setup.num_mel_bins = 40; + setup.tplg_fn = 'mel40.conf'; + export_mfcc_setup(gen_cfg, setup); + + % Same 40-bin/20ms-hop mel spectrogram with compress PCM output for the + % on-device TFLM wake-word path (KPB -> SRC -> MFCC -> tflmcly). + setup = get_mel_spectrogram_config(); + setup.frame_length = 30.0; + setup.frame_shift = 20.0; + setup.num_mel_bins = 40; + setup.compress_output = true; + setup.tplg_fn = 'mel40_compress.conf'; + export_mfcc_setup(gen_cfg, setup); + + % Blob for 40-bin/10ms-hop mel spectrogram, matching microWakeWord's + % MixConv front-end shape (40 features per 10ms stride over a 30ms + % window, 125 Hz to 7500 Hz bandwidth) -- see src/audio/microwakeword. + setup = get_mel_spectrogram_config(); + setup.frame_length = 30.0; % 480 samples at 16 kHz + setup.frame_shift = 10.0; % 160 samples at 16 kHz + setup.num_mel_bins = 40; + setup.low_freq = 125; + setup.high_freq = 7500; + setup.tplg_fn = 'mel40_10ms.conf'; + export_mfcc_setup(gen_cfg, setup); + + % Same 40-bin/10ms-hop mel spectrogram with compress PCM output for + % microWakeWord compress stream capture. + setup = get_mel_spectrogram_config(); + setup.frame_length = 30.0; + setup.frame_shift = 10.0; + setup.num_mel_bins = 40; + setup.low_freq = 125; + setup.high_freq = 7500; + setup.compress_output = true; + setup.tplg_fn = 'mel40_10ms_compress.conf'; + export_mfcc_setup(gen_cfg, setup); + % Blob for mel spectrogram with compress PCM output and DTX setup = get_mel_spectrogram_config(); setup.compress_output = true; diff --git a/src/include/sof/audio/mfcc/mfcc_vad.h b/src/include/sof/audio/mfcc/mfcc_vad.h index 6873343d334e..048ea475eba1 100644 --- a/src/include/sof/audio/mfcc/mfcc_vad.h +++ b/src/include/sof/audio/mfcc/mfcc_vad.h @@ -29,9 +29,9 @@ struct processing_module; #define MFCC_VAD_NOISE_INIT_FRAMES 100 /** - * \brief Slow noise floor rise coefficient in Q1.15 (0.003 * 2^15). + * \brief Slow noise floor rise coefficient in Q1.15 (0.001 * 2^15, tau ~10 s). */ -#define MFCC_VAD_NOISE_RISE_ALPHA 98 +#define MFCC_VAD_NOISE_RISE_ALPHA 33 /** * \brief Fast noise floor rise coefficient in Q1.15 (0.020 * 2^15). @@ -39,9 +39,9 @@ struct processing_module; #define MFCC_VAD_NOISE_RISE_ALPHA_FAST 655 /** - * \brief Energy threshold for speech detection in Q9.23 (0.30 * 2^23). + * \brief Energy threshold for speech detection in Q9.23 (0.20 * 2^23). */ -#define MFCC_VAD_ENERGY_THRESHOLD 2516582 +#define MFCC_VAD_ENERGY_THRESHOLD 1677722 /** * \brief Hangover frame count to keep VAD active after last speech detection. diff --git a/tools/topology/topology2/cavs-benchmark-hda.conf b/tools/topology/topology2/cavs-benchmark-hda.conf index d1357caa20ab..182ccb403a44 100644 --- a/tools/topology/topology2/cavs-benchmark-hda.conf +++ b/tools/topology/topology2/cavs-benchmark-hda.conf @@ -845,6 +845,16 @@ IncludeByKey.BENCH_CONFIG { } + "mfccmel40_10ms16" { + + } + "mfccmel40_10ms24" { + + } + "mfccmel40_10ms32" { + + } + # # Micsel component # diff --git a/tools/topology/topology2/development/tplg-targets-bench.cmake b/tools/topology/topology2/development/tplg-targets-bench.cmake index 2dd4f28bc07c..416448fd181e 100644 --- a/tools/topology/topology2/development/tplg-targets-bench.cmake +++ b/tools/topology/topology2/development/tplg-targets-bench.cmake @@ -20,6 +20,7 @@ set(components "level_multiplier" "mfcc" "mfccmel" + "mfccmel40_10ms" "micsel" "phase_vocoder" "rtnr" @@ -48,6 +49,7 @@ set(component_parameters "BENCH_LEVEL_MULTIPLIER_PARAMS=default" "BENCH_MFCC_PARAMS=default" "BENCH_MFCC_PARAMS=mel80" + "BENCH_MFCC_PARAMS=mel40_10ms" "BENCH_MICSEL_PARAMS=passthrough" "BENCH_PHASE_VOCODER_PARAMS=default" "BENCH_RTNR_PARAMS=default" diff --git a/tools/topology/topology2/include/bench/mfcc_controls_capture.conf b/tools/topology/topology2/include/bench/mfcc_controls_capture.conf index 8788387ec8c7..a185cdec852f 100644 --- a/tools/topology/topology2/include/bench/mfcc_controls_capture.conf +++ b/tools/topology/topology2/include/bench/mfcc_controls_capture.conf @@ -7,6 +7,7 @@ IncludeByKey.BENCH_MFCC_PARAMS { "default" "include/components/mfcc/default.conf" "mel80" "include/components/mfcc/mel80.conf" + "mel40_10ms" "include/components/mfcc/mel40_10ms.conf" } } mixer."1" { diff --git a/tools/topology/topology2/include/bench/mfcc_controls_playback.conf b/tools/topology/topology2/include/bench/mfcc_controls_playback.conf index 007dbb91cd4f..6d7ae6585663 100644 --- a/tools/topology/topology2/include/bench/mfcc_controls_playback.conf +++ b/tools/topology/topology2/include/bench/mfcc_controls_playback.conf @@ -7,6 +7,7 @@ IncludeByKey.BENCH_MFCC_PARAMS { "default" "include/components/mfcc/default.conf" "mel80" "include/components/mfcc/mel80.conf" + "mel40_10ms" "include/components/mfcc/mel40_10ms.conf" } } mixer."1" { diff --git a/tools/topology/topology2/include/bench/mfccmel40_10ms_s16.conf b/tools/topology/topology2/include/bench/mfccmel40_10ms_s16.conf new file mode 100644 index 000000000000..ec89bffb90a1 --- /dev/null +++ b/tools/topology/topology2/include/bench/mfccmel40_10ms_s16.conf @@ -0,0 +1,13 @@ + # Created with script "./bench_comp_generate.sh mfcc" + Object.Widget.mfcc.1 { + index $BENCH_PLAYBACK_HOST_PIPELINE + + + } + Object.Widget.mfcc.2 { + index $BENCH_CAPTURE_HOST_PIPELINE + + + } + + diff --git a/tools/topology/topology2/include/bench/mfccmel40_10ms_s24.conf b/tools/topology/topology2/include/bench/mfccmel40_10ms_s24.conf new file mode 100644 index 000000000000..73571fabe5f2 --- /dev/null +++ b/tools/topology/topology2/include/bench/mfccmel40_10ms_s24.conf @@ -0,0 +1,13 @@ + # Created with script "./bench_comp_generate.sh mfcc" + Object.Widget.mfcc.1 { + index $BENCH_PLAYBACK_HOST_PIPELINE + + + } + Object.Widget.mfcc.2 { + index $BENCH_CAPTURE_HOST_PIPELINE + + + } + + diff --git a/tools/topology/topology2/include/bench/mfccmel40_10ms_s32.conf b/tools/topology/topology2/include/bench/mfccmel40_10ms_s32.conf new file mode 100644 index 000000000000..75c01eaf4a43 --- /dev/null +++ b/tools/topology/topology2/include/bench/mfccmel40_10ms_s32.conf @@ -0,0 +1,13 @@ + # Created with script "./bench_comp_generate.sh mfcc" + Object.Widget.mfcc.1 { + index $BENCH_PLAYBACK_HOST_PIPELINE + + + } + Object.Widget.mfcc.2 { + index $BENCH_CAPTURE_HOST_PIPELINE + + + } + + diff --git a/tools/topology/topology2/include/components/mfcc/ceps13_compress_dtx.conf b/tools/topology/topology2/include/components/mfcc/ceps13_compress_dtx.conf index 7056b9e7cb4b..6c0c52ba09e5 100644 --- a/tools/topology/topology2/include/components/mfcc/ceps13_compress_dtx.conf +++ b/tools/topology/topology2/include/components/mfcc/ceps13_compress_dtx.conf @@ -1,4 +1,4 @@ -# Exported MFCC configuration 26-May-2026 +# Exported MFCC configuration 03-Sep-2026 # cd src/audio/mfcc/tune; octave setup_mfcc.m Object.Base.data."mfcc_config" { bytes " diff --git a/tools/topology/topology2/include/components/mfcc/default.conf b/tools/topology/topology2/include/components/mfcc/default.conf index 0ac19fa71d04..7284f8209454 100644 --- a/tools/topology/topology2/include/components/mfcc/default.conf +++ b/tools/topology/topology2/include/components/mfcc/default.conf @@ -1,4 +1,4 @@ -# Exported MFCC configuration 26-May-2026 +# Exported MFCC configuration 03-Sep-2026 # cd src/audio/mfcc/tune; octave setup_mfcc.m Object.Base.data."mfcc_config" { bytes " diff --git a/tools/topology/topology2/include/components/mfcc/mel40.conf b/tools/topology/topology2/include/components/mfcc/mel40.conf new file mode 100644 index 000000000000..79ecd2b74e62 --- /dev/null +++ b/tools/topology/topology2/include/components/mfcc/mel40.conf @@ -0,0 +1,24 @@ +# Exported MFCC configuration 03-Sep-2026 +# cd src/audio/mfcc/tune; octave setup_mfcc.m +Object.Base.data."mfcc_config" { + bytes " + 0x53,0x4f,0x46,0x34,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x01,0xd0,0x01,0x03, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x00,0x02,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x80,0x3e,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xe0,0x01,0x40,0x01,0x40,0x1f,0x00,0x00, + 0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x00, + 0x00,0x00,0x00,0x00" +} diff --git a/tools/topology/topology2/include/components/mfcc/mel40_10ms.conf b/tools/topology/topology2/include/components/mfcc/mel40_10ms.conf new file mode 100644 index 000000000000..cca9bba95d1b --- /dev/null +++ b/tools/topology/topology2/include/components/mfcc/mel40_10ms.conf @@ -0,0 +1,24 @@ +# Exported MFCC configuration 03-Sep-2026 +# cd src/audio/mfcc/tune; octave setup_mfcc.m +Object.Base.data."mfcc_config" { + bytes " + 0x53,0x4f,0x46,0x34,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x01,0xd0,0x01,0x03, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x00,0x02,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x80,0x3e,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xe0,0x01,0xa0,0x00,0x4c,0x1d,0x7d,0x00, + 0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x00, + 0x00,0x00,0x00,0x00" +} diff --git a/tools/topology/topology2/include/components/mfcc/mel40_10ms_compress.conf b/tools/topology/topology2/include/components/mfcc/mel40_10ms_compress.conf new file mode 100644 index 000000000000..26769e6538fb --- /dev/null +++ b/tools/topology/topology2/include/components/mfcc/mel40_10ms_compress.conf @@ -0,0 +1,24 @@ +# Exported MFCC configuration 03-Sep-2026 +# cd src/audio/mfcc/tune; octave setup_mfcc.m +Object.Base.data."mfcc_config" { + bytes " + 0x53,0x4f,0x46,0x34,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x01,0xd0,0x01,0x03, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x00,0x02,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x80,0x3e,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xe0,0x01,0xa0,0x00,0x4c,0x1d,0x7d,0x00, + 0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x01, + 0x00,0x00,0x00,0x00" +} diff --git a/tools/topology/topology2/include/components/mfcc/mel40_compress.conf b/tools/topology/topology2/include/components/mfcc/mel40_compress.conf new file mode 100644 index 000000000000..cb9f76105869 --- /dev/null +++ b/tools/topology/topology2/include/components/mfcc/mel40_compress.conf @@ -0,0 +1,24 @@ +# Exported MFCC configuration 03-Sep-2026 +# cd src/audio/mfcc/tune; octave setup_mfcc.m +Object.Base.data."mfcc_config" { + bytes " + 0x53,0x4f,0x46,0x34,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x01,0xd0,0x01,0x03, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x74,0x00,0x00,0x00,0x00,0x02,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x80,0x3e,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xe0,0x01,0x40,0x01,0x40,0x1f,0x00,0x00, + 0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x01, + 0x00,0x00,0x00,0x00" +} diff --git a/tools/topology/topology2/include/components/mfcc/mel80.conf b/tools/topology/topology2/include/components/mfcc/mel80.conf index b18baadd459b..fd2023c7f408 100644 --- a/tools/topology/topology2/include/components/mfcc/mel80.conf +++ b/tools/topology/topology2/include/components/mfcc/mel80.conf @@ -1,4 +1,4 @@ -# Exported MFCC configuration 26-May-2026 +# Exported MFCC configuration 03-Sep-2026 # cd src/audio/mfcc/tune; octave setup_mfcc.m Object.Base.data."mfcc_config" { bytes " diff --git a/tools/topology/topology2/include/components/mfcc/mel80_compress.conf b/tools/topology/topology2/include/components/mfcc/mel80_compress.conf index f26f2af6980c..c219b406f70c 100644 --- a/tools/topology/topology2/include/components/mfcc/mel80_compress.conf +++ b/tools/topology/topology2/include/components/mfcc/mel80_compress.conf @@ -1,4 +1,4 @@ -# Exported MFCC configuration 26-May-2026 +# Exported MFCC configuration 03-Sep-2026 # cd src/audio/mfcc/tune; octave setup_mfcc.m Object.Base.data."mfcc_config" { bytes " diff --git a/tools/topology/topology2/include/components/mfcc/mel80_compress_dtx.conf b/tools/topology/topology2/include/components/mfcc/mel80_compress_dtx.conf index d225811ca4d1..14b2aaaac2fd 100644 --- a/tools/topology/topology2/include/components/mfcc/mel80_compress_dtx.conf +++ b/tools/topology/topology2/include/components/mfcc/mel80_compress_dtx.conf @@ -1,4 +1,4 @@ -# Exported MFCC configuration 26-May-2026 +# Exported MFCC configuration 03-Sep-2026 # cd src/audio/mfcc/tune; octave setup_mfcc.m Object.Base.data."mfcc_config" { bytes " From 84fabf1f53134a1069ce8d28417fd6de8b82f9f3 Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Thu, 27 Aug 2026 15:24:07 +0300 Subject: [PATCH 10/15] audio: microwakeword: implement mww component Add microWakeWord (MWW) processing module for low-power keyword spotting: - Implement module adapter in mww.c with soft mel-log AGC, VAD gating, and KPB wake-on-voice notification. - Implement TFLM bridge in mww_model.cc with MixConv operator resolver, support for int8 dequantization, and streaming resource variable resets. - Add robust circular ring buffer boundary unwrap handling for MFCC hops. - Add 2-step debounce verification before triggering KPB drain. - Add LLEXT wrapper and build system integration for both static and dynamic module targets. - Include initial placeholder model interface in mww_model_data.h/cc. Signed-off-by: Liam Girdwood Signed-off-by: Seppo Ingalsuo --- src/audio/CMakeLists.txt | 3 + src/audio/Kconfig | 1 + src/audio/microwakeword/CMakeLists.txt | 375 ++++++++++++ src/audio/microwakeword/Kconfig | 31 + src/audio/microwakeword/README.md | 151 +++++ src/audio/microwakeword/llext-wrap.c | 135 +++++ src/audio/microwakeword/llext/CMakeLists.txt | 185 ++++++ src/audio/microwakeword/llext/llext.toml.h | 6 + src/audio/microwakeword/mww.c | 601 +++++++++++++++++++ src/audio/microwakeword/mww.toml | 21 + src/audio/microwakeword/mww_model.cc | 260 ++++++++ src/audio/microwakeword/mww_model.h | 70 +++ src/audio/microwakeword/mww_model_data.cc | 5 + src/audio/microwakeword/mww_model_data.h | 13 + uuid-registry.txt | 1 + 15 files changed, 1858 insertions(+) create mode 100644 src/audio/microwakeword/CMakeLists.txt create mode 100644 src/audio/microwakeword/Kconfig create mode 100644 src/audio/microwakeword/README.md create mode 100644 src/audio/microwakeword/llext-wrap.c create mode 100644 src/audio/microwakeword/llext/CMakeLists.txt create mode 100644 src/audio/microwakeword/llext/llext.toml.h create mode 100644 src/audio/microwakeword/mww.c create mode 100644 src/audio/microwakeword/mww.toml create mode 100644 src/audio/microwakeword/mww_model.cc create mode 100644 src/audio/microwakeword/mww_model.h create mode 100644 src/audio/microwakeword/mww_model_data.cc create mode 100644 src/audio/microwakeword/mww_model_data.h diff --git a/src/audio/CMakeLists.txt b/src/audio/CMakeLists.txt index 92002c8b7c1c..1576166bf92b 100644 --- a/src/audio/CMakeLists.txt +++ b/src/audio/CMakeLists.txt @@ -56,6 +56,9 @@ if(NOT CONFIG_COMP_MODULE_SHARED_LIBRARY_BUILD) if(CONFIG_COMP_MFCC) add_subdirectory(mfcc) endif() + if(CONFIG_COMP_MWW) + add_subdirectory(microwakeword) + endif() if(CONFIG_COMP_MIXER) add_subdirectory(mixer) endif() diff --git a/src/audio/Kconfig b/src/audio/Kconfig index 8accb25738a2..a18f17523c90 100644 --- a/src/audio/Kconfig +++ b/src/audio/Kconfig @@ -142,6 +142,7 @@ rsource "eq_iir/Kconfig" rsource "google/Kconfig" rsource "igo_nr/Kconfig" rsource "mfcc/Kconfig" +rsource "microwakeword/Kconfig" rsource "mixer/Kconfig" rsource "mixin_mixout/Kconfig" rsource "module_adapter/Kconfig" diff --git a/src/audio/microwakeword/CMakeLists.txt b/src/audio/microwakeword/CMakeLists.txt new file mode 100644 index 000000000000..cd298c4ccea7 --- /dev/null +++ b/src/audio/microwakeword/CMakeLists.txt @@ -0,0 +1,375 @@ +# Copyright (c) 2026 Intel Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# Newer xt-clang LLVMs accept this to keep literals in .rodata; standard +# Clang or older xt-clang rejects the sub-option. Detect it. +set(MWW_TEXT_SECTION_LITERALS_FALSE_FLAG "") +if(CMAKE_C_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("-mllvm --text-section-literals=false" + MWW_HAS_MLLVM_TEXT_SECTION_LITERALS_FALSE) + if(MWW_HAS_MLLVM_TEXT_SECTION_LITERALS_FALSE) + set(MWW_TEXT_SECTION_LITERALS_FALSE_FLAG -mllvm --text-section-literals=false) + add_compile_options(${MWW_TEXT_SECTION_LITERALS_FALSE_FLAG}) + endif() +endif() + +# are we building the llext module ? +if(CONFIG_COMP_MWW STREQUAL "m" AND DEFINED CONFIG_LLEXT) + add_subdirectory(llext ${PROJECT_BINARY_DIR}/mww_llext) + add_dependencies(app mww) + return() +endif() + +# Own dedicated static-build targets (mww_tflm_lib/mww_nn_hifi_lib), distinct +# from src/audio/tensorflow/'s tflm_lib/nn_hifi_lib -- this model needs a +# materially different TFLM kernel set (resource variables, CALL_ONCE, +# Concatenation, StridedSlice, Logistic, Quantize) that tflmcly's build does +# not compile in, so the two components do not share libraries yet (see +# plan Stage 10 for a deferred shared-library refactor). +set(MWW_HAVE_NNLIB_HIFI4 FALSE) +if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CONFIG_XTENSA_HIFI4) + set(MWW_HAVE_NNLIB_HIFI4 TRUE) +endif() + +set(NN_HIFI_PATH ${sof_top_dir}/../nnlib-hifi4/xa_nnlib) + +# paths for dependencies +set(TFLM_PATH ${sof_top_dir}/../tflite-micro) +set(FLATBUFFERS_PATH ${sof_top_dir}/../flatbuffers) +set(GEMMLOWP_PATH ${sof_top_dir}/../gemmlowp) +set(RUY_PATH ${sof_top_dir}/../ruy) + +set(MWW_TOOLCHAIN_INCLUDE_ROOT + ${ZEPHYR_SDK_INSTALL_DIR}/gnu/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf/include) +set(MWW_HAL_SOC_PATH ${sof_top_dir}/../modules/hal/xtensa/zephyr/soc/${SOC_TOOLCHAIN_NAME}) + +if(MWW_HAVE_NNLIB_HIFI4) + +add_library(mww_nn_hifi_lib STATIC + ${NN_HIFI_PATH}/algo/common/src/xa_nnlib_common_api.c + ${NN_HIFI_PATH}/algo/kernels/activations/hifi4/xa_nn_activations_32_32.c + ${NN_HIFI_PATH}/algo/kernels/activations/hifi4/xa_nn_activations_f32_f32.c + ${NN_HIFI_PATH}/algo/ndsp/hifi4/src/nanf_tbl.c + ${NN_HIFI_PATH}/algo/ndsp/hifi4/src/inff_tbl.c + ${NN_HIFI_PATH}/algo/ndsp/hifi4/src/pow2f_tbl.c + ${NN_HIFI_PATH}/algo/ndsp/hifi4/src/expf_tbl.c + ${NN_HIFI_PATH}/algo/ndsp/hifi4/src/scl_sigmoidf_hifi4.c + ${NN_HIFI_PATH}/algo/ndsp/hifi4/src/vec_sigmoidf_hifi4.c + + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_matXvec_8x8_8_circ.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_pointwise_8x16.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_circ_buf.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_std_8x8.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_depthwise.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_matXvec_16x16_16_circ.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_std_circ_buf.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_matXvec_8x16_16_circ.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_std_8x16.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_depthwise_8x8.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_pointwise_8x8.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_std_16x16.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_pointwise_asym8xasym8.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_std_asym8xasym8.c + ${NN_HIFI_PATH}/algo/kernels/cnn/hifi4/xa_nn_conv2d_depthwise_asym8xasym8.c + ${NN_HIFI_PATH}/algo/kernels/fc/hifi4/xa_nn_fully_connected.c + ${NN_HIFI_PATH}/algo/kernels/pool/hifi4/xa_nn_inv_256_tbl.c + ${NN_HIFI_PATH}/algo/kernels/reorg/hifi4/xa_nn_transpose_8.c + ${NN_HIFI_PATH}/algo/kernels/reorg/hifi4/xa_nn_pad_8.c + ${NN_HIFI_PATH}/algo/kernels/reorg/hifi4/xa_nn_stride_slice_int8.c +) + +target_include_directories(mww_nn_hifi_lib PRIVATE + ${NN_HIFI_PATH}/include + ${NN_HIFI_PATH}/algo/common/include/ + ${NN_HIFI_PATH}/include/nnlib/ + ${NN_HIFI_PATH}/algo/ndsp/hifi4/include + ${MWW_TOOLCHAIN_INCLUDE_ROOT} + ${MWW_HAL_SOC_PATH} +) + +if(MWW_HAS_MLLVM_TEXT_SECTION_LITERALS_FALSE) + target_compile_options(mww_nn_hifi_lib PRIVATE + ${MWW_TEXT_SECTION_LITERALS_FALSE_FLAG} + ) +endif() + +target_compile_definitions(mww_nn_hifi_lib PRIVATE + -DHIFI4=1 + -DHAVE_VFPU=1 + -DHAVE_VFPU_SINGLE_PRECISION=1 + -DXCHAL_HAVE_HIFI4=1 + -DXCHAL_HAVE_HIFI4_VFPU=1 + + __xtensa__=1 + __XTENSA__=1 + __XCC__ + __XCC_CLANG__ + "XT_MAX(a,b)=((a)>(b)?(a):(b))" + "XT_MIN(a,b)=((a)<(b)?(a):(b))" + "AE_MOVINT16_FROMINT32(v)=((ae_int16)(v))" + "AE_CVT64F32_H(v)=((ae_int64)(int64_t)(int32_t)AE_MOVAD32_H(v))" + "AE_CVT64F32_L(v)=((ae_int64)(int64_t)(int32_t)AE_MOVAD32_L(v))" +) + +target_compile_options(mww_nn_hifi_lib PRIVATE + -fsigned-char + -fno-exceptions + -mlongcalls + -fno-zero-initialized-in-bss + -Wsign-compare + -DMODEL_INT16 + -DNNLIB_V2 + -Dhifi4 + -DTFLITE_SINGLE_ROUNDING=1 + -mcpu=${SOC_TOOLCHAIN_NAME} + "SHELL:-include xtensahifiintrin.h" + "SHELL:-include ${NN_HIFI_PATH}/algo/common/include/xa_nnlib_hifi_isa_compat.h" +) + +endif() # MWW_HAVE_NNLIB_HIFI4 + +# TFLM kernel sources beyond what tensorflow/CMakeLists.txt currently builds: +# the hey_jarvis.tflite MixConv streaming graph uses CALL_ONCE, VAR_HANDLE, +# READ_VARIABLE, ASSIGN_VARIABLE, CONCATENATION, STRIDED_SLICE, LOGISTIC and +# QUANTIZE in addition to CONV_2D/DEPTHWISE_CONV_2D/FULLY_CONNECTED/RESHAPE +# (confirmed by direct flatbuffer inspection, see plan Stage 1). +add_library(mww_tflm_lib STATIC + ${TFLM_PATH}/tensorflow/compiler/mlir/lite/core/api/error_reporter.cc + ${TFLM_PATH}/tensorflow/compiler/mlir/lite/schema/schema_utils.cc + ${TFLM_PATH}/tensorflow/lite/core/c/common.cc + ${TFLM_PATH}/tensorflow/lite/core/api/flatbuffer_conversions.cc + ${TFLM_PATH}/tensorflow/lite/core/api/tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/common.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/runtime_shape.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/quantization_util.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/tensor_ctypes.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/portable_tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/reference/comparisons.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/reference/portable_tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/kernel_util.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/kernel_util.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/call_once.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/var_handle.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/read_variable.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/assign_variable.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/concatenation.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/conv_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/depthwise_conv_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/fully_connected_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/logistic_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/quantize_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/reshape_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/strided_slice_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/dequantize_common.cc + # reference kernel implementations for the ops above + ${TFLM_PATH}/tensorflow/lite/micro/kernels/conv.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/depthwise_conv.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/fully_connected.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/logistic.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/quantize.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/reshape.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/strided_slice.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/dequantize.cc + ${TFLM_PATH}/tensorflow/lite/micro/mock_micro_graph.cc + ${TFLM_PATH}/tensorflow/lite/micro/flatbuffer_utils.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_interpreter_graph.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_resource_variable.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_interpreter_context.cc + ${TFLM_PATH}/tensorflow/lite/micro/fake_micro_context.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/persistent_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/recording_single_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/non_persistent_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/single_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/tflite_bridge/flatbuffer_conversions_bridge.cc + ${TFLM_PATH}/tensorflow/lite/micro/tflite_bridge/micro_error_reporter.cc + ${TFLM_PATH}/tensorflow/lite/micro/system_setup.cc + ${TFLM_PATH}/tensorflow/lite/micro/test_helper_custom_ops.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_context.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_log.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_profiler.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_time.cc + # debug_log.cc is replaced by our printk-backed DebugLog() in mww.c. + #${TFLM_PATH}/tensorflow/lite/micro/debug_log.cc + ${TFLM_PATH}/tensorflow/lite/micro/test_helpers.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_op_resolver.cc + ${TFLM_PATH}/tensorflow/lite/micro/recording_micro_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_helpers.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_allocation_info.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_planner/greedy_memory_planner.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_planner/non_persistent_buffer_planner_shim.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_planner/linear_memory_planner.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_utils.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_interpreter.cc + mww_model_data.cc + mww_model.cc +) + +target_include_directories(mww_tflm_lib PRIVATE + ${TFLM_PATH} + ${FLATBUFFERS_PATH}/include + ${GEMMLOWP_PATH} + ${RUY_PATH} + ${sof_top_dir}/posix/include + ${sof_top_dir}/../modules/hal/xtensa/include + ${MWW_HAL_SOC_PATH} +) +if(MWW_HAVE_NNLIB_HIFI4) +target_include_directories(mww_tflm_lib PRIVATE + ${NN_HIFI_PATH} + ${NN_HIFI_PATH}/include +) +endif() + +if(MWW_HAVE_NNLIB_HIFI4) +target_compile_definitions(mww_tflm_lib PRIVATE + -DHIFI4=1 + -DHAVE_VFPU=1 + -DHAVE_VFPU_SINGLE_PRECISION=1 + -DXCHAL_HAVE_HIFI4=1 + -DXCHAL_HAVE_HIFI4_VFPU=1 + + __xtensa__=1 + __XTENSA__=1 + __XCC__ + __XCC_CLANG__ + "XT_MAX(a,b)=((a)>(b)?(a):(b))" + "XT_MIN(a,b)=((a)<(b)?(a):(b))" + "AE_MOVINT16_FROMINT32(v)=((ae_int16)(v))" + "AE_CVT64F32_H(v)=((ae_int64)(int64_t)(int32_t)AE_MOVAD32_H(v))" + "AE_CVT64F32_L(v)=((ae_int64)(int64_t)(int32_t)AE_MOVAD32_L(v))" +) +target_compile_options(mww_tflm_lib PRIVATE + -DHIFI4 + -DKERNELS_OPTIMIZED_FOR_SPEED + -DNNLIB_V2 +) +endif() # MWW_HAVE_NNLIB_HIFI4 + +target_compile_options(mww_tflm_lib PRIVATE + -std=c++17 + -fno-rtti + -fno-exceptions + -fno-threadsafe-statics + -Wnon-virtual-dtor + -fno-unwind-tables + -fmessage-length=0 + -DTF_LITE_STATIC_MEMORY + -DTF_LITE_DISABLE_X86_NEON + -Wsign-compare + -Wdouble-promotion + -Wunused-variable + -Wswitch + -Wvla + -Wall + -Wextra + -Wmissing-field-initializers + -Wstrict-aliasing + -Wno-unused-parameter + -DXTENSA + -DTF_LITE_MCU_DEBUG_LOG + -DTF_LITE_USE_CTIME + -mlongcalls + -Wno-shadow +) + +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|Xtensa" OR CMAKE_C_COMPILER MATCHES "xt-clang") + target_compile_options(mww_tflm_lib PRIVATE + -stdlib=libc++ + "SHELL:-include xtensahifiintrin.h" + -fno-vectorize + -fno-slp-vectorize + ) +else() + target_compile_options(mww_tflm_lib PRIVATE + -fno-tree-vectorize + -fno-tree-slp-vectorize + ) +endif() + +if(CMAKE_C_COMPILER_ID STREQUAL "Xtensa") + target_compile_options(mww_tflm_lib PRIVATE + --xtensa-core=ace10_LX7HiFi4_2022_10 + -mcoproc + ) +elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") + target_compile_options(mww_tflm_lib PRIVATE + -mcpu=${SOC_TOOLCHAIN_NAME} + ) +endif() + +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_include_directories(mww_tflm_lib SYSTEM PRIVATE + ${MWW_TOOLCHAIN_INCLUDE_ROOT}/c++/14.3.0 + ${MWW_TOOLCHAIN_INCLUDE_ROOT}/c++/14.3.0/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf + ${MWW_TOOLCHAIN_INCLUDE_ROOT} + ) +endif() + +add_local_sources(sof mww.c) + +if(MWW_HAVE_NNLIB_HIFI4) + zephyr_link_libraries(mww_tflm_lib mww_nn_hifi_lib) +else() + zephyr_link_libraries(mww_tflm_lib) +endif() + +# Same libc-shim rationale as src/audio/tensorflow/CMakeLists.txt: SOF's +# default CONFIG_MINIMAL_LIBC is missing abs()/libm symbols TFLM needs in a +# statically-linked (non-LLEXT) image; extract just those archive members +# from the toolchain's libc.a into a small private archive. +if(NOT CONFIG_COMP_MWW STREQUAL "m") + set(MWW_TOOLCHAIN_LIBC_ARCHIVE + ${ZEPHYR_SDK_INSTALL_DIR}/gnu/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf/lib/libc.a) + set(MWW_LIBC_SHIM_MEMBERS + libc_stdlib_abs.c.o + libm_math_s_floor.c.o + libm_math_sf_exp.c.o + libm_math_sf_log.c.o + libm_math_sf_ceil.c.o + libm_math_s_frexp.c.o + libm_common_s_round.c.o + libm_common_sf_fmax.c.o + libm_common_sf_fmin.c.o + libm_common_sf_round.c.o + libm_common_sf_isnan.c.o + libm_common_sf_issignaling.c.o + libm_common_math_errf_uflowf.c.o + libm_common_math_errf_oflowf.c.o + libm_common_math_errf_divzerof.c.o + libm_common_math_errf_invalidf.c.o + ) + set(MWW_LIBC_SHIM_DIR ${CMAKE_CURRENT_BINARY_DIR}/mww_libc_shim) + set(MWW_LIBC_SHIM_ARCHIVE ${CMAKE_CURRENT_BINARY_DIR}/libmww_libc_shim.a) + file(MAKE_DIRECTORY ${MWW_LIBC_SHIM_DIR}) + add_custom_command( + OUTPUT ${MWW_LIBC_SHIM_ARCHIVE} + COMMAND ${CMAKE_AR} x ${MWW_TOOLCHAIN_LIBC_ARCHIVE} ${MWW_LIBC_SHIM_MEMBERS} + COMMAND ${CMAKE_AR} rcs ${MWW_LIBC_SHIM_ARCHIVE} ${MWW_LIBC_SHIM_MEMBERS} + WORKING_DIRECTORY ${MWW_LIBC_SHIM_DIR} + DEPENDS ${MWW_TOOLCHAIN_LIBC_ARCHIVE} + COMMENT "Extracting abs()/libm members TFLM needs from the toolchain libc.a" + ) + add_custom_target(mww_libc_shim_gen DEPENDS ${MWW_LIBC_SHIM_ARCHIVE}) + add_library(mww_libc_shim STATIC IMPORTED GLOBAL) + set_target_properties(mww_libc_shim PROPERTIES IMPORTED_LOCATION ${MWW_LIBC_SHIM_ARCHIVE}) + add_dependencies(mww_libc_shim mww_libc_shim_gen) + zephyr_link_libraries(mww_libc_shim) + + target_compile_definitions(mww_tflm_lib PRIVATE NDEBUG) +endif() +zephyr_include_directories(${TFLM_PATH}) +zephyr_include_directories(${FLATBUFFERS_PATH}/include) +zephyr_include_directories(${GEMMLOWP_PATH}) +zephyr_include_directories(${RUY_PATH}) +if(MWW_HAVE_NNLIB_HIFI4) +zephyr_include_directories(${NN_HIFI_PATH}/algo/kernels/include) +zephyr_include_directories(${NN_HIFI_PATH}/include) +endif() +target_include_directories(modules_sof SYSTEM PRIVATE + ${MWW_TOOLCHAIN_INCLUDE_ROOT}/c++/14.3.0 + ${MWW_TOOLCHAIN_INCLUDE_ROOT}/c++/14.3.0/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf + ${MWW_TOOLCHAIN_INCLUDE_ROOT} +) diff --git a/src/audio/microwakeword/Kconfig b/src/audio/microwakeword/Kconfig new file mode 100644 index 000000000000..db0685687cc0 --- /dev/null +++ b/src/audio/microwakeword/Kconfig @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: BSD-3-Clause + +config COMP_MWW + tristate "microWakeWord keyword-spotting component" + depends on SOF_STAGING + depends on CPP + depends on STD_CPP17 + help + Select for microWakeWord component support. This module runs a + TensorFlow Lite Micro streaming keyword-spotting model (based on + OHF-Voice's micro-wake-word project) on MFCC features and wakes + the host via KPB/WoV when the wake word is detected. + +if COMP_MWW + +config COMP_MWW_DEBUG_TRACE + bool "Verbose per-hop / per-inference debug traces" + default n + help + Enable mww per-hop and per-inference debug prints in the hot path. + Leave disabled for production and normal capture tuning. + +config COMP_MWW_MODEL_FROM_CONTROL + bool "Load MWW model from bytes control instead of built-in header" + default n + help + When enabled, the MWW wake-word model is loaded from a runtime + or topology configuration data blob via binary kcontrol (bytes control) + instead of using the static mww_model_data embedded in the firmware image. + +endif # COMP_MWW diff --git a/src/audio/microwakeword/README.md b/src/audio/microwakeword/README.md new file mode 100644 index 000000000000..cf050e73ed4a --- /dev/null +++ b/src/audio/microwakeword/README.md @@ -0,0 +1,151 @@ +# microWakeWord (MWW) Architecture + +This directory provides an SOF component wrapping [OHF-Voice's +microWakeWord](https://github.com/OHF-Voice/micro-wake-word) streaming +keyword-spotting model, integrated with MFCC feature extraction and the +same Key Phrase Buffer (KPB) Wake-on-Voice (WoV) trigger infrastructure +used by `src/audio/tensorflow` (`tflmcly`). Unlike `tflmcly`'s 4-way +softmax classifier, microWakeWord outputs a single sigmoid wake-word +probability from a stateful streaming TFLM graph. + +--- + +## Overview + +`mww` consumes 40-bin mel feature hops from the upstream `mfcc` component, +requantizes them per the model's real `input_scale`/`input_zero_point`, +and runs inference via TensorFlow Lite Micro in the **Data Processing +(DP) domain**. The reference model (`hey_jarvis.tflite` v2) is a MixConv +streaming graph that keeps its own internal ring-buffer state (TFLM +resource variables + a `CALL_ONCE` init subgraph), so `mww` only needs to +supply `MWW_FEATURE_SLICE_COUNT` (3) fresh 10ms/40-bin hops per +`Invoke()` rather than maintaining a caller-side sliding window. + +When `probability >= MWW_DETECT_THRESHOLD` (0.5), `mww` acts as an **AMS +producer** of `AMS_KPD_MSG_UUID` — mirroring +`src/samples/audio/detect_test.c`'s pattern +(`ams_helper_register_producer()` / `ams_helper_prepare_payload()` / +`ams_send()`) rather than `tflmcly`'s notifier call — to signal KPB to +drain its pre-roll audio history to the host. `src/audio/kpb.c`'s +existing AMS-consumer branch requires no changes to receive this. + +--- + +## Architecture & Data Flow + +Structurally identical to `tflmcly`'s dual-path WoV topology (see +`src/audio/tensorflow/README.md`), with `mww` in place of `tflmcly` and +its own 10ms-hop MFCC profile: + +```mermaid +graph TD + subgraph Audio_Input ["HDA Analog Capture"] + HDA["HDA Analog Input (dai_type: HDA)"] + end + + subgraph KPB_Pipeline ["Capture & KPB Pipeline"] + Gain["gain.2.1 (Volume Control)"] + KPB["kpb.2.1 (Key Phrase Buffer)"] + end + + subgraph Detect_Pipeline ["Real-Time Detection Path (KPB Pin 1) - DP Domain"] + SRC["src.1.1 (Resampler: 48kHz -> 16kHz)"] + MFCC["mfcc.1.1 (Mel-40 Feature Extractor, 10ms hop)"] + MWW["mww.1.1 (microWakeWord LLEXT)"] + VSink["virtual.mww_sink (Termination)"] + end + + subgraph Host_Pipeline ["Host WoV Draining Path (KPB Pin 2)"] + Host["host-copier.0.capture (PCM Capture Stream)"] + end + + HDA --> DAI["dai-copier.HDA.Analog.capture"] + DAI --> Gain + Gain --> KPB + KPB -- Pin 1: Live Audio --> SRC + SRC --> MFCC + MFCC -- Mel-40/10ms Tensors --> MWW + MWW --> VSink + + MWW -.->|AMS_KPD_MSG_UUID producer| KPB + + KPB -- Pin 2: Pre-roll History Buffer --> Host +``` + +--- + +## Deployment Targets + +- **Aphid (PTL / ACE 3.0)**: `CONFIG_COMP_MWW=m`, built and deployed as a + real loadable `.llext` module — the target that exercises SOF's LLEXT + loading/relocation path, not just a compile check. + `app/boards/intel_adsp_ace30_ptl.conf` disables `CONFIG_COMP_TENSORFLOW` + on this board (tflmcly is not yet GNU-toolchain-clean here, and mww + builds its own independent TFLM lib copy so it doesn't need it). + +Building `mww` as a real LLEXT module (rather than statically linked) +required several fixes to SOF's and Zephyr's LLEXT support, landed +alongside this component: + +- `library_manager/llext_manager.c` — section rebase/relocation fixup + after SOF's own address rebasing, `.bss`/`DATA` region packing, and a + tracked `.exported_sym` segment. +- `zephyr/CMakeLists.txt` — `-Wl,-Bsymbolic-functions` so multi-TU C++ + internal calls (TFLM spans many `.cc` files) resolve locally. +- `src/lib/cpp_new_export.cpp` — exported `operator new`/`delete`/ + `__cxa_pure_virtual` for C++ LLEXT modules. +- A companion Zephyr fork branch (`feature/llext-stb-weak-fixes`) treats + `STB_WEAK` symbols (C++ template-instantiated vtables/typeinfo) the + same as `STB_GLOBAL` in the LLEXT export table, PLT resolution, and + `GLOB_DAT`/`JMP_SLOT` relocation — required for TFLM's vtables to + resolve correctly inside the loaded module. + +--- + +## Building and Testing + +### Building the topology target + +From `sof/tools/build_tools`: + +```bash +ninja topology2_prod_sof-ptl-hda-mww-kpb +``` + +### Deploying and testing on aphid + +```bash +# Pristine firmware + llext build +CCACHE_DISABLE=1 ./sof/scripts/xtensa-build-zephyr.py -p ptl -k sof/keys/otc_private_key_3k.pem + +# Deploy .ri / sof-ipc4-lib tree / .tplg to aphid, then reboot to load +ssh -i ~/.ssh/aphid_deploy root@aphid 'timeout 10s arecord -D hw:0,0 -f S32_LE -r 16000 -c 2 -d 10 /tmp/test.wav' +ssh -i ~/.ssh/aphid_deploy root@aphid 'timeout 10s /usr/local/bin/mtrace-reader.py' +``` + +Look for `MWW DBG feature range` and `MWW probability=` log lines in the +mtrace output. + +--- + +## Known Issues / Open Items + +--- + +## Source Files + +- **mww.c**: SOF module adapter implementation (init/prepare/process/reset, + AMS producer signaling). +- **mww_model.cc** / **mww_model.h**: TFLM C++ API bridge exposing + `MWW_SetModel()` / `MWW_InitOps()` / `MWW_ProcessClassify()`. +- **mww_model_data.cc** / **mww_model_data.h**: model flatbuffer data + (placeholder, swappable for a trained/converted checkpoint). +- **mww.toml**: rimage module manifest entry. +- **llext/**: LLEXT build scaffolding (CMakeLists.txt, llext.toml.h, + reentrant-stub shims mirroring `src/audio/template/`). +- **../../tools/topology/topology2/include/components/mww.conf**: + Topology v2 widget class definition. +- **../../tools/topology/topology2/include/pipelines/cavs/host-gateway-src-mfcc-mww-capture.conf**: + Detection pipeline template. +- **../../tools/topology/topology2/sof-hda-mww.conf**: Top-level WoV + topology configuration. diff --git a/src/audio/microwakeword/llext-wrap.c b/src/audio/microwakeword/llext-wrap.c new file mode 100644 index 000000000000..b868cea8c79d --- /dev/null +++ b/src/audio/microwakeword/llext-wrap.c @@ -0,0 +1,135 @@ +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright(c) 2026 Intel Corporation. All rights reserved. + +#include +#include +#include +#include + +/* + * Stubs that are needed for linkage of some applications or libraries + * that come from porting userspace code. Anyone porting should + * make sure that any code does not depend on working copies of these + * reentrant functions. We will fail for any caller. + */ + +struct stat; +struct _reent; + +ssize_t _read_r(struct _reent *ptr, int fd, void *buf, size_t cnt) +{ + errno = ENOTSUP; + return -1; +} + +ssize_t _write_r(struct _reent *ptr, int fd, const void *buf, size_t cnt) +{ + errno = ENOTSUP; + return -1; +} + +void *_sbrk_r(struct _reent *ptr, ptrdiff_t incr) +{ + errno = ENOTSUP; + return (void *)-1; +} + +int _lseek_r(struct _reent *ptr, int fd, int pos, int whence) +{ + errno = ENOTSUP; + return -1; +} + +int _kill_r(struct _reent *ptr, int pid, int sig) +{ + errno = ENOTSUP; + return -1; +} + +int _getpid_r(struct _reent *ptr) +{ + errno = ENOTSUP; + return -1; +} + +int _fstat_r(struct _reent *ptr, int fd, struct stat *pstat) +{ + errno = ENOTSUP; + return -1; +} + +int _close_r(struct _reent *ptr, int fd) +{ + errno = ENOTSUP; + return -1; +} + +/* + * libc.a's fmaxf()/fminf() are not built PIC-safe: their error path + * (__math_invalidf()) calls __isnanf()/__issignalingf(), and GNU ld refuses + * those relocations ("dangerous relocation") when linking this ET_DYN/PIC + * LLEXT. TFLM's kernels use fmaxf()/fminf() for plain (non-NaN-signaling) + * min/max, so provide direct, self-contained definitions here: linked ahead + * of -lm, these satisfy the symbols outright and libm.a's versions (and the + * non-PIC-safe helpers they pull in) are never extracted. + */ +float fmaxf(float x, float y) +{ + if (x != x) + return y; + if (y != y) + return x; + return (x > y) ? x : y; +} + +float fminf(float x, float y) +{ + if (x != x) + return y; + if (y != y) + return x; + return (x < y) ? x : y; +} + +/* + * libc.a's shared float-domain-error helper __math_invalidf() (used by + * logf()/sqrtf()/powf()/and most other single-precision libm functions' + * error paths) is itself built non-PIC-safe: it calls __isnanf() via a + * direct call8, which GNU ld refuses ("dangerous relocation") once that + * non-PIC object is pulled into this ET_DYN/PIC LLEXT. Providing our own + * definition here -- linked ahead of -lm -- means libc.a's copy (and the + * relocation it can't satisfy) is never extracted, while every libm + * function that calls it keeps working via its normal linked-in code. + * Semantics mirror libc.a's own implementation: propagate x via x+x for a + * NaN input (quieting/signalling per IEEE 754), else synthesize NaN via + * 0.0f/0.0f. + */ +float __math_invalidf(float x) +{ + union { float f; uint32_t u; } v = { .f = x }; + int is_nan = (v.u & 0x7f800000u) == 0x7f800000u && (v.u & 0x007fffffu); + + if (is_nan) + return x + x; + + return 0.0f / 0.0f; +} + +/* TFLM needs exit if build as a llext module only atm */ +#if CONFIG_COMP_MWW == m +void _exit(int status) +{ + /* + * Do not call libc assert() here: it drags in __assert_no_args(), + * which calls fwrite()/abort() from libc.a. Those objects are not + * built PIC-safe, and linking them into this ET_DYN/PIC LLEXT + * triggers GNU ld "dangerous relocation" errors. The spin loop + * below already provides the required "never return" behaviour. + */ + while (1) { + /* spin forever */ + } + /* NOTREACHED */ +} +#endif diff --git a/src/audio/microwakeword/llext/CMakeLists.txt b/src/audio/microwakeword/llext/CMakeLists.txt new file mode 100644 index 000000000000..eea0e065fb96 --- /dev/null +++ b/src/audio/microwakeword/llext/CMakeLists.txt @@ -0,0 +1,185 @@ +# Copyright (c) 2026 Intel Corporation. +# SPDX-License-Identifier: Apache-2.0 +# +# LLEXT build path for the mww component (CONFIG_COMP_MWW=m). Structurally +# mirrors src/audio/tensorflow/llext/CMakeLists.txt, but targeted at aphid +# (ace30/PTL, Clang/LLVM toolchain) rather than that file's ace15_mtpm/Xtensa +# reference build -- see plan Stage 8. The toolchain paths below are derived +# from SOC_TOOLCHAIN_NAME/ZEPHYR_SDK_INSTALL_DIR rather than hardcoded, since +# this file is authored in the sof-tgl worktree before the aphid-specific +# build in sof-ptl/sof exists; re-verify against the real build-ptl-llvm +# toolchain paths when Stage 8 is actually run. + +set(TFLM_PATH ${sof_top_dir}/../tflite-micro) +set(FLATBUFFERS_PATH ${sof_top_dir}/../flatbuffers) +set(GEMMLOWP_PATH ${sof_top_dir}/../gemmlowp) +set(RUY_PATH ${sof_top_dir}/../ruy) +set(NN_HIFI_PATH ${sof_top_dir}/../nnlib-hifi4/xa_nnlib) + +set(MWW_TOOLCHAIN_ROOT "") +if(DEFINED ZEPHYR_SDK_INSTALL_DIR AND NOT "${ZEPHYR_SDK_INSTALL_DIR}" STREQUAL "") + set(MWW_TOOLCHAIN_ROOT + ${ZEPHYR_SDK_INSTALL_DIR}/gnu/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf) +endif() +set(MWW_HAL_SOC_PATH ${sof_top_dir}/../modules/hal/xtensa/zephyr/soc/${SOC_TOOLCHAIN_NAME}) + +# As in tensorflow/llext/CMakeLists.txt, the HiFi4 nnlib optimized kernels +# are only pulled in for a genuine Xtensa (xcc) compiler; aphid's LLEXT +# module is built with Clang, so nn_hifi_lib is NOT built here and the +# reference (non-HiFi) TFLM kernel implementations are used instead. This +# mirrors the existing (arguably suboptimal, see plan/summary note) +# tflmcly behavior rather than diverging from it -- revisit in Stage 10. +set(MWW_LLEXT_KERNEL_SOURCES + ${TFLM_PATH}/tensorflow/lite/micro/kernels/call_once.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/var_handle.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/read_variable.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/assign_variable.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/concatenation.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/conv_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/depthwise_conv_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/fully_connected_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/logistic_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/quantize_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/reshape_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/strided_slice_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/dequantize_common.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/conv.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/depthwise_conv.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/fully_connected.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/logistic.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/quantize.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/reshape.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/strided_slice.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/dequantize.cc +) + +add_library(mww_tflm_lib STATIC + ${TFLM_PATH}/tensorflow/compiler/mlir/lite/core/api/error_reporter.cc + ${TFLM_PATH}/tensorflow/compiler/mlir/lite/schema/schema_utils.cc + ${TFLM_PATH}/tensorflow/lite/core/c/common.cc + ${TFLM_PATH}/tensorflow/lite/core/api/flatbuffer_conversions.cc + ${TFLM_PATH}/tensorflow/lite/core/api/tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/common.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/runtime_shape.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/quantization_util.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/tensor_ctypes.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/portable_tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/reference/comparisons.cc + ${TFLM_PATH}/tensorflow/lite/kernels/internal/reference/portable_tensor_utils.cc + ${TFLM_PATH}/tensorflow/lite/kernels/kernel_util.cc + ${TFLM_PATH}/tensorflow/lite/micro/kernels/kernel_util.cc + ${MWW_LLEXT_KERNEL_SOURCES} + ${TFLM_PATH}/tensorflow/lite/micro/mock_micro_graph.cc + ${TFLM_PATH}/tensorflow/lite/micro/flatbuffer_utils.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_interpreter_graph.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_resource_variable.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_interpreter_context.cc + ${TFLM_PATH}/tensorflow/lite/micro/fake_micro_context.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/persistent_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/recording_single_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/non_persistent_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/arena_allocator/single_arena_buffer_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_allocator.cc + ${TFLM_PATH}/tensorflow/lite/micro/tflite_bridge/flatbuffer_conversions_bridge.cc + ${TFLM_PATH}/tensorflow/lite/micro/tflite_bridge/micro_error_reporter.cc + ${TFLM_PATH}/tensorflow/lite/micro/system_setup.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_context.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_log.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_profiler.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_time.cc + # debug_log.cc is replaced by our printk-backed DebugLog() in mww.c. + #${TFLM_PATH}/tensorflow/lite/micro/debug_log.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_op_resolver.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_helpers.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_allocation_info.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_planner/greedy_memory_planner.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_planner/non_persistent_buffer_planner_shim.cc + ${TFLM_PATH}/tensorflow/lite/micro/memory_planner/linear_memory_planner.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_utils.cc + ${TFLM_PATH}/tensorflow/lite/micro/micro_interpreter.cc + ../mww_model_data.cc + ../mww_model.cc +) + +target_include_directories(mww_tflm_lib PRIVATE + ${TFLM_PATH} + ${FLATBUFFERS_PATH}/include + ${GEMMLOWP_PATH} + ${RUY_PATH} + ${sof_top_dir}/posix/include + ${sof_top_dir}/../modules/hal/xtensa/include + ${MWW_HAL_SOC_PATH} +) + +target_compile_options(mww_tflm_lib PRIVATE + -std=c++17 + -fno-rtti + -fno-exceptions + -fno-threadsafe-statics + -fno-unwind-tables + -fmessage-length=0 + -DTF_LITE_STATIC_MEMORY + -DTF_LITE_DISABLE_X86_NEON + -Wno-unused-parameter + -DXTENSA + -DTF_LITE_MCU_DEBUG_LOG + -DTF_LITE_USE_CTIME + -mlongcalls + -fPIC + # TF_LITE_STRIP_ERROR_STRINGS drops DebugLog()/DebugVsnprintf()'s calls + # into vprintf/vsnprintf; NDEBUG drops libc assert(). Both chains pull + # in libc.a objects (vfprintf/fwrite/abort) that are not built PIC-safe, + # which GNU ld refuses ("dangerous relocation") when linking this + # ET_DYN/PIC LLEXT. + -DTF_LITE_STRIP_ERROR_STRINGS + -DNDEBUG +) + +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|Xtensa" OR CMAKE_C_COMPILER MATCHES "xt-clang") + target_compile_options(mww_tflm_lib PRIVATE + -stdlib=libc++ + -fno-vectorize + -fno-slp-vectorize + ) + if(NOT CMAKE_C_COMPILER MATCHES "xt-clang") + target_compile_options(mww_tflm_lib PRIVATE + -mcpu=${SOC_TOOLCHAIN_NAME} + ) + if(NOT "${MWW_TOOLCHAIN_ROOT}" STREQUAL "") + target_include_directories(mww_tflm_lib SYSTEM PRIVATE + ${MWW_TOOLCHAIN_ROOT}/include/c++/14.3.0 + ${MWW_TOOLCHAIN_ROOT}/include/c++/14.3.0/xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf + ${MWW_TOOLCHAIN_ROOT}/include + ) + endif() + endif() +endif() + +set(MWW_LIBS_PATHS .) +if(NOT "${MWW_TOOLCHAIN_ROOT}" STREQUAL "") + list(APPEND MWW_LIBS_PATHS ${MWW_TOOLCHAIN_ROOT}/lib) +endif() + +sof_llext_build("mww" + SOURCES + ../mww.c + ../llext-wrap.c + INCLUDES + ${TFLM_PATH} + ${FLATBUFFERS_PATH}/include + ${GEMMLOWP_PATH} + ${RUY_PATH} + ${sof_top_dir}/posix/include + LIBS + mww_tflm_lib + LIBS_PATH + ${MWW_LIBS_PATHS} +) + +if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER MATCHES "xt-clang" AND NOT "${MWW_TOOLCHAIN_ROOT}" STREQUAL "") + llext_link_options(mww + --target=xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf + --ld-path=${MWW_TOOLCHAIN_ROOT}-ld + ) +endif() diff --git a/src/audio/microwakeword/llext/llext.toml.h b/src/audio/microwakeword/llext/llext.toml.h new file mode 100644 index 000000000000..5929e908128b --- /dev/null +++ b/src/audio/microwakeword/llext/llext.toml.h @@ -0,0 +1,6 @@ +#include +#define LOAD_TYPE "2" +#include "../mww.toml" + +[module] +count = __COUNTER__ diff --git a/src/audio/microwakeword/mww.c b/src/audio/microwakeword/mww.c new file mode 100644 index 000000000000..f99b02b11e79 --- /dev/null +++ b/src/audio/microwakeword/mww.c @@ -0,0 +1,601 @@ +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright(c) 2026 Intel Corporation. All rights reserved. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include "mww_model.h" + +#include +#include +#include + +/* TFLM error strings land here. Route to printk/mtrace so AllocateTensors() + * and Invoke() failures print their real reason instead of vanishing. + */ +void DebugLog(const char *format, va_list args) +{ + vprintk(format, args); +} + +int DebugVsnprintf(char *buffer, size_t buf_size, const char *format, + va_list vlist) +{ + return vsnprintk(buffer, buf_size, format, vlist); +} + +#if CONFIG_AMS +#include +#include +#include +#else +#include +#endif + +/* MFCC's non-compress output prepends a struct mfcc_data_header (24 bytes) + * to each hop, followed by MWW_FEATURE_SIZE int32_t Q9.23 mel-log values. + * This must match the frame size configured in the mww capture pipeline. + */ +#define MWW_HOP_BYTES (sizeof(struct mfcc_data_header) + MWW_FEATURE_SIZE * sizeof(int32_t)) + +/* Pre-roll history in ms that KPB drains to host on wake-word trigger. */ +#define MWW_KPB_DRAIN_REQ_MS 1000 + +/* MFCC delivers one hop every 10 ms; MWW processes 3 hops per inference. */ +#define MWW_MFCC_HOP_MS 10 + +/* Wake-word probability threshold above which KPB draining is triggered. */ +#define MWW_DETECT_THRESHOLD 0.65f + +/* Consecutive inferences above threshold required to confirm detection (~60 ms). */ +#define MWW_CONSECUTIVE_DETECTS_REQUIRED 2 + +/* Number of startup inferences to warm up the temporal ring buffers before enabling triggers (~1 sec). */ +#define MWW_WARMUP_INFERENCES 33 + +/* Soft mel-log AGC (units: Q9.23, matches MFCC output). One decade = +10 dB. + * Target +2.5 dB (+0.25 in Q9.23), floor -20 dB. Attack: instant clamp so peak+gain + * never exceeds MEL_CLIP_MAX_Q23 (+1.0, +10 dB). Release: dual-rate additive recovery: + * - Normal release during silence (VAD == 0): ~0.5 dB/s (100 hops/s). + * - Super-slow leak during speech (VAD == 1): ~0.05 dB/s (1/10th speed) to guarantee + * the AGC never stays permanently trapped at minimum gain even if VAD gets stuck. + */ +#define MWW_AGC_GAIN_TARGET_Q23 2097152 /* +2.5 dB (0.25 * 2^23) */ +#define MWW_AGC_GAIN_FLOOR_Q23 -16777216 /* -20 dB, int32(-20 * 0.1 * 2^23) */ +#define MWW_AGC_RELEASE_STEP_Q23 4194 /* 0.5 dB/s, int32((0.5 * 0.1 / 100) * 2^23) */ +#define MWW_AGC_RELEASE_STEP_SPEECH_Q23 419 /* 0.05 dB/s, 1/10th normal release */ + +/* The range -1.0 to +1.0 of Q9.23 Mel values is scaled to +/-1.0 Q1.7. */ +#define MEL_OFFSET_Q23 0 /* 0 */ +#define MEL_SCALE_Q30 (1 << 30) /* 1.0 in Q30 */ +#define MEL_CLIP_MAX_Q23 (1 << 23) /* +1.0 in Q23 */ +#define MEL_CLIP_MIN_Q23 (-1 << 23) /* -1.0 in Q23 */ +#define MEL_CLIP_MAX_Q7 127 +#define MEL_CLIP_MIN_Q7 -128 + +SOF_DEFINE_REG_UUID(mww); +LOG_MODULE_REGISTER(mww, CONFIG_SOF_LOG_LEVEL); +#if CONFIG_COMP_MWW_MODULE +EXPORT_SYMBOL(mww_uuid); +EXPORT_SYMBOL(log_const_mww); +#endif + +#if CONFIG_AMS +/* Key-phrase detected message, shared with src/samples/audio/detect_test.c + * and consumed by kpb.c's AMS-consumer branch -- no kpb.c changes needed. + */ +static const ams_uuid_t ams_kpd_msg_uuid = AMS_KPD_MSG_UUID; +#endif + +struct mww_comp_data { + struct comp_data_blob_handler *model_handler; + struct mww_classify mwc; + struct kpb_client client_data; + uint32_t drain_req_ms; +#if CONFIG_AMS + uint32_t kpd_uuid_id; +#else + struct kpb_event_data event_data; +#endif + bool initialized; + int8_t feature_buf[MWW_FEATURE_ELEM_COUNT]; + int feature_slices_filled; + + /* Bitmask of VAD flags for the MWW_FEATURE_SLICE_COUNT frames */ + uint32_t vad_history; + /* Persistent AGC gain applied to every Q9.23 mel value */ + int32_t agc_gain_q23; + + /* Hop buffer for assembling contiguous data when circular buffer wraps */ + uint8_t hop_buf[MWW_HOP_BYTES] __aligned(4); + + /* Consecutive inferences with probability >= MWW_DETECT_THRESHOLD */ + uint32_t consecutive_detects; + + /* Telemetry counters */ + uint32_t total_inferences; + uint32_t vad_gated_inferences; + uint32_t detections; + uint32_t kpb_trigger_events; +} __attribute__((aligned(8))); + +#if CONFIG_AMS +static int mww_notify_kpb(struct processing_module *mod) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + struct comp_dev *dev = mod->dev; + struct ams_message_payload ams_payload; + + comp_info(dev, "MWW keyword trigger -> notifying KPB to begin draining"); + + cd->client_data.r_ptr = NULL; + cd->client_data.sink = NULL; + cd->client_data.id = 0; /**< TODO: acquire proper id from kpb */ + cd->client_data.drain_req = cd->drain_req_ms; + + dcache_writeback_region(&cd->client_data, sizeof(cd->client_data)); + + ams_helper_prepare_payload(dev, &ams_payload, cd->kpd_uuid_id, + (uint8_t *)&cd->client_data, + sizeof(struct kpb_client)); + + return ams_send(&ams_payload); +} +#else +static int mww_notify_kpb(struct processing_module *mod) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + struct comp_dev *dev = mod->dev; + + comp_info(dev, "MWW keyword trigger -> notifying KPB to begin draining"); + + cd->client_data.r_ptr = NULL; + cd->client_data.sink = NULL; + cd->client_data.id = 0; + cd->client_data.drain_req = cd->drain_req_ms; + cd->event_data.event_id = KPB_EVENT_BEGIN_DRAINING; + cd->event_data.client_data = &cd->client_data; + + notifier_event(dev, NOTIFIER_ID_KPB_CLIENT_EVT, + NOTIFIER_TARGET_CORE_ALL_MASK, &cd->event_data, + sizeof(cd->event_data)); + return 0; +} +#endif /* CONFIG_AMS */ + +__cold static void mww_log_summary_at_shutdown(struct processing_module *mod) +{ + struct mww_comp_data *cd = mod ? module_get_private_data(mod) : NULL; + struct comp_dev *dev = mod ? mod->dev : NULL; + char summary_buf[256]; + + if (!cd) + return; + + snprintk(summary_buf, sizeof(summary_buf), + "[MWW STREAM SHUTDOWN SUMMARY] Total Inferences=%u | VAD Gated=%u | Detections=%u | KPB Triggers=%u | Arena Used=%zu/%zu B", + cd->total_inferences, cd->vad_gated_inferences, + cd->detections, cd->kpb_trigger_events, + MWW_ArenaUsedBytes(), MWW_ArenaCapacity()); + + if (dev) + comp_info(dev, "%s", summary_buf); + printk("%s\n", summary_buf); +} + +__cold static int mww_init(struct processing_module *mod) +{ + struct module_data *md = &mod->priv; + struct comp_dev *dev = mod->dev; + struct mww_comp_data *cd; + + assert_can_be_cold(); + + comp_info(dev, "entry"); + + cd = mod_zalloc(mod, sizeof(*cd)); + if (!cd) + return -ENOMEM; + + md->private = cd; + cd->model_handler = mod_data_blob_handler_new(mod); + if (!cd->model_handler) { + mod_free(mod, cd); + return -ENOMEM; + } + + cd->drain_req_ms = MWW_KPB_DRAIN_REQ_MS; + cd->agc_gain_q23 = MWW_AGC_GAIN_TARGET_Q23; +#if CONFIG_AMS + cd->kpd_uuid_id = AMS_INVALID_MSG_TYPE; +#endif + + return 0; +} + +static int mww_prepare(struct processing_module *mod, + struct sof_source **sources, int num_of_sources, + struct sof_sink **sinks, int num_of_sinks) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + struct comp_dev *dev = mod->dev; + int ret; + + comp_dbg(dev, "entry"); + + if (cd->initialized) + return 0; + + unsigned char *model_ptr = NULL; + +#if CONFIG_COMP_MWW_MODEL_FROM_CONTROL + size_t blob_size; + + model_ptr = comp_get_data_blob(cd->model_handler, &blob_size, NULL); + if (!model_ptr || !blob_size) { + comp_err(dev, "MWW: model blob not set from control"); + return -EINVAL; + } + comp_info(dev, "MWW: loaded model from control blob, size=%zu", blob_size); +#endif + + ret = MWW_SetModel(&cd->mwc, model_ptr); + if (ret < 0) { + comp_err(dev, "MWW_SetModel failed: %d (%s)", ret, cd->mwc.error); + return ret; + } + + ret = MWW_InitOps(&cd->mwc); + if (ret < 0) { + comp_err(dev, "MWW_InitOps failed: %d (%s)", ret, cd->mwc.error); + return ret; + } + +#if CONFIG_AMS + /* Register KD as AMS producer */ + ret = ams_helper_register_producer(dev, &cd->kpd_uuid_id, ams_kpd_msg_uuid); + if (ret) + return ret; +#endif + + cd->initialized = true; + cd->feature_slices_filled = 0; + cd->vad_history = 0; + cd->consecutive_detects = 0; + comp_info(dev, "MWW model initialized: arena_used=%zu / capacity=%zu bytes", + MWW_ArenaUsedBytes(), MWW_ArenaCapacity()); + + return 0; +} + +static int mww_process(struct processing_module *mod, + struct sof_source **sources, int num_of_sources, + struct sof_sink **sinks, int num_of_sinks) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + struct comp_dev *dev = mod->dev; + size_t bytes_to_process; + const void *data_ptr, *buf_start; + size_t buf_size; + int ret = 0; + + if (!cd->initialized) { + size_t avail = source_get_data_available(sources[0]); + + if (avail > 0) { + const void *dp, *bs; + size_t bsz; + + if (source_get_data(sources[0], avail, &dp, &bs, &bsz) == 0) + source_release_data(sources[0], avail); + } + return 0; + } + + bytes_to_process = source_get_data_available(sources[0]); + + while (bytes_to_process >= MWW_HOP_BYTES) { + const struct mfcc_data_header *hdr; + const int32_t *mel; + const uint8_t *hop_src; + size_t bytes_to_end; + int8_t *slice; + int i; + + ret = source_get_data(sources[0], MWW_HOP_BYTES, + &data_ptr, &buf_start, &buf_size); + if (ret != 0 || !data_ptr) + break; + + /* Assemble hop into contiguous memory if it wraps across the ring buffer boundary */ + bytes_to_end = (const uint8_t *)buf_start + buf_size - (const uint8_t *)data_ptr; + if (bytes_to_end >= MWW_HOP_BYTES) { + hop_src = (const uint8_t *)data_ptr; + } else { + memcpy(cd->hop_buf, data_ptr, bytes_to_end); + memcpy(cd->hop_buf + bytes_to_end, buf_start, MWW_HOP_BYTES - bytes_to_end); + hop_src = cd->hop_buf; + } + + hdr = (const struct mfcc_data_header *)hop_src; + mel = (const int32_t *)(hop_src + sizeof(struct mfcc_data_header)); + slice = &cd->feature_buf[cd->feature_slices_filled * MWW_FEATURE_SIZE]; + + /* Update VAD history bitmask across MWW_FEATURE_SLICE_COUNT slices */ + cd->vad_history = ((cd->vad_history << 1) | (hdr->vad_flag ? 1U : 0U)) & + ((1U << MWW_FEATURE_SLICE_COUNT) - 1); + + /* AGC: attack on this hop's peak (always track energy) */ + int32_t hop_peak_q23 = mel[0]; + + for (i = 1; i < MWW_FEATURE_SIZE; i++) { + if (mel[i] > hop_peak_q23) + hop_peak_q23 = mel[i]; + } + + int32_t clip_headroom_q23 = MEL_CLIP_MAX_Q23 - hop_peak_q23; + + if (cd->agc_gain_q23 > clip_headroom_q23) + cd->agc_gain_q23 = clip_headroom_q23; + if (cd->agc_gain_q23 < MWW_AGC_GAIN_FLOOR_Q23) + cd->agc_gain_q23 = MWW_AGC_GAIN_FLOOR_Q23; + + int32_t agc_gain_q23 = cd->agc_gain_q23; + + /* Requantize to int8 (Q1.7 range matching training AGC normalization) */ + for (i = 0; i < MWW_FEATURE_SIZE; i++) { + int32_t mel_c = mel[i] + agc_gain_q23; + + /* Clamp to [-1.0, +1.0] Q9.23 range before Q1.7 conversion */ + if (mel_c > MEL_CLIP_MAX_Q23) + mel_c = MEL_CLIP_MAX_Q23; + else if (mel_c < MEL_CLIP_MIN_Q23) + mel_c = MEL_CLIP_MIN_Q23; + + /* Rescale with offset and gain */ + mel_c = Q_MULTSR_32X32((int64_t)(mel_c + MEL_OFFSET_Q23), + MEL_SCALE_Q30, 23, 30, 7); + if (mel_c > MEL_CLIP_MAX_Q7) + mel_c = MEL_CLIP_MAX_Q7; + else if (mel_c < MEL_CLIP_MIN_Q7) + mel_c = MEL_CLIP_MIN_Q7; + + slice[i] = (int8_t)mel_c; + } + + /* Release: normal recovery during silence, super-slow leak during speech */ + if (cd->agc_gain_q23 < MWW_AGC_GAIN_TARGET_Q23) { + int32_t step = hdr->vad_flag ? + MWW_AGC_RELEASE_STEP_SPEECH_Q23 : MWW_AGC_RELEASE_STEP_Q23; + + cd->agc_gain_q23 += step; + if (cd->agc_gain_q23 > MWW_AGC_GAIN_TARGET_Q23) + cd->agc_gain_q23 = MWW_AGC_GAIN_TARGET_Q23; + } + +#if CONFIG_COMP_MWW_DEBUG_TRACE + { + static int dbg_hop_count; + int32_t mel_min = mel[0], mel_max = mel[0]; + int8_t f_min = slice[0], f_max = slice[0]; + + dbg_hop_count++; + for (i = 1; i < MWW_FEATURE_SIZE; i++) { + if (mel[i] < mel_min) mel_min = mel[i]; + if (mel[i] > mel_max) mel_max = mel[i]; + if (slice[i] < f_min) f_min = slice[i]; + if (slice[i] > f_max) f_max = slice[i]; + } + comp_info(dev, "[MWW DBG hop %d] vad=%d E=%d Ne=%d mel_min=%d mel_max=%d f_min=%d f_max=%d agc_q23=%d", + dbg_hop_count, (int)hdr->vad_flag, + (int)hdr->energy, (int)hdr->noise_energy, + mel_min, mel_max, f_min, f_max, (int)cd->agc_gain_q23); + } +#endif + + /* Copy source data to sink so downstream stages keep seeing raw MFCC hops */ + if (num_of_sinks > 0 && sinks[0]) { + void *snk_ptr, *snk_buf_start; + size_t snk_buf_size; + int sret = sink_get_buffer(sinks[0], MWW_HOP_BYTES, + &snk_ptr, &snk_buf_start, &snk_buf_size); + if (sret == 0 && snk_ptr) { + size_t snk_bytes_to_end = (uint8_t *)snk_buf_start + + snk_buf_size - (uint8_t *)snk_ptr; + if (snk_bytes_to_end >= MWW_HOP_BYTES) { + memcpy(snk_ptr, hop_src, MWW_HOP_BYTES); + } else { + memcpy(snk_ptr, hop_src, snk_bytes_to_end); + memcpy(snk_buf_start, + hop_src + snk_bytes_to_end, + MWW_HOP_BYTES - snk_bytes_to_end); + } + sink_commit_buffer(sinks[0], MWW_HOP_BYTES); + } + } + + source_release_data(sources[0], MWW_HOP_BYTES); + bytes_to_process -= MWW_HOP_BYTES; + cd->feature_slices_filled++; + + if (cd->feature_slices_filled >= MWW_FEATURE_SLICE_COUNT) { + cd->feature_slices_filled = 0; + + cd->total_inferences++; + cd->mwc.audio_features = cd->feature_buf; + cd->mwc.audio_data_size = MWW_FEATURE_ELEM_COUNT; + +#if CONFIG_COMP_MWW_DEBUG_TRACE + uint32_t c0 = k_cycle_get_32(); +#endif + ret = MWW_ProcessClassify(&cd->mwc); +#if CONFIG_COMP_MWW_DEBUG_TRACE + uint32_t c1 = k_cycle_get_32(); +#endif + if (ret < 0) { + comp_err(dev, "MWW_ProcessClassify failed: %d (%s)", + ret, cd->mwc.error); + continue; + } + +#if CONFIG_COMP_MWW_DEBUG_TRACE + comp_info(dev, "MWW probability=%d raw=%u (th=%p prio=%d cycles=%u)", + (int)(cd->mwc.probability * 100.0f), cd->mwc.raw_output, + k_current_get(), k_thread_priority_get(k_current_get()), + c1 - c0); +#endif + + if (cd->mwc.probability >= MWW_DETECT_THRESHOLD) { + cd->consecutive_detects++; + if (cd->total_inferences > MWW_WARMUP_INFERENCES && + cd->consecutive_detects >= MWW_CONSECUTIVE_DETECTS_REQUIRED) { + cd->detections++; + comp_info(dev, "MWW keyword detected: probability=%d pct (consecutive=%u, total=%u)", + (int)(cd->mwc.probability * 100.0f), + cd->consecutive_detects, cd->detections); + cd->kpb_trigger_events++; + mww_notify_kpb(mod); + cd->consecutive_detects = 0; + } + } else { + cd->consecutive_detects = 0; + } + } + } + + return ret; +} + +static int mww_reset(struct processing_module *mod) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + + comp_dbg(mod->dev, "entry"); + mww_log_summary_at_shutdown(mod); + cd->feature_slices_filled = 0; + cd->vad_history = 0; + cd->consecutive_detects = 0; + cd->total_inferences = 0; + cd->agc_gain_q23 = MWW_AGC_GAIN_TARGET_Q23; + memset(cd->feature_buf, 0, sizeof(cd->feature_buf)); + MWW_Reset(); + return 0; +} + +__cold static int mww_free(struct processing_module *mod) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + + assert_can_be_cold(); + + comp_dbg(mod->dev, "entry"); + mww_log_summary_at_shutdown(mod); + +#if CONFIG_AMS + if (cd->kpd_uuid_id != AMS_INVALID_MSG_TYPE) { + int ret = ams_helper_unregister_producer(mod->dev, cd->kpd_uuid_id); + + if (ret) + comp_err(mod->dev, "unregister ams error %d", ret); + } +#endif + + MWW_Free(); + + mod_data_blob_handler_free(mod, cd->model_handler); + mod_free(mod, cd); + return 0; +} + +__cold static int mww_set_config(struct processing_module *mod, uint32_t param_id, + enum module_cfg_fragment_position pos, uint32_t data_offset_size, + const uint8_t *fragment, size_t fragment_size, uint8_t *response, + size_t response_size) +{ + struct mww_comp_data *cd = module_get_private_data(mod); + + if (mod->dev->state != COMP_STATE_INIT && mod->dev->state != COMP_STATE_READY) { + comp_warn(mod->dev, "mww_set_config(): model update ignored while not idle (state %d)", + mod->dev->state); + return 0; + } + + return comp_data_blob_set(cd->model_handler, pos, data_offset_size, + fragment, fragment_size); +} + +__cold static int mww_get_config(struct processing_module *mod, + uint32_t config_id, uint32_t *data_offset_size, + uint8_t *fragment, size_t fragment_size) +{ + struct sof_ipc_ctrl_data *cdata = (struct sof_ipc_ctrl_data *)fragment; + struct mww_comp_data *cd = module_get_private_data(mod); + + return comp_data_blob_get_cmd(cd->model_handler, cdata, fragment_size); +} + +static const struct module_interface mww_interface = { + .init = mww_init, + .prepare = mww_prepare, + .process = mww_process, + .set_configuration = mww_set_config, + .get_configuration = mww_get_config, + .reset = mww_reset, + .free = mww_free +}; + +/* This controls build of the module. If COMP_MODULE is selected in kconfig + * this is build as dynamically loadable module. + */ +#if CONFIG_COMP_MWW_MODULE + +#include +#include + +static const struct sof_man_module_manifest mod_manifest __section(".module") __used = + SOF_LLEXT_MODULE_MANIFEST("MWW", &mww_interface, 1, + SOF_REG_UUID(mww), 40); + +SOF_LLEXT_BUILDINFO; + +#else + +/* Only used for the module adapter trace context, soon to be deprecated */ +DECLARE_TR_CTX(mww_tr, SOF_UUID(mww_uuid), LOG_LEVEL_INFO); +DECLARE_MODULE_ADAPTER(mww_interface, mww_uuid, mww_tr); +SOF_MODULE_INIT(mww, sys_comp_module_mww_interface_init); + +#endif diff --git a/src/audio/microwakeword/mww.toml b/src/audio/microwakeword/mww.toml new file mode 100644 index 000000000000..905880f55adf --- /dev/null +++ b/src/audio/microwakeword/mww.toml @@ -0,0 +1,21 @@ +#ifndef LOAD_TYPE +#define LOAD_TYPE "0" +#endif + + REM # microWakeWord keyword-spotting module config + [[module.entry]] + name = "MWW" + uuid = UUIDREG_STR_MWW + affinity_mask = "0x1" + instance_count = "40" + domain_types = "0" + load_type = LOAD_TYPE + module_type = "9" + auto_start = "0" + sched_caps = [1, 0x00008000] + REM # pin = [dir, type, sample rate, size, container, channel-cfg] + pin = [0, 0, 0xfeef, 0xf, 0xf, 0x45ff, 1, 0, 0xfeef, 0xf, 0xf, 0x1ff] + REM # mod_cfg [PAR_0 PAR_1 PAR_2 PAR_3 IS_BYTES CPS IBS OBS MOD_FLAGS CPC OBLS] + mod_cfg = [0, 0, 0, 0, 4096, 1000000, 128, 128, 0, 0, 0] + + index = __COUNTER__ diff --git a/src/audio/microwakeword/mww_model.cc b/src/audio/microwakeword/mww_model.cc new file mode 100644 index 000000000000..188ebdfc2bcd --- /dev/null +++ b/src/audio/microwakeword/mww_model.cc @@ -0,0 +1,260 @@ +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright(c) 2026 Intel Corporation. All rights reserved. + +#include +#include +#include + +#include "tensorflow/lite/core/c/common.h" +#include "tensorflow/lite/micro/micro_allocator.h" +#include "tensorflow/lite/micro/micro_interpreter.h" +#include "tensorflow/lite/micro/micro_log.h" +#include "tensorflow/lite/micro/micro_mutable_op_resolver.h" +#include "tensorflow/lite/micro/micro_resource_variable.h" +#include "mww_model.h" + +#if !CONFIG_COMP_MWW_MODEL_FROM_CONTROL +#include "mww_model_data.h" +#endif + +static constexpr int kFeatureSize = MWW_FEATURE_SIZE; +static constexpr int kFeatureElementCount = MWW_FEATURE_ELEM_COUNT; + +// Arena size is a generous guesstimate for the streaming MixConv graph (12 +// ops incl. Conv2D/DepthwiseConv2D/FullyConnected plus 6 persistent resource +// -variable ring buffers). Refine down using +// MicroInterpreter::arena_used_bytes() once measured on hardware (logged in +// MWW_InitOps() below). +static constexpr size_t kArenaSize = 131072; +alignas(16) static uint8_t g_arena[kArenaSize]; + +// inference +static const tflite::Model *model; +static TfLiteTensor *input; +static TfLiteTensor *output; +static tflite::MicroInterpreter *interpreter; +static tflite::MicroAllocator *allocator; +static tflite::MicroResourceVariables *resource_variables; + +// stream, stream_1..stream_5: the MixConv graph's 6 persistent ring-buffer +// state variables (VAR_HANDLE/ASSIGN_VARIABLE/READ_VARIABLE), confirmed by +// direct flatbuffer inspection (see plan Stage 1) -- CALL_ONCE invokes a +// second subgraph that ASSIGN_VARIABLEs their zero initial state. +static constexpr int kNumResourceVariables = 6; + +// Ops used by the hey_jarvis.tflite streaming graph: CALL_ONCE, VAR_HANDLE, +// READ_VARIABLE, ASSIGN_VARIABLE, RESHAPE, CONCATENATION, STRIDED_SLICE, +// CONV_2D, DEPTHWISE_CONV_2D, FULLY_CONNECTED, LOGISTIC, QUANTIZE, +// DEQUANTIZE. +using MwwOpResolver = tflite::MicroMutableOpResolver<14>; +static MwwOpResolver *op_resolver; + +int RegisterOps(MwwOpResolver *op_resolver) { + TF_LITE_ENSURE_STATUS(op_resolver->AddCallOnce()); + TF_LITE_ENSURE_STATUS(op_resolver->AddVarHandle()); + TF_LITE_ENSURE_STATUS(op_resolver->AddReadVariable()); + TF_LITE_ENSURE_STATUS(op_resolver->AddAssignVariable()); + TF_LITE_ENSURE_STATUS(op_resolver->AddReshape()); + TF_LITE_ENSURE_STATUS(op_resolver->AddConcatenation()); + TF_LITE_ENSURE_STATUS(op_resolver->AddStridedSlice()); + TF_LITE_ENSURE_STATUS(op_resolver->AddConv2D()); + TF_LITE_ENSURE_STATUS(op_resolver->AddDepthwiseConv2D()); + TF_LITE_ENSURE_STATUS(op_resolver->AddFullyConnected()); + TF_LITE_ENSURE_STATUS(op_resolver->AddLogistic()); + TF_LITE_ENSURE_STATUS(op_resolver->AddQuantize()); + TF_LITE_ENSURE_STATUS(op_resolver->AddDequantize()); + return 0; +} + +static int Init_Interpreter(struct mww_classify *mwc); + +int MWW_InitOps(struct mww_classify *mwc) +{ + op_resolver = new MwwOpResolver(); + if (!op_resolver) { + mwc->error = "op_resolver alloc failed (OOM)"; + return -ENOMEM; + } + + if (RegisterOps(op_resolver) != 0) { + mwc->error = "register ops failed"; + return -EINVAL; + } + + // VAR_HANDLE/ASSIGN_VARIABLE require an explicit MicroResourceVariables + // instance registered with the interpreter -- without one, + // VarHandlePrepare()/AssignVariable Eval() fail with kTfLiteError as soon + // as AllocateTensors() prepares the first VAR_HANDLE node (see + // tensorflow/lite/micro/kernels/var_handle.cc). Building via the + // allocator-based MicroInterpreter constructor lets us create the + // allocator once and share it with MicroResourceVariables::Create(). + allocator = tflite::MicroAllocator::Create(g_arena, kArenaSize); + if (!allocator) { + mwc->error = "allocator alloc failed (OOM)"; + delete op_resolver; + op_resolver = nullptr; + return -ENOMEM; + } + + resource_variables = tflite::MicroResourceVariables::Create(allocator, kNumResourceVariables); + if (!resource_variables) { + mwc->error = "resource_variables alloc failed (OOM)"; + delete op_resolver; + op_resolver = nullptr; + return -ENOMEM; + } + + // create the interpreter + interpreter = new tflite::MicroInterpreter(model, *op_resolver, + allocator, resource_variables); + if (!interpreter) { + mwc->error = "interpreter alloc failed (OOM)"; + delete op_resolver; + op_resolver = nullptr; + return -ENOMEM; + } + + // and allocate the tensors + if (interpreter->AllocateTensors() != kTfLiteOk) { + mwc->error = "interpreter tensor allocate failed"; + delete interpreter; + delete op_resolver; + interpreter = nullptr; + op_resolver = nullptr; + return -EINVAL; + } + + // fetch input/output tensors + quantization params once; the + // interpreter/tensors are stable for the lifetime of this instance + return Init_Interpreter(mwc); +} + +static int Init_Interpreter(struct mww_classify *mwc) +{ + input = interpreter->input(0); + if (!input) { + mwc->error = "input interpreter NULL"; + return -EINVAL; + } + + // check input tensor element count is compatible with our feature + // data size (shape is (1, MWW_FEATURE_SLICE_COUNT, MWW_FEATURE_SIZE), + // not flattened to a single trailing dim, so check the full product) + int in_elems = 1; + for (int i = 0; i < input->dims->size; i++) + in_elems *= input->dims->data[i]; + if (kFeatureElementCount != in_elems) { + mwc->error = "input interpreter shape incompatible"; + return -EINVAL; + } + + output = interpreter->output(0); + if (!output) { + mwc->error = "output interpreter NULL"; + return -EINVAL; + } + + // single sigmoid wake-word probability, quantized int8 or uint8 + if (output->type != kTfLiteInt8 && output->type != kTfLiteUInt8) { + mwc->error = "output tensor type != int8/uint8"; + return -EINVAL; + } + + // expose the model's real input quantization params so callers can + // requantize their features correctly instead of assuming a fixed + // scale/zero_point. + mwc->input_scale = input->params.scale; + mwc->input_zero_point = input->params.zero_point; + + return 0; +} + +int MWW_SetModel(struct mww_classify *mwc, unsigned char *model_tflite) +{ +#if !CONFIG_COMP_MWW_MODEL_FROM_CONTROL + if (!model_tflite) + model_tflite = const_cast(mww_model_data); +#endif + + if (!model_tflite) { + mwc->error = "no model provided"; + return -EINVAL; + } + + // Map the model into a usable data structure. This doesn't involve any + // copying or parsing, it's a very lightweight operation. + model = tflite::GetModel(model_tflite); + if (model->version() != TFLITE_SCHEMA_VERSION) { + mwc->error = "failed to load model"; + return -EINVAL; + } + + return 0; +} + +int MWW_ProcessClassify(struct mww_classify *mwc) +{ + float output_scale = output->params.scale; + int output_zero_point = output->params.zero_point; + + // copy features to input then invoke() + std::copy_n(mwc->audio_features, kFeatureElementCount, + tflite::GetTensorData(input)); + + // run the interpreter + if (interpreter->Invoke() != kTfLiteOk) { + mwc->error = "invoke failed"; + return -EINVAL; + } + + // Dequantize the single sigmoid probability output + float raw_val; + if (output->type == kTfLiteInt8) { + int8_t val = tflite::GetTensorData(output)[0]; + raw_val = static_cast(val); + mwc->raw_output = val; + } else { + uint8_t val = tflite::GetTensorData(output)[0]; + raw_val = static_cast(val); + mwc->raw_output = val; + } + + mwc->probability = (raw_val - output_zero_point) * output_scale; + if (mwc->probability < 0.0f) + mwc->probability = 0.0f; + else if (mwc->probability > 1.0f) + mwc->probability = 1.0f; + + return 0; +} + +int MWW_Reset(void) +{ + if (resource_variables) + resource_variables->ResetAll(); + return 0; +} + +void MWW_Free(void) +{ + delete interpreter; + delete op_resolver; + interpreter = nullptr; + op_resolver = nullptr; + allocator = nullptr; + resource_variables = nullptr; + model = nullptr; + input = nullptr; + output = nullptr; +} + +size_t MWW_ArenaUsedBytes(void) +{ + return interpreter ? interpreter->arena_used_bytes() : 0; +} + +size_t MWW_ArenaCapacity(void) +{ + return kArenaSize; +} diff --git a/src/audio/microwakeword/mww_model.h b/src/audio/microwakeword/mww_model.h new file mode 100644 index 000000000000..d8dd17673978 --- /dev/null +++ b/src/audio/microwakeword/mww_model.h @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright(c) 2026 Intel Corporation. All rights reserved. + +#ifndef __MWW_MODEL_H__ +#define __MWW_MODEL_H__ + +#include "tensorflow/lite/core/c/common.h" + +/* microWakeWord streaming model configuration (hey_jarvis.tflite v2): + * input tensor shape (1, MWW_FEATURE_SLICE_COUNT, MWW_FEATURE_SIZE), int8, + * one new 10ms/40-bin MFCC hop per slice. The model is a stateful streaming + * graph (TFLM resource variables + CALL_ONCE init subgraph) that keeps its + * own longer-history ring buffers internally, so callers only ever need to + * supply MWW_FEATURE_SLICE_COUNT fresh hops per Invoke() rather than a + * caller-side sliding window. + */ +#define MWW_SAMPLE_RATE 16000 +#define MWW_FEATURE_SIZE 40 +#define MWW_FEATURE_SLICE_COUNT 3 +#define MWW_FEATURE_ELEM_COUNT (MWW_FEATURE_SIZE * MWW_FEATURE_SLICE_COUNT) +#define MWW_FEATURE_STRIDE_MS 10 +#define MWW_FEATURE_DURATION_MS 30 + +struct mww_classify { + int8_t *audio_features; + size_t audio_data_size; + const char *error; + float probability; /**< dequantized wake-word probability, 0..1 */ + int32_t raw_output; /**< raw int8/uint8 output tensor value */ + float input_scale; + int input_zero_point; +}; + +/* Export of C++ APIs into C namespace for linkage */ +#ifdef __cplusplus +extern "C" +{ +#endif + + /* 1st - pass in tflite flatbuffer formatted model, size is included in + * model metadata. + */ + int MWW_SetModel(struct mww_classify *mwc, unsigned char *model); + + /* 2nd - register the kernels and init TF micro for inference */ + int MWW_InitOps(struct mww_classify *mwc); + + /* 3rd - perform the inference */ + int MWW_ProcessClassify(struct mww_classify *mwc); + + /** + * \brief Reset streaming resource variables to zero. + * \return 0 on success. + */ + int MWW_Reset(void); + + /** + * \brief Free TFLite Micro interpreter and op resolver heap allocations. + */ + void MWW_Free(void); + + size_t MWW_ArenaUsedBytes(void); + size_t MWW_ArenaCapacity(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/audio/microwakeword/mww_model_data.cc b/src/audio/microwakeword/mww_model_data.cc new file mode 100644 index 000000000000..9c872a580d53 --- /dev/null +++ b/src/audio/microwakeword/mww_model_data.cc @@ -0,0 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause +#include "mww_model_data.h" + +alignas(16) const unsigned char mww_model_data[] = { 0 }; +const size_t mww_model_data_size = 0; diff --git a/src/audio/microwakeword/mww_model_data.h b/src/audio/microwakeword/mww_model_data.h new file mode 100644 index 000000000000..5ec4adab89a3 --- /dev/null +++ b/src/audio/microwakeword/mww_model_data.h @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Auto-generated by sof_mww_train.py — do not edit. + +#ifndef MWW_MODEL_DATA_H_ +#define MWW_MODEL_DATA_H_ + +#include +#include + +extern const unsigned char mww_model_data[]; +extern const size_t mww_model_data_size; + +#endif // MWW_MODEL_DATA_H_ diff --git a/uuid-registry.txt b/uuid-registry.txt index 04c4a3881b21..5c4d0e298b8c 100644 --- a/uuid-registry.txt +++ b/uuid-registry.txt @@ -127,6 +127,7 @@ ee2585f2-e7d8-43dc-90ab4224e00c3e84 modules 0d9f2256-8e4f-47b3-8448239a334f1191 multiband_drc c607ff4d-9cb6-49dc-b6787da3c63ea557 mux 64ce6e35-857a-4878-ace8e2a2f42e3069 mux4 +4067fe1d-cd63-4877-966ba06ded1719ce mww f36BF24B-9AAF-83f4-8677E072E8AEADB7 notification_pool 1fb15a7a-83cd-4c2e-8b324da1b2adeeaf notifier 7ae671a7-4617-4a09-bf6d9d29c998dbc1 ns From 7b0cbcb47991f99f1a83750f0391717a7ba07318 Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Thu, 27 Aug 2026 15:24:07 +0300 Subject: [PATCH 11/15] audio: microwakeword: update default strawberry model Update the embedded strawberry wake-word model data array with the retrained causal streaming MixConv model. Streaming verification report (threshold 0.65): ================================================================= microWakeWord Streaming Verification Report (Threshold: 0.65) ================================================================= Class Role Files Detected Rate Mean Peak ------------------------------------------------------------- silence Negative 2000 0 0.0% 0.000 unknown Negative 25000 21 0.1% 0.002 strawberry Positive 3000 2999 100.0% 0.996 ------------------------------------------------------------- Overall Wake Word Recall (True Positive Rate) : 99.97% (2999/3000) Overall False Alarm Rate (False Positive Rate): 0.08% (21/27000) Precision : 99.30% ================================================================= Signed-off-by: Seppo Ingalsuo --- src/audio/microwakeword/mww_model_data.cc | 4631 ++++++++++++++++++++- tools/ctl/ipc4/mww/strawberry.txt | 1 + 2 files changed, 4630 insertions(+), 2 deletions(-) create mode 100644 tools/ctl/ipc4/mww/strawberry.txt diff --git a/src/audio/microwakeword/mww_model_data.cc b/src/audio/microwakeword/mww_model_data.cc index 9c872a580d53..89e685d74fa6 100644 --- a/src/audio/microwakeword/mww_model_data.cc +++ b/src/audio/microwakeword/mww_model_data.cc @@ -1,5 +1,4632 @@ // SPDX-License-Identifier: BSD-3-Clause +// Auto-generated by sof_mww_train.py — do not edit. + #include "mww_model_data.h" -alignas(16) const unsigned char mww_model_data[] = { 0 }; -const size_t mww_model_data_size = 0; +alignas(16) const unsigned char mww_model_data[] = { + 0x20, 0x00, 0x00, 0x00, 0x54, 0x46, 0x4c, 0x33, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x20, 0x00, 0x1c, 0x00, 0x18, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x70, 0x7a, 0x00, 0x00, 0x80, 0x7a, 0x00, 0x00, 0x74, 0xd7, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x12, 0x75, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x84, 0x73, 0xff, 0xff, + 0x45, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x31, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4e, 0x73, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x54, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xd0, 0x73, 0xff, 0xff, 0x61, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x00, + 0xf4, 0x73, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x00, + 0x18, 0x74, 0xff, 0xff, 0x5f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x00, + 0x62, 0x00, 0x00, 0x00, 0x6c, 0x79, 0x00, 0x00, 0x64, 0x79, 0x00, 0x00, + 0x44, 0x79, 0x00, 0x00, 0x2c, 0x79, 0x00, 0x00, 0x0c, 0x79, 0x00, 0x00, + 0xec, 0x78, 0x00, 0x00, 0xcc, 0x78, 0x00, 0x00, 0xac, 0x78, 0x00, 0x00, + 0x98, 0x78, 0x00, 0x00, 0x5c, 0x77, 0x00, 0x00, 0x5c, 0x76, 0x00, 0x00, + 0x3c, 0x68, 0x00, 0x00, 0x3c, 0x67, 0x00, 0x00, 0x3c, 0x66, 0x00, 0x00, + 0x3c, 0x65, 0x00, 0x00, 0x1c, 0x57, 0x00, 0x00, 0x1c, 0x56, 0x00, 0x00, + 0x00, 0x53, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0xe0, 0x43, 0x00, 0x00, + 0xe0, 0x42, 0x00, 0x00, 0xb4, 0x40, 0x00, 0x00, 0xb4, 0x3f, 0x00, 0x00, + 0x9c, 0x38, 0x00, 0x00, 0x14, 0x38, 0x00, 0x00, 0x6c, 0x37, 0x00, 0x00, + 0xe4, 0x36, 0x00, 0x00, 0x64, 0x1f, 0x00, 0x00, 0x5c, 0x1f, 0x00, 0x00, + 0x54, 0x1f, 0x00, 0x00, 0x4c, 0x1f, 0x00, 0x00, 0x44, 0x1f, 0x00, 0x00, + 0x3c, 0x1f, 0x00, 0x00, 0x34, 0x1f, 0x00, 0x00, 0x2c, 0x1f, 0x00, 0x00, + 0x24, 0x1f, 0x00, 0x00, 0x1c, 0x1f, 0x00, 0x00, 0x14, 0x1f, 0x00, 0x00, + 0x0c, 0x1f, 0x00, 0x00, 0x04, 0x1f, 0x00, 0x00, 0xfc, 0x1e, 0x00, 0x00, + 0xf4, 0x1e, 0x00, 0x00, 0xec, 0x1e, 0x00, 0x00, 0xe4, 0x1e, 0x00, 0x00, + 0xdc, 0x1e, 0x00, 0x00, 0xd4, 0x1e, 0x00, 0x00, 0xcc, 0x1e, 0x00, 0x00, + 0xc4, 0x1e, 0x00, 0x00, 0xbc, 0x1e, 0x00, 0x00, 0xb4, 0x1e, 0x00, 0x00, + 0xac, 0x1e, 0x00, 0x00, 0xa4, 0x1e, 0x00, 0x00, 0x9c, 0x1e, 0x00, 0x00, + 0x94, 0x1e, 0x00, 0x00, 0x8c, 0x1e, 0x00, 0x00, 0x84, 0x1e, 0x00, 0x00, + 0x7c, 0x1e, 0x00, 0x00, 0x74, 0x1e, 0x00, 0x00, 0x6c, 0x1e, 0x00, 0x00, + 0x64, 0x1e, 0x00, 0x00, 0x5c, 0x1e, 0x00, 0x00, 0x54, 0x1e, 0x00, 0x00, + 0x4c, 0x1e, 0x00, 0x00, 0x44, 0x1e, 0x00, 0x00, 0x3c, 0x1e, 0x00, 0x00, + 0x34, 0x1e, 0x00, 0x00, 0x2c, 0x1e, 0x00, 0x00, 0x24, 0x1e, 0x00, 0x00, + 0x1c, 0x1e, 0x00, 0x00, 0x14, 0x1e, 0x00, 0x00, 0x0c, 0x1e, 0x00, 0x00, + 0x04, 0x1e, 0x00, 0x00, 0xfc, 0x1d, 0x00, 0x00, 0xf4, 0x1d, 0x00, 0x00, + 0xec, 0x1d, 0x00, 0x00, 0xe4, 0x1d, 0x00, 0x00, 0xdc, 0x1d, 0x00, 0x00, + 0xd4, 0x1d, 0x00, 0x00, 0xcc, 0x1d, 0x00, 0x00, 0xc4, 0x1d, 0x00, 0x00, + 0xbc, 0x1d, 0x00, 0x00, 0xb4, 0x1d, 0x00, 0x00, 0xac, 0x1d, 0x00, 0x00, + 0x5c, 0x1c, 0x00, 0x00, 0x6c, 0x1a, 0x00, 0x00, 0xdc, 0x12, 0x00, 0x00, + 0x8c, 0x07, 0x00, 0x00, 0xac, 0x04, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, + 0xd4, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, + 0xbc, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, + 0x8c, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x6e, 0x75, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0e, 0x00, 0x08, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xeb, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x04, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, 0x2e, 0x31, 0x36, + 0x2e, 0x31, 0x00, 0x00, 0xd2, 0x75, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0x75, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32, 0x2e, 0x36, 0x2e, + 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x2c, 0xff, 0xff, 0x64, 0x2c, 0xff, 0xff, 0x68, 0x2c, 0xff, 0xff, + 0x6c, 0x2c, 0xff, 0xff, 0x70, 0x2c, 0xff, 0xff, 0x74, 0x2c, 0xff, 0xff, + 0x22, 0x76, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xee, 0x79, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xca, 0x7c, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x40, 0x0b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x16, 0x88, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xa2, 0x8f, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8e, 0x91, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x49, 0xff, 0xff, + 0x34, 0x49, 0xff, 0xff, 0x38, 0x49, 0xff, 0xff, 0x3c, 0x49, 0xff, 0xff, + 0x40, 0x49, 0xff, 0xff, 0x44, 0x49, 0xff, 0xff, 0x48, 0x49, 0xff, 0xff, + 0x4c, 0x49, 0xff, 0xff, 0x50, 0x49, 0xff, 0xff, 0x54, 0x49, 0xff, 0xff, + 0x58, 0x49, 0xff, 0xff, 0x5c, 0x49, 0xff, 0xff, 0x60, 0x49, 0xff, 0xff, + 0x64, 0x49, 0xff, 0xff, 0x68, 0x49, 0xff, 0xff, 0x6c, 0x49, 0xff, 0xff, + 0x70, 0x49, 0xff, 0xff, 0x74, 0x49, 0xff, 0xff, 0x78, 0x49, 0xff, 0xff, + 0x7c, 0x49, 0xff, 0xff, 0x80, 0x49, 0xff, 0xff, 0x84, 0x49, 0xff, 0xff, + 0x88, 0x49, 0xff, 0xff, 0x8c, 0x49, 0xff, 0xff, 0x90, 0x49, 0xff, 0xff, + 0x94, 0x49, 0xff, 0xff, 0x98, 0x49, 0xff, 0xff, 0x9c, 0x49, 0xff, 0xff, + 0xa0, 0x49, 0xff, 0xff, 0xa4, 0x49, 0xff, 0xff, 0xa8, 0x49, 0xff, 0xff, + 0xac, 0x49, 0xff, 0xff, 0xb0, 0x49, 0xff, 0xff, 0xb4, 0x49, 0xff, 0xff, + 0xb8, 0x49, 0xff, 0xff, 0xbc, 0x49, 0xff, 0xff, 0xc0, 0x49, 0xff, 0xff, + 0xc4, 0x49, 0xff, 0xff, 0xc8, 0x49, 0xff, 0xff, 0xcc, 0x49, 0xff, 0xff, + 0xd0, 0x49, 0xff, 0xff, 0xd4, 0x49, 0xff, 0xff, 0xd8, 0x49, 0xff, 0xff, + 0xdc, 0x49, 0xff, 0xff, 0xe0, 0x49, 0xff, 0xff, 0xe4, 0x49, 0xff, 0xff, + 0xe8, 0x49, 0xff, 0xff, 0xec, 0x49, 0xff, 0xff, 0xf0, 0x49, 0xff, 0xff, + 0xf4, 0x49, 0xff, 0xff, 0xf8, 0x49, 0xff, 0xff, 0xfc, 0x49, 0xff, 0xff, + 0x00, 0x4a, 0xff, 0xff, 0x04, 0x4a, 0xff, 0xff, 0x08, 0x4a, 0xff, 0xff, + 0xb6, 0x93, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, + 0x61, 0x02, 0xb0, 0xc9, 0xf3, 0xd8, 0x56, 0x38, 0xeb, 0xfd, 0xf6, 0xbc, + 0xf9, 0x14, 0xba, 0xba, 0xf0, 0xf7, 0x14, 0x02, 0xef, 0xf2, 0x0b, 0xe0, + 0x13, 0xd2, 0x0c, 0xa8, 0x1f, 0xf2, 0x00, 0x24, 0x01, 0xba, 0xf3, 0xd1, + 0xcd, 0x8e, 0xc8, 0x19, 0x3d, 0x1c, 0xfa, 0xce, 0x20, 0x51, 0x46, 0x2a, + 0x22, 0xbd, 0xa7, 0x06, 0xf1, 0x2d, 0xf3, 0x08, 0x11, 0x00, 0x47, 0x06, + 0x05, 0x17, 0xda, 0x21, 0xd2, 0xe0, 0xb5, 0xbe, 0xc3, 0x19, 0xbf, 0xfc, + 0xc7, 0xb9, 0x00, 0xe4, 0x2c, 0xab, 0x0a, 0x06, 0x23, 0x0a, 0xdd, 0xd2, + 0x07, 0x18, 0x7f, 0x60, 0x1e, 0xd6, 0xa1, 0x00, 0x18, 0x33, 0xb6, 0xf6, + 0x25, 0x32, 0x1b, 0x55, 0x73, 0x6b, 0x15, 0xe5, 0xc7, 0x20, 0xfe, 0x25, + 0xb3, 0xb2, 0xc6, 0x00, 0xfd, 0x1d, 0xfd, 0xcb, 0xbb, 0xbf, 0xbb, 0x36, + 0x44, 0xca, 0x01, 0xed, 0xfa, 0x75, 0x58, 0x79, 0xec, 0xce, 0xb5, 0x09, + 0xf6, 0xd7, 0x07, 0xbf, 0x3c, 0x2f, 0xf3, 0x06, 0x6e, 0x2b, 0x24, 0xdf, + 0xbe, 0xb2, 0x13, 0x06, 0xf8, 0xdc, 0x2c, 0x08, 0xf4, 0xf4, 0x18, 0x0f, + 0x17, 0x9a, 0x0e, 0xe5, 0x1e, 0xc7, 0xcb, 0xe1, 0x02, 0x64, 0x56, 0x55, + 0x20, 0xeb, 0xf8, 0xc3, 0x26, 0x33, 0x23, 0xb0, 0x23, 0xd1, 0x3e, 0x5f, + 0x33, 0x0b, 0x0f, 0x2e, 0x08, 0x0b, 0xb0, 0x23, 0x25, 0xf8, 0xda, 0x1f, + 0xe2, 0xd7, 0x0d, 0xd7, 0xf4, 0x8a, 0xc9, 0xfd, 0xe4, 0x39, 0x09, 0x41, + 0x05, 0xfa, 0x3e, 0x27, 0x10, 0xc4, 0xee, 0x12, 0x06, 0xd3, 0xac, 0xe6, + 0xc4, 0x9c, 0xfc, 0xeb, 0xf7, 0x38, 0xf6, 0x0e, 0x4c, 0x0a, 0x10, 0x33, + 0xe4, 0xc8, 0x21, 0x27, 0xeb, 0xf8, 0x21, 0xcf, 0xd9, 0x15, 0xd1, 0xfe, + 0x1d, 0xcb, 0xc5, 0x06, 0xf6, 0xd7, 0x12, 0x2d, 0xcd, 0xd0, 0xd9, 0x0c, + 0x01, 0xe9, 0x0e, 0xfe, 0xfa, 0x04, 0x98, 0xaf, 0x07, 0xed, 0x1d, 0x31, + 0x63, 0x18, 0xeb, 0xef, 0x1a, 0xfd, 0xcc, 0x13, 0xdc, 0x1c, 0x3b, 0xe1, + 0xf4, 0xbe, 0x22, 0x15, 0xc8, 0x06, 0xb2, 0xea, 0x25, 0xd0, 0xd5, 0x18, + 0x0b, 0xab, 0xeb, 0xf5, 0xd2, 0xae, 0xe7, 0x81, 0xc4, 0xb2, 0xbd, 0x97, + 0xdd, 0xf2, 0x02, 0xf1, 0x20, 0x5c, 0x30, 0x34, 0x41, 0x37, 0xec, 0xe6, + 0xc9, 0xe3, 0x1a, 0x1f, 0x01, 0xea, 0xc3, 0xc4, 0xbc, 0xc1, 0xb1, 0xb3, + 0xf8, 0x06, 0x13, 0xab, 0xa0, 0xe5, 0xd2, 0xae, 0xc8, 0xc1, 0xfd, 0xbb, + 0xb5, 0xcb, 0xef, 0xef, 0xac, 0xfa, 0x39, 0x13, 0x55, 0x25, 0x10, 0x2d, + 0x3c, 0xf9, 0x1b, 0x0d, 0xae, 0xe0, 0xd1, 0xc6, 0xc9, 0xc0, 0xe4, 0xb1, + 0xc6, 0xeb, 0x98, 0xcb, 0xd8, 0x17, 0x22, 0xda, 0x07, 0xbe, 0x23, 0xe8, + 0xc7, 0xd1, 0x04, 0xb4, 0xe2, 0xdd, 0x9b, 0xf0, 0xc3, 0xe6, 0xd9, 0x30, + 0xfa, 0x4c, 0xee, 0x26, 0x32, 0xc6, 0x1f, 0x01, 0x18, 0x04, 0x12, 0x0a, + 0xf4, 0xe0, 0xee, 0xe3, 0xf1, 0x1e, 0xdf, 0xda, 0xe2, 0x25, 0x23, 0x0b, + 0x40, 0xfc, 0x4d, 0x25, 0x34, 0x56, 0x10, 0x28, 0x24, 0xf1, 0xf7, 0x04, + 0x15, 0xd7, 0x02, 0x05, 0xeb, 0x16, 0xf5, 0x21, 0xe2, 0x0d, 0x02, 0x2f, + 0xec, 0x0b, 0x14, 0x26, 0x0e, 0x1a, 0x01, 0x3c, 0xd7, 0x0d, 0xcd, 0x17, + 0x0b, 0xf8, 0x1a, 0x06, 0x26, 0xfe, 0x3a, 0x40, 0x7f, 0x58, 0x4b, 0x2c, + 0xe9, 0x18, 0xd8, 0xe7, 0xff, 0x08, 0x0c, 0xe8, 0x03, 0xd3, 0x03, 0x11, + 0xe5, 0x17, 0xf5, 0xfd, 0x2c, 0x0c, 0x0a, 0x0b, 0xea, 0x08, 0x1f, 0x1e, + 0xc8, 0x0c, 0xec, 0xdc, 0xfe, 0xe5, 0x15, 0xfe, 0x3a, 0x2f, 0x01, 0x03, + 0x4c, 0x29, 0x50, 0x0f, 0x2b, 0xec, 0xd6, 0x08, 0xe3, 0xf0, 0xfc, 0x0c, + 0xcd, 0xe8, 0xef, 0xe0, 0xdf, 0xec, 0x20, 0x1a, 0x1a, 0xe9, 0xed, 0x06, + 0x2a, 0x19, 0xf3, 0x0d, 0xce, 0x03, 0xcb, 0x0e, 0x24, 0xf9, 0xdc, 0xfe, + 0xfd, 0x03, 0x0e, 0x1c, 0x4e, 0x43, 0x4e, 0x15, 0xda, 0x0f, 0xd1, 0xeb, + 0xdc, 0x05, 0xf5, 0xd7, 0xdd, 0xf1, 0xd6, 0xf7, 0x01, 0x00, 0xe6, 0x00, + 0x07, 0xd5, 0xe6, 0x12, 0x0e, 0x0b, 0xf1, 0x24, 0xd7, 0xf0, 0xcd, 0xfb, + 0x1d, 0xeb, 0x13, 0xf0, 0xdb, 0xe8, 0x1e, 0xdc, 0x35, 0x27, 0x2c, 0x19, + 0xd6, 0xc7, 0x05, 0xcd, 0x0b, 0xbe, 0xf1, 0xf1, 0xee, 0xd2, 0xec, 0xed, + 0xc4, 0xb9, 0xdb, 0x03, 0xd7, 0xce, 0xf6, 0x00, 0xe7, 0x13, 0xce, 0x12, + 0x86, 0x86, 0xc9, 0xb8, 0x0e, 0xcb, 0xe7, 0xd0, 0x0f, 0xbb, 0xb4, 0xc7, + 0xea, 0xe4, 0x06, 0x14, 0xa2, 0xed, 0xa5, 0xbf, 0xf1, 0xb6, 0x34, 0xd5, + 0x29, 0x43, 0x00, 0x09, 0xdc, 0xc3, 0xf5, 0x11, 0x04, 0x12, 0xc3, 0x1d, + 0xf7, 0x4b, 0x00, 0x1d, 0x9c, 0xbe, 0xd0, 0xd5, 0xfe, 0xae, 0xdd, 0x81, + 0xf7, 0x9f, 0x2e, 0xbe, 0xd4, 0x27, 0xa3, 0xc5, 0xec, 0xc4, 0x0c, 0xe1, + 0x05, 0x13, 0x22, 0x33, 0x0f, 0xf8, 0x36, 0xd7, 0x18, 0x28, 0xbf, 0x05, + 0xba, 0xab, 0xb5, 0xc0, 0x16, 0x27, 0xd3, 0xbd, 0x89, 0xe9, 0x9d, 0x12, + 0x01, 0xa6, 0x0e, 0xe9, 0x9b, 0x0f, 0xe4, 0x26, 0x25, 0xa6, 0xdf, 0xdd, + 0xc1, 0x99, 0xc0, 0xb7, 0xbf, 0x0e, 0xe2, 0x07, 0xd1, 0x2a, 0x2e, 0xe8, + 0xe6, 0xb8, 0xd0, 0xbb, 0x2d, 0xe0, 0x08, 0xe7, 0x2c, 0x31, 0x25, 0x10, + 0xc5, 0xc8, 0x28, 0xd8, 0x21, 0xff, 0xe7, 0xb2, 0xb9, 0x34, 0xcd, 0xee, + 0xeb, 0xe7, 0xf0, 0x11, 0x24, 0x0c, 0xcf, 0xe4, 0xf8, 0x38, 0x47, 0x12, + 0xf8, 0xf7, 0xd0, 0xe3, 0xc9, 0x14, 0xb7, 0xf8, 0x37, 0x3b, 0x36, 0x31, + 0x38, 0x11, 0xd9, 0x00, 0xe2, 0xd7, 0x35, 0x37, 0x2a, 0x05, 0xef, 0xeb, + 0xc0, 0x22, 0x34, 0x06, 0x34, 0x04, 0x16, 0xb4, 0xef, 0xe1, 0x01, 0x3e, + 0xd1, 0xd4, 0xe0, 0xd4, 0xc9, 0x21, 0x31, 0x10, 0x1c, 0xcc, 0xd2, 0xcc, + 0x2c, 0x48, 0x3a, 0xec, 0xe6, 0x2b, 0x42, 0x07, 0xa9, 0xdc, 0xd9, 0x3a, + 0x47, 0x62, 0x2e, 0x3d, 0x16, 0xeb, 0x10, 0x15, 0x40, 0x46, 0x2b, 0x19, + 0xbd, 0xec, 0x45, 0x37, 0x20, 0x4e, 0x19, 0x1f, 0xda, 0x19, 0xfd, 0x3d, + 0x0f, 0x40, 0x04, 0x1c, 0xd7, 0x13, 0xf3, 0x2f, 0x09, 0xfc, 0x1a, 0xf5, + 0x0b, 0x35, 0x08, 0xf1, 0x4c, 0x17, 0x04, 0x1e, 0x2e, 0xf9, 0x10, 0x1d, + 0x3b, 0x3b, 0x3e, 0x07, 0xdb, 0xe7, 0xef, 0x00, 0x24, 0x69, 0xf6, 0xdd, + 0xd8, 0xf7, 0xda, 0x0e, 0x09, 0x06, 0xd7, 0x37, 0x2a, 0xe6, 0xdb, 0x12, + 0x0a, 0xc0, 0x29, 0x05, 0xd4, 0x30, 0x39, 0x1a, 0x4d, 0xe4, 0xf9, 0xd9, + 0xe6, 0xa7, 0xdd, 0xf7, 0x64, 0x31, 0x0f, 0xd7, 0xb1, 0xf4, 0xc0, 0xd2, + 0xfd, 0x31, 0x24, 0x2a, 0x25, 0xcc, 0xd2, 0x34, 0xe1, 0xb1, 0x00, 0xd0, + 0xdf, 0x99, 0xc5, 0xee, 0x2e, 0xdb, 0xb7, 0x0b, 0x19, 0x1b, 0xf4, 0x26, + 0x03, 0x19, 0xd5, 0xd9, 0x81, 0x9e, 0xce, 0x27, 0xf3, 0x35, 0xe6, 0xb5, + 0xd7, 0xc3, 0xea, 0xd5, 0xe8, 0xf5, 0x25, 0x1c, 0xf7, 0x18, 0xc5, 0xd7, + 0x3a, 0xc4, 0xad, 0x0a, 0x0d, 0xf3, 0xb0, 0xd5, 0xe8, 0x0f, 0x12, 0xe9, + 0x59, 0x3b, 0xe6, 0x40, 0xeb, 0x19, 0x10, 0xd4, 0x9f, 0xad, 0xbe, 0xd9, + 0x21, 0xde, 0x19, 0x16, 0xd1, 0xbd, 0xf0, 0xf3, 0xf0, 0x0f, 0x28, 0xfa, + 0x11, 0x28, 0xe8, 0x51, 0x33, 0xf4, 0xc6, 0xe1, 0x0e, 0x11, 0xf5, 0x3a, + 0x40, 0x15, 0x1b, 0xcd, 0xe6, 0xaf, 0xd3, 0xa3, 0xdd, 0x81, 0xee, 0xc4, + 0xe0, 0x05, 0xe5, 0xef, 0xf9, 0xa6, 0xbd, 0xb1, 0xf8, 0xd8, 0xb2, 0xb0, + 0xc1, 0xd3, 0xd2, 0xe8, 0xde, 0xec, 0x19, 0xe8, 0xe9, 0xca, 0x03, 0x1f, + 0xf6, 0x20, 0xae, 0x05, 0xc9, 0xef, 0x0f, 0x11, 0xfe, 0xf0, 0xb3, 0xe2, + 0xd8, 0xd8, 0xb6, 0xbd, 0x35, 0xdf, 0x02, 0xf5, 0xdb, 0x11, 0xe6, 0x2b, + 0x23, 0xd9, 0x3a, 0xe7, 0xfa, 0xf7, 0x23, 0xe3, 0x06, 0xe6, 0x1e, 0x1b, + 0x01, 0x29, 0xec, 0xe3, 0x02, 0xdc, 0x26, 0x03, 0x37, 0xe9, 0x17, 0x25, + 0xdd, 0x1f, 0x1b, 0x00, 0xee, 0xd8, 0xd2, 0xf4, 0x1c, 0x0f, 0x37, 0xfa, + 0xec, 0xe6, 0xff, 0x17, 0x3d, 0x48, 0xea, 0x1d, 0x52, 0x15, 0xd6, 0xde, + 0xf7, 0xf4, 0xcd, 0xcc, 0xed, 0x0b, 0x42, 0x2f, 0x29, 0xe4, 0xef, 0xe2, + 0x20, 0x04, 0xf3, 0x11, 0x36, 0xfa, 0x16, 0xdc, 0x07, 0xda, 0x35, 0xe8, + 0x27, 0x2e, 0x41, 0x35, 0x4f, 0x43, 0x39, 0x53, 0x1c, 0x11, 0x1d, 0x46, + 0x41, 0x12, 0x1c, 0xfa, 0xf8, 0x18, 0xe1, 0x46, 0x4e, 0xf4, 0xf7, 0x06, + 0xe9, 0x09, 0x16, 0x00, 0x0d, 0xe9, 0x57, 0xed, 0x11, 0xf3, 0xe9, 0x29, + 0x45, 0xf7, 0xea, 0xf9, 0x1c, 0x04, 0x28, 0x0a, 0xf6, 0x1b, 0xf2, 0x62, + 0x5f, 0x54, 0xf8, 0x18, 0x35, 0x29, 0x0c, 0x3a, 0x54, 0x22, 0x44, 0x28, + 0xf5, 0x40, 0xe1, 0x19, 0x12, 0x5c, 0x0a, 0x5f, 0x56, 0xfb, 0x05, 0x12, + 0x1e, 0xdf, 0xe0, 0x2f, 0xfa, 0x33, 0x34, 0x61, 0x35, 0xee, 0xd1, 0x0b, + 0xed, 0xee, 0xd7, 0x0e, 0x44, 0x05, 0xd8, 0x0d, 0x1b, 0xeb, 0x02, 0x21, + 0xf5, 0xcb, 0x0c, 0xf3, 0x09, 0xe7, 0x24, 0x04, 0x0a, 0x0e, 0xed, 0xed, + 0xf7, 0xa9, 0xb4, 0x9e, 0xd3, 0x00, 0x1c, 0xcd, 0x07, 0x34, 0x33, 0xf1, + 0x4e, 0x3a, 0xf7, 0x38, 0x16, 0x18, 0xca, 0x4b, 0x0a, 0xef, 0x1b, 0xfd, + 0xf8, 0x37, 0x29, 0x22, 0x1a, 0xba, 0x11, 0xb6, 0xdd, 0xe8, 0xec, 0xc7, + 0x27, 0x01, 0xc3, 0xfb, 0x87, 0xa4, 0xaa, 0xb1, 0xfe, 0x2d, 0xd0, 0x23, + 0xe7, 0x41, 0x30, 0x31, 0xfb, 0xe6, 0xdf, 0x01, 0xcd, 0xc5, 0xdb, 0x2c, + 0x0d, 0x13, 0x22, 0x06, 0xd3, 0x16, 0xda, 0x17, 0x06, 0xb1, 0xc6, 0xcb, + 0x3b, 0x1c, 0xc0, 0x32, 0xc5, 0x16, 0xe8, 0x0e, 0xc5, 0x8a, 0xb1, 0xe4, + 0xd3, 0x15, 0xeb, 0x15, 0xc7, 0xfd, 0xef, 0x4b, 0xdd, 0x3a, 0x12, 0xf4, + 0x26, 0x22, 0xae, 0x32, 0xd9, 0xd6, 0x49, 0x03, 0x0d, 0xe3, 0xe2, 0x26, + 0xc7, 0xd6, 0x26, 0xb6, 0xc8, 0xda, 0x1b, 0x37, 0xf9, 0xb9, 0xd0, 0xe6, + 0x81, 0xd0, 0xd7, 0xaa, 0xe5, 0xa5, 0xe7, 0xbf, 0x02, 0xca, 0x45, 0x13, + 0x3a, 0x12, 0x13, 0xd3, 0x18, 0xf3, 0xdb, 0xb9, 0x20, 0x39, 0xe4, 0xf0, + 0xfb, 0xb0, 0xc2, 0x0d, 0xe9, 0x19, 0xf7, 0xcc, 0x0d, 0xc1, 0xc1, 0x0f, + 0xd9, 0x05, 0xe7, 0xfb, 0xb1, 0x9a, 0x02, 0xb3, 0x0a, 0x0a, 0x2a, 0x11, + 0xcf, 0xca, 0xf6, 0xd4, 0xbf, 0xd8, 0xc1, 0x14, 0xcb, 0xec, 0xdc, 0xc4, + 0xd8, 0xd6, 0xc6, 0x10, 0xcf, 0xd9, 0x11, 0x1b, 0x23, 0xed, 0x29, 0x01, + 0xf9, 0x14, 0xec, 0xf9, 0xe9, 0x0b, 0x08, 0x0e, 0x0d, 0xdd, 0x13, 0xd5, + 0xf8, 0x28, 0x34, 0xf7, 0x02, 0xe7, 0xf7, 0xe0, 0x13, 0xf7, 0x16, 0x0a, + 0x03, 0xe2, 0x15, 0xf0, 0xe1, 0x1a, 0xe3, 0xe5, 0xbb, 0x03, 0xec, 0x3a, + 0x34, 0x28, 0xf9, 0x2d, 0xf7, 0x20, 0x01, 0xe1, 0xcf, 0x0b, 0x07, 0xf8, + 0x04, 0x2c, 0x29, 0x07, 0xed, 0x37, 0xed, 0xf4, 0x0b, 0x0c, 0x14, 0x0f, + 0xcd, 0x1d, 0x05, 0xf6, 0xed, 0xe0, 0xdc, 0xfd, 0xfa, 0x07, 0xd8, 0x18, + 0xe2, 0x04, 0x3e, 0x1a, 0x67, 0x63, 0x47, 0x08, 0x1d, 0x38, 0x4a, 0xf0, + 0x28, 0x42, 0xf0, 0x0a, 0x25, 0x1c, 0x23, 0xfe, 0x02, 0x07, 0x19, 0xe6, + 0xfb, 0x15, 0x2b, 0x0a, 0xf1, 0x28, 0x12, 0xe4, 0xf5, 0xeb, 0xe6, 0x22, + 0x1f, 0x33, 0x21, 0x1f, 0xf5, 0xfb, 0x22, 0x1e, 0x29, 0x7f, 0x5a, 0x46, + 0x1e, 0x5c, 0x39, 0x3d, 0x48, 0x22, 0x46, 0x08, 0x2f, 0x1b, 0x4e, 0x50, + 0x29, 0xf9, 0x31, 0x03, 0x0c, 0xe6, 0x26, 0xf0, 0x17, 0x2c, 0xec, 0x1d, + 0x12, 0x26, 0xed, 0x03, 0x1d, 0xdf, 0xe9, 0x01, 0xf0, 0xf4, 0x14, 0x08, + 0x45, 0x36, 0x11, 0xe6, 0x34, 0x07, 0x32, 0x25, 0xf8, 0x09, 0x52, 0x04, + 0xf6, 0x41, 0x43, 0x18, 0xc1, 0xd9, 0xe3, 0xd2, 0xa6, 0xaa, 0x20, 0xfd, + 0xd5, 0xbd, 0xc1, 0x00, 0xd2, 0x22, 0x19, 0xdd, 0xd5, 0x2c, 0x0a, 0x11, + 0x04, 0xd7, 0xa5, 0xab, 0xad, 0xc9, 0xc3, 0xec, 0x97, 0xff, 0xa5, 0xef, + 0x9f, 0xdc, 0xc8, 0xe9, 0xcb, 0xd7, 0xdd, 0xbf, 0xa4, 0xb3, 0x9e, 0xf5, + 0xc8, 0x13, 0xe7, 0xe6, 0xd6, 0x39, 0xe7, 0x3f, 0x14, 0xf3, 0x21, 0xf9, + 0x2f, 0x12, 0x5c, 0xcf, 0xff, 0xfb, 0xdf, 0xc6, 0xb9, 0x0e, 0xe5, 0x1b, + 0xb9, 0x27, 0x05, 0xe3, 0x25, 0x27, 0x21, 0x21, 0xef, 0x3e, 0x1f, 0x1b, + 0x81, 0xb8, 0xdf, 0xc6, 0x0e, 0x13, 0xd8, 0xe8, 0x29, 0xf4, 0x2d, 0x23, + 0x27, 0xe7, 0x32, 0x03, 0x0a, 0x05, 0x19, 0xec, 0x19, 0x26, 0x01, 0x15, + 0xc9, 0xbf, 0xdf, 0xca, 0x38, 0x26, 0x1a, 0x3b, 0xda, 0x2e, 0x3d, 0x2b, + 0x4d, 0x65, 0x1f, 0x39, 0xd0, 0x92, 0xa0, 0xae, 0xf5, 0x35, 0x11, 0xbc, + 0xd8, 0xca, 0xc1, 0x30, 0xfb, 0xc6, 0x0d, 0xdf, 0xfa, 0xe9, 0x42, 0x50, + 0x56, 0xed, 0xf3, 0x4a, 0xe7, 0x33, 0x55, 0x50, 0x42, 0x51, 0x48, 0x2c, + 0x08, 0x31, 0x62, 0x53, 0x6f, 0x15, 0x72, 0x04, 0xf5, 0xb7, 0xd5, 0x13, + 0xbd, 0xe4, 0x16, 0x13, 0x13, 0x1f, 0xdd, 0x08, 0x1f, 0x0f, 0x43, 0x37, + 0x38, 0x17, 0xdd, 0xe7, 0x0c, 0xfa, 0xe6, 0x4e, 0xdc, 0xfe, 0x25, 0x19, + 0x02, 0x5d, 0xe9, 0x00, 0x69, 0x23, 0x11, 0x16, 0x0b, 0x46, 0x52, 0x23, + 0x27, 0xc9, 0x21, 0x18, 0xc5, 0x20, 0xbb, 0xef, 0xd5, 0x11, 0x2e, 0xf3, + 0xe8, 0x34, 0x2c, 0xc5, 0xc0, 0x11, 0xe5, 0xdf, 0xc7, 0xfd, 0x20, 0x13, + 0xde, 0x3b, 0xda, 0xed, 0xf6, 0xff, 0x06, 0x0b, 0xc3, 0x01, 0x2b, 0x17, + 0x02, 0x3a, 0x00, 0x4f, 0xfe, 0x1d, 0x48, 0x23, 0xd8, 0x1c, 0xe8, 0xe6, + 0xfd, 0x1d, 0xf1, 0x3a, 0xe1, 0x18, 0x48, 0xd9, 0xe5, 0x15, 0xc9, 0x10, + 0xb8, 0xc7, 0x0f, 0xd7, 0x04, 0x1f, 0x35, 0x35, 0x16, 0xe4, 0xf2, 0xd2, + 0x1b, 0x27, 0x17, 0x34, 0x0d, 0x53, 0x0b, 0x57, 0xf6, 0x1a, 0xfa, 0x11, + 0xdc, 0x32, 0xd6, 0x03, 0xe0, 0x29, 0x10, 0x08, 0xfc, 0x40, 0x20, 0x4d, + 0x06, 0x23, 0xde, 0x0c, 0x28, 0x02, 0xf9, 0x18, 0xf7, 0x0e, 0x28, 0xda, + 0x05, 0x10, 0x2d, 0x1d, 0xe9, 0x37, 0x26, 0x42, 0x2c, 0x6f, 0x6b, 0x16, + 0x0a, 0x5a, 0x5b, 0xf9, 0x13, 0xfb, 0x25, 0xca, 0xc9, 0x44, 0x33, 0x32, + 0x43, 0x64, 0x20, 0xe9, 0x19, 0xd4, 0x15, 0x08, 0x00, 0xf4, 0x24, 0x05, + 0x03, 0x0d, 0xda, 0xdd, 0x1a, 0xf6, 0x31, 0x14, 0xf5, 0x4b, 0x24, 0xff, + 0x51, 0x58, 0x52, 0x19, 0x0c, 0x52, 0x0b, 0x35, 0x46, 0x22, 0x30, 0xf5, + 0x47, 0x2c, 0x19, 0x15, 0x28, 0x2e, 0x26, 0x6a, 0x58, 0x3e, 0x1c, 0x35, + 0x2a, 0xfd, 0xf6, 0x29, 0x52, 0x13, 0x32, 0x04, 0x36, 0xee, 0x5e, 0x09, + 0x23, 0x6c, 0x36, 0x76, 0x5c, 0x22, 0x0e, 0x7f, 0x0f, 0x46, 0x2d, 0x33, + 0xda, 0x1d, 0xd9, 0xf8, 0xea, 0xf7, 0xee, 0x17, 0x41, 0x13, 0x49, 0xd6, + 0xbb, 0xf4, 0x9d, 0x36, 0x1c, 0x36, 0x37, 0xfd, 0xf9, 0x01, 0xcc, 0x51, + 0xd5, 0xe9, 0xd9, 0xf5, 0xf9, 0xca, 0x07, 0xf6, 0xc4, 0x33, 0x44, 0x0c, + 0xd0, 0x55, 0x55, 0xf4, 0x2f, 0xff, 0x2b, 0x22, 0xd9, 0xb0, 0xe0, 0xb6, + 0xcf, 0x10, 0x07, 0xe0, 0xb6, 0x99, 0xb4, 0xef, 0xd0, 0xdf, 0x2b, 0x31, + 0x11, 0x1b, 0x09, 0xfe, 0x10, 0xff, 0xe4, 0xc0, 0x10, 0xa0, 0x1b, 0xdb, + 0xc4, 0xc0, 0xe5, 0xc5, 0x4a, 0x53, 0x3a, 0xd8, 0xa6, 0xe4, 0x0d, 0x82, + 0xb8, 0xd3, 0x88, 0xe6, 0xca, 0x19, 0xb5, 0xe4, 0xaf, 0x06, 0xe3, 0x19, + 0xc1, 0xd9, 0xe9, 0x2d, 0xef, 0x03, 0xc0, 0xcb, 0xfa, 0x0d, 0xca, 0xc0, + 0xb7, 0xa0, 0xe2, 0xcc, 0xf2, 0xc5, 0xcb, 0x16, 0x47, 0x38, 0xda, 0xde, + 0xc7, 0xb6, 0xe0, 0xff, 0xde, 0xb7, 0xd8, 0x0c, 0xe7, 0x07, 0x1d, 0x2c, + 0x1e, 0x3b, 0x19, 0xcf, 0xee, 0x17, 0x1f, 0x69, 0x21, 0xfe, 0x6b, 0x0a, + 0x06, 0xef, 0xfd, 0x0b, 0x4e, 0xfa, 0xfe, 0x1d, 0xde, 0xe2, 0x44, 0x5e, + 0x30, 0x27, 0xe6, 0x50, 0xe9, 0x3d, 0x46, 0x20, 0xfa, 0xb3, 0xf3, 0x5b, + 0x0b, 0x36, 0x1d, 0x6b, 0x7c, 0x5b, 0x76, 0x65, 0x4d, 0x52, 0x28, 0x65, + 0x7a, 0x26, 0x7f, 0x54, 0x3d, 0x7d, 0x4f, 0x59, 0x31, 0xdf, 0x55, 0x68, + 0x4e, 0x0f, 0x04, 0x1c, 0x1c, 0x4b, 0x31, 0xfa, 0x1b, 0x15, 0x1f, 0xf2, + 0x27, 0x39, 0xef, 0x03, 0xf8, 0x12, 0x12, 0xda, 0x38, 0x32, 0x06, 0x21, + 0x11, 0x21, 0xc8, 0xdb, 0xc7, 0xf3, 0xf8, 0xf9, 0x08, 0xbd, 0xf9, 0xf1, + 0xdd, 0xca, 0x08, 0xb9, 0xed, 0xbf, 0xb9, 0x21, 0x16, 0xf3, 0x09, 0xec, + 0x37, 0x62, 0x24, 0x08, 0x6c, 0x2c, 0x1f, 0x4c, 0x3d, 0x1c, 0x0b, 0x46, + 0x56, 0x32, 0x0d, 0x06, 0x07, 0xfd, 0x1d, 0x26, 0x36, 0x03, 0x09, 0xd4, + 0x2f, 0x05, 0x0b, 0xfa, 0xe4, 0xe6, 0x15, 0x38, 0x2e, 0xf2, 0xc2, 0x1a, + 0xfd, 0xed, 0x09, 0x18, 0x1c, 0x09, 0x61, 0x6a, 0x7f, 0x0d, 0x59, 0x3b, + 0xf5, 0x4c, 0x43, 0x53, 0x12, 0xfd, 0x04, 0x28, 0xec, 0x13, 0x3e, 0x18, + 0xee, 0xf9, 0x1d, 0x27, 0xf4, 0x03, 0x42, 0xe0, 0x30, 0x0f, 0x21, 0x21, + 0x17, 0xdd, 0xc9, 0x24, 0x3c, 0x22, 0xd5, 0x07, 0x1d, 0x26, 0x12, 0x26, + 0x74, 0x22, 0x16, 0x1f, 0xfc, 0x07, 0xef, 0x26, 0xef, 0x07, 0x39, 0xd5, + 0xf4, 0x0c, 0x1e, 0xe7, 0x34, 0xde, 0xf9, 0x15, 0x18, 0x00, 0x10, 0xec, + 0x0d, 0x4d, 0x48, 0x3f, 0xfe, 0xd6, 0x02, 0xf2, 0xe0, 0x13, 0xc6, 0x0b, + 0x21, 0x2d, 0x20, 0x0b, 0x1b, 0x57, 0x40, 0x0c, 0x01, 0x0a, 0xf8, 0xea, + 0xf4, 0x34, 0xd0, 0x0d, 0xe1, 0xea, 0xf0, 0xf9, 0xdc, 0x18, 0x08, 0x16, + 0xd7, 0x45, 0x43, 0x0e, 0x26, 0x1c, 0x65, 0x47, 0x3d, 0x06, 0xd2, 0x18, + 0x28, 0x21, 0x20, 0x07, 0xea, 0xfb, 0xb8, 0xe8, 0x26, 0x3c, 0x07, 0x29, + 0x22, 0x7f, 0x3d, 0x17, 0x37, 0x11, 0xff, 0xcd, 0x01, 0xfe, 0xfe, 0xdb, + 0xc5, 0xff, 0xd9, 0x01, 0x09, 0x4e, 0x02, 0x29, 0xe9, 0x26, 0xdd, 0x09, + 0xe8, 0x4a, 0x24, 0x1b, 0xfe, 0x3e, 0x3f, 0x01, 0x2b, 0xe4, 0x04, 0x29, + 0xe5, 0x2c, 0x51, 0x3e, 0x1c, 0x76, 0x45, 0x55, 0x66, 0xf5, 0x2a, 0x2a, + 0xcc, 0x1d, 0x0d, 0x1e, 0x41, 0xfa, 0x21, 0xf1, 0x12, 0xeb, 0xe2, 0x0d, + 0x13, 0xda, 0xd4, 0x46, 0x50, 0xfe, 0x00, 0xe0, 0xf1, 0xff, 0xd9, 0x4a, + 0xe4, 0x1c, 0xbb, 0xf8, 0x39, 0x42, 0x71, 0xfb, 0x5d, 0x13, 0x79, 0x4d, + 0x4c, 0xdb, 0xfe, 0xbb, 0x18, 0x1c, 0xcf, 0xe1, 0x01, 0x08, 0x0a, 0x0a, + 0x49, 0x1f, 0xfd, 0x46, 0x32, 0x1c, 0x16, 0x0c, 0x0a, 0x18, 0x18, 0x0e, + 0xc0, 0xe1, 0xfd, 0x19, 0x01, 0x21, 0xdd, 0xd7, 0x14, 0xff, 0x5a, 0x49, + 0xf8, 0x44, 0x34, 0x2e, 0xf8, 0xec, 0xfd, 0xdc, 0xed, 0xbe, 0x29, 0x01, + 0x00, 0x27, 0x0d, 0xd9, 0x25, 0x4d, 0x56, 0x3c, 0x23, 0xe8, 0x23, 0xf9, + 0x3d, 0x44, 0x31, 0xe6, 0x29, 0x40, 0xc3, 0x34, 0xff, 0xae, 0xc2, 0xc7, + 0xf2, 0x07, 0xfe, 0x1e, 0xee, 0x05, 0x54, 0x0e, 0x02, 0xe6, 0xe6, 0xdd, + 0xb3, 0xa4, 0xb7, 0xe1, 0x34, 0xdc, 0xf2, 0x36, 0xe9, 0x31, 0x19, 0x2f, + 0x11, 0x10, 0xf7, 0xc8, 0x42, 0x13, 0xfa, 0xe7, 0xb1, 0x14, 0xfe, 0xd9, + 0xca, 0xc2, 0xba, 0xaf, 0xce, 0xc1, 0x08, 0x2b, 0xed, 0x2b, 0xf0, 0x08, + 0x3d, 0x11, 0x51, 0x2f, 0xf7, 0xfa, 0xb5, 0xca, 0x00, 0x1f, 0x17, 0x10, + 0x16, 0x0a, 0x08, 0x43, 0x23, 0x17, 0x0b, 0xd9, 0xee, 0x1c, 0x50, 0x0c, + 0xe5, 0xff, 0xb7, 0xf0, 0xca, 0x15, 0xe2, 0x0d, 0x9d, 0xba, 0xe1, 0xee, + 0x31, 0xee, 0x19, 0x2e, 0x23, 0x3e, 0x23, 0xcb, 0xbc, 0xed, 0xd4, 0xf0, + 0x20, 0xf5, 0x23, 0x39, 0xec, 0xcc, 0x42, 0x1a, 0x28, 0x1f, 0x14, 0xf3, + 0x3c, 0x2c, 0xef, 0x2b, 0x07, 0xc7, 0x81, 0xd6, 0xe7, 0xbd, 0x07, 0xad, + 0x06, 0xd9, 0x1d, 0xe4, 0x40, 0x30, 0xf2, 0x20, 0x3c, 0xff, 0x29, 0xe9, + 0x03, 0xbf, 0x05, 0xd3, 0xa9, 0x04, 0x1a, 0xdf, 0x01, 0xd5, 0xfb, 0xdd, + 0x26, 0xd6, 0xfd, 0xf0, 0xd3, 0x02, 0x0a, 0xf7, 0xce, 0xd1, 0xe2, 0xb6, + 0xea, 0xd0, 0xea, 0xb9, 0xbf, 0xeb, 0xd8, 0x00, 0xdb, 0xdd, 0x10, 0x4c, + 0x32, 0x21, 0x34, 0xca, 0x06, 0x02, 0x8b, 0xf2, 0xdd, 0x0b, 0xae, 0x07, + 0xbe, 0xbb, 0x2c, 0xf7, 0xd6, 0xec, 0xce, 0xc3, 0x16, 0xed, 0xee, 0x9b, + 0x90, 0xed, 0xee, 0x87, 0xc5, 0xc8, 0x03, 0xe6, 0xc5, 0x24, 0xdb, 0xeb, + 0x4e, 0x18, 0xf3, 0x55, 0xe6, 0x27, 0x26, 0xff, 0xfd, 0xd5, 0xe5, 0xdc, + 0xdf, 0xbd, 0xb5, 0x27, 0xcd, 0xd4, 0xdf, 0xbc, 0xbf, 0x03, 0xe6, 0xd8, + 0xb8, 0xd6, 0xd3, 0xc7, 0xfd, 0xbf, 0xb8, 0xea, 0xab, 0xca, 0xf3, 0x10, + 0x0f, 0xd9, 0xb4, 0xd0, 0x1f, 0xcf, 0x0f, 0xe4, 0x3d, 0xcf, 0x32, 0x33, + 0xd9, 0xc4, 0xad, 0xd9, 0xcd, 0xad, 0xcf, 0x12, 0xaf, 0xed, 0xc7, 0xe5, + 0xfd, 0xb0, 0xf1, 0xf4, 0x03, 0xbe, 0xb6, 0xba, 0x4b, 0x1a, 0xf7, 0x20, + 0x08, 0xee, 0xf7, 0xc6, 0xf4, 0x13, 0xe1, 0xb5, 0xed, 0xce, 0x05, 0xee, + 0x3b, 0x43, 0x1e, 0x4b, 0xfc, 0x24, 0xe5, 0xfc, 0x9f, 0xac, 0x15, 0xf4, + 0xf8, 0x28, 0x27, 0x1c, 0xc1, 0xe8, 0xff, 0xcc, 0xd1, 0xbd, 0xda, 0xcd, + 0x26, 0x03, 0x0f, 0xfd, 0xf2, 0x2e, 0xd3, 0xeb, 0x16, 0xb4, 0xd9, 0xc4, + 0xf8, 0xf4, 0x07, 0xd7, 0x1d, 0x11, 0x0b, 0x25, 0x11, 0xf3, 0xde, 0xcc, + 0x02, 0xef, 0x02, 0xe8, 0xf8, 0xda, 0x2b, 0xfd, 0x01, 0x0d, 0x23, 0xd4, + 0xb0, 0x9d, 0xdf, 0x10, 0x3b, 0xad, 0xfa, 0x1d, 0xdb, 0x39, 0x30, 0x22, + 0xd3, 0xe4, 0xd9, 0xe3, 0xc7, 0x25, 0x32, 0x43, 0xf8, 0x53, 0x4f, 0x5e, + 0xfe, 0x40, 0x04, 0xed, 0xac, 0xe8, 0xd6, 0x14, 0x13, 0x29, 0x31, 0xb8, + 0x21, 0x28, 0x01, 0x12, 0x16, 0xa3, 0xa4, 0xb1, 0xe9, 0xbd, 0x50, 0xff, + 0x24, 0x3d, 0xfa, 0x10, 0x0f, 0xe1, 0xe0, 0xfb, 0xc8, 0xdc, 0xf0, 0x0d, + 0x57, 0x4c, 0x17, 0x4d, 0x24, 0x2f, 0x1c, 0xe1, 0xd5, 0xbd, 0x0f, 0x12, + 0xe0, 0xe5, 0x37, 0x10, 0x2b, 0x21, 0x3c, 0x21, 0xd1, 0xdb, 0x81, 0xa7, + 0x00, 0xcc, 0xeb, 0x1f, 0xf5, 0xbb, 0xc7, 0xdb, 0x07, 0xc3, 0xc0, 0x02, + 0xc0, 0xd9, 0xd5, 0x32, 0xed, 0x16, 0x34, 0x0b, 0x2f, 0xe9, 0x1d, 0x10, + 0x3f, 0x1c, 0x54, 0xef, 0x23, 0x36, 0x40, 0x29, 0xec, 0xec, 0x33, 0x3d, + 0xe5, 0xff, 0x3a, 0x2a, 0xfe, 0xda, 0x1f, 0xff, 0xe3, 0x1c, 0xf9, 0xfe, + 0xc2, 0x05, 0xef, 0xd4, 0xed, 0x00, 0x02, 0x2b, 0x02, 0x12, 0xfc, 0x14, + 0x14, 0x12, 0xea, 0x01, 0x20, 0x23, 0x19, 0xf3, 0xd9, 0xf0, 0x39, 0x29, + 0x03, 0x11, 0x26, 0x01, 0x25, 0x1b, 0xeb, 0x50, 0x07, 0x32, 0xec, 0x17, + 0x17, 0xe4, 0x04, 0xd5, 0xed, 0xdb, 0xf5, 0xf1, 0xd3, 0x03, 0xf0, 0x21, + 0x5c, 0x38, 0x22, 0x0a, 0xed, 0x17, 0xf1, 0xcc, 0xee, 0xed, 0x26, 0xf7, + 0xcc, 0xf4, 0xf6, 0xff, 0xef, 0xe4, 0x1c, 0x37, 0x0a, 0x1c, 0xf8, 0x35, + 0x24, 0x00, 0x2e, 0x27, 0x19, 0x0d, 0xf7, 0x25, 0x17, 0xfb, 0xfb, 0x1e, + 0x0a, 0x2a, 0x37, 0x63, 0x51, 0x1f, 0x16, 0x40, 0x0e, 0xdc, 0xcd, 0xaa, + 0xae, 0xec, 0xc7, 0xfd, 0xc3, 0xf2, 0x17, 0xfc, 0xed, 0xdd, 0xe9, 0x00, + 0x2c, 0xd2, 0x10, 0x24, 0xec, 0x0a, 0x07, 0xe8, 0x11, 0xfd, 0x01, 0x20, + 0xf8, 0xeb, 0xe2, 0x3d, 0x2e, 0x54, 0x42, 0x3e, 0x12, 0x4a, 0x0b, 0x2c, + 0xe4, 0x02, 0xcf, 0xc6, 0x81, 0xa5, 0xfc, 0x08, 0xdd, 0xd7, 0x08, 0xf7, + 0xde, 0x08, 0x24, 0xfb, 0xe6, 0xd1, 0xd7, 0x22, 0x25, 0x1d, 0x0d, 0x91, + 0xc7, 0xc5, 0x13, 0xbf, 0x01, 0xcb, 0xaf, 0x04, 0xf8, 0x0a, 0x26, 0x29, + 0x44, 0x0b, 0x69, 0x5d, 0xf4, 0x56, 0x38, 0x58, 0x70, 0x3e, 0x33, 0x4e, + 0x00, 0x1c, 0x26, 0x14, 0x0d, 0x2f, 0xf8, 0x61, 0xe2, 0x64, 0x73, 0x7b, + 0xb4, 0xde, 0xf3, 0xba, 0x95, 0x2b, 0xfb, 0x0c, 0xb2, 0xe8, 0x2f, 0xf9, + 0xd5, 0x1f, 0xb6, 0x07, 0xc6, 0x12, 0x20, 0xf3, 0xc8, 0x27, 0x0a, 0x23, + 0x03, 0x14, 0xea, 0xe5, 0xe9, 0x4e, 0x15, 0x2d, 0xd5, 0xf0, 0x47, 0x45, + 0x07, 0x34, 0xcb, 0x3b, 0xf9, 0x98, 0x11, 0xce, 0xc4, 0xe0, 0xe5, 0xe7, + 0x28, 0xe4, 0xfe, 0xaa, 0x02, 0xf1, 0xa7, 0xc0, 0x31, 0x23, 0x25, 0x02, + 0xcf, 0xb1, 0xe9, 0xfb, 0x04, 0x13, 0xb5, 0x0f, 0x29, 0xc9, 0x38, 0x41, + 0xcb, 0xea, 0x2c, 0xb7, 0xf8, 0x0e, 0xba, 0xec, 0xa5, 0x9b, 0xdd, 0x90, + 0x95, 0xb0, 0xf3, 0xad, 0xf4, 0x3d, 0xae, 0xfc, 0xc2, 0x0c, 0xd3, 0xcb, + 0xe1, 0x31, 0xd6, 0xfb, 0xf8, 0x9f, 0xa0, 0x01, 0xcc, 0x08, 0xb2, 0x2d, + 0xf9, 0xbf, 0xf0, 0xba, 0xe0, 0x31, 0xdc, 0x2a, 0xb5, 0x95, 0x21, 0xd9, + 0xfa, 0xc9, 0x05, 0xe3, 0x81, 0xf7, 0xb6, 0x10, 0xc2, 0x1b, 0x39, 0xbb, + 0xdd, 0x29, 0xf7, 0xe1, 0x28, 0xb2, 0xe3, 0xd2, 0x19, 0xbe, 0xce, 0x94, + 0xfd, 0xa2, 0x13, 0xcb, 0xe2, 0xb4, 0xc5, 0xef, 0x13, 0xb9, 0xdb, 0xf4, + 0xe3, 0x02, 0x26, 0xb2, 0x11, 0xe3, 0xd7, 0xfe, 0xb9, 0x0c, 0x02, 0xf2, + 0x00, 0x28, 0xf1, 0xfa, 0xa7, 0xfc, 0xc5, 0x42, 0x64, 0x4e, 0x31, 0x1d, + 0x3a, 0xe8, 0xd1, 0xff, 0x13, 0xf2, 0x24, 0x3e, 0x1e, 0x20, 0xfc, 0x30, + 0x3a, 0x1e, 0xe8, 0xe0, 0xfc, 0xd1, 0x19, 0xf4, 0xe9, 0xef, 0x1c, 0x09, + 0xe3, 0x25, 0x07, 0x30, 0xf9, 0xec, 0xf4, 0x14, 0xce, 0xfd, 0xf5, 0x2a, + 0x33, 0x21, 0x09, 0x49, 0x09, 0x28, 0xde, 0xf8, 0x0b, 0xdb, 0x45, 0xf2, + 0x00, 0xff, 0x49, 0xfb, 0x47, 0x03, 0x10, 0xe2, 0xfa, 0xb2, 0x11, 0x04, + 0x02, 0xb6, 0xdb, 0xdf, 0xe1, 0x3a, 0x5d, 0x30, 0xdd, 0x33, 0xf8, 0xde, + 0xef, 0x24, 0xdf, 0x43, 0x14, 0x15, 0x38, 0x65, 0x33, 0xea, 0x19, 0x03, + 0x03, 0xd9, 0x28, 0xf6, 0xcb, 0xda, 0xf2, 0xf4, 0xe5, 0x00, 0x41, 0x22, + 0xe8, 0xb6, 0x0e, 0x1d, 0xe2, 0xd9, 0xff, 0x04, 0xff, 0x49, 0x44, 0x2b, + 0xe0, 0x2f, 0xb9, 0xf8, 0x09, 0x05, 0x1c, 0x35, 0x5b, 0x35, 0x33, 0x53, + 0x17, 0x33, 0xce, 0xd1, 0xb7, 0x00, 0xe9, 0xe8, 0x15, 0x1e, 0x30, 0x33, + 0x04, 0xe3, 0x2c, 0x2f, 0xc2, 0xb3, 0xd9, 0x04, 0x02, 0xca, 0xdc, 0xce, + 0xee, 0x4f, 0x1c, 0x28, 0xf8, 0xda, 0x0d, 0x18, 0x1f, 0x19, 0x29, 0x34, + 0xfb, 0x19, 0x35, 0x1e, 0x31, 0x2d, 0xcf, 0xf0, 0xae, 0xb6, 0xf7, 0xea, + 0xdd, 0xfd, 0x14, 0x0c, 0xeb, 0x19, 0xe9, 0xff, 0xc0, 0x81, 0xb8, 0xda, + 0xec, 0xe3, 0x24, 0xfa, 0xfc, 0x20, 0xd6, 0xc6, 0xfb, 0xcc, 0xec, 0x02, + 0xec, 0xf8, 0xd2, 0x99, 0xac, 0xd9, 0xaf, 0xa7, 0xf3, 0x0d, 0x53, 0x21, + 0x21, 0x06, 0xfb, 0x1f, 0x34, 0xed, 0x16, 0x14, 0x1f, 0xd9, 0xf7, 0x07, + 0x2b, 0xf9, 0xec, 0x1d, 0xd1, 0x2e, 0x16, 0x0f, 0x0e, 0xe3, 0x27, 0xec, + 0xd8, 0x02, 0x0b, 0xd1, 0xd8, 0x03, 0xad, 0xf4, 0xde, 0xd6, 0x81, 0xe4, + 0x05, 0x1a, 0x1e, 0x51, 0x26, 0x0e, 0xda, 0xdd, 0xe2, 0xe4, 0x34, 0xe3, + 0x21, 0xf3, 0x32, 0x3d, 0xe8, 0xf8, 0xea, 0x10, 0xe8, 0x01, 0xe3, 0xf5, + 0xd4, 0x20, 0x19, 0xeb, 0xf5, 0xbb, 0xea, 0xe1, 0x1d, 0xd9, 0xaa, 0xa2, + 0xdc, 0xa9, 0x8c, 0xa8, 0xea, 0xf8, 0x31, 0x45, 0x34, 0x0a, 0x38, 0x15, + 0xd8, 0xe1, 0xe0, 0xc8, 0xe1, 0x0b, 0xd5, 0x0f, 0x2f, 0x29, 0x2c, 0xfe, + 0xe9, 0xdc, 0xfa, 0xfe, 0x1e, 0x17, 0xc7, 0xfc, 0xda, 0x0b, 0xbc, 0xc4, + 0x1b, 0xc4, 0xbe, 0xa8, 0xe5, 0xc3, 0xad, 0xe3, 0xd7, 0x19, 0xe1, 0xfa, + 0x15, 0x0d, 0x0e, 0x2e, 0x19, 0xd2, 0xea, 0x1b, 0x1c, 0x0e, 0xd8, 0x1e, + 0xe5, 0x0e, 0xd4, 0xe6, 0xc8, 0xe8, 0x1b, 0xcc, 0xeb, 0xe2, 0xe7, 0xc5, + 0xe4, 0xe5, 0xcf, 0xf5, 0x20, 0x2d, 0xd8, 0xc9, 0xcb, 0xb9, 0xc6, 0xe5, + 0xf2, 0xe5, 0x03, 0x29, 0x03, 0xf1, 0xdf, 0xd8, 0xeb, 0xdd, 0xc4, 0xe2, + 0x00, 0xff, 0x1e, 0xf3, 0x1d, 0x09, 0xc6, 0xea, 0x12, 0xb6, 0x8c, 0x01, + 0xc2, 0xb2, 0xea, 0x93, 0xfa, 0x9c, 0x13, 0xbf, 0xbd, 0xa9, 0xca, 0x1d, + 0xb6, 0xb1, 0xb9, 0x8c, 0xd1, 0x0f, 0xda, 0x00, 0x3a, 0xea, 0x03, 0x4a, + 0x2b, 0xd0, 0xd9, 0x35, 0xd3, 0xf1, 0xf3, 0xf1, 0xe2, 0xe9, 0x15, 0x31, + 0x0f, 0xfd, 0x05, 0xae, 0xbc, 0xee, 0x0b, 0xe4, 0xa2, 0xf5, 0xcb, 0xea, + 0x92, 0xba, 0x25, 0xca, 0x28, 0xd9, 0xf2, 0x15, 0x38, 0x45, 0x55, 0x38, + 0x42, 0x72, 0x27, 0x3d, 0xd3, 0x38, 0xe9, 0x4a, 0xe0, 0x47, 0xfd, 0xe4, + 0xf9, 0x1a, 0xe7, 0x54, 0xe6, 0xdf, 0xd7, 0xbc, 0xf3, 0x0b, 0xf9, 0xfe, + 0xd0, 0xcd, 0xcd, 0xe5, 0xc9, 0x17, 0x25, 0x49, 0xca, 0x0c, 0x38, 0x0c, + 0x40, 0x0b, 0x1a, 0xf6, 0x63, 0x7f, 0xfd, 0xeb, 0x57, 0x48, 0x50, 0x46, + 0xcb, 0x50, 0x4b, 0x12, 0x40, 0xea, 0xdc, 0x08, 0x32, 0x0e, 0xab, 0xea, + 0xf5, 0xd4, 0xe3, 0x06, 0xc8, 0x39, 0x1d, 0xbc, 0x0d, 0xc5, 0x3e, 0x2b, + 0x49, 0xd4, 0x2b, 0x1f, 0xe1, 0x47, 0x33, 0x49, 0x77, 0x31, 0xff, 0x2c, + 0xfb, 0x4a, 0xd9, 0xdb, 0x12, 0xeb, 0x2b, 0x13, 0x01, 0x55, 0x3a, 0x0d, + 0xca, 0x29, 0xd0, 0x1a, 0xfc, 0xd9, 0xa4, 0xe9, 0xf9, 0xd8, 0xdd, 0x21, + 0xe8, 0xa3, 0xe1, 0x03, 0x0d, 0x1a, 0xc5, 0x41, 0xec, 0xbe, 0x0f, 0x27, + 0xf5, 0x61, 0x48, 0x05, 0x5b, 0x4b, 0xf1, 0xde, 0x23, 0x2b, 0x06, 0xdc, + 0x3b, 0xe2, 0x2b, 0x36, 0xfe, 0x1e, 0x0b, 0x20, 0x00, 0x05, 0x32, 0x28, + 0x20, 0x2b, 0x6e, 0xf7, 0x0b, 0xff, 0x05, 0xcb, 0x19, 0xfe, 0x29, 0x13, + 0xc5, 0xa6, 0xec, 0xdc, 0x25, 0x37, 0x2a, 0x0b, 0xfc, 0xd9, 0x07, 0xc0, + 0xc6, 0x5c, 0x09, 0xad, 0x27, 0xe0, 0x09, 0x0b, 0xcc, 0x2b, 0x5f, 0x52, + 0x42, 0x1a, 0xd1, 0x40, 0x44, 0x5a, 0x06, 0xf3, 0x48, 0x00, 0xd5, 0x49, + 0xba, 0x03, 0xe5, 0x1d, 0xa4, 0x93, 0xda, 0xcf, 0xee, 0x1d, 0xdd, 0xe9, + 0x15, 0xd9, 0xc7, 0x2e, 0xe8, 0x39, 0x42, 0x30, 0x02, 0xd0, 0x1e, 0xae, + 0x1b, 0x4a, 0xdf, 0x1f, 0x19, 0x32, 0x1d, 0xe7, 0xf7, 0x2a, 0x6e, 0x59, + 0x45, 0xed, 0xef, 0xfe, 0x39, 0x20, 0xd3, 0xc7, 0xc5, 0xeb, 0xc5, 0x0c, + 0x1b, 0xca, 0xea, 0xce, 0xfc, 0x10, 0xfa, 0xb9, 0xdd, 0x2a, 0xfc, 0xae, + 0x24, 0xdf, 0x10, 0xfa, 0xf8, 0x22, 0x0c, 0x1c, 0x42, 0x04, 0xb8, 0x3b, + 0x22, 0xeb, 0x37, 0x57, 0x25, 0xce, 0x0e, 0xcb, 0xb3, 0xd7, 0x22, 0x9e, + 0xc6, 0xdf, 0xc0, 0xea, 0x0f, 0x00, 0xd6, 0x01, 0xa5, 0xd8, 0xca, 0xfb, + 0x02, 0x05, 0x05, 0xba, 0x0e, 0x32, 0xc8, 0xf7, 0xc5, 0x24, 0xf1, 0x38, + 0xd3, 0xc4, 0xc2, 0xc1, 0xeb, 0x50, 0x1e, 0x46, 0xc2, 0xf6, 0x23, 0xd1, + 0xcb, 0x22, 0xd2, 0x96, 0x81, 0x85, 0xe4, 0xb8, 0x93, 0x16, 0xd3, 0x03, + 0x9c, 0xe1, 0x9f, 0xdf, 0xc3, 0x01, 0xcf, 0xfa, 0xca, 0x16, 0x4b, 0x12, + 0xc3, 0x2e, 0x0a, 0xf5, 0x0c, 0x46, 0x58, 0x6d, 0x12, 0x44, 0x37, 0xef, + 0x1a, 0x60, 0x42, 0xc8, 0xf9, 0x00, 0xf1, 0x0e, 0xcd, 0x29, 0xf5, 0xca, + 0x0f, 0x05, 0x1c, 0xea, 0x46, 0x5b, 0x42, 0x40, 0x0f, 0x0d, 0x1b, 0x4d, + 0x40, 0x13, 0x3b, 0x32, 0x28, 0x2b, 0xe7, 0x42, 0xd2, 0x43, 0xf4, 0x45, + 0x0b, 0x1c, 0x24, 0xe4, 0x53, 0x2f, 0x2f, 0xd6, 0x29, 0xb9, 0x3e, 0xeb, + 0x4c, 0x0b, 0xd6, 0xc2, 0xd1, 0x02, 0xf6, 0x3d, 0x48, 0xbe, 0x38, 0xed, + 0x17, 0x12, 0xf4, 0xf9, 0xd6, 0xfd, 0x3b, 0x1d, 0x1e, 0x4a, 0xe7, 0xd1, + 0x2c, 0xdd, 0xf0, 0xfc, 0x00, 0xc6, 0xea, 0x21, 0x11, 0x09, 0xc8, 0xd3, + 0xdc, 0x92, 0x93, 0x0c, 0xf2, 0x10, 0xb7, 0xa5, 0x93, 0xbf, 0x10, 0x10, + 0xcb, 0xa4, 0xcb, 0xfd, 0xdf, 0x9c, 0xe5, 0xcc, 0xf7, 0xa1, 0xf1, 0xb9, + 0x29, 0x15, 0x37, 0x2a, 0x09, 0x2e, 0xa4, 0x05, 0xd2, 0x87, 0xf2, 0x09, + 0x19, 0xd7, 0x24, 0x98, 0xbd, 0xa0, 0xe4, 0xd4, 0xb7, 0xbc, 0xda, 0xb9, + 0x91, 0x16, 0x9b, 0xbf, 0x13, 0x9a, 0x81, 0xce, 0xd9, 0xef, 0x1c, 0x1f, + 0xf5, 0x14, 0x04, 0xdf, 0x6a, 0x62, 0x4e, 0xdb, 0xeb, 0xc0, 0xb3, 0xb0, + 0xc6, 0xda, 0x09, 0xfc, 0x39, 0xf0, 0xc8, 0xd1, 0xf7, 0xc3, 0x0b, 0xd1, + 0xf5, 0x30, 0x2f, 0x07, 0x05, 0xfe, 0xb9, 0x09, 0xeb, 0xd1, 0xda, 0xcb, + 0xb5, 0x20, 0x29, 0xd9, 0xf5, 0x50, 0x29, 0x4f, 0xf4, 0x46, 0x26, 0x24, + 0x33, 0x14, 0xc8, 0x4b, 0x19, 0x41, 0x7f, 0x2c, 0x5e, 0x36, 0xef, 0x35, + 0xf8, 0x21, 0xdd, 0xd0, 0xe4, 0x35, 0xfb, 0xfc, 0x35, 0x02, 0x29, 0x14, + 0x43, 0x22, 0x0f, 0x0e, 0x09, 0xd6, 0xc6, 0x0c, 0x25, 0xe1, 0xf5, 0xc5, + 0xc4, 0x27, 0xe1, 0x0e, 0x3c, 0x34, 0xca, 0x29, 0x24, 0x64, 0x1f, 0x30, + 0x3e, 0x62, 0x43, 0xf1, 0x2f, 0x02, 0xee, 0x03, 0xd9, 0x08, 0x3d, 0xe0, + 0xe0, 0x2f, 0xd1, 0x03, 0x40, 0x31, 0x02, 0x24, 0xe1, 0x37, 0xc7, 0x31, + 0x31, 0x14, 0xc5, 0xf7, 0xd4, 0x00, 0x07, 0x2d, 0xf1, 0x0e, 0xdc, 0x0e, + 0x18, 0x1d, 0x62, 0xf5, 0x00, 0xef, 0x52, 0x17, 0xd2, 0xd4, 0xe4, 0xc7, + 0xe8, 0xb3, 0xc8, 0x1d, 0xf0, 0x06, 0x1f, 0x09, 0xe7, 0xf1, 0xcb, 0xe6, + 0xe8, 0x0e, 0x9a, 0xcc, 0xf4, 0x3e, 0xb8, 0xf4, 0x00, 0x48, 0xb4, 0x19, + 0x23, 0xa6, 0xb4, 0x09, 0x02, 0x16, 0x2e, 0x05, 0x2d, 0x0e, 0xd6, 0xc9, + 0x19, 0xcf, 0xc1, 0x14, 0xb8, 0xcc, 0xb7, 0xd3, 0xdb, 0xe5, 0x19, 0xd4, + 0xa6, 0xfe, 0xe1, 0xf9, 0xf2, 0xd0, 0xd0, 0xd3, 0xf0, 0x47, 0xcb, 0xc1, + 0x0d, 0x34, 0xba, 0xea, 0x0a, 0xb6, 0xc0, 0xd8, 0x08, 0xda, 0x4c, 0x1b, + 0x00, 0xe3, 0x2d, 0xe6, 0x0a, 0x10, 0x10, 0xe7, 0xd8, 0xdf, 0xef, 0xa1, + 0x04, 0x24, 0xf1, 0xb0, 0xa0, 0xec, 0xaf, 0x93, 0xf9, 0x00, 0x92, 0xda, + 0xd8, 0x40, 0xe0, 0xa3, 0xa6, 0x0d, 0xca, 0xc4, 0x91, 0x89, 0x01, 0x37, + 0x14, 0x2f, 0x00, 0xf9, 0x34, 0xc2, 0x31, 0xd7, 0xd9, 0xf5, 0xfa, 0x41, + 0xcf, 0xc8, 0x1c, 0x36, 0xb3, 0xbb, 0xb2, 0x1f, 0x4b, 0x1d, 0xee, 0xba, + 0xb8, 0x44, 0x3b, 0x4f, 0x5b, 0xd1, 0x3a, 0x4a, 0x0b, 0x22, 0xb0, 0xd6, + 0xea, 0xf0, 0x1f, 0x35, 0xa5, 0x0a, 0xe3, 0xb9, 0xf6, 0x01, 0xb3, 0x08, + 0x2f, 0xae, 0x20, 0x15, 0x33, 0xac, 0xb5, 0x0f, 0x25, 0x0a, 0x4c, 0x68, + 0x0c, 0x5c, 0x62, 0x60, 0xfe, 0x0b, 0x36, 0x0b, 0x30, 0xcd, 0x7a, 0x7c, + 0xf0, 0x96, 0xbb, 0x9f, 0xd5, 0x08, 0x17, 0xa8, 0xf3, 0xac, 0xaf, 0x09, + 0xb7, 0x22, 0xda, 0xc7, 0x3a, 0x08, 0xd6, 0xa3, 0x2d, 0xc7, 0xeb, 0xbb, + 0xb2, 0x3a, 0x3d, 0x4b, 0xb0, 0xd6, 0x33, 0x47, 0xe7, 0x4b, 0x46, 0xd7, + 0x2d, 0xd0, 0x4b, 0x49, 0xb5, 0x34, 0x81, 0xcc, 0xa9, 0xa3, 0x2e, 0xe5, + 0x31, 0x07, 0x0a, 0xa8, 0x31, 0x31, 0xc1, 0xdb, 0xe1, 0x05, 0xcb, 0x05, + 0xe4, 0x3a, 0x9b, 0xec, 0x21, 0x47, 0x3c, 0x2c, 0xb8, 0x0d, 0xb8, 0x12, + 0xd0, 0xf4, 0x0e, 0xc3, 0x49, 0x3b, 0x26, 0x74, 0x34, 0x8b, 0x0c, 0xb3, + 0xa9, 0xd2, 0x9c, 0x9e, 0x8a, 0xaf, 0x9f, 0xa2, 0x11, 0x89, 0x87, 0xca, + 0xd8, 0x89, 0x0a, 0x86, 0xd4, 0xdb, 0xb9, 0x2c, 0xe3, 0x1f, 0x0d, 0xef, + 0xc1, 0xf4, 0x1f, 0xcc, 0x3e, 0x9a, 0x15, 0xa1, 0x2a, 0xc4, 0x07, 0x45, + 0x18, 0xa9, 0x0f, 0x0b, 0xe4, 0x31, 0x67, 0x39, 0x40, 0x50, 0x3f, 0xfa, + 0x69, 0x2f, 0x54, 0x35, 0x5e, 0x55, 0x3c, 0xe1, 0xe4, 0x23, 0x59, 0x0a, + 0x28, 0x36, 0x1f, 0x30, 0x06, 0x4b, 0x79, 0x39, 0x03, 0xd4, 0x4b, 0x7e, + 0xe5, 0x51, 0x04, 0x2d, 0xb4, 0x21, 0x2f, 0xda, 0xfd, 0xf3, 0x58, 0x45, + 0x0b, 0x29, 0xe5, 0xeb, 0x3f, 0x20, 0x5a, 0x33, 0xef, 0xe3, 0x39, 0xf2, + 0xf9, 0x1c, 0x78, 0x04, 0x4a, 0x2e, 0x00, 0x50, 0x4e, 0xfd, 0x3e, 0x55, + 0xc5, 0xfa, 0xd2, 0x25, 0x40, 0xf2, 0xd9, 0x08, 0x1d, 0xdc, 0x2b, 0xd2, + 0x4f, 0x57, 0xeb, 0xdc, 0xd7, 0xfd, 0x59, 0xf0, 0x30, 0x04, 0x7f, 0x66, + 0x01, 0xef, 0x14, 0x1e, 0x53, 0xc7, 0xff, 0xdc, 0xb8, 0xf1, 0x43, 0xee, + 0xf3, 0x21, 0x46, 0xcd, 0x1f, 0xd9, 0xde, 0xf7, 0x1a, 0xb7, 0x18, 0x0b, + 0xc1, 0xdd, 0xf8, 0x29, 0x2d, 0xe0, 0x50, 0xcc, 0xe3, 0xa4, 0x17, 0xd1, + 0x24, 0xde, 0x43, 0x40, 0xea, 0xf6, 0xea, 0xdd, 0x26, 0xac, 0x22, 0x14, + 0xb6, 0x8c, 0xc9, 0xc5, 0xb5, 0x82, 0x0c, 0xae, 0x91, 0xa5, 0xe0, 0xab, + 0x96, 0xba, 0xce, 0xf6, 0xd1, 0x22, 0x40, 0x4b, 0x46, 0x0f, 0x4e, 0x39, + 0xce, 0xb6, 0xfc, 0xba, 0x58, 0x3a, 0x52, 0x22, 0xcf, 0xb9, 0xc3, 0x22, + 0xa7, 0xaf, 0x9f, 0xde, 0xc3, 0x9b, 0xc2, 0xa0, 0x8a, 0xd7, 0xb5, 0xcc, + 0x99, 0xbf, 0xa6, 0xf7, 0x89, 0x82, 0x81, 0x9e, 0xde, 0x19, 0xbc, 0xf0, + 0xd6, 0xfb, 0x00, 0x39, 0x4f, 0xe9, 0x40, 0x15, 0x0a, 0x1e, 0x17, 0x1c, + 0x2c, 0xd2, 0x24, 0x14, 0x28, 0xfe, 0x22, 0x14, 0x34, 0x15, 0x37, 0xe8, + 0x27, 0x38, 0x34, 0x46, 0x2c, 0xee, 0x0d, 0x30, 0xda, 0x0f, 0x08, 0x49, + 0xe4, 0xe5, 0xb4, 0xd5, 0xcf, 0xf7, 0xc8, 0x54, 0xe9, 0xeb, 0x58, 0x3f, + 0x55, 0x0c, 0x33, 0x44, 0x2f, 0xb0, 0x3d, 0xf5, 0x02, 0xd0, 0x35, 0xf7, + 0x18, 0xd9, 0x49, 0x5f, 0xea, 0x5d, 0x2b, 0x30, 0xe8, 0xca, 0xe7, 0x13, + 0x0d, 0x16, 0x1c, 0x48, 0xbf, 0x04, 0xd2, 0xf4, 0x24, 0xf7, 0x14, 0x22, + 0x59, 0xe6, 0xe2, 0x07, 0x26, 0x0f, 0x33, 0xf7, 0xf0, 0xb9, 0xc3, 0xd8, + 0xfd, 0x07, 0x11, 0x00, 0xaa, 0x10, 0x29, 0x29, 0xd7, 0xf2, 0x05, 0xfe, + 0xef, 0xee, 0xc4, 0x22, 0xcd, 0x1c, 0xbd, 0x11, 0x0e, 0x42, 0xda, 0xe8, + 0x3d, 0x2b, 0x4f, 0x46, 0x53, 0xdc, 0x40, 0x56, 0x0f, 0x08, 0x3b, 0xfd, + 0xd4, 0xcb, 0x31, 0xfa, 0xde, 0xf7, 0xc8, 0xf3, 0xbb, 0xd9, 0x0b, 0x2c, + 0xe6, 0xe9, 0xb4, 0x90, 0xbc, 0xb4, 0x05, 0x1d, 0x0d, 0xc0, 0x06, 0xeb, + 0x2b, 0x6a, 0x0e, 0x41, 0xec, 0x50, 0x23, 0x25, 0x54, 0xd7, 0x01, 0x04, + 0x22, 0x1d, 0x10, 0xe0, 0x03, 0xd6, 0xcd, 0xef, 0x02, 0xb9, 0xd3, 0x99, + 0x81, 0xfc, 0xe0, 0xfb, 0xde, 0xff, 0xa5, 0x91, 0xd5, 0x99, 0x8b, 0xc4, + 0xe1, 0xb1, 0x07, 0xc7, 0x9d, 0x33, 0x10, 0xda, 0x18, 0x2b, 0xe7, 0xf0, + 0xee, 0x66, 0x26, 0x2b, 0xce, 0xd7, 0xd2, 0xc6, 0xe1, 0xab, 0xf0, 0x12, + 0x94, 0xb1, 0xc8, 0xba, 0x19, 0x36, 0x34, 0xbd, 0x1c, 0x1e, 0xd4, 0x0a, + 0xf4, 0x33, 0xb2, 0xd9, 0x0a, 0x0c, 0xc5, 0xe3, 0xb5, 0x14, 0xfd, 0xec, + 0x23, 0x07, 0xdc, 0xe5, 0x3e, 0x35, 0x36, 0x36, 0xd7, 0x18, 0xc4, 0x0e, + 0xf9, 0xce, 0xba, 0xfe, 0xa2, 0xe0, 0x20, 0x12, 0x17, 0xf6, 0x18, 0x02, + 0xc1, 0xda, 0x46, 0xbd, 0xb7, 0xf0, 0xe2, 0x06, 0xdb, 0xfd, 0xcb, 0x02, + 0x8d, 0xfe, 0x6b, 0x4b, 0x08, 0xe0, 0xe5, 0xcc, 0x51, 0x74, 0x79, 0xdf, + 0xe8, 0x3f, 0xd8, 0x2b, 0xb2, 0xad, 0xf1, 0x0d, 0xf3, 0xf9, 0xe9, 0x21, + 0xe8, 0x20, 0xd1, 0xfb, 0xc1, 0x33, 0x21, 0xc0, 0x08, 0xc0, 0x01, 0x2e, + 0xdc, 0xe4, 0x0f, 0xa6, 0xae, 0xde, 0x2b, 0x55, 0x56, 0xeb, 0xa6, 0xfe, + 0x36, 0x2d, 0x79, 0x26, 0xc7, 0xc0, 0xc0, 0x08, 0xac, 0x01, 0xdb, 0xde, + 0x9a, 0xe1, 0xae, 0xc0, 0x01, 0x43, 0xd4, 0xb1, 0x29, 0xc1, 0x06, 0xc4, + 0x13, 0xde, 0xeb, 0xf9, 0xe0, 0x23, 0xfb, 0xec, 0x27, 0xf8, 0x71, 0xd8, + 0xcf, 0xd1, 0xe8, 0xdf, 0x3a, 0x11, 0x7f, 0xd1, 0xcd, 0x3f, 0xdc, 0xe6, + 0x2c, 0xcd, 0xc9, 0xcc, 0x90, 0x99, 0xb1, 0x2c, 0x39, 0x22, 0xb5, 0xf1, + 0xb4, 0x30, 0xd1, 0x23, 0x24, 0xd9, 0x1a, 0xd6, 0x21, 0x5e, 0x11, 0xc2, + 0x9a, 0x1e, 0xde, 0xa7, 0xc0, 0xf6, 0x07, 0xbd, 0x03, 0x09, 0xf5, 0xb3, + 0x8f, 0xdc, 0xcf, 0xc2, 0x93, 0xb9, 0xaa, 0x31, 0xc6, 0x0b, 0xf4, 0x3a, + 0x9b, 0x15, 0xa0, 0x0c, 0xdb, 0xeb, 0xdf, 0x1f, 0xb3, 0x2b, 0xec, 0xbe, + 0xc7, 0xd1, 0xb6, 0xdf, 0x1b, 0x13, 0xda, 0x82, 0xf5, 0x06, 0x54, 0x47, + 0xaf, 0x08, 0xf4, 0xea, 0xb6, 0xf6, 0xb9, 0xd7, 0xbc, 0xff, 0x02, 0x44, + 0x27, 0x56, 0xf2, 0x12, 0xf3, 0xc6, 0xfc, 0xe2, 0xf6, 0x00, 0x03, 0xc1, + 0xd0, 0xf7, 0x09, 0x05, 0xc5, 0xf5, 0xec, 0xde, 0xe4, 0xf1, 0x3f, 0xe5, + 0x39, 0x07, 0x0a, 0xea, 0xd4, 0x1f, 0xef, 0xfb, 0xb2, 0xcc, 0xa4, 0xab, + 0xd6, 0x1c, 0x44, 0x0e, 0x13, 0x5f, 0x75, 0x56, 0xeb, 0xbc, 0xdc, 0xec, + 0x1b, 0xfa, 0xf1, 0xc7, 0xdd, 0xc6, 0xd6, 0x3b, 0xdb, 0x9a, 0xd1, 0x1c, + 0x27, 0xbf, 0x4a, 0x46, 0x5e, 0x78, 0x72, 0xfe, 0xec, 0x26, 0xc3, 0x20, + 0xc1, 0xb5, 0xb9, 0xe9, 0x9b, 0xc4, 0x1f, 0x69, 0x4a, 0x5e, 0xe9, 0x1f, + 0xf1, 0x3d, 0xee, 0xfe, 0x0d, 0xf7, 0xdd, 0x0c, 0x2e, 0x1d, 0x3b, 0x17, + 0xa9, 0xab, 0xbe, 0xf6, 0xfd, 0x2d, 0x2f, 0x3f, 0xc8, 0x05, 0x7f, 0x54, + 0xb7, 0x17, 0x19, 0xc8, 0x36, 0xb3, 0xc6, 0xdf, 0xc5, 0xfd, 0xc7, 0x1e, + 0x60, 0x67, 0x08, 0xf8, 0xf7, 0xbb, 0x9f, 0xf4, 0xf8, 0xd2, 0x50, 0xf2, + 0xf6, 0xe8, 0x1d, 0xdb, 0xe1, 0xd1, 0xef, 0x17, 0x5c, 0x13, 0xbd, 0xb6, + 0xdc, 0x3e, 0x43, 0x79, 0x0b, 0x01, 0x16, 0xd9, 0x5f, 0x5c, 0x42, 0xe8, + 0xf9, 0x2d, 0x53, 0x1d, 0x2a, 0x65, 0x3c, 0xd7, 0x10, 0xb5, 0x51, 0x4f, + 0x6f, 0x25, 0xd3, 0x00, 0xf9, 0x23, 0xd1, 0x37, 0xd3, 0xf2, 0x51, 0xf9, + 0x70, 0xca, 0xba, 0x2d, 0x37, 0xa7, 0xd6, 0x23, 0x1c, 0x04, 0xec, 0x05, + 0x10, 0x36, 0xfa, 0xd0, 0xfe, 0xe2, 0x40, 0xe5, 0x10, 0x19, 0x5d, 0xbe, + 0xbf, 0x22, 0x1d, 0x57, 0xe3, 0x36, 0x29, 0x5b, 0xdb, 0x4c, 0x53, 0x34, + 0x56, 0xa0, 0x3a, 0x0d, 0x40, 0xca, 0x88, 0x24, 0xd3, 0x41, 0xf8, 0x46, + 0xa9, 0x9f, 0xa8, 0x28, 0xff, 0x30, 0x42, 0xd5, 0x45, 0xbe, 0xcc, 0x1a, + 0xa9, 0x10, 0x10, 0x02, 0xe9, 0xb1, 0xbc, 0xe2, 0xc9, 0x1b, 0xea, 0x43, + 0xd2, 0x0c, 0x01, 0xca, 0x21, 0xac, 0x21, 0x35, 0x08, 0x32, 0xc6, 0xfb, + 0x9e, 0x0c, 0x06, 0xcf, 0xbf, 0xfa, 0xf3, 0x16, 0x54, 0x4a, 0x15, 0xdd, + 0x38, 0x10, 0xc5, 0xd4, 0xbe, 0xd6, 0xc5, 0x16, 0x9f, 0x81, 0xca, 0x43, + 0x19, 0x90, 0xe1, 0x40, 0xcf, 0x11, 0xf9, 0xbb, 0x23, 0xdb, 0x9b, 0xcc, + 0x01, 0xf4, 0xd8, 0xe7, 0x07, 0xbe, 0xef, 0x1b, 0x98, 0xb6, 0xd2, 0x09, + 0x2b, 0xce, 0x47, 0xf4, 0xdd, 0x44, 0x3b, 0xc7, 0x43, 0xfe, 0x45, 0x32, + 0x9c, 0xa5, 0xa6, 0x1d, 0xb9, 0xc2, 0x03, 0xec, 0x0c, 0x24, 0xd0, 0xd0, + 0x2c, 0xca, 0xba, 0x41, 0xe3, 0xff, 0x1e, 0x3a, 0xda, 0x04, 0x02, 0x64, + 0x57, 0xf5, 0x3e, 0x50, 0x57, 0x5f, 0x07, 0x1a, 0xcd, 0xc3, 0x04, 0xef, + 0xf6, 0xf8, 0xe1, 0x3f, 0x5c, 0x54, 0x77, 0x58, 0x7f, 0x26, 0x46, 0xe9, + 0x11, 0xde, 0x14, 0x25, 0xe3, 0xf6, 0x23, 0xf0, 0xf0, 0xb6, 0xe1, 0x1e, + 0x0f, 0x1b, 0x07, 0x2d, 0xee, 0x21, 0xd3, 0x1b, 0x3e, 0x3a, 0xd1, 0x11, + 0xb3, 0xd1, 0x11, 0xb8, 0xd6, 0xa9, 0xec, 0x28, 0xee, 0xfb, 0x7f, 0xf7, + 0x45, 0x4d, 0xfd, 0x26, 0xdf, 0xde, 0xd1, 0xd6, 0xfb, 0xdb, 0xcd, 0xd3, + 0x18, 0xd2, 0xfc, 0x2d, 0xbd, 0x1b, 0x25, 0x3a, 0xd2, 0x1d, 0x24, 0x0d, + 0x08, 0xf1, 0x1b, 0xde, 0x04, 0xee, 0x04, 0x93, 0xf6, 0xec, 0x8d, 0xe4, + 0x0e, 0xfb, 0x0e, 0x47, 0xdb, 0x1f, 0x14, 0xc3, 0xce, 0xf5, 0xdc, 0xcd, + 0x1f, 0x02, 0xc8, 0xe6, 0xe7, 0xe3, 0xce, 0xd2, 0xc3, 0xaf, 0xbd, 0xf5, + 0xf0, 0xa8, 0x09, 0x09, 0x06, 0xf7, 0x1e, 0x05, 0xd4, 0xe6, 0xbb, 0xe1, + 0xd9, 0x93, 0x87, 0xa6, 0xb4, 0xc6, 0x0b, 0xb7, 0x0e, 0xe8, 0xe9, 0xa9, + 0x86, 0x9f, 0xcd, 0xe3, 0xd0, 0xe7, 0x05, 0xbd, 0xd2, 0xe2, 0xf2, 0xee, + 0xba, 0xcd, 0x08, 0xcb, 0xe5, 0xf4, 0xe4, 0x18, 0xde, 0x3d, 0x0d, 0xc6, + 0x28, 0xe6, 0xcb, 0xb6, 0xb2, 0xb9, 0xd9, 0xb0, 0xa6, 0xd7, 0x0c, 0x10, + 0x97, 0xf2, 0x00, 0xff, 0xb0, 0xf2, 0xf4, 0xb4, 0x0e, 0x36, 0xcc, 0xd4, + 0x32, 0xab, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, + 0xc9, 0xa0, 0xfe, 0xff, 0x30, 0x3e, 0xff, 0xff, 0xd6, 0x2f, 0x00, 0x00, + 0xb1, 0x7f, 0xff, 0xff, 0x31, 0xc2, 0xff, 0xff, 0x44, 0xd7, 0x00, 0x00, + 0xf1, 0xe3, 0xfd, 0xff, 0x50, 0xcd, 0x01, 0x00, 0x4d, 0x50, 0x01, 0x00, + 0x89, 0xf9, 0x02, 0x00, 0xa4, 0x4c, 0x00, 0x00, 0x95, 0xc8, 0x00, 0x00, + 0x78, 0x7f, 0x01, 0x00, 0xcb, 0x3d, 0xff, 0xff, 0x20, 0xaa, 0xfe, 0xff, + 0xfe, 0x73, 0x00, 0x00, 0x8d, 0xb0, 0xff, 0xff, 0xf1, 0x14, 0x00, 0x00, + 0xa3, 0x1f, 0xff, 0xff, 0x9d, 0x4f, 0x01, 0x00, 0x31, 0xb6, 0xfe, 0xff, + 0xac, 0x38, 0xff, 0xff, 0xb6, 0xe2, 0xfe, 0xff, 0x91, 0x57, 0x00, 0x00, + 0x4a, 0x32, 0xff, 0xff, 0xb2, 0x9a, 0xff, 0xff, 0x81, 0xba, 0xfe, 0xff, + 0xc0, 0x6c, 0xfe, 0xff, 0xc7, 0xc5, 0xff, 0xff, 0x04, 0x63, 0xfe, 0xff, + 0xb6, 0xab, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, + 0xee, 0x81, 0xba, 0xe5, 0xb1, 0x19, 0xc7, 0xdd, 0xf6, 0x7f, 0xcf, 0x81, + 0x25, 0xbc, 0x8d, 0xae, 0xd7, 0x81, 0xa9, 0xe9, 0xb0, 0xc9, 0x3b, 0x81, + 0x7f, 0x4b, 0xcd, 0x6c, 0xef, 0x81, 0xe2, 0x8f, 0x7f, 0x81, 0x81, 0xa0, + 0xc3, 0x9a, 0x9d, 0x37, 0xba, 0x41, 0x8b, 0xd5, 0x93, 0x81, 0x7f, 0xa1, + 0x28, 0x34, 0xae, 0xbf, 0xc4, 0x30, 0xb7, 0xbc, 0xcd, 0xb6, 0x3e, 0x41, + 0x17, 0x0e, 0x68, 0x7b, 0x79, 0x2d, 0x0c, 0x82, 0xf5, 0x6d, 0x2f, 0x2e, + 0xe4, 0x10, 0x46, 0xf9, 0x2f, 0xd0, 0xb7, 0x77, 0x7f, 0x7d, 0x5f, 0x2d, + 0x83, 0x81, 0x7f, 0xa4, 0x81, 0x17, 0x84, 0x59, 0xf4, 0x28, 0x35, 0x7f, + 0xd6, 0x7f, 0x7f, 0xaf, 0x7f, 0x49, 0x81, 0x45, 0x02, 0x60, 0x1e, 0x70, + 0x09, 0xf0, 0xb0, 0x74, 0xc8, 0xd8, 0x35, 0x63, 0xb0, 0x76, 0xdd, 0xe2, + 0x81, 0x74, 0xf0, 0xf7, 0x19, 0xbe, 0x7f, 0x6c, 0xd4, 0x82, 0xd2, 0xba, + 0x0f, 0x7f, 0x7f, 0x52, 0xe1, 0x72, 0x81, 0x81, 0x9d, 0x81, 0x81, 0xe9, + 0x13, 0x02, 0xcf, 0x81, 0x27, 0x51, 0x00, 0x00, 0x5a, 0xac, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, + 0xd7, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0x0d, 0x02, 0x00, 0x00, + 0xda, 0xff, 0xff, 0xff, 0x96, 0xfc, 0xff, 0xff, 0x81, 0x00, 0x00, 0x00, + 0x13, 0xff, 0xff, 0xff, 0x6e, 0x00, 0x00, 0x00, 0xfa, 0xfd, 0xff, 0xff, + 0x59, 0xff, 0xff, 0xff, 0x96, 0xfe, 0xff, 0xff, 0xc8, 0xff, 0xff, 0xff, + 0x4a, 0xff, 0xff, 0xff, 0xc2, 0xfd, 0xff, 0xff, 0x0a, 0x01, 0x00, 0x00, + 0xdf, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, + 0xb7, 0xfd, 0xff, 0xff, 0x81, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, + 0x9d, 0xff, 0xff, 0xff, 0x52, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x21, 0xfe, 0xff, 0xff, 0xb7, 0x02, 0x00, 0x00, 0xa3, 0xfd, 0xff, 0xff, + 0x85, 0xfe, 0xff, 0xff, 0x81, 0xff, 0xff, 0xff, 0xde, 0xac, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x08, 0x07, 0x00, 0x00, 0x10, 0xd7, 0x7b, 0xdc, + 0x3f, 0xf4, 0xf3, 0xb7, 0x02, 0x53, 0xec, 0x0f, 0x17, 0x7f, 0xc9, 0x82, + 0xca, 0x03, 0x36, 0x87, 0x12, 0x1a, 0xe0, 0x35, 0xc4, 0x25, 0xf6, 0x08, + 0xee, 0xe7, 0x12, 0xc0, 0x2a, 0xfb, 0x01, 0x1c, 0xea, 0xec, 0xed, 0xe7, + 0x8b, 0x7f, 0xf3, 0x16, 0xc4, 0xa5, 0x57, 0xe4, 0x30, 0xf3, 0x37, 0xa7, + 0x3d, 0x2a, 0x43, 0x27, 0x21, 0xb5, 0x0e, 0x11, 0x81, 0x20, 0x5d, 0xe9, + 0x2d, 0xcc, 0xc0, 0xd7, 0x00, 0xe7, 0x16, 0xeb, 0x03, 0x57, 0x72, 0xa1, + 0x49, 0x31, 0x07, 0xad, 0x22, 0x57, 0xf6, 0xfa, 0xad, 0x1e, 0xee, 0x9c, + 0x33, 0xd6, 0x41, 0xff, 0x9a, 0x5e, 0xe4, 0x07, 0x56, 0x48, 0xd0, 0x55, + 0x0c, 0xba, 0xd7, 0xa8, 0x00, 0xf3, 0x09, 0x56, 0xec, 0x0b, 0x40, 0x91, + 0x43, 0xb4, 0x45, 0x78, 0xdf, 0x1d, 0x39, 0x81, 0x45, 0xf1, 0x5c, 0x37, + 0x5f, 0xf1, 0xcf, 0xd2, 0xa3, 0x66, 0x1a, 0xcd, 0x0b, 0x7b, 0x78, 0x54, + 0xa6, 0xe1, 0xcd, 0x2b, 0xd6, 0x7a, 0x29, 0x59, 0xf0, 0x81, 0x42, 0x0e, + 0x0b, 0xed, 0xf7, 0xdb, 0x86, 0xe9, 0xdc, 0xad, 0xf0, 0x45, 0xf8, 0x9d, + 0xd9, 0x18, 0x27, 0x17, 0x4b, 0x5a, 0x31, 0x71, 0x7d, 0xa9, 0xff, 0x81, + 0xfd, 0x3f, 0x62, 0x65, 0xd5, 0xce, 0xb9, 0x0d, 0x35, 0x02, 0x63, 0x33, + 0x54, 0x45, 0xc6, 0x24, 0xf5, 0x11, 0x08, 0xad, 0xbb, 0x59, 0x61, 0x99, + 0xfd, 0x18, 0xfe, 0xdb, 0x5c, 0x7f, 0x48, 0x1c, 0xd7, 0xb1, 0xf8, 0xc6, + 0xb0, 0xfb, 0x7f, 0x9a, 0xcd, 0xf0, 0xef, 0xa3, 0x95, 0x29, 0xfd, 0x01, + 0x93, 0x05, 0xdd, 0xfc, 0xf3, 0x9b, 0x01, 0x17, 0xe6, 0xec, 0x54, 0xda, + 0x3a, 0xdb, 0xd9, 0x3b, 0x36, 0xb6, 0x5d, 0x8f, 0xf3, 0x3e, 0x55, 0x2a, + 0x75, 0x3e, 0x7f, 0x55, 0x4a, 0x85, 0x65, 0xba, 0x78, 0x25, 0x58, 0xec, + 0x2b, 0x99, 0xae, 0xc6, 0x16, 0xe7, 0xff, 0xed, 0xf6, 0x40, 0xdd, 0xb5, + 0xcc, 0x38, 0x68, 0xba, 0x54, 0x05, 0x22, 0xac, 0x2f, 0xa2, 0xbe, 0x2f, + 0xf3, 0x21, 0x53, 0xe2, 0x16, 0x63, 0x70, 0x4b, 0xfd, 0x5a, 0xf5, 0x24, + 0x1d, 0x07, 0x3d, 0x4f, 0xd0, 0x72, 0x30, 0x81, 0x07, 0x7f, 0x0f, 0x37, + 0x52, 0x19, 0xe4, 0x17, 0x4b, 0xe0, 0x04, 0xf9, 0x4c, 0x94, 0xc9, 0xc6, + 0xb7, 0xc4, 0xbb, 0x25, 0xea, 0xc4, 0x18, 0x24, 0x11, 0x55, 0xf6, 0xfb, + 0x28, 0xb0, 0xf9, 0x7f, 0xe1, 0xe7, 0x05, 0xf1, 0xcc, 0x15, 0xf7, 0xbc, + 0xde, 0x2d, 0x20, 0xd1, 0xbe, 0xc9, 0xcf, 0xba, 0x15, 0x37, 0xb1, 0x1e, + 0x97, 0xd2, 0x6b, 0x51, 0xdc, 0x40, 0xa7, 0x05, 0x81, 0x0e, 0x66, 0x2c, + 0x4c, 0xdd, 0x2e, 0x7b, 0x3c, 0xb3, 0xfe, 0xcf, 0xa1, 0xad, 0x28, 0xb9, + 0xbd, 0x00, 0x26, 0xca, 0x2e, 0x0e, 0xa3, 0x75, 0xd4, 0xf3, 0xfb, 0x04, + 0xee, 0x1e, 0x33, 0xdc, 0xe0, 0xe6, 0x36, 0xf0, 0x81, 0x3d, 0x90, 0xcc, + 0xe5, 0x9e, 0x1f, 0x09, 0x44, 0x4c, 0x45, 0x45, 0x5c, 0xd1, 0xb3, 0xc1, + 0x27, 0xa8, 0xfa, 0x16, 0x94, 0xbd, 0x41, 0x4c, 0x0d, 0x8c, 0x3b, 0x3f, + 0x17, 0x20, 0x41, 0x13, 0xbb, 0x3c, 0xf3, 0xd2, 0x07, 0xc2, 0xb5, 0x27, + 0xd6, 0xa7, 0x0e, 0xdd, 0x09, 0x81, 0xbc, 0xad, 0x26, 0x93, 0x15, 0x31, + 0x1a, 0xb6, 0x10, 0xeb, 0xf1, 0x69, 0x3d, 0x4a, 0x9f, 0xe9, 0xc3, 0x20, + 0x08, 0xc2, 0xf6, 0xf6, 0xc9, 0x81, 0xd3, 0xef, 0x11, 0xfb, 0x2d, 0xb8, + 0x09, 0xfa, 0xb3, 0x0f, 0xfb, 0xcd, 0x0a, 0xcd, 0x60, 0xc4, 0x4d, 0x1f, + 0xf1, 0x93, 0xa9, 0x69, 0xfb, 0x4a, 0x47, 0xff, 0xbe, 0x7f, 0x4f, 0x31, + 0x15, 0x99, 0xf7, 0xfd, 0x23, 0x6a, 0x99, 0x14, 0xbf, 0x06, 0x0f, 0x7f, + 0x55, 0x51, 0x17, 0xcd, 0x81, 0xae, 0x6f, 0x23, 0x10, 0xfb, 0x55, 0x96, + 0x3d, 0xe0, 0x19, 0x30, 0xd1, 0xf6, 0xba, 0xda, 0xdf, 0xd8, 0x52, 0x3c, + 0xf3, 0x7e, 0x65, 0x53, 0x28, 0x6d, 0xf3, 0x0d, 0xca, 0xd0, 0x05, 0xe0, + 0x19, 0x19, 0x6c, 0x9e, 0x19, 0x1a, 0x7d, 0x90, 0x38, 0x00, 0x6e, 0x11, + 0x13, 0x39, 0x58, 0x2d, 0x07, 0x2c, 0xb8, 0xe4, 0xe5, 0xb9, 0x21, 0xd9, + 0xf5, 0x7f, 0x9f, 0xfa, 0x25, 0xef, 0xd7, 0x0a, 0xe6, 0x32, 0xe1, 0x11, + 0x70, 0xd1, 0xf8, 0xc7, 0x7f, 0x04, 0x92, 0x0c, 0x33, 0x1f, 0x02, 0x33, + 0x52, 0x27, 0xf8, 0xec, 0x00, 0x0c, 0xf3, 0x46, 0xe0, 0xc4, 0x7f, 0xdb, + 0x2e, 0xeb, 0x26, 0xe1, 0x48, 0x39, 0x12, 0x4e, 0xf5, 0x28, 0x07, 0xc3, + 0xe4, 0xa9, 0x3f, 0xc4, 0x05, 0x03, 0xb8, 0x2a, 0x2c, 0x3a, 0xd5, 0xec, + 0xd4, 0x3f, 0xe1, 0xdb, 0x18, 0xc9, 0xc4, 0xbd, 0x98, 0x64, 0x28, 0xc8, + 0xd9, 0x1a, 0xd4, 0x9f, 0x66, 0x50, 0xf3, 0x26, 0xd0, 0xfb, 0xaf, 0xfe, + 0xbd, 0xb9, 0x7f, 0x7e, 0x45, 0x36, 0x18, 0xed, 0x44, 0xc6, 0xc4, 0x01, + 0x4d, 0x02, 0xdc, 0xd4, 0x1c, 0xd8, 0x07, 0x57, 0xba, 0xa5, 0xd9, 0x15, + 0xa6, 0x38, 0x81, 0x4f, 0x34, 0x63, 0x2b, 0xa0, 0x0a, 0xcf, 0x40, 0xbd, + 0xfe, 0xd9, 0x45, 0xea, 0x2d, 0xbc, 0xd2, 0xd1, 0xab, 0xb6, 0xd9, 0x4b, + 0xce, 0x4f, 0xcd, 0xa9, 0xa3, 0x81, 0x15, 0x48, 0x1e, 0xb8, 0xeb, 0x45, + 0xc4, 0xec, 0x24, 0x6d, 0xb3, 0x35, 0x40, 0x35, 0xc4, 0xb7, 0xa7, 0xc7, + 0x8e, 0x00, 0x90, 0xf7, 0xde, 0xda, 0x4d, 0x27, 0xef, 0x28, 0x7f, 0x48, + 0x27, 0x39, 0x03, 0x3d, 0x48, 0x4e, 0x06, 0x69, 0xe8, 0xd4, 0x9e, 0xf9, + 0x33, 0x25, 0x4c, 0xf0, 0x04, 0x75, 0xc3, 0x70, 0x9d, 0xdc, 0x32, 0x2b, + 0xe8, 0xc2, 0x5f, 0xa0, 0x81, 0x58, 0x15, 0xfe, 0xb1, 0x8a, 0xee, 0x5e, + 0xd2, 0x51, 0xa5, 0x25, 0xbf, 0xe3, 0x32, 0xed, 0x6f, 0xa7, 0xcb, 0x3a, + 0x0a, 0x2d, 0x8f, 0x7f, 0x74, 0x4c, 0x06, 0x25, 0xf3, 0xe8, 0x2d, 0x22, + 0x9b, 0xcb, 0x11, 0x9a, 0x52, 0x44, 0x5b, 0xc7, 0xfb, 0x2d, 0x31, 0x52, + 0xcf, 0xbe, 0x53, 0xae, 0x08, 0xff, 0xe3, 0x27, 0xee, 0x4b, 0xaf, 0xd1, + 0x1e, 0xc9, 0x02, 0x81, 0xc3, 0xf0, 0x4d, 0x83, 0xe0, 0xe7, 0x46, 0x19, + 0x33, 0x37, 0x1b, 0xd2, 0x3a, 0x22, 0x05, 0x9b, 0x29, 0x11, 0xdc, 0x31, + 0x26, 0x02, 0x4a, 0xa0, 0xd6, 0x1f, 0xfc, 0xc7, 0x52, 0x3e, 0x12, 0x81, + 0x11, 0xe5, 0xe1, 0x08, 0x2d, 0x03, 0xe1, 0x35, 0xff, 0xe4, 0x36, 0xe7, + 0xed, 0x52, 0x89, 0x93, 0x2e, 0x5c, 0xae, 0xf0, 0x7f, 0x73, 0xc8, 0x64, + 0x03, 0xc3, 0x35, 0xd6, 0xb2, 0x1b, 0x34, 0x1b, 0x2a, 0x3a, 0xf0, 0xbf, + 0x33, 0x8d, 0x20, 0x3e, 0xdc, 0x14, 0x45, 0x14, 0xcd, 0x34, 0x24, 0x47, + 0xdb, 0xca, 0x39, 0x2f, 0x2c, 0xbd, 0x06, 0x2e, 0xbd, 0xda, 0x33, 0xe1, + 0xc2, 0x65, 0x7f, 0xd9, 0xe0, 0xd1, 0xb7, 0x37, 0x4d, 0x5d, 0x3c, 0xea, + 0xe8, 0xd8, 0xd0, 0x16, 0x81, 0x07, 0xa8, 0x0d, 0x2c, 0xc3, 0xb9, 0x32, + 0xf9, 0x49, 0xc3, 0x67, 0x5b, 0xe2, 0x33, 0x1c, 0xd1, 0x1b, 0xe8, 0xae, + 0x07, 0x15, 0x72, 0x5f, 0x14, 0x42, 0xfc, 0x43, 0x24, 0xc3, 0x81, 0x7e, + 0x5a, 0x2b, 0xa2, 0x04, 0x37, 0xb9, 0xdf, 0xb4, 0x00, 0xeb, 0x44, 0x09, + 0xaa, 0xab, 0x42, 0x25, 0x53, 0xd6, 0x06, 0x72, 0xc2, 0xc1, 0xc7, 0xe0, + 0xfe, 0x05, 0xae, 0x99, 0xee, 0xbd, 0xb0, 0xbb, 0xc2, 0x52, 0xdc, 0xdb, + 0xea, 0x45, 0xf6, 0x81, 0x9f, 0x3b, 0xb6, 0xff, 0xfa, 0x33, 0xe8, 0x14, + 0xff, 0x42, 0xc4, 0xa4, 0xd3, 0xee, 0x22, 0xda, 0xcb, 0x25, 0x8b, 0xb6, + 0x9b, 0xcb, 0x5a, 0xb1, 0x97, 0x66, 0xd1, 0x10, 0x44, 0x97, 0x5c, 0xe3, + 0x28, 0x61, 0xf4, 0xd6, 0x7b, 0xb7, 0x7f, 0x00, 0x3f, 0xad, 0xeb, 0x9f, + 0xf4, 0x8f, 0xb4, 0x09, 0x81, 0x19, 0xc2, 0x09, 0x10, 0xd0, 0x04, 0x2a, + 0xb2, 0x53, 0x34, 0xf2, 0x15, 0x35, 0x13, 0x25, 0x42, 0x55, 0x1a, 0xaf, + 0x4b, 0x0d, 0xf6, 0x25, 0x30, 0x31, 0xf6, 0xc7, 0x2b, 0x1c, 0x11, 0xd0, + 0xcb, 0xcb, 0x4a, 0xa6, 0x00, 0x36, 0x58, 0xc1, 0x9e, 0x62, 0x90, 0x00, + 0x3a, 0x98, 0xe1, 0x1c, 0x81, 0xcd, 0x4a, 0xc2, 0x24, 0x60, 0xc2, 0x16, + 0xa3, 0x61, 0xf8, 0xe6, 0xd5, 0x44, 0xf2, 0xcb, 0x59, 0x9b, 0x07, 0x18, + 0x17, 0xd6, 0xc1, 0x2a, 0x38, 0x6f, 0xf8, 0xd9, 0xb7, 0x0d, 0x63, 0x24, + 0x09, 0xb5, 0x61, 0x7f, 0xee, 0x5f, 0x29, 0xa7, 0xc3, 0xbd, 0x4f, 0xdc, + 0x0c, 0x2e, 0xf4, 0x8f, 0x32, 0x57, 0xc7, 0x65, 0x02, 0x3c, 0x33, 0xba, + 0x7f, 0x3f, 0xc6, 0xc9, 0x31, 0xc0, 0xa5, 0xe2, 0xc4, 0x0b, 0x0e, 0x13, + 0xf1, 0x6f, 0xb2, 0xbf, 0xbc, 0xd5, 0x4e, 0xbf, 0xcb, 0xfa, 0x45, 0x26, + 0xbb, 0xbb, 0x1f, 0xcf, 0xd6, 0x7f, 0xfd, 0x46, 0x1f, 0x0e, 0x4b, 0xfa, + 0x6a, 0xde, 0xcf, 0x33, 0x0b, 0xb8, 0xc9, 0xec, 0xd3, 0x50, 0x4e, 0x81, + 0xfc, 0x33, 0x47, 0xc7, 0x37, 0xb8, 0x29, 0x7c, 0xab, 0x17, 0x77, 0x82, + 0xca, 0x15, 0x4c, 0x10, 0x58, 0xbf, 0xbf, 0x45, 0xb4, 0xf7, 0x17, 0x2e, + 0xd2, 0xe1, 0x99, 0x44, 0xc1, 0x70, 0x79, 0xc2, 0x2e, 0x29, 0xeb, 0x81, + 0x16, 0xf6, 0x62, 0xd6, 0xc2, 0x02, 0xa7, 0xc2, 0xb3, 0xd9, 0x55, 0xee, + 0x41, 0xff, 0xb8, 0xdd, 0x26, 0x06, 0xff, 0xd6, 0xf3, 0x7f, 0xd0, 0xf1, + 0x67, 0x1d, 0x0e, 0x81, 0xe5, 0x33, 0x1a, 0x09, 0x14, 0x4f, 0x47, 0x29, + 0x44, 0xb9, 0xd4, 0xed, 0xec, 0x48, 0xc2, 0x7e, 0x09, 0x30, 0x0c, 0x1c, + 0x08, 0x0b, 0xff, 0x19, 0x29, 0x23, 0x47, 0xce, 0xe5, 0x2a, 0xe6, 0xfc, + 0xdc, 0xe6, 0xf2, 0xe3, 0xfa, 0x1a, 0x06, 0xe0, 0x2c, 0xc0, 0x25, 0x7f, + 0x1d, 0x08, 0xe8, 0xcf, 0x33, 0xe4, 0xc6, 0xe7, 0x05, 0x00, 0x4e, 0x7f, + 0xc4, 0x30, 0x46, 0x0f, 0x0d, 0xc6, 0xf4, 0xf0, 0xee, 0x23, 0xc9, 0x2d, + 0xbd, 0x23, 0xfd, 0x0d, 0x0a, 0xa9, 0x92, 0x4d, 0x5e, 0x0f, 0xde, 0x0f, + 0xd5, 0x52, 0x23, 0xd8, 0x8a, 0xb9, 0x4e, 0x63, 0xbf, 0x39, 0x9b, 0xbe, + 0xfd, 0xf2, 0x2c, 0xaa, 0x56, 0x5b, 0x6d, 0xf4, 0xd5, 0x7f, 0xcb, 0x08, + 0xb6, 0xc7, 0x02, 0xfa, 0xf5, 0x5d, 0xfd, 0x00, 0xc5, 0xf3, 0x29, 0xc0, + 0x5b, 0x08, 0x3e, 0xd5, 0x71, 0xe6, 0x68, 0xa1, 0xee, 0x2b, 0x4d, 0xec, + 0xeb, 0xca, 0x13, 0xf3, 0x69, 0x17, 0x4f, 0x13, 0x81, 0x9a, 0x5d, 0x64, + 0xcf, 0x31, 0x2b, 0x30, 0x88, 0x27, 0x01, 0x19, 0x02, 0xf3, 0x04, 0x3b, + 0xe0, 0xef, 0xf0, 0x40, 0x38, 0x31, 0x0a, 0x6f, 0xfa, 0xed, 0xe2, 0x81, + 0x26, 0xb6, 0x66, 0xe7, 0xe7, 0xf6, 0x3a, 0xa3, 0x78, 0xec, 0x0e, 0x41, + 0x1d, 0x43, 0x19, 0xae, 0x7f, 0xf4, 0xf5, 0xc5, 0xe5, 0x46, 0x4b, 0xfb, + 0x2b, 0xf2, 0x13, 0xf1, 0x36, 0xbb, 0xf7, 0xfa, 0x16, 0x10, 0x3d, 0x24, + 0xe9, 0xd4, 0x1b, 0x7f, 0xa6, 0x1c, 0x1e, 0x45, 0xbe, 0xe2, 0xe7, 0xbd, + 0x0e, 0xaa, 0x26, 0x57, 0xc4, 0x1b, 0xd8, 0x03, 0xd3, 0xe7, 0x1f, 0xde, + 0xcb, 0xe5, 0xdf, 0x0e, 0x38, 0xbf, 0x5d, 0x32, 0x1b, 0xec, 0x06, 0xa9, + 0xce, 0xef, 0x11, 0xbf, 0xf5, 0x0e, 0x81, 0x2e, 0xe9, 0xe5, 0x3e, 0xa4, + 0xde, 0x35, 0xee, 0x21, 0xe1, 0xa5, 0xca, 0x0e, 0x44, 0x1f, 0xf4, 0x1b, + 0xf0, 0xfc, 0xa8, 0x57, 0x75, 0xd4, 0x08, 0x3c, 0x53, 0xb6, 0xd3, 0x19, + 0x4c, 0xc8, 0x20, 0x7f, 0x68, 0x07, 0xb0, 0x1a, 0xeb, 0xb3, 0x33, 0x32, + 0x33, 0xcb, 0xc2, 0xe1, 0xf0, 0x3b, 0xed, 0xcd, 0xcd, 0x7f, 0xbe, 0xee, + 0xf1, 0x05, 0x2a, 0x09, 0x25, 0x01, 0x40, 0x41, 0x5f, 0xb4, 0xf9, 0x79, + 0x90, 0x07, 0xfa, 0xf7, 0x22, 0xaf, 0xd1, 0x29, 0x38, 0xdc, 0x44, 0xae, + 0x59, 0xe6, 0xc7, 0x0a, 0x84, 0xb8, 0x84, 0x05, 0x4a, 0x7f, 0xc2, 0xb7, + 0xfe, 0x13, 0x0e, 0xae, 0x40, 0xf1, 0xa1, 0xa8, 0xb0, 0x59, 0xce, 0x05, + 0x4d, 0xa2, 0x2d, 0x2b, 0xaa, 0xa2, 0xba, 0xf1, 0xf7, 0xee, 0x95, 0x50, + 0x3f, 0x2f, 0x41, 0x81, 0xdc, 0x41, 0xf6, 0x4f, 0x0f, 0x13, 0xcc, 0x1a, + 0x45, 0xe3, 0x0a, 0x0c, 0xde, 0xe4, 0x23, 0x51, 0x20, 0x0c, 0x4c, 0x93, + 0x0d, 0x2d, 0x4c, 0x6e, 0x81, 0x02, 0x21, 0x14, 0x27, 0x0e, 0xaf, 0x6a, + 0x1b, 0x4d, 0x4d, 0xed, 0xa2, 0x19, 0x99, 0xaa, 0xa5, 0xfd, 0x3a, 0x0d, + 0xaa, 0x04, 0xd2, 0xb2, 0x2f, 0xe7, 0x58, 0x48, 0x17, 0xd7, 0x96, 0xec, + 0x61, 0x28, 0x04, 0xe6, 0x29, 0x7b, 0xd0, 0x55, 0xab, 0xe8, 0x1f, 0xc2, + 0xd8, 0x81, 0xca, 0x58, 0xd0, 0x08, 0x4b, 0xbe, 0xc6, 0x12, 0x05, 0xc7, + 0x35, 0x56, 0xcc, 0xef, 0xf5, 0xc2, 0xa3, 0x7f, 0x13, 0x23, 0x3b, 0x3e, + 0xdc, 0xeb, 0x4d, 0x9a, 0x22, 0xbd, 0xd8, 0xf7, 0xc5, 0x31, 0xbb, 0x04, + 0xbb, 0x9f, 0x73, 0x29, 0xe5, 0x12, 0x38, 0x30, 0xff, 0x4b, 0x5b, 0x10, + 0x3c, 0x37, 0x3f, 0x59, 0x35, 0xbc, 0x25, 0x13, 0x2a, 0xe5, 0xb0, 0xca, + 0x12, 0x28, 0xe5, 0xcb, 0x51, 0x7f, 0x74, 0x2a, 0xdf, 0xb4, 0x3e, 0xbd, + 0xc8, 0x6d, 0x5c, 0x33, 0x2b, 0xe9, 0x2f, 0x29, 0xfc, 0x05, 0x7f, 0xe8, + 0xe8, 0xff, 0xac, 0xdc, 0x6a, 0xe2, 0x31, 0xf5, 0xf1, 0x29, 0x35, 0xfd, + 0xc9, 0xe9, 0xbd, 0x3d, 0x14, 0x30, 0x68, 0x64, 0xf2, 0xb3, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x50, 0xfa, 0xff, 0xff, + 0x2b, 0x04, 0x00, 0x00, 0xae, 0xed, 0xff, 0xff, 0x26, 0x11, 0x00, 0x00, + 0xb3, 0xf4, 0xff, 0xff, 0x68, 0x06, 0x00, 0x00, 0x3d, 0xf7, 0xff, 0xff, + 0xf1, 0x10, 0x00, 0x00, 0xd9, 0xfe, 0xff, 0xff, 0xd7, 0x07, 0x00, 0x00, + 0x64, 0x06, 0x00, 0x00, 0xa9, 0xfd, 0xff, 0xff, 0x64, 0xf4, 0xff, 0xff, + 0x3c, 0x01, 0x00, 0x00, 0x8e, 0xfc, 0xff, 0xff, 0xcd, 0x01, 0x00, 0x00, + 0xee, 0xfd, 0xff, 0xff, 0x3b, 0x0e, 0x00, 0x00, 0x2e, 0xfd, 0xff, 0xff, + 0xe4, 0xfc, 0xff, 0xff, 0x92, 0xf6, 0xff, 0xff, 0xbf, 0xf8, 0xff, 0xff, + 0x62, 0x09, 0x00, 0x00, 0x7b, 0xfc, 0xff, 0xff, 0xd5, 0x04, 0x00, 0x00, + 0x26, 0x05, 0x00, 0x00, 0x05, 0x13, 0x00, 0x00, 0x83, 0x0e, 0x00, 0x00, + 0x33, 0x04, 0x00, 0x00, 0xba, 0xf6, 0xff, 0xff, 0xaa, 0xfc, 0xff, 0xff, + 0xfe, 0xfa, 0xff, 0xff, 0xa5, 0x12, 0x00, 0x00, 0x24, 0xff, 0xff, 0xff, + 0xf6, 0x09, 0x00, 0x00, 0x6a, 0x03, 0x00, 0x00, 0x0f, 0xf2, 0xff, 0xff, + 0x6b, 0xff, 0xff, 0xff, 0xb8, 0xf0, 0xff, 0xff, 0x18, 0x01, 0x00, 0x00, + 0x98, 0xfc, 0xff, 0xff, 0xd8, 0x02, 0x00, 0x00, 0x3e, 0xfb, 0xff, 0xff, + 0x76, 0xfd, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xff, 0xa3, 0x05, 0x00, 0x00, + 0x51, 0xff, 0xff, 0xff, 0xb9, 0x01, 0x00, 0x00, 0x4d, 0x09, 0x00, 0x00, + 0x52, 0x01, 0x00, 0x00, 0x17, 0xff, 0xff, 0xff, 0xf0, 0xf7, 0xff, 0xff, + 0x1c, 0x09, 0x00, 0x00, 0xb5, 0xfd, 0xff, 0xff, 0x5d, 0x00, 0x00, 0x00, + 0x97, 0x09, 0x00, 0x00, 0xe7, 0xff, 0xff, 0xff, 0x6b, 0xfb, 0xff, 0xff, + 0xa3, 0x00, 0x00, 0x00, 0x05, 0x09, 0x00, 0x00, 0xee, 0xb4, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x1c, 0x02, 0x00, 0x00, 0xeb, 0xdb, 0xf1, 0x98, + 0xc0, 0x05, 0x7f, 0x42, 0x55, 0x61, 0x5d, 0x58, 0xf4, 0xdd, 0x13, 0x9a, + 0xec, 0x9d, 0xda, 0x16, 0x4a, 0x4e, 0xfb, 0xfb, 0x50, 0x33, 0xc2, 0x24, + 0x59, 0x01, 0xa5, 0xdc, 0x7b, 0xd7, 0x07, 0x99, 0x65, 0x7f, 0x1d, 0x81, + 0x81, 0xfb, 0xa9, 0x0b, 0xd2, 0xb2, 0xb8, 0xff, 0x01, 0x7f, 0x21, 0xa0, + 0x1d, 0x85, 0x0b, 0x1d, 0x9b, 0x35, 0xa4, 0x55, 0x81, 0x36, 0x71, 0xe1, + 0x0c, 0xc9, 0x7e, 0xc2, 0x5e, 0x7f, 0x14, 0xbb, 0x4b, 0x69, 0xb3, 0xd3, + 0x0b, 0x07, 0x48, 0xae, 0x52, 0x3c, 0x95, 0x77, 0x62, 0x23, 0x1b, 0x39, + 0x3b, 0x2d, 0x81, 0x1b, 0x18, 0xe6, 0x5c, 0xa7, 0x38, 0x64, 0xda, 0x52, + 0x43, 0xf7, 0xd0, 0x64, 0x6b, 0x84, 0xd3, 0xd4, 0x14, 0x67, 0x7f, 0x82, + 0xf8, 0x15, 0x8f, 0x08, 0xd1, 0x1e, 0xf5, 0x7f, 0xec, 0x3c, 0x76, 0x53, + 0x1f, 0x74, 0x35, 0x13, 0x57, 0x18, 0x23, 0xd9, 0x31, 0x43, 0x2f, 0xf6, + 0x20, 0xbf, 0xf9, 0x06, 0x61, 0xeb, 0xcf, 0x1c, 0xb0, 0x81, 0x0b, 0x37, + 0xed, 0xdb, 0x04, 0x22, 0xee, 0x7f, 0x60, 0x1a, 0xe2, 0x5b, 0xe8, 0x67, + 0xa7, 0xd8, 0xb3, 0x7f, 0x0c, 0x86, 0x81, 0x39, 0x71, 0x3f, 0xf8, 0x2a, + 0x9c, 0x3d, 0xbd, 0x37, 0xbc, 0x81, 0xb4, 0x63, 0x94, 0x81, 0xf1, 0x59, + 0x5a, 0x5a, 0xff, 0xfc, 0x18, 0x3e, 0xc0, 0x5d, 0x03, 0x0f, 0xd1, 0x3e, + 0xbf, 0x3d, 0xa6, 0x5c, 0xe3, 0x8e, 0x81, 0xa5, 0x41, 0x9c, 0xa7, 0xf5, + 0x81, 0x19, 0x62, 0x4b, 0x75, 0x31, 0x75, 0x81, 0xc3, 0x5e, 0xa4, 0x2d, + 0x55, 0xe7, 0xf7, 0x7a, 0x7f, 0xd8, 0xa0, 0xce, 0x59, 0xfe, 0xc4, 0x7f, + 0x1e, 0x72, 0x71, 0xe2, 0x81, 0xc8, 0xe1, 0x1b, 0xda, 0x90, 0xb7, 0x26, + 0xce, 0x7f, 0x37, 0x0d, 0x8d, 0x23, 0x81, 0xf8, 0xba, 0x81, 0xe0, 0x7f, + 0xee, 0x81, 0xcb, 0x7f, 0x93, 0x1d, 0x12, 0x81, 0x0e, 0x22, 0x16, 0xf2, + 0xf6, 0xba, 0xcc, 0x5d, 0x09, 0xeb, 0xc7, 0xc8, 0x3d, 0xec, 0xae, 0x1f, + 0x6e, 0xbb, 0x22, 0x61, 0x17, 0xd4, 0x0e, 0x2a, 0x11, 0xca, 0x2c, 0x29, + 0xb0, 0x81, 0x1d, 0xbf, 0x92, 0xfb, 0x7f, 0xfe, 0xe2, 0x4f, 0xdb, 0x49, + 0xbb, 0x67, 0x36, 0x03, 0x81, 0x25, 0xc4, 0x0e, 0xae, 0x75, 0x81, 0x29, + 0x7f, 0x44, 0x7f, 0xfb, 0x81, 0x7f, 0x16, 0xc0, 0x1a, 0xcc, 0x34, 0x10, + 0x33, 0xc3, 0x33, 0x33, 0x07, 0x03, 0xd8, 0x35, 0x33, 0x34, 0xbb, 0x0c, + 0xdf, 0xea, 0x7f, 0xe1, 0x95, 0x74, 0xbc, 0x13, 0x47, 0xb8, 0xf3, 0xfb, + 0x81, 0xe1, 0x4c, 0xbe, 0x20, 0x29, 0x69, 0x5e, 0x27, 0x71, 0xe9, 0xc8, + 0x81, 0x2c, 0x24, 0xd9, 0xca, 0xd9, 0xf5, 0x20, 0x13, 0xd0, 0xcb, 0x34, + 0xcb, 0x24, 0x42, 0xaa, 0x95, 0x69, 0x08, 0xfa, 0x0c, 0x99, 0xe6, 0xe6, + 0x06, 0x87, 0x48, 0xbe, 0xd2, 0x01, 0x81, 0xea, 0x4e, 0xee, 0xf3, 0x31, + 0x2f, 0xcd, 0x28, 0xfc, 0xca, 0x7f, 0x9b, 0x09, 0x7f, 0x85, 0x42, 0x0c, + 0xc4, 0x76, 0x3b, 0xc5, 0x18, 0x3b, 0x39, 0xfe, 0xee, 0xc5, 0x2e, 0x7f, + 0x81, 0x2c, 0x24, 0xa8, 0x74, 0x1d, 0x3c, 0xda, 0x7f, 0xae, 0xe3, 0xcd, + 0x34, 0xd3, 0xe4, 0x83, 0xa6, 0xeb, 0xf5, 0xa5, 0x81, 0x6d, 0x13, 0x04, + 0xef, 0xa4, 0x07, 0xb8, 0x7f, 0x2c, 0x45, 0x8c, 0xc8, 0x46, 0x7f, 0xd8, + 0x3f, 0x81, 0x55, 0xd8, 0xef, 0xe5, 0xef, 0x05, 0x4f, 0x8f, 0xb1, 0x45, + 0xd8, 0x61, 0xc8, 0x3c, 0xe8, 0xe6, 0xd3, 0xef, 0xe9, 0xbe, 0x7f, 0x2d, + 0xad, 0x2c, 0x27, 0x81, 0xa1, 0xc7, 0x53, 0x81, 0x41, 0x1f, 0x6f, 0xc1, + 0x2d, 0x5e, 0x0f, 0xb3, 0xb1, 0xa8, 0x0b, 0x1d, 0xc5, 0xc6, 0x7f, 0x81, + 0xa5, 0x81, 0xf3, 0x81, 0x79, 0x45, 0x59, 0x0c, 0x7f, 0xfd, 0x67, 0x94, + 0x89, 0xb1, 0x24, 0x40, 0xe1, 0xbd, 0x21, 0x81, 0xc8, 0xe7, 0x2a, 0x30, + 0x98, 0x05, 0x81, 0x7f, 0x15, 0x34, 0xcb, 0xd0, 0x16, 0xb7, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xa1, 0xff, 0xff, 0xff, + 0x59, 0x00, 0x00, 0x00, 0x87, 0xff, 0xff, 0xff, 0xad, 0xff, 0xff, 0xff, + 0xe2, 0x00, 0x00, 0x00, 0xe8, 0xff, 0xff, 0xff, 0x12, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x47, 0xff, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, + 0x94, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0x9c, 0xff, 0xff, 0xff, + 0xba, 0xff, 0xff, 0xff, 0x2b, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, + 0xb2, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x49, 0x00, 0x00, 0x00, 0xe7, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, + 0x9c, 0xff, 0xff, 0xff, 0x78, 0x00, 0x00, 0x00, 0x8e, 0xff, 0xff, 0xff, + 0x60, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, + 0xa1, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0xf7, 0xff, 0xff, 0xff, + 0xd1, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xe6, 0xfe, 0xff, 0xff, + 0x65, 0xff, 0xff, 0xff, 0x53, 0x00, 0x00, 0x00, 0xf6, 0xff, 0xff, 0xff, + 0x93, 0x00, 0x00, 0x00, 0x47, 0xff, 0xff, 0xff, 0xb8, 0xff, 0xff, 0xff, + 0xd2, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, + 0x76, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x6f, 0xfe, 0xff, 0xff, 0x95, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x4a, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0x47, 0xff, 0xff, 0xff, + 0x02, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x12, 0xb8, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0x00, 0xda, 0x97, 0x43, 0xc6, + 0xb6, 0x0f, 0xd1, 0x03, 0xb0, 0x3a, 0xff, 0xe3, 0xe8, 0xd3, 0x3f, 0xaa, + 0x1a, 0xc3, 0x2a, 0x77, 0xdf, 0xc9, 0xc1, 0xbc, 0xb8, 0xdc, 0x34, 0x31, + 0xd6, 0x48, 0x2d, 0x23, 0x47, 0xa5, 0x19, 0x81, 0x51, 0x50, 0x29, 0xf6, + 0xcb, 0x1e, 0xe9, 0x64, 0xe0, 0xd2, 0xdc, 0xda, 0xf0, 0xd5, 0x41, 0xe9, + 0x0b, 0x58, 0x40, 0x37, 0xe7, 0x09, 0xe7, 0x34, 0x25, 0xd8, 0x1e, 0x29, + 0xcf, 0x73, 0x3c, 0x55, 0x27, 0xd2, 0xa7, 0xc8, 0x32, 0x1e, 0x4b, 0xc9, + 0xf8, 0x3e, 0xe9, 0x01, 0x2b, 0xf9, 0xf9, 0x24, 0x20, 0x34, 0x15, 0xa5, + 0xcc, 0x0e, 0xf3, 0xc5, 0xec, 0x17, 0xfd, 0xfc, 0xed, 0x0e, 0x5c, 0x33, + 0xc9, 0xdc, 0x20, 0x50, 0xb4, 0x61, 0x3d, 0x28, 0xab, 0x81, 0x24, 0x33, + 0x8c, 0xe5, 0x65, 0xb4, 0x4a, 0xd1, 0xfa, 0x05, 0x0e, 0x81, 0xd0, 0xdc, + 0x08, 0x35, 0xfc, 0xcc, 0xe0, 0x38, 0xf9, 0xb0, 0x3a, 0x44, 0xda, 0xf4, + 0xa7, 0xc1, 0x35, 0x42, 0x25, 0x23, 0x11, 0xcc, 0xf4, 0x45, 0xfc, 0x22, + 0xc4, 0xbf, 0xab, 0xc6, 0xb7, 0xf7, 0x10, 0x29, 0x4a, 0xb6, 0xe0, 0xce, + 0xd6, 0xac, 0xc8, 0x0f, 0xbf, 0x2a, 0xd6, 0xfa, 0x9b, 0x4a, 0x2e, 0x31, + 0xc9, 0xee, 0xc8, 0xd6, 0xe9, 0xb1, 0x33, 0x21, 0xe7, 0xda, 0xad, 0x57, + 0x2b, 0x1d, 0x23, 0x35, 0x4d, 0x3f, 0xdb, 0xd6, 0xd5, 0xf2, 0x56, 0x2d, + 0x39, 0xcd, 0xe1, 0x8d, 0x9c, 0x11, 0xcf, 0x18, 0xb3, 0xca, 0xe4, 0x13, + 0xb5, 0x13, 0xbb, 0xbe, 0xc1, 0xc7, 0x5a, 0x07, 0xb3, 0x2f, 0x3c, 0x50, + 0x41, 0x4f, 0x5a, 0xf2, 0x43, 0xa7, 0x81, 0xf0, 0x9d, 0x33, 0xc7, 0xff, + 0x9c, 0xe6, 0xf6, 0x3b, 0x43, 0x2a, 0x9b, 0x7d, 0x1a, 0x5a, 0xe3, 0x9a, + 0xc8, 0xe9, 0xcb, 0xf4, 0x13, 0x8d, 0xf6, 0x2b, 0x9d, 0xae, 0xdf, 0xea, + 0xd9, 0xf9, 0xea, 0xc6, 0xa8, 0xfa, 0x0d, 0x2b, 0xb7, 0xa2, 0x41, 0xcf, + 0x53, 0x12, 0xf7, 0xef, 0xd7, 0x07, 0x6a, 0x81, 0xfa, 0xd6, 0xd0, 0x74, + 0xef, 0xf1, 0xc8, 0x17, 0xfe, 0x4a, 0xd5, 0xa4, 0xb5, 0xbc, 0xfd, 0x56, + 0x20, 0x27, 0x06, 0xd4, 0x2b, 0x38, 0x34, 0xb5, 0x37, 0x36, 0x20, 0xde, + 0x6f, 0x44, 0xf6, 0xd1, 0x71, 0xc5, 0x7f, 0xb1, 0xf9, 0x15, 0x63, 0x2d, + 0xc2, 0x0d, 0x30, 0x4a, 0x2f, 0xf8, 0x4e, 0xf2, 0x3f, 0xa5, 0x0d, 0x8e, + 0x08, 0x1d, 0x1d, 0x5a, 0x3f, 0xf7, 0xb9, 0xf7, 0x38, 0xe0, 0x1d, 0x1f, + 0xb8, 0xe1, 0x26, 0x29, 0x4c, 0xdf, 0xa4, 0x5a, 0xbc, 0x35, 0x50, 0xbf, + 0xbd, 0xc1, 0x77, 0xe8, 0x2c, 0xb7, 0xb4, 0x25, 0xed, 0xf3, 0xbc, 0xc0, + 0x29, 0xcd, 0x31, 0xf6, 0x81, 0xaa, 0x3f, 0x00, 0xed, 0x51, 0x01, 0xa4, + 0xab, 0xc5, 0x00, 0xf6, 0xa7, 0xa9, 0x5e, 0x30, 0xcd, 0xfa, 0x2e, 0xc3, + 0xaa, 0x69, 0xb3, 0x26, 0x13, 0xcf, 0xe5, 0x38, 0x33, 0x16, 0x2c, 0xd6, + 0x45, 0xd1, 0x5a, 0xcd, 0x5f, 0x6a, 0xe6, 0xfc, 0x57, 0xf0, 0x8e, 0x10, + 0xe1, 0x39, 0xd6, 0xec, 0xf9, 0x09, 0xd9, 0xc3, 0x01, 0x6e, 0x73, 0xc2, + 0xeb, 0x47, 0xdb, 0xad, 0x07, 0xd1, 0xd2, 0x23, 0x63, 0xa7, 0xc5, 0x20, + 0x1b, 0x0c, 0xe7, 0x0a, 0x56, 0x1c, 0xda, 0xf2, 0xa5, 0x11, 0xef, 0xe5, + 0x1e, 0xdb, 0x0b, 0x32, 0x69, 0xe6, 0xe1, 0x0d, 0x13, 0x81, 0x78, 0x01, + 0xf9, 0xe8, 0xb5, 0x5d, 0xb0, 0xe2, 0x1a, 0x24, 0xfe, 0xf5, 0x14, 0xcd, + 0x21, 0x9b, 0x00, 0xfa, 0xe5, 0xe1, 0x40, 0x95, 0xee, 0xfa, 0xaa, 0x8b, + 0xf5, 0xed, 0xb5, 0xf1, 0xf1, 0xeb, 0x59, 0x7d, 0xdc, 0xfb, 0xb9, 0x11, + 0x4f, 0xf7, 0x81, 0x05, 0xae, 0xd4, 0x27, 0x16, 0xf7, 0xf0, 0xa0, 0x66, + 0x27, 0xb3, 0xda, 0x9d, 0xb3, 0x32, 0xfe, 0xcd, 0x68, 0x33, 0x75, 0x69, + 0x40, 0x3a, 0xb6, 0x9a, 0xd3, 0xb2, 0x56, 0xd6, 0x58, 0x43, 0x57, 0xbd, + 0xda, 0xcb, 0x04, 0x0d, 0xcc, 0x0d, 0x87, 0xb2, 0x96, 0x10, 0x0a, 0x61, + 0x4b, 0x7f, 0x61, 0x4d, 0x1f, 0xa9, 0x7d, 0xfb, 0x35, 0x0e, 0x55, 0xcd, + 0x22, 0x02, 0x38, 0x15, 0x78, 0x0a, 0x2b, 0x47, 0xf8, 0x43, 0x41, 0x07, + 0x65, 0xd2, 0x48, 0x2d, 0xbe, 0xd7, 0xc2, 0xf1, 0x06, 0x1f, 0x09, 0xce, + 0xbe, 0xe3, 0xf6, 0x7a, 0x04, 0x0a, 0xd1, 0x0f, 0x17, 0x4a, 0x05, 0xed, + 0xc0, 0x3d, 0x4d, 0x19, 0x14, 0x13, 0x18, 0x3b, 0xe0, 0xb6, 0xee, 0x37, + 0x0c, 0xed, 0x3b, 0x22, 0xf3, 0x51, 0x30, 0xc1, 0xda, 0xd2, 0xc4, 0xeb, + 0xf4, 0x0d, 0x1a, 0xf1, 0x15, 0x0b, 0xde, 0xdf, 0x14, 0xe5, 0xed, 0xf0, + 0x4c, 0x13, 0xa5, 0x08, 0x16, 0xc8, 0x44, 0xad, 0x31, 0x06, 0x1c, 0xe6, + 0xe8, 0x0a, 0xbd, 0x1c, 0x42, 0x16, 0xe5, 0xb3, 0x1e, 0xc8, 0xb9, 0xe1, + 0x7f, 0x1e, 0xda, 0xd5, 0x07, 0xb8, 0x23, 0x45, 0x29, 0x47, 0xed, 0xd8, + 0x11, 0x38, 0xfd, 0x3b, 0xc8, 0xf4, 0x5a, 0xb8, 0xca, 0xe3, 0x3a, 0x34, + 0x16, 0x1e, 0xab, 0x35, 0x33, 0x39, 0x11, 0xfe, 0xd6, 0xe2, 0xd1, 0xbf, + 0x0f, 0x09, 0xdf, 0x47, 0xc6, 0xda, 0xe3, 0x22, 0xf0, 0xe1, 0x5a, 0x1c, + 0x23, 0xcd, 0x28, 0x29, 0x04, 0x47, 0xc9, 0x18, 0x0f, 0x10, 0x12, 0x7f, + 0x9b, 0xa3, 0xce, 0x25, 0x41, 0x3a, 0xdc, 0x14, 0x33, 0x15, 0x36, 0x30, + 0xf8, 0xf1, 0x81, 0x2c, 0x64, 0xab, 0x0f, 0x23, 0xfe, 0x17, 0xef, 0x00, + 0x1a, 0xc5, 0x53, 0xcc, 0x9d, 0x52, 0x00, 0x2b, 0x07, 0xbc, 0x26, 0xf6, + 0xd7, 0x82, 0x0d, 0xe2, 0x19, 0x06, 0x1c, 0x28, 0xaf, 0xb5, 0x7b, 0xc3, + 0xaf, 0xc8, 0x88, 0xa0, 0x16, 0x5d, 0x12, 0x33, 0xf2, 0x12, 0x0a, 0x39, + 0xeb, 0x2a, 0xfe, 0xd0, 0x04, 0xc5, 0x32, 0x18, 0xe5, 0xb8, 0xad, 0xe3, + 0x67, 0xdc, 0x1e, 0xeb, 0xb4, 0x98, 0x01, 0xcd, 0xab, 0xdb, 0x40, 0x11, + 0xca, 0xfe, 0x06, 0x1a, 0xde, 0x0a, 0xd3, 0xd1, 0x5d, 0x02, 0xee, 0x21, + 0xbc, 0x1d, 0x32, 0xa1, 0x46, 0xd9, 0xf6, 0x98, 0xef, 0xda, 0xf7, 0xef, + 0x44, 0xf7, 0x3f, 0x81, 0xb2, 0x16, 0xbb, 0x33, 0x81, 0x17, 0xa1, 0x0a, + 0x19, 0xbd, 0xc9, 0xa0, 0x4c, 0xc6, 0x53, 0xd3, 0xdd, 0x4e, 0x42, 0xa4, + 0x50, 0x73, 0x57, 0x52, 0xc5, 0x0f, 0x81, 0x2f, 0x14, 0x1a, 0x14, 0x2d, + 0xee, 0x3f, 0xee, 0xc1, 0xe3, 0x55, 0x84, 0x51, 0x11, 0x39, 0x70, 0x5d, + 0x92, 0x25, 0xb0, 0xa2, 0xc7, 0x79, 0xa5, 0xfd, 0x1f, 0x70, 0x32, 0x73, + 0x72, 0xf7, 0xf5, 0xab, 0x4a, 0x21, 0x93, 0xe9, 0x03, 0xd1, 0x07, 0xca, + 0x82, 0x32, 0x6d, 0x4d, 0x21, 0x35, 0x05, 0x6a, 0xf0, 0x9a, 0x04, 0x18, + 0x0b, 0xe7, 0xe6, 0xd2, 0xc6, 0x13, 0x7c, 0x1d, 0xd9, 0xaf, 0x54, 0xd0, + 0xa0, 0x18, 0x2b, 0x48, 0x63, 0xc1, 0xf0, 0xd7, 0x4a, 0x20, 0x27, 0xc8, + 0x20, 0xe6, 0xc4, 0x78, 0x39, 0xee, 0x06, 0x81, 0x54, 0xab, 0x49, 0xf8, + 0xa7, 0xac, 0xb6, 0x4b, 0x1e, 0x36, 0x11, 0xad, 0x8b, 0x90, 0xba, 0xe6, + 0x27, 0x90, 0x3f, 0x0a, 0x72, 0xc4, 0xe6, 0x90, 0x1f, 0x1f, 0x13, 0x6e, + 0x49, 0xd7, 0x5a, 0x42, 0x14, 0xe4, 0x26, 0x4d, 0xea, 0xe8, 0xfc, 0xe0, + 0xc6, 0x24, 0x81, 0xf7, 0x15, 0x35, 0x61, 0xea, 0x3e, 0xea, 0xc7, 0x0a, + 0x66, 0xc5, 0x3f, 0xb9, 0xa4, 0xe5, 0x38, 0xdd, 0x47, 0x53, 0x5f, 0x0c, + 0x03, 0xc1, 0xa3, 0x23, 0xd1, 0x58, 0x4d, 0x2f, 0x5c, 0x0f, 0xc3, 0x81, + 0x4c, 0x46, 0x08, 0x13, 0x1d, 0x5d, 0xf7, 0x4f, 0x2f, 0x12, 0x81, 0xfb, + 0xf9, 0xec, 0x15, 0xc9, 0x26, 0x02, 0x76, 0xd8, 0xc3, 0x18, 0x14, 0x10, + 0xd6, 0x0f, 0x16, 0xef, 0xe5, 0x0a, 0x3f, 0x0e, 0xef, 0xdf, 0x26, 0xdc, + 0xe2, 0x17, 0xe8, 0x04, 0x2a, 0xfc, 0x1b, 0xc3, 0xcc, 0x14, 0xb4, 0xd0, + 0x11, 0xe3, 0x20, 0xc8, 0xe5, 0x22, 0x26, 0xbd, 0xbf, 0x04, 0xd4, 0xbf, + 0x13, 0x1a, 0xc0, 0x47, 0x21, 0xcf, 0x04, 0xdb, 0xd5, 0x2d, 0xf5, 0x9a, + 0x4a, 0x6f, 0x8b, 0x48, 0xef, 0x9e, 0xc1, 0xbd, 0x35, 0x2b, 0xb8, 0xef, + 0x04, 0x6d, 0x0f, 0x7f, 0xe2, 0x49, 0xc8, 0xba, 0x08, 0xba, 0xe2, 0x95, + 0x21, 0xc7, 0x2a, 0xcc, 0xbe, 0xfb, 0x00, 0xf8, 0xe1, 0xc7, 0xfa, 0x0a, + 0x29, 0xab, 0xed, 0x07, 0xea, 0xd2, 0x22, 0x41, 0x25, 0xa9, 0x51, 0x79, + 0xab, 0xaa, 0x47, 0x5a, 0x34, 0x60, 0xc3, 0xd5, 0x35, 0xe2, 0x2e, 0xf8, + 0x36, 0xd5, 0xd9, 0x30, 0xf0, 0xfb, 0xdd, 0x38, 0x11, 0xd3, 0xe2, 0x3e, + 0xeb, 0x3d, 0xe7, 0x01, 0xf5, 0xdb, 0x7f, 0xed, 0x01, 0x1b, 0x64, 0xeb, + 0x0a, 0xc4, 0xff, 0xc2, 0x0d, 0xed, 0x06, 0xc8, 0xe3, 0xe5, 0xb5, 0xc6, + 0x2c, 0xdd, 0x26, 0xcc, 0x2d, 0xca, 0xc8, 0x3e, 0xd6, 0x0c, 0xf5, 0xd5, + 0xf3, 0xfa, 0x03, 0xf3, 0xee, 0xa8, 0x4a, 0xb1, 0x24, 0x60, 0xca, 0x8f, + 0x1e, 0x81, 0xee, 0xdf, 0x2c, 0x10, 0x21, 0xbf, 0x2e, 0x2a, 0xd0, 0xb8, + 0xc9, 0xc9, 0xe8, 0x5a, 0xa4, 0x3d, 0x01, 0x1f, 0x3a, 0x05, 0x02, 0xf7, + 0xca, 0x47, 0xb1, 0xcd, 0xb6, 0xd7, 0x21, 0x1a, 0x39, 0xeb, 0xb3, 0xfb, + 0xcf, 0x0e, 0x5d, 0xa9, 0xaf, 0x33, 0x50, 0xb0, 0xc9, 0xaa, 0x60, 0xc7, + 0x50, 0xe5, 0x93, 0xe8, 0x94, 0xf3, 0x17, 0x07, 0xb8, 0xbf, 0xdc, 0x13, + 0x91, 0xd1, 0x5d, 0xee, 0xbe, 0xff, 0xe1, 0x2e, 0xbe, 0xf7, 0x06, 0xe8, + 0xda, 0x15, 0x12, 0x3f, 0x4a, 0xeb, 0x1f, 0xea, 0x2e, 0xf9, 0xe6, 0xe7, + 0x51, 0x42, 0x0d, 0xfc, 0xc9, 0xc0, 0x09, 0x36, 0x25, 0xef, 0x1c, 0x2d, + 0x08, 0x6f, 0x43, 0xcf, 0x43, 0x16, 0xdd, 0x81, 0x5a, 0xfc, 0xef, 0xb5, + 0x35, 0xf8, 0xfe, 0x16, 0x4f, 0xe8, 0x10, 0x47, 0xfe, 0x13, 0xbf, 0x03, + 0x2e, 0x24, 0x9f, 0xfb, 0xdc, 0xc8, 0xa4, 0x03, 0xd5, 0x4c, 0xc4, 0x06, + 0xfa, 0x6c, 0xd9, 0x3f, 0x2b, 0x56, 0x43, 0x45, 0x33, 0xdb, 0x24, 0x9a, + 0xdb, 0x59, 0xc6, 0x81, 0xf5, 0xe9, 0x09, 0xe0, 0xb1, 0x04, 0xee, 0x27, + 0x28, 0x0e, 0x18, 0xc5, 0xe9, 0x5c, 0xf3, 0x42, 0xe2, 0xb4, 0xb7, 0xe6, + 0xfb, 0xe8, 0x11, 0x0e, 0xe0, 0xf1, 0x13, 0xa1, 0xea, 0x81, 0xc1, 0xb2, + 0xf2, 0xed, 0xc2, 0xf5, 0xfa, 0x1d, 0xdc, 0x17, 0xd7, 0xd4, 0x08, 0x43, + 0xff, 0xd4, 0xdc, 0xc8, 0x01, 0x19, 0xfd, 0xd2, 0xf7, 0x00, 0xc6, 0x2a, + 0x1f, 0x05, 0x2b, 0xe3, 0xf5, 0xc4, 0xdb, 0x35, 0x23, 0x22, 0x2e, 0xdb, + 0x14, 0xf6, 0x1a, 0x2c, 0x07, 0xb8, 0x18, 0xf5, 0xf8, 0xd4, 0xcd, 0x0d, + 0xc2, 0xe0, 0x27, 0x11, 0x08, 0xae, 0xdf, 0xd4, 0x51, 0x02, 0x7f, 0xe4, + 0xe7, 0x21, 0x2e, 0xff, 0xa6, 0x98, 0x1e, 0x75, 0x0b, 0xe1, 0x47, 0xc9, + 0xf0, 0xfb, 0x1b, 0xfc, 0x5e, 0xef, 0x01, 0xe7, 0x83, 0x13, 0x30, 0xf2, + 0xbd, 0xcc, 0xf2, 0x0a, 0xe6, 0xc3, 0x39, 0x39, 0x29, 0xa9, 0x6b, 0x30, + 0xb0, 0xff, 0xb0, 0xea, 0x02, 0x50, 0x96, 0x01, 0x35, 0xd8, 0xa9, 0x25, + 0xee, 0x19, 0x3c, 0xc2, 0xf9, 0x0f, 0x43, 0xf2, 0xdd, 0xfe, 0xd5, 0xdc, + 0xb8, 0xee, 0x34, 0x04, 0xef, 0x30, 0xed, 0xdc, 0x0d, 0xe1, 0x1f, 0xcf, + 0x05, 0x93, 0x27, 0xbc, 0xbd, 0xfd, 0xc5, 0xed, 0x3d, 0xe8, 0xad, 0x3f, + 0xf1, 0xdc, 0xce, 0xef, 0x95, 0xb9, 0x44, 0x27, 0x55, 0x36, 0x44, 0xda, + 0x3c, 0x46, 0xf1, 0xf9, 0x08, 0xf5, 0xd1, 0xfb, 0x23, 0xd7, 0xe1, 0x10, + 0x41, 0xe7, 0x0b, 0x1f, 0x7f, 0x0d, 0xc2, 0xba, 0x35, 0xe0, 0x15, 0x0e, + 0x0e, 0x00, 0xc6, 0x02, 0xff, 0xd7, 0xc1, 0xdd, 0x41, 0x20, 0x02, 0x3b, + 0x07, 0x02, 0x81, 0xb1, 0x41, 0x0d, 0xff, 0xa8, 0xdf, 0xed, 0xd5, 0xa9, + 0xa0, 0x50, 0xeb, 0x36, 0xb5, 0xe8, 0xd5, 0x7f, 0x2f, 0xca, 0x2b, 0xc3, + 0xc4, 0x1c, 0x14, 0x40, 0x35, 0xfa, 0x42, 0x17, 0x14, 0xaa, 0xb4, 0x1b, + 0x60, 0x50, 0x34, 0x08, 0xbe, 0x1d, 0x9b, 0x44, 0x50, 0xc3, 0xd2, 0xbc, + 0x39, 0xfe, 0x27, 0xfa, 0xce, 0xd1, 0x1d, 0x55, 0x0f, 0xc9, 0x44, 0xcb, + 0xbc, 0x2f, 0x1e, 0xe5, 0x61, 0xf1, 0x32, 0xc0, 0x19, 0x19, 0x4b, 0x81, + 0xd7, 0x34, 0xe9, 0x26, 0xf4, 0x19, 0x53, 0xb8, 0x08, 0x09, 0x37, 0x3b, + 0xbe, 0xab, 0x1e, 0x32, 0xde, 0xe9, 0x35, 0x26, 0x9a, 0xb5, 0x43, 0xe2, + 0xf3, 0x08, 0x28, 0xf2, 0x39, 0xd4, 0xd5, 0x9b, 0x3a, 0xc1, 0x3c, 0xde, + 0xce, 0x02, 0x3b, 0x06, 0x18, 0x69, 0x93, 0x37, 0x0c, 0xb1, 0xc7, 0x3e, + 0xf1, 0x09, 0x27, 0x8c, 0xe6, 0xc1, 0xbd, 0xf8, 0xec, 0xf3, 0xcd, 0x08, + 0x23, 0xa5, 0x4d, 0xc8, 0xf3, 0xd5, 0x6b, 0x98, 0xd1, 0x7f, 0xda, 0xd5, + 0xe5, 0xf9, 0xf5, 0x0b, 0xb4, 0xdb, 0xa3, 0x07, 0x25, 0x65, 0x42, 0xa4, + 0x2a, 0x49, 0x30, 0xe8, 0xbb, 0xea, 0xc3, 0xe7, 0x37, 0x34, 0xc0, 0x2d, + 0xe9, 0x61, 0xc5, 0x14, 0xcd, 0xf6, 0x7f, 0x48, 0x03, 0x0e, 0xe2, 0x1f, + 0x4e, 0xba, 0x4d, 0xf8, 0xb9, 0xd0, 0xef, 0x0f, 0x92, 0xa8, 0x1f, 0x2f, + 0x25, 0xfe, 0xed, 0xe0, 0x7c, 0x5e, 0x99, 0xd9, 0xfa, 0xfd, 0x1f, 0x0b, + 0x16, 0xda, 0xfd, 0x0a, 0x0c, 0xde, 0x3e, 0xc1, 0xef, 0xf0, 0x0b, 0x1d, + 0xb6, 0x12, 0x24, 0xf0, 0xf7, 0x1a, 0x17, 0x14, 0x6a, 0xe8, 0x3e, 0x3a, + 0x58, 0x35, 0x29, 0xc0, 0x7f, 0x16, 0x50, 0x2e, 0x62, 0x11, 0xa8, 0xd7, + 0x2b, 0xc3, 0xbc, 0xce, 0x2f, 0x97, 0xb8, 0xd8, 0x2c, 0x19, 0x03, 0x04, + 0xe2, 0xb8, 0xb4, 0x4b, 0x42, 0xe3, 0xcb, 0x15, 0x3c, 0x2c, 0xc2, 0x29, + 0x42, 0x2a, 0xc0, 0x31, 0x2d, 0x32, 0xdd, 0xd6, 0x05, 0x72, 0x21, 0x4b, + 0x17, 0xe2, 0x13, 0x20, 0x0a, 0x06, 0x8c, 0x0b, 0xf6, 0xea, 0xe7, 0xc4, + 0xc7, 0x17, 0x2f, 0x30, 0x2b, 0x28, 0xdf, 0xcc, 0x1f, 0x3a, 0xf7, 0x16, + 0xff, 0xc8, 0x46, 0x81, 0xd1, 0x10, 0x05, 0xd7, 0xe8, 0x00, 0x25, 0x1a, + 0xdc, 0xfd, 0x36, 0xd0, 0x0b, 0x04, 0x07, 0x1c, 0xfc, 0x3c, 0xff, 0x11, + 0xfb, 0xe1, 0x1b, 0x2f, 0x09, 0x12, 0x32, 0xd0, 0xc4, 0x58, 0x1b, 0xcb, + 0x0e, 0x47, 0xca, 0xd9, 0xd2, 0xf0, 0x3b, 0x13, 0xf6, 0x1c, 0x0f, 0xbf, + 0x12, 0xe0, 0xcd, 0x18, 0xbc, 0x21, 0xfc, 0xe5, 0xd8, 0x45, 0xcf, 0xe6, + 0x25, 0xf0, 0x21, 0x7f, 0x11, 0x20, 0x05, 0xea, 0x25, 0xbe, 0x12, 0xe3, + 0xe7, 0xc5, 0x14, 0x61, 0xd1, 0x14, 0x2d, 0xd2, 0x19, 0x1e, 0x43, 0xc9, + 0xb7, 0x23, 0xc4, 0x13, 0x35, 0x1b, 0x00, 0xe8, 0x39, 0xbd, 0xc8, 0x65, + 0xd2, 0xe1, 0xf5, 0xe0, 0x41, 0x26, 0x2f, 0x2c, 0xa6, 0xbf, 0x0d, 0xde, + 0xc7, 0x49, 0x48, 0x46, 0xdf, 0x14, 0x10, 0x69, 0xc4, 0xd3, 0xb2, 0x1b, + 0xe0, 0x25, 0x4c, 0x81, 0xb0, 0xf9, 0x10, 0xe2, 0xab, 0xfe, 0x9f, 0x04, + 0xcd, 0x28, 0x4e, 0xec, 0x35, 0x10, 0x3b, 0x90, 0xd0, 0x5d, 0x03, 0xf5, + 0x0d, 0x08, 0xec, 0xdd, 0xff, 0xcc, 0x03, 0xcc, 0xb3, 0xff, 0x17, 0xa9, + 0xe7, 0x31, 0x9e, 0x58, 0x18, 0xc2, 0x03, 0x14, 0xdb, 0xe4, 0xaa, 0xff, + 0x5d, 0x9e, 0x36, 0x07, 0xce, 0x03, 0xf8, 0xa5, 0xeb, 0x01, 0x1b, 0xdf, + 0x81, 0x17, 0x22, 0x69, 0xe9, 0xfc, 0x38, 0x8d, 0xf8, 0xc1, 0x3a, 0xe3, + 0x26, 0xa3, 0xab, 0xa2, 0x36, 0x1d, 0x48, 0x6e, 0x62, 0xe9, 0xee, 0xc7, + 0xf0, 0xe9, 0x99, 0xf3, 0x32, 0xc6, 0xf2, 0x9c, 0x23, 0xf3, 0xcb, 0x03, + 0x08, 0xe1, 0xda, 0x5a, 0x0c, 0xd3, 0x39, 0xf8, 0x4c, 0xc5, 0xea, 0x46, + 0x28, 0x02, 0xf2, 0x03, 0xf2, 0xa3, 0xe3, 0x17, 0x11, 0xfb, 0x07, 0x20, + 0x35, 0xf8, 0x0e, 0x0e, 0xc9, 0xae, 0xed, 0xf7, 0x0a, 0xfa, 0x3d, 0xa4, + 0x0f, 0xdd, 0xd1, 0xb8, 0xd9, 0xcf, 0x19, 0xac, 0xc7, 0xcd, 0xe8, 0x28, + 0x0a, 0xb0, 0xfc, 0x14, 0xf1, 0x19, 0xc2, 0x2b, 0xbb, 0xf5, 0xa7, 0xd0, + 0x15, 0x0f, 0xf9, 0x00, 0x05, 0x42, 0x18, 0x81, 0x28, 0xac, 0x72, 0xeb, + 0xbd, 0x3c, 0x2e, 0xe9, 0x0d, 0x76, 0xa4, 0xc8, 0xfc, 0x5b, 0xcd, 0xc2, + 0xb6, 0xf6, 0x52, 0xfb, 0x93, 0x4e, 0x40, 0x14, 0xb2, 0x03, 0x06, 0x6b, + 0x6c, 0x22, 0x72, 0x03, 0xb0, 0xaa, 0xc6, 0x8d, 0x15, 0x11, 0xdb, 0x1b, + 0x3c, 0x74, 0x61, 0xcc, 0xe0, 0x38, 0xea, 0x37, 0x59, 0x3a, 0x4f, 0x46, + 0xf3, 0xf2, 0xd6, 0xf1, 0xca, 0x0b, 0x21, 0x7f, 0x4c, 0x33, 0x12, 0xc6, + 0xe9, 0xea, 0x0e, 0xd5, 0x47, 0xd1, 0x5d, 0xe8, 0x32, 0xd6, 0x51, 0xc4, + 0xda, 0xed, 0xf9, 0x5a, 0xb5, 0x2b, 0x0b, 0x23, 0xd6, 0x41, 0xac, 0x45, + 0x24, 0x45, 0xc6, 0xc1, 0x04, 0x09, 0xc1, 0x0f, 0xfa, 0x2f, 0x5b, 0xbc, + 0xa1, 0x62, 0x31, 0xcb, 0x04, 0xff, 0x4e, 0xc7, 0x12, 0x0c, 0x7f, 0x8e, + 0xd7, 0x0d, 0x10, 0xe6, 0x0d, 0x61, 0x1f, 0x29, 0x2e, 0x17, 0xeb, 0xf8, + 0xa3, 0xed, 0x59, 0x96, 0xfd, 0xfc, 0x35, 0xe4, 0xe4, 0xa5, 0xe7, 0x1e, + 0x3b, 0xe1, 0x32, 0x39, 0xd8, 0xb3, 0x8d, 0xfb, 0xe1, 0xc8, 0xfc, 0x3c, + 0xc7, 0x06, 0xda, 0x71, 0x13, 0x3f, 0x39, 0x0c, 0xf7, 0xfb, 0x14, 0xa9, + 0xbc, 0x51, 0x9d, 0xe5, 0xcc, 0xf0, 0x48, 0xef, 0x1f, 0xb3, 0x0d, 0xc4, + 0xdc, 0x7f, 0xfe, 0xd3, 0x15, 0x81, 0xf0, 0x25, 0xef, 0x28, 0xcf, 0xa6, + 0x56, 0xaa, 0x8f, 0xd6, 0x13, 0x3d, 0x2c, 0xf6, 0xa7, 0x3a, 0x3f, 0xc8, + 0xe2, 0xb8, 0xc5, 0xf7, 0xf2, 0x10, 0xec, 0x3f, 0x62, 0x16, 0x1a, 0x43, + 0xdd, 0xf6, 0x5f, 0xcf, 0x17, 0xf0, 0xcb, 0x62, 0x10, 0x12, 0xbd, 0x03, + 0x08, 0x4d, 0x32, 0x12, 0x46, 0x1d, 0x7f, 0xc2, 0x18, 0x46, 0x33, 0x05, + 0x2c, 0x19, 0xca, 0x2c, 0x41, 0x1f, 0xcd, 0x23, 0x3a, 0x0b, 0xf0, 0x3d, + 0x02, 0x1b, 0xdc, 0x8a, 0x0e, 0xc4, 0x2b, 0xf1, 0xe7, 0xd4, 0xf5, 0xf7, + 0x24, 0x0b, 0x25, 0xbb, 0x22, 0x10, 0xda, 0xfc, 0xee, 0x0a, 0x3b, 0x81, + 0x1e, 0x1c, 0x16, 0x58, 0xf1, 0x22, 0x01, 0x31, 0xc0, 0xfa, 0xe5, 0xfb, + 0x36, 0x03, 0x23, 0xe7, 0x34, 0xba, 0xf1, 0x3a, 0x1c, 0x29, 0xee, 0xff, + 0xd3, 0x0c, 0x30, 0x15, 0xd0, 0xcf, 0xd0, 0xba, 0xb6, 0x53, 0xf0, 0xfc, + 0x34, 0xa7, 0xd9, 0xa4, 0xa4, 0xff, 0xae, 0x5f, 0xf4, 0x17, 0x42, 0xb7, + 0x1e, 0x10, 0x9e, 0x4b, 0x30, 0xef, 0xde, 0xfc, 0xda, 0xdf, 0xb5, 0xfb, + 0xa4, 0xaf, 0x20, 0x87, 0xaa, 0xf5, 0x55, 0x48, 0xf5, 0x2b, 0x27, 0xf5, + 0xbf, 0x48, 0xc5, 0x43, 0xdb, 0xc4, 0x4c, 0x9a, 0x2c, 0x0d, 0xac, 0x15, + 0x51, 0x5a, 0xdf, 0xc6, 0xfc, 0x0b, 0x7f, 0x55, 0x29, 0x5e, 0xc5, 0x3e, + 0xe3, 0x1a, 0x0f, 0xe0, 0x5b, 0x58, 0x2c, 0xfa, 0x7f, 0xf1, 0xac, 0xe6, + 0x45, 0x9d, 0x6d, 0xa4, 0xcb, 0xfc, 0x08, 0xdd, 0x2f, 0x8b, 0x17, 0x11, + 0x28, 0xa6, 0xe9, 0x30, 0x1e, 0xc1, 0x69, 0x9e, 0x0b, 0x58, 0xa3, 0xde, + 0xe1, 0x37, 0xab, 0xac, 0xe1, 0xf8, 0xd3, 0x1a, 0x74, 0xef, 0x89, 0xe0, + 0x09, 0x77, 0x09, 0x6a, 0x58, 0xe7, 0xa5, 0x07, 0xb9, 0x31, 0xb8, 0x25, + 0xed, 0x3d, 0xc4, 0x16, 0x0b, 0xfe, 0x1c, 0x12, 0xcd, 0xce, 0x98, 0x1a, + 0xc3, 0x30, 0xcf, 0xf0, 0x33, 0x32, 0x2f, 0xc8, 0x3c, 0x57, 0x4e, 0xa6, + 0xd2, 0xb6, 0x1e, 0x57, 0xdf, 0xe8, 0x46, 0x31, 0xe7, 0xf5, 0xdb, 0xb0, + 0xf9, 0x51, 0xfd, 0x31, 0x58, 0x76, 0x03, 0xf0, 0x7f, 0x3b, 0x59, 0x09, + 0x23, 0xd9, 0x36, 0x60, 0x5a, 0x28, 0x54, 0x6b, 0x0a, 0x67, 0xa6, 0x48, + 0xd3, 0xb8, 0x5c, 0xe6, 0x28, 0x41, 0x9e, 0x23, 0x58, 0x50, 0xb9, 0x3c, + 0xc8, 0x99, 0xec, 0xa1, 0xd5, 0xce, 0x34, 0x9b, 0x07, 0x32, 0xdd, 0x3b, + 0x48, 0xb1, 0xab, 0xd8, 0xd6, 0xac, 0x12, 0x55, 0x2b, 0xe6, 0xb6, 0xf6, + 0x5c, 0x2d, 0xcc, 0x2e, 0x03, 0xb1, 0xea, 0x12, 0xf0, 0x64, 0xcf, 0xa2, + 0xf6, 0xcf, 0xec, 0xf9, 0x16, 0x54, 0xb7, 0x7f, 0xff, 0x14, 0xc8, 0x40, + 0x3e, 0x26, 0x81, 0x27, 0x06, 0x04, 0x24, 0x4f, 0xf8, 0xe6, 0xad, 0xea, + 0xd2, 0x01, 0xc7, 0xa0, 0x89, 0xed, 0xdc, 0xdc, 0x34, 0x17, 0x2b, 0x20, + 0xdd, 0xb2, 0x08, 0x01, 0xf3, 0x25, 0xe5, 0x0e, 0x24, 0xde, 0x1f, 0x40, + 0xb0, 0x23, 0xde, 0xee, 0xbd, 0x2a, 0x79, 0xda, 0xfc, 0x2a, 0x44, 0xeb, + 0x5c, 0x27, 0xab, 0x0b, 0xd0, 0xeb, 0xb5, 0x9c, 0x46, 0x42, 0xb3, 0x58, + 0xc3, 0x00, 0x41, 0xe0, 0xc8, 0xa0, 0x1b, 0x19, 0x15, 0x7f, 0xea, 0x4f, + 0xbc, 0xdf, 0x24, 0x2f, 0x95, 0x46, 0xf7, 0xc1, 0xa9, 0x1b, 0x9a, 0x97, + 0x21, 0xcc, 0xfe, 0x17, 0xd1, 0x27, 0x18, 0xbb, 0x30, 0x1f, 0xf6, 0xca, + 0xf9, 0x23, 0x1c, 0xe0, 0xc6, 0xff, 0xf1, 0xe8, 0x72, 0xea, 0xba, 0xcd, + 0xb0, 0x53, 0xc2, 0x0c, 0xc6, 0xf7, 0x5a, 0x2b, 0xff, 0x53, 0x23, 0x18, + 0xf8, 0xab, 0x0c, 0x1e, 0x50, 0xd9, 0xaa, 0xf5, 0x18, 0xa0, 0xd0, 0xe9, + 0x52, 0xe5, 0xde, 0xc6, 0x32, 0x1b, 0xda, 0xfe, 0x07, 0xcc, 0x2e, 0xad, + 0x4c, 0xe0, 0x17, 0xd1, 0x1f, 0xaa, 0x77, 0x66, 0x37, 0x81, 0xc4, 0xc4, + 0xd0, 0x23, 0xa7, 0xd2, 0xfa, 0x10, 0x0e, 0xde, 0x61, 0x6f, 0x58, 0x9e, + 0xfb, 0xbf, 0xdf, 0xf8, 0x1a, 0x98, 0xa1, 0xc5, 0x61, 0xde, 0xae, 0xee, + 0xf6, 0x20, 0x64, 0xd7, 0x21, 0xb7, 0xe5, 0xcf, 0xd3, 0x37, 0xfe, 0x5b, + 0x14, 0xc5, 0x35, 0x66, 0xc1, 0xfb, 0xa9, 0x13, 0x64, 0x5e, 0x3b, 0x33, + 0xb7, 0x38, 0x60, 0x65, 0x2a, 0x34, 0xe4, 0x35, 0xca, 0xa6, 0xe8, 0xab, + 0xe3, 0x7f, 0x68, 0x21, 0x3f, 0xf6, 0xbc, 0x04, 0x3b, 0xe7, 0xca, 0x5e, + 0xd4, 0x41, 0x15, 0x51, 0x17, 0xfa, 0x2b, 0x19, 0x12, 0x2e, 0xb7, 0x16, + 0x3f, 0x60, 0x23, 0x1b, 0x11, 0xf8, 0x4a, 0xe4, 0xd9, 0x28, 0x1f, 0x20, + 0x34, 0x29, 0x95, 0x7f, 0x5d, 0x1a, 0x11, 0xcd, 0x0c, 0xb5, 0x0e, 0xfd, + 0x25, 0xf9, 0xdf, 0xd6, 0xea, 0xc4, 0xb8, 0xd8, 0x1a, 0x40, 0x02, 0x05, + 0xf0, 0xc8, 0xf3, 0x29, 0x5e, 0x18, 0x41, 0xc4, 0xda, 0xb6, 0x46, 0xf2, + 0xac, 0xfc, 0xaa, 0xe5, 0x08, 0x2f, 0xcb, 0xff, 0x08, 0x32, 0x24, 0xe3, + 0xfe, 0xe9, 0xd1, 0x25, 0x4c, 0x23, 0x10, 0xf1, 0xc9, 0xac, 0x3e, 0xaf, + 0x10, 0xf9, 0xed, 0xf9, 0xf0, 0x09, 0x03, 0x6b, 0xd2, 0xc7, 0xea, 0x11, + 0xfd, 0x3c, 0xf0, 0xfa, 0x3a, 0xa4, 0xf3, 0xe2, 0x41, 0x1a, 0x1a, 0xe4, + 0xba, 0x7f, 0x30, 0xd5, 0x19, 0xdd, 0x56, 0x0c, 0xe6, 0x14, 0x1b, 0x26, + 0x33, 0xba, 0x03, 0x72, 0xd2, 0xd1, 0x3d, 0xc3, 0xfb, 0xbd, 0x15, 0xe4, + 0x16, 0x1a, 0x0d, 0xd8, 0x19, 0xd4, 0xf0, 0x12, 0xe6, 0xb5, 0x2b, 0x17, + 0x1b, 0x0f, 0x2c, 0xae, 0x05, 0x34, 0xd0, 0xc9, 0x0e, 0x29, 0xd1, 0x81, + 0xdd, 0x0d, 0xe8, 0x2f, 0x47, 0x10, 0x43, 0xe7, 0xce, 0x2b, 0xe6, 0x0f, + 0xf5, 0xfb, 0x12, 0xc1, 0x21, 0x28, 0x05, 0xe6, 0x0c, 0xdb, 0x1d, 0xf5, + 0xf5, 0xd0, 0x2b, 0xfc, 0xd5, 0xd0, 0x89, 0xcb, 0xc5, 0xc5, 0x0d, 0xe8, + 0xf8, 0xbc, 0x0f, 0x20, 0xc2, 0xae, 0xa6, 0xe6, 0x25, 0xbf, 0x41, 0xc4, + 0xfb, 0x08, 0xec, 0x43, 0xb0, 0xe2, 0x12, 0xdc, 0x3c, 0xc7, 0xdf, 0x50, + 0x8d, 0xd4, 0x53, 0x42, 0x28, 0x11, 0xc3, 0x6f, 0xd2, 0xa7, 0x16, 0xd1, + 0x1d, 0x33, 0x36, 0xfc, 0x1f, 0x24, 0x48, 0x81, 0xbe, 0x99, 0xca, 0x51, + 0xa9, 0x28, 0xf9, 0x44, 0x45, 0xb7, 0x45, 0x0d, 0x06, 0x19, 0xc8, 0xd2, + 0xc5, 0x01, 0xaa, 0x9f, 0x96, 0xf7, 0xec, 0x30, 0xbb, 0xbe, 0xb5, 0xe7, + 0x08, 0x50, 0x81, 0x61, 0xdf, 0x09, 0x14, 0xac, 0xe5, 0x1e, 0xd6, 0xb9, + 0xc0, 0x3f, 0x44, 0xb1, 0x6d, 0xb9, 0xe4, 0x56, 0x59, 0x11, 0xa1, 0x07, + 0x7b, 0x39, 0x16, 0xb0, 0x69, 0xf4, 0x55, 0xf4, 0xeb, 0xf3, 0x41, 0x1f, + 0x30, 0xa0, 0x37, 0x08, 0x3a, 0x3b, 0xdb, 0xca, 0x5c, 0xd3, 0x08, 0x22, + 0x41, 0x2b, 0x90, 0xd6, 0xd7, 0xb1, 0x52, 0xfa, 0xb1, 0xf4, 0x39, 0x0e, + 0xd6, 0xe4, 0x5d, 0xb8, 0xb8, 0xf9, 0x35, 0x4b, 0xea, 0xb7, 0x33, 0x2a, + 0x3d, 0xac, 0x67, 0xdc, 0x2a, 0x6d, 0xbb, 0xfa, 0x0c, 0xef, 0x7e, 0x2b, + 0x0d, 0x07, 0xef, 0x9f, 0xcb, 0xdd, 0x21, 0x16, 0xc9, 0xd6, 0x92, 0x7f, + 0xc8, 0xe2, 0x3a, 0x13, 0x36, 0x24, 0xd1, 0x19, 0x2f, 0x38, 0xa2, 0xe5, + 0x16, 0xac, 0xd0, 0x6e, 0x6f, 0xf0, 0x64, 0x0c, 0xdb, 0x06, 0x68, 0x1a, + 0x81, 0x24, 0x07, 0x71, 0x75, 0x0a, 0x2e, 0x2f, 0xd8, 0xb9, 0xb5, 0x2c, + 0x57, 0x2b, 0xea, 0x50, 0x44, 0xcb, 0xf4, 0xc8, 0x3d, 0xd3, 0x39, 0xd0, + 0xd8, 0x1c, 0x05, 0x24, 0x07, 0x2a, 0x3d, 0x17, 0x41, 0xac, 0xc7, 0xed, + 0xae, 0x12, 0xfc, 0x24, 0x2a, 0x4b, 0x88, 0x10, 0xcd, 0xd3, 0x48, 0x0d, + 0x36, 0x0c, 0xa5, 0x36, 0x02, 0x18, 0xe2, 0x5e, 0x99, 0xd9, 0xe5, 0xe1, + 0xc6, 0xa6, 0x0a, 0x56, 0x7f, 0x24, 0xd3, 0x61, 0x2f, 0x20, 0xca, 0xfa, + 0x64, 0xf9, 0xc5, 0x0b, 0x53, 0xdb, 0x97, 0xfa, 0xbd, 0x20, 0x33, 0xb1, + 0xce, 0xe6, 0x26, 0x54, 0x21, 0xa8, 0xfb, 0x45, 0xca, 0x9f, 0x17, 0x72, + 0xb6, 0xeb, 0xca, 0xae, 0xc7, 0x19, 0x38, 0xe4, 0x10, 0x33, 0xec, 0x65, + 0x1e, 0x11, 0x55, 0xd3, 0x5e, 0xb6, 0x7c, 0xb3, 0xe8, 0xf4, 0x41, 0x98, + 0xf6, 0x12, 0x31, 0x1b, 0x7e, 0x87, 0x15, 0x17, 0xb4, 0xf1, 0x52, 0xab, + 0x76, 0xd9, 0x10, 0x7f, 0x61, 0x3b, 0x02, 0x0f, 0xa3, 0xc4, 0x07, 0xd2, + 0x0b, 0xdd, 0xcf, 0x32, 0x11, 0xb3, 0xe8, 0x25, 0x41, 0x53, 0x0f, 0xbc, + 0x16, 0x07, 0xfe, 0x5e, 0x3f, 0xaf, 0xa5, 0xb0, 0x76, 0xb6, 0x17, 0x54, + 0x0f, 0x0a, 0x89, 0x81, 0x3b, 0xa7, 0xac, 0x72, 0x26, 0xe7, 0x3d, 0x38, + 0x26, 0xe6, 0xc5, 0x33, 0x4e, 0xec, 0x3b, 0x26, 0xea, 0xc0, 0x65, 0x8e, + 0x3f, 0x42, 0xb6, 0xf0, 0x61, 0x08, 0x3a, 0xb2, 0x4c, 0xba, 0xee, 0x23, + 0xf7, 0xd0, 0xba, 0x2a, 0x34, 0x06, 0x08, 0xd0, 0x35, 0xe4, 0xde, 0x3b, + 0xfb, 0xe1, 0x41, 0x01, 0x1a, 0xd2, 0xc5, 0x91, 0xff, 0xe3, 0x35, 0xe3, + 0xbc, 0xfb, 0x57, 0x63, 0xbe, 0x1e, 0xfc, 0x7d, 0x0e, 0x5f, 0x09, 0x61, + 0x22, 0xee, 0xe7, 0x4f, 0xd2, 0x1b, 0x26, 0xd8, 0x25, 0x21, 0x06, 0xf5, + 0x68, 0x0e, 0xeb, 0xc4, 0x10, 0xe3, 0x43, 0x7f, 0x56, 0x1b, 0xeb, 0xe1, + 0xd5, 0x18, 0x14, 0xd8, 0xc8, 0xc9, 0x15, 0x15, 0xf2, 0x32, 0x45, 0xab, + 0x65, 0xe6, 0xf0, 0x23, 0x3d, 0xc4, 0xc8, 0xf2, 0x2e, 0xc6, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x87, 0xea, 0xff, 0xff, + 0x17, 0xf2, 0xff, 0xff, 0xb7, 0xf5, 0xff, 0xff, 0x0d, 0xe9, 0xff, 0xff, + 0xc7, 0x0a, 0x00, 0x00, 0x25, 0xfc, 0xff, 0xff, 0x87, 0xfd, 0xff, 0xff, + 0xc0, 0x04, 0x00, 0x00, 0x43, 0x0e, 0x00, 0x00, 0xd2, 0xe1, 0xff, 0xff, + 0xd4, 0xf0, 0xff, 0xff, 0xf1, 0xf9, 0xff, 0xff, 0xee, 0x09, 0x00, 0x00, + 0xff, 0x0e, 0x00, 0x00, 0xe2, 0xe0, 0xff, 0xff, 0x31, 0x0c, 0x00, 0x00, + 0x8f, 0xfa, 0xff, 0xff, 0x45, 0x05, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x5e, 0x09, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x2c, 0x05, 0x00, 0x00, + 0xf1, 0x17, 0x00, 0x00, 0x7f, 0x03, 0x00, 0x00, 0xf3, 0xfb, 0xff, 0xff, + 0x97, 0x03, 0x00, 0x00, 0xdf, 0x09, 0x00, 0x00, 0xea, 0x06, 0x00, 0x00, + 0xe3, 0xe3, 0xff, 0xff, 0x00, 0xf1, 0xff, 0xff, 0xfd, 0xed, 0xff, 0xff, + 0x6e, 0xef, 0xff, 0xff, 0x3e, 0xfd, 0xff, 0xff, 0x9a, 0xe7, 0xff, 0xff, + 0x1e, 0xf9, 0xff, 0xff, 0x14, 0x07, 0x00, 0x00, 0xbc, 0xec, 0xff, 0xff, + 0xeb, 0x11, 0x00, 0x00, 0x67, 0xf6, 0xff, 0xff, 0xc7, 0x1a, 0x00, 0x00, + 0xc5, 0xfe, 0xff, 0xff, 0xdd, 0x06, 0x00, 0x00, 0x48, 0xe6, 0xff, 0xff, + 0xf6, 0x01, 0x00, 0x00, 0x8f, 0xf3, 0xff, 0xff, 0xaf, 0x12, 0x00, 0x00, + 0x24, 0xe9, 0xff, 0xff, 0x2e, 0x0d, 0x00, 0x00, 0x8c, 0xf9, 0xff, 0xff, + 0xe7, 0xf3, 0xff, 0xff, 0x8b, 0x1a, 0x00, 0x00, 0x9a, 0xf7, 0xff, 0xff, + 0xcf, 0x06, 0x00, 0x00, 0x6e, 0x17, 0x00, 0x00, 0x07, 0x09, 0x00, 0x00, + 0xe2, 0x16, 0x00, 0x00, 0xd6, 0xfe, 0xff, 0xff, 0x1c, 0xf9, 0xff, 0xff, + 0xe8, 0x06, 0x00, 0x00, 0xfa, 0x08, 0x00, 0x00, 0x2a, 0xc7, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0xc1, 0x02, 0xb1, 0xe5, + 0x54, 0x1c, 0xe1, 0x1a, 0x81, 0x81, 0x7f, 0x66, 0x7f, 0xa1, 0x2c, 0xdf, + 0x81, 0x11, 0x41, 0x2f, 0x53, 0xf7, 0x10, 0xec, 0xca, 0x0a, 0x05, 0x39, + 0xb3, 0x7f, 0x7f, 0xe6, 0x20, 0x81, 0xd3, 0x4f, 0x0d, 0x2a, 0xcd, 0x92, + 0xbb, 0x10, 0x0c, 0xfc, 0x2d, 0x07, 0xc3, 0x8b, 0x69, 0x7f, 0x52, 0xf3, + 0x6b, 0x9a, 0x81, 0xfa, 0xf9, 0x22, 0x50, 0x19, 0xe5, 0x09, 0x9c, 0x33, + 0x74, 0x10, 0xe2, 0xcb, 0xc3, 0x9a, 0x33, 0x4e, 0x11, 0xfe, 0x6f, 0x1b, + 0xf6, 0x3c, 0x4a, 0x79, 0x42, 0x12, 0xe2, 0x02, 0xb5, 0x11, 0x9e, 0xf4, + 0x81, 0x47, 0x58, 0xae, 0xfe, 0xcc, 0xdc, 0x7f, 0xd9, 0x73, 0x15, 0xe3, + 0xfd, 0xc1, 0x5b, 0x1f, 0x14, 0x1f, 0xe0, 0xd7, 0x52, 0xe6, 0x7f, 0x78, + 0x0a, 0x9b, 0xa3, 0xe8, 0xf9, 0x7f, 0x5c, 0xc7, 0xff, 0xe5, 0x3a, 0xfc, + 0x7f, 0x39, 0x28, 0x0a, 0x35, 0xc4, 0x5d, 0x46, 0x13, 0x7f, 0xe7, 0x1b, + 0xb1, 0x0d, 0x50, 0x7f, 0xce, 0x64, 0xda, 0x2e, 0x72, 0xf9, 0xbb, 0x04, + 0xc7, 0x73, 0x1f, 0xd0, 0x23, 0xeb, 0xe6, 0x4a, 0x9d, 0x7f, 0x5c, 0xb9, + 0xdf, 0xcb, 0x13, 0xe1, 0x41, 0xd4, 0x7f, 0xcf, 0x0a, 0xf4, 0x33, 0x38, + 0x34, 0xda, 0xe7, 0xeb, 0xa5, 0x4a, 0x42, 0x0b, 0xd5, 0x2a, 0xe7, 0xf8, + 0xa7, 0x22, 0xce, 0x6b, 0x07, 0xed, 0xfe, 0x02, 0x3b, 0x0d, 0xe0, 0xdd, + 0xef, 0x02, 0x1f, 0x1f, 0x20, 0x40, 0xe1, 0x0d, 0xe7, 0xf9, 0x31, 0xce, + 0xec, 0xa8, 0x49, 0xc1, 0xcf, 0xe6, 0x4e, 0x5e, 0xcf, 0x72, 0x31, 0x81, + 0x11, 0xe4, 0x21, 0xec, 0x41, 0x81, 0xf7, 0xb2, 0x6f, 0x05, 0x60, 0x13, + 0x35, 0xfc, 0xe3, 0x73, 0xff, 0x33, 0x00, 0x0b, 0x22, 0x17, 0x31, 0xc0, + 0xd6, 0x34, 0xee, 0x61, 0x2e, 0xf0, 0xfa, 0x23, 0x2d, 0xdd, 0x26, 0x45, + 0x1f, 0x9f, 0x3b, 0x97, 0xb8, 0x7b, 0xae, 0xd6, 0xe9, 0xda, 0x2d, 0xba, + 0xb9, 0x52, 0xf9, 0xd5, 0x81, 0xa9, 0x40, 0x25, 0xcc, 0x65, 0x9f, 0xea, + 0xe8, 0x04, 0x7f, 0xd2, 0x1a, 0xa1, 0xe2, 0x4b, 0x7f, 0x2c, 0x4e, 0x2d, + 0xd8, 0xc2, 0xb0, 0x6d, 0xf8, 0xef, 0xed, 0x05, 0x7f, 0x05, 0xe0, 0xd5, + 0xac, 0xec, 0x7f, 0x33, 0xed, 0xe0, 0xc5, 0x1c, 0x24, 0xbb, 0x15, 0x51, + 0xf0, 0xef, 0xa7, 0x22, 0xe1, 0x13, 0x99, 0x02, 0x55, 0x0a, 0x06, 0xe7, + 0xc1, 0x5b, 0x2c, 0xa4, 0xf4, 0xa3, 0x2a, 0x2e, 0x8e, 0x2c, 0xc2, 0xcc, + 0x1b, 0xc8, 0x05, 0x09, 0x0c, 0xbb, 0xf3, 0x36, 0x26, 0xdf, 0x5c, 0xee, + 0xe5, 0x27, 0xd8, 0xf2, 0x81, 0x0d, 0xa6, 0xed, 0xde, 0x0a, 0x81, 0x15, + 0xf4, 0x26, 0x9a, 0xf7, 0xb7, 0xed, 0x22, 0x7f, 0xd9, 0x9d, 0x3e, 0x53, + 0xd5, 0xfc, 0xfe, 0xf6, 0x48, 0x61, 0x96, 0xff, 0x2a, 0x16, 0xd1, 0xd2, + 0xde, 0x25, 0x0f, 0xad, 0x43, 0xb4, 0x72, 0x5d, 0x81, 0x44, 0xb2, 0x66, + 0x2d, 0x25, 0x21, 0x25, 0x21, 0xfa, 0x7f, 0x7f, 0x78, 0x17, 0xea, 0x1e, + 0x1e, 0x7f, 0xb3, 0xf3, 0xe9, 0xf1, 0xb2, 0xab, 0x49, 0x15, 0xc7, 0xa1, + 0x8b, 0x10, 0xda, 0x81, 0x34, 0xc6, 0xb3, 0x2a, 0x2d, 0xbe, 0xdd, 0xf7, + 0xf8, 0xe1, 0x69, 0xd8, 0x66, 0x7f, 0x81, 0xdf, 0xb3, 0x0d, 0xcf, 0xc8, + 0xd8, 0x00, 0x3e, 0x96, 0xba, 0xbc, 0xe9, 0x5e, 0x90, 0x4d, 0x0f, 0x13, + 0x0b, 0xca, 0x01, 0x1f, 0x2e, 0xf8, 0x21, 0x05, 0x34, 0x41, 0x07, 0x36, + 0xe1, 0xd2, 0xcf, 0x7f, 0x4a, 0xdd, 0xb4, 0xbd, 0x2a, 0x1e, 0x11, 0xf7, + 0x12, 0x17, 0xf6, 0xac, 0xc3, 0xe3, 0xcb, 0x14, 0x2a, 0x15, 0x7f, 0xf3, + 0xdb, 0xe0, 0x29, 0xd1, 0x7f, 0x6a, 0xc5, 0x81, 0x89, 0x15, 0x06, 0xb3, + 0xde, 0x5c, 0x4a, 0x81, 0xef, 0xba, 0x81, 0xf5, 0x81, 0xce, 0x94, 0x81, + 0xf0, 0x37, 0x5c, 0x60, 0x12, 0xf5, 0xa1, 0xde, 0x73, 0xdb, 0x27, 0x0e, + 0x7f, 0xb4, 0xb9, 0x5c, 0xe9, 0x3c, 0xfa, 0x42, 0x75, 0x1c, 0xc3, 0x06, + 0xcc, 0xd9, 0x1d, 0xae, 0x20, 0xd0, 0xe9, 0x62, 0x3a, 0xc9, 0x1a, 0x0e, + 0x20, 0xd3, 0xa3, 0x3a, 0xe1, 0x30, 0xe5, 0x48, 0xfb, 0xe5, 0x06, 0x9c, + 0xe7, 0xb7, 0x4b, 0xa9, 0x35, 0xa2, 0x22, 0xc9, 0xaa, 0xae, 0xaf, 0x9e, + 0x00, 0xdb, 0x1b, 0x7f, 0x6c, 0x09, 0xdf, 0xda, 0x07, 0xbf, 0x24, 0x1c, + 0x54, 0xaf, 0xea, 0x2b, 0xb5, 0x5e, 0xc0, 0xe2, 0xe3, 0x27, 0xd6, 0x54, + 0x1d, 0x31, 0xed, 0xc5, 0x3b, 0xd0, 0x3b, 0x77, 0xfc, 0x0a, 0xf3, 0x30, + 0x5e, 0x99, 0xa4, 0x4d, 0xd8, 0x3e, 0xa0, 0x4b, 0x81, 0xe2, 0x7f, 0xdf, + 0xd6, 0xc2, 0xfa, 0xf8, 0x3e, 0xaf, 0x4e, 0xe9, 0xaf, 0x09, 0xd4, 0x1a, + 0x26, 0x81, 0xd2, 0x33, 0x07, 0x01, 0xdf, 0x4f, 0x24, 0x1c, 0x05, 0x3c, + 0xb9, 0xe1, 0xf0, 0x1c, 0x6a, 0x3c, 0xf8, 0x81, 0xea, 0x60, 0x37, 0x75, + 0x6a, 0x30, 0xb2, 0x0b, 0x08, 0xe3, 0xf6, 0x78, 0xca, 0x36, 0x57, 0x7f, + 0xe3, 0x81, 0xa1, 0x08, 0x18, 0x0f, 0xcc, 0xf9, 0x51, 0xa1, 0xfe, 0xe1, + 0x0b, 0xf2, 0x33, 0xdd, 0xe2, 0xaf, 0xf4, 0x07, 0xf4, 0xbb, 0x81, 0xe1, + 0x51, 0x12, 0x12, 0x6b, 0xa3, 0xe1, 0x39, 0x33, 0xfa, 0xf3, 0x16, 0x33, + 0xd7, 0x4a, 0x26, 0xe0, 0x3b, 0x6c, 0xe6, 0xea, 0xd2, 0x7f, 0x2a, 0x7f, + 0x4b, 0x7f, 0xee, 0xbd, 0x55, 0xc6, 0xf4, 0x59, 0xff, 0x21, 0xd6, 0x4c, + 0x12, 0x85, 0x81, 0x60, 0xdc, 0x63, 0x41, 0xda, 0xfc, 0x81, 0x50, 0x81, + 0xdf, 0x51, 0x32, 0x6f, 0x17, 0x03, 0x47, 0xd1, 0xf7, 0xb5, 0x9b, 0x74, + 0x7f, 0x03, 0xf8, 0x4e, 0x81, 0xee, 0xfb, 0xd8, 0xad, 0x2f, 0x37, 0x7f, + 0x08, 0x34, 0x01, 0xa6, 0xb4, 0x66, 0x81, 0x82, 0x42, 0xca, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xff, 0xff, + 0x9c, 0xff, 0xff, 0xff, 0xce, 0xff, 0xff, 0xff, 0xe4, 0xff, 0xff, 0xff, + 0x19, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xdc, 0xff, 0xff, 0xff, + 0xa6, 0xff, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, 0xe9, 0xff, 0xff, 0xff, + 0x48, 0x00, 0x00, 0x00, 0xd9, 0xff, 0xff, 0xff, 0x32, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xcd, 0xff, 0xff, 0xff, + 0xc6, 0xff, 0xff, 0xff, 0x54, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xff, 0xff, + 0xd4, 0xff, 0xff, 0xff, 0x3d, 0x00, 0x00, 0x00, 0xba, 0xff, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0x84, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x65, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xed, 0xff, 0xff, 0xff, + 0x16, 0x00, 0x00, 0x00, 0xc5, 0xff, 0xff, 0xff, 0x2f, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0xf8, 0xff, 0xff, 0xff, 0xe2, 0xff, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, + 0xdd, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0x97, 0xff, 0xff, 0xff, + 0x3c, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x2d, 0x00, 0x00, 0x00, + 0xb3, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0x37, 0x00, 0x00, 0x00, + 0x81, 0xff, 0xff, 0xff, 0x3d, 0x00, 0x00, 0x00, 0x42, 0xff, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0xa9, 0xff, 0xff, 0xff, + 0xc3, 0xff, 0xff, 0xff, 0x9e, 0xff, 0xff, 0xff, 0x3e, 0xcb, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0x00, 0xca, 0xd7, 0x41, 0x47, + 0xde, 0xb8, 0xae, 0x1e, 0xe4, 0x1a, 0x1c, 0x2b, 0x2d, 0xb4, 0x4b, 0x0b, + 0x2c, 0x1f, 0xf4, 0xf7, 0xd8, 0x30, 0xf4, 0x40, 0x12, 0x09, 0x60, 0xfe, + 0x51, 0xd8, 0x59, 0x07, 0x17, 0x08, 0x37, 0xb4, 0x6e, 0x25, 0xab, 0xdf, + 0x3e, 0x06, 0xab, 0x3f, 0xd0, 0xee, 0x9f, 0x0f, 0x52, 0xdc, 0x10, 0x69, + 0x02, 0xf7, 0x7f, 0xd7, 0x75, 0xdb, 0x1f, 0xba, 0xd6, 0x42, 0xbd, 0xea, + 0xdf, 0x09, 0xe5, 0xb2, 0x3c, 0x81, 0x0a, 0x1c, 0xc3, 0xf4, 0xc7, 0x18, + 0xf8, 0xaf, 0x18, 0xf3, 0x02, 0xd7, 0x03, 0xb0, 0xc9, 0xb3, 0xcd, 0xfd, + 0x1d, 0xc0, 0x0f, 0xf9, 0x5a, 0xc2, 0xf3, 0x32, 0x0a, 0xf9, 0xcf, 0xf5, + 0x09, 0x1e, 0x08, 0x37, 0xf1, 0x06, 0xa3, 0xf0, 0xe7, 0x9c, 0x26, 0xb7, + 0x0b, 0x51, 0xf6, 0xb8, 0xf3, 0xec, 0xb6, 0xfc, 0x1e, 0x43, 0x17, 0x0a, + 0x4e, 0xe2, 0x28, 0x11, 0xf2, 0x2a, 0x12, 0x33, 0xd5, 0x2f, 0xe9, 0x53, + 0x34, 0xc1, 0xc6, 0x33, 0xf5, 0xe0, 0x7f, 0xbc, 0xb0, 0xdd, 0x00, 0x16, + 0x91, 0xb4, 0xd6, 0xd4, 0x2a, 0xbc, 0x3d, 0xa0, 0xa5, 0x38, 0x07, 0x26, + 0xf7, 0x0a, 0x0d, 0xa8, 0x42, 0x2e, 0x13, 0x01, 0xba, 0xe1, 0x03, 0x20, + 0xdf, 0xf1, 0xd7, 0x62, 0x30, 0x00, 0xf3, 0x09, 0x03, 0xdb, 0xc7, 0xda, + 0xff, 0xf9, 0x09, 0xb2, 0xdc, 0x81, 0xed, 0x54, 0x1e, 0xa3, 0x09, 0x3e, + 0x11, 0xc1, 0x0b, 0xdb, 0x19, 0xa2, 0xe6, 0xe3, 0xea, 0xf0, 0xe4, 0xe1, + 0xe1, 0x08, 0x40, 0xd3, 0x0b, 0xf6, 0xed, 0xee, 0xc6, 0x30, 0x24, 0x23, + 0x58, 0x18, 0x0b, 0x20, 0x0b, 0xd3, 0x1c, 0x12, 0xf8, 0x38, 0x1a, 0x3f, + 0x0a, 0x03, 0x13, 0xda, 0xfb, 0x60, 0x08, 0xff, 0x28, 0x94, 0x58, 0xbf, + 0xf8, 0xf7, 0xbd, 0x4b, 0x9a, 0x42, 0x1e, 0x0e, 0x9f, 0x7b, 0x32, 0xda, + 0xd6, 0x16, 0x4b, 0x5b, 0x25, 0x77, 0xd6, 0x3d, 0x25, 0x4f, 0x03, 0xdc, + 0x59, 0x5f, 0x47, 0x54, 0x1c, 0x7d, 0xe7, 0x50, 0xea, 0x4b, 0xd0, 0x9b, + 0xd9, 0xb3, 0x1a, 0x76, 0xaa, 0x50, 0xcd, 0xc8, 0xcb, 0xf2, 0x60, 0x7f, + 0xb4, 0x96, 0xbc, 0xf7, 0x5e, 0x60, 0x23, 0x4c, 0x70, 0x0b, 0x04, 0x60, + 0x73, 0x16, 0x27, 0x29, 0x13, 0x03, 0x22, 0x39, 0x1e, 0xd7, 0x59, 0xdb, + 0xcd, 0xfc, 0x0c, 0x5a, 0xed, 0xf8, 0xcf, 0xda, 0x1c, 0xe5, 0xed, 0x1f, + 0x28, 0x16, 0xe5, 0x00, 0xe6, 0x1d, 0x47, 0xed, 0x29, 0xa5, 0xfd, 0x49, + 0xef, 0xee, 0xe0, 0x02, 0x81, 0xec, 0x26, 0x4a, 0x04, 0xbe, 0x94, 0x2e, + 0xef, 0x0c, 0x44, 0xe4, 0x3e, 0xab, 0x25, 0x1f, 0x70, 0x95, 0x5e, 0xf0, + 0xc1, 0x2b, 0x35, 0x70, 0xc5, 0x2d, 0xf4, 0xd5, 0x5d, 0xdf, 0xb4, 0x7a, + 0x18, 0x42, 0xa9, 0x47, 0xef, 0x74, 0xaa, 0x47, 0x04, 0x4b, 0xfe, 0x53, + 0x8c, 0x74, 0x16, 0x24, 0xc4, 0x40, 0xe2, 0xef, 0x2f, 0x5f, 0x9e, 0xf6, + 0xb7, 0xc9, 0xf3, 0x7e, 0xc0, 0x7f, 0xc5, 0x45, 0xb7, 0x46, 0xcc, 0xb6, + 0x1f, 0xe7, 0xdf, 0x2e, 0xc4, 0xc8, 0x0d, 0xe0, 0xe1, 0x0f, 0xd9, 0x3b, + 0x99, 0xcd, 0x51, 0xcf, 0xe3, 0xe0, 0x29, 0xc8, 0xb6, 0x0e, 0x41, 0xe5, + 0x24, 0xcd, 0x92, 0xc8, 0x18, 0x96, 0xfa, 0x41, 0x10, 0x34, 0x17, 0xda, + 0x9b, 0x67, 0x39, 0xc7, 0xd8, 0xeb, 0x2c, 0x54, 0x01, 0x1b, 0x5e, 0x1c, + 0x64, 0x34, 0x0a, 0xb1, 0x1e, 0x37, 0xc2, 0x1d, 0x02, 0x97, 0x03, 0x56, + 0x14, 0x56, 0x23, 0xcd, 0x1c, 0xf1, 0x1f, 0x7f, 0x99, 0x10, 0x10, 0xf7, + 0xdb, 0x16, 0xf9, 0x13, 0x1a, 0x5a, 0xc2, 0xad, 0x66, 0x07, 0xed, 0xcd, + 0xe4, 0x6c, 0xb2, 0xb7, 0x18, 0xaa, 0x05, 0xea, 0x3e, 0xbe, 0x06, 0xd5, + 0xc6, 0x50, 0x18, 0xdc, 0x19, 0x16, 0x2a, 0xfb, 0x3f, 0xcf, 0xc6, 0x4c, + 0xd9, 0x02, 0xdc, 0x16, 0xd7, 0x53, 0xdc, 0x58, 0xc3, 0x4b, 0x86, 0xed, + 0xe9, 0x16, 0x35, 0x1b, 0x7f, 0xd0, 0x24, 0xbc, 0xe6, 0x2d, 0xcf, 0xe2, + 0x06, 0x3a, 0x07, 0x48, 0x0b, 0xda, 0x35, 0xc5, 0x45, 0x16, 0xdd, 0x1d, + 0xbf, 0x03, 0x18, 0x29, 0x7f, 0x0f, 0x38, 0x39, 0xfc, 0x26, 0x65, 0xef, + 0x41, 0x2c, 0xc6, 0x18, 0x0b, 0x39, 0xcc, 0xec, 0x07, 0x3e, 0xd2, 0x1e, + 0xd1, 0xe1, 0xdf, 0x3d, 0x10, 0xc9, 0x44, 0xe4, 0x51, 0x16, 0x4c, 0x26, + 0x2b, 0xef, 0x1b, 0xe1, 0xae, 0xe6, 0x23, 0xbc, 0xd6, 0x19, 0xa0, 0x08, + 0xe4, 0x03, 0x3b, 0xae, 0x39, 0xaf, 0x2d, 0x05, 0x2a, 0x9e, 0x3b, 0xf5, + 0xd6, 0xd7, 0xf2, 0xf7, 0x30, 0x26, 0xba, 0xe2, 0x06, 0x22, 0xe3, 0xf8, + 0x81, 0xa2, 0xcc, 0xae, 0x73, 0x88, 0xde, 0x57, 0xe9, 0xe7, 0xec, 0xe2, + 0xed, 0x0b, 0x2f, 0xf1, 0x28, 0x08, 0xb4, 0xd0, 0xb0, 0xe7, 0x20, 0x35, + 0x0b, 0xe9, 0x14, 0x0d, 0xf5, 0x24, 0x96, 0xf0, 0xf5, 0xc4, 0xb7, 0x57, + 0x19, 0xb6, 0xee, 0xe9, 0x18, 0x2f, 0xf2, 0x2c, 0x27, 0x6e, 0x6b, 0xd0, + 0xdf, 0xcb, 0x12, 0x96, 0x65, 0xca, 0x03, 0x03, 0xc1, 0xf8, 0xd8, 0x4e, + 0xbc, 0xdc, 0x08, 0xe8, 0x9f, 0x1f, 0x4f, 0xf2, 0xba, 0x15, 0x5f, 0x54, + 0xa9, 0x31, 0xcf, 0xfa, 0x8c, 0x10, 0x66, 0xf9, 0x04, 0x81, 0x13, 0xd8, + 0x16, 0x09, 0xf4, 0xc7, 0xa5, 0x93, 0xcd, 0x8c, 0xcf, 0xee, 0xbb, 0xea, + 0xb7, 0x31, 0x18, 0xbc, 0x97, 0xfc, 0x4e, 0xbb, 0x32, 0xa1, 0x7f, 0x1b, + 0x33, 0xd7, 0xe4, 0xe0, 0x4e, 0x42, 0x36, 0x31, 0xd2, 0xb1, 0x21, 0xa1, + 0xa6, 0x3a, 0x9f, 0x17, 0x13, 0xe7, 0x6d, 0x57, 0x34, 0xd3, 0xc2, 0x3b, + 0x02, 0x6c, 0x17, 0x3f, 0x39, 0xf8, 0x6e, 0x39, 0xa7, 0x4e, 0x7f, 0x07, + 0xdb, 0x30, 0xd8, 0xc2, 0x35, 0xff, 0xe7, 0xf0, 0x42, 0x36, 0xd2, 0x30, + 0x12, 0x04, 0x16, 0x46, 0x34, 0x15, 0xc1, 0x2c, 0xf4, 0xce, 0xb3, 0xad, + 0x1c, 0x47, 0x22, 0xcf, 0x32, 0xf0, 0x13, 0xf9, 0xf0, 0x87, 0xcc, 0xff, + 0xd7, 0x11, 0x1d, 0x67, 0xfa, 0xdf, 0x9f, 0x81, 0x03, 0x3c, 0xde, 0x56, + 0xb8, 0x34, 0x26, 0x5d, 0x9a, 0x09, 0xc9, 0xc9, 0x66, 0x40, 0x25, 0xdd, + 0x57, 0x56, 0x3e, 0x1c, 0x1a, 0xba, 0x2a, 0xf2, 0xa4, 0x7f, 0x32, 0x94, + 0x0e, 0x21, 0x42, 0x48, 0x0d, 0x35, 0xcc, 0xb1, 0xe7, 0x09, 0x17, 0x09, + 0xfc, 0x1a, 0xa0, 0xe5, 0xd2, 0x24, 0x19, 0x39, 0xd3, 0xba, 0x72, 0x0c, + 0x2a, 0xe3, 0x08, 0x1a, 0x1b, 0x12, 0xbb, 0xa2, 0xaf, 0x09, 0x29, 0xfe, + 0xc8, 0x3c, 0x8e, 0xdb, 0x4b, 0xe5, 0xf0, 0x26, 0x58, 0xda, 0xea, 0xef, + 0x23, 0x2e, 0xe2, 0x27, 0x05, 0xaa, 0xf4, 0x44, 0x0d, 0xe5, 0x52, 0x2b, + 0xcd, 0xca, 0xdc, 0x7f, 0xc1, 0xae, 0x79, 0xdf, 0xcb, 0x42, 0x0e, 0x95, + 0x6f, 0xec, 0x02, 0x44, 0x3f, 0x06, 0xfa, 0x16, 0x10, 0xca, 0x27, 0xf7, + 0x7b, 0xdc, 0xeb, 0xda, 0x27, 0x7f, 0xec, 0xc2, 0x35, 0x3a, 0x9d, 0x33, + 0x94, 0x08, 0xe6, 0x1a, 0xe4, 0x1b, 0x46, 0x3e, 0x06, 0xd8, 0x14, 0xfb, + 0x2a, 0x2d, 0xfb, 0x01, 0xae, 0x28, 0x26, 0x2f, 0xc8, 0xf9, 0xfc, 0xac, + 0xa6, 0x03, 0xde, 0x00, 0x44, 0x25, 0x2a, 0xff, 0x17, 0x1b, 0x2e, 0xb9, + 0x98, 0x92, 0xdc, 0xf6, 0xb5, 0x46, 0xfd, 0xf6, 0x43, 0xc2, 0x9e, 0xca, + 0x1b, 0xf6, 0x0a, 0xaa, 0x60, 0x15, 0x7f, 0xe6, 0x49, 0x93, 0xbe, 0x48, + 0x17, 0x20, 0x59, 0xdf, 0x12, 0xa0, 0xd5, 0x67, 0x3b, 0x0a, 0xb2, 0xe6, + 0xbd, 0xaa, 0x0a, 0x4e, 0x45, 0x19, 0x07, 0xe9, 0x66, 0xf1, 0x10, 0x97, + 0x6b, 0xfc, 0x3b, 0x1c, 0xfc, 0xdc, 0x45, 0x70, 0x1b, 0x18, 0xc1, 0xf7, + 0xb8, 0xe7, 0xdb, 0x40, 0xfb, 0x1e, 0x32, 0xda, 0x3d, 0x15, 0x3c, 0x12, + 0x48, 0x27, 0xaf, 0xcf, 0x61, 0xf2, 0xf8, 0x7f, 0xf1, 0xe5, 0xb7, 0xdb, + 0xda, 0xff, 0xe9, 0x2f, 0x96, 0x39, 0x3c, 0xed, 0x0f, 0xd3, 0x2a, 0xe1, + 0x0a, 0xee, 0xda, 0xa5, 0x36, 0xbc, 0xf1, 0x10, 0xc0, 0x4e, 0x0a, 0xfc, + 0x05, 0x2d, 0xe4, 0x15, 0x73, 0x24, 0xf0, 0xf7, 0xa4, 0x29, 0x21, 0xe3, + 0xed, 0x20, 0x9d, 0xd2, 0x07, 0xfc, 0x61, 0x2d, 0xc1, 0x18, 0x1a, 0xed, + 0xbd, 0x3d, 0x81, 0xd0, 0x51, 0xec, 0x52, 0xeb, 0xec, 0x35, 0xd0, 0x1e, + 0x9c, 0x2e, 0xba, 0xd0, 0x43, 0x23, 0x9f, 0xe8, 0xe7, 0x1a, 0xd3, 0xca, + 0x0a, 0x37, 0x1e, 0xeb, 0xdf, 0xe4, 0xd4, 0xcc, 0xe4, 0x35, 0x0b, 0xe4, + 0xf1, 0x12, 0xd3, 0x2e, 0x24, 0x8d, 0x42, 0x2c, 0xd1, 0xaf, 0xd8, 0xfe, + 0xa6, 0x16, 0x5f, 0x41, 0x07, 0xf4, 0xa7, 0xec, 0x17, 0xff, 0x35, 0xc8, + 0xca, 0x9c, 0x34, 0x48, 0xa6, 0x04, 0x15, 0x37, 0x6c, 0xa9, 0xf4, 0xf2, + 0x7f, 0x1c, 0xed, 0x29, 0xd1, 0x6d, 0xd2, 0x58, 0xbf, 0xeb, 0xc7, 0x07, + 0xc1, 0xf0, 0x47, 0xf0, 0xe8, 0x18, 0xc4, 0x17, 0x9b, 0xaa, 0x59, 0x11, + 0x36, 0x36, 0x03, 0xf5, 0xed, 0xd3, 0x52, 0x9c, 0xc7, 0x3c, 0xa4, 0xf1, + 0x0e, 0x33, 0xbe, 0xc2, 0xb7, 0x5a, 0x45, 0xcf, 0x14, 0x66, 0xf7, 0x13, + 0x1f, 0x5a, 0x9e, 0x46, 0xe0, 0x4d, 0x10, 0xdc, 0xaf, 0x78, 0x99, 0xb7, + 0xe2, 0x2c, 0x15, 0x34, 0xde, 0x1f, 0xd0, 0xe0, 0xe7, 0x0a, 0x51, 0x1c, + 0xc2, 0xb0, 0x44, 0x7f, 0x4e, 0x70, 0x05, 0xa6, 0xd0, 0x38, 0xea, 0xd3, + 0x33, 0x54, 0xe1, 0xcf, 0x2c, 0xb9, 0x30, 0x04, 0xda, 0x1d, 0xfc, 0x35, + 0xc9, 0xa8, 0xc0, 0xfc, 0xee, 0xe8, 0xd2, 0xf1, 0x32, 0xfd, 0x2b, 0x16, + 0x9f, 0xe4, 0x11, 0x10, 0xed, 0x81, 0xdb, 0xcf, 0x05, 0x1b, 0x0d, 0x11, + 0x24, 0x19, 0x3d, 0xc9, 0x22, 0xed, 0x03, 0xcc, 0x25, 0xe2, 0x11, 0x0d, + 0xcd, 0x1b, 0xe2, 0x35, 0xed, 0x4a, 0xe0, 0x3f, 0x76, 0xf7, 0x3b, 0x1f, + 0x05, 0x81, 0xe0, 0x44, 0xae, 0xa0, 0xc9, 0xad, 0x70, 0x53, 0xc8, 0xf4, + 0x86, 0x18, 0xf4, 0x00, 0xf5, 0x4e, 0x44, 0x4d, 0x20, 0xc6, 0xfb, 0xe7, + 0xba, 0xd3, 0xbf, 0x4b, 0x12, 0x4c, 0x05, 0x5c, 0xbe, 0x58, 0x1e, 0xf7, + 0xfd, 0xc3, 0x6b, 0xf5, 0x8f, 0xb6, 0xc0, 0x56, 0x3e, 0x98, 0xda, 0x52, + 0xa4, 0xe3, 0xa6, 0x9b, 0x19, 0xa0, 0xf6, 0x15, 0xe1, 0x03, 0x27, 0x21, + 0x55, 0xfb, 0x5a, 0x0f, 0xa4, 0x66, 0x77, 0xc4, 0xac, 0x9a, 0x01, 0x1c, + 0x08, 0xcc, 0x1a, 0x35, 0x0e, 0x52, 0x14, 0xdf, 0xc5, 0x3f, 0x2c, 0x1c, + 0x39, 0xb6, 0x9c, 0x6f, 0x00, 0x7f, 0xc2, 0x19, 0x21, 0x69, 0xdc, 0xfd, + 0xe0, 0x04, 0x0c, 0x3c, 0x69, 0xe7, 0x1f, 0x42, 0xed, 0x42, 0x09, 0xc9, + 0xf4, 0x5b, 0xb3, 0x3b, 0x09, 0xda, 0x97, 0x9b, 0x1e, 0x12, 0xe9, 0x45, + 0xf2, 0x1b, 0xef, 0x92, 0xcb, 0xff, 0xb8, 0x09, 0x26, 0xbe, 0x69, 0x09, + 0x8c, 0xb0, 0x60, 0xd8, 0x15, 0xf9, 0xab, 0xcb, 0xa6, 0x6d, 0x4b, 0x02, + 0xff, 0x3f, 0x53, 0x22, 0x30, 0xe6, 0x47, 0x0e, 0xbb, 0xda, 0x2b, 0x60, + 0x18, 0x27, 0x3e, 0x3c, 0xd8, 0x45, 0x31, 0xb4, 0x7f, 0xfb, 0xf6, 0xe7, + 0x43, 0x2e, 0x1f, 0x42, 0xaf, 0x1f, 0x23, 0xd6, 0x38, 0x21, 0xb9, 0xe1, + 0xf8, 0xeb, 0xd0, 0x13, 0xb0, 0xe6, 0xf9, 0x7f, 0x21, 0x54, 0x5e, 0xb1, + 0xd4, 0xe5, 0xd1, 0xd1, 0x38, 0xd0, 0x44, 0xfc, 0x98, 0x43, 0xc3, 0xb6, + 0x1c, 0x4c, 0xd0, 0xf0, 0xe2, 0xf1, 0x40, 0xf8, 0x8b, 0xf0, 0x0b, 0xcc, + 0x43, 0xf7, 0x1d, 0x3d, 0x37, 0x50, 0xf3, 0xd5, 0x47, 0x55, 0x30, 0x07, + 0xda, 0x04, 0xee, 0xce, 0xf4, 0x29, 0xac, 0x06, 0xc2, 0x7f, 0x19, 0x18, + 0x00, 0xde, 0x18, 0x13, 0x96, 0xc2, 0xb3, 0x1d, 0xf5, 0x0c, 0xbd, 0x4a, + 0x38, 0xc3, 0x83, 0x0e, 0xf7, 0x9c, 0x50, 0x46, 0x26, 0x07, 0x1b, 0x93, + 0xd6, 0xcc, 0xf9, 0xba, 0x15, 0x8d, 0xfc, 0x8d, 0x8c, 0x47, 0x5a, 0x02, + 0x6e, 0xeb, 0x35, 0xb4, 0x21, 0x20, 0xc0, 0xa4, 0xe3, 0xf2, 0x0c, 0x11, + 0xee, 0xcb, 0x0e, 0x1d, 0x92, 0x59, 0xd2, 0x2c, 0x13, 0xd8, 0xb6, 0xe8, + 0xa9, 0xef, 0xb0, 0xfb, 0xde, 0xef, 0xeb, 0xbe, 0xf9, 0xee, 0xef, 0x0f, + 0xd4, 0xea, 0xd7, 0xb5, 0xde, 0xdb, 0xa9, 0x39, 0x0f, 0xb6, 0x48, 0xc1, + 0x62, 0x0c, 0xe6, 0x63, 0xc2, 0x2f, 0xeb, 0x34, 0x0b, 0x0f, 0xdd, 0x7f, + 0x3e, 0xac, 0xa0, 0xf1, 0xd3, 0x01, 0xb9, 0x4a, 0xfc, 0x3f, 0xaa, 0x08, + 0x11, 0x30, 0x78, 0xbf, 0x13, 0x20, 0xfd, 0xbb, 0x10, 0xe7, 0x62, 0x0a, + 0x51, 0xcd, 0xd8, 0x2b, 0xe2, 0x66, 0x28, 0xbf, 0xe0, 0x09, 0x24, 0xeb, + 0xfe, 0xbf, 0xc6, 0xfc, 0xf3, 0x0f, 0x0f, 0x06, 0xdf, 0xea, 0x7f, 0x5f, + 0xae, 0x01, 0xe6, 0xcb, 0xef, 0xd4, 0x0c, 0xd5, 0x24, 0x2c, 0x0d, 0xfd, + 0xae, 0x37, 0x20, 0xf9, 0x13, 0xd3, 0xe4, 0x42, 0x47, 0x45, 0x9f, 0x3b, + 0xde, 0xa3, 0x70, 0x29, 0x21, 0x23, 0x58, 0xf3, 0x04, 0xaa, 0x5c, 0x6f, + 0x02, 0x28, 0x5c, 0x20, 0x1d, 0x55, 0xf7, 0x98, 0xc2, 0xdc, 0xc9, 0xb9, + 0xdf, 0x68, 0x53, 0x01, 0x4d, 0x27, 0x0f, 0xae, 0x42, 0xbe, 0xbc, 0x1f, + 0xdd, 0x87, 0xce, 0xe2, 0x9b, 0x44, 0xee, 0xd3, 0xfe, 0xd0, 0x96, 0x3e, + 0xaf, 0x20, 0xe9, 0x24, 0x34, 0xb9, 0xc0, 0xdf, 0xc7, 0x97, 0x2a, 0x84, + 0xf9, 0x84, 0x9c, 0xec, 0x7f, 0x31, 0xd0, 0x01, 0x10, 0xbf, 0x54, 0x18, + 0x07, 0x8f, 0xd1, 0x07, 0xb6, 0x15, 0x14, 0xe4, 0xb3, 0x15, 0xcd, 0x9f, + 0x3e, 0x60, 0x8b, 0xf3, 0x2f, 0xa1, 0xe4, 0xcd, 0xd4, 0xea, 0xee, 0x5c, + 0x25, 0xee, 0xe4, 0x12, 0xd2, 0x85, 0x15, 0x0d, 0x00, 0x0b, 0x24, 0x2c, + 0x25, 0xa2, 0x09, 0xcb, 0xd7, 0x5c, 0x8b, 0x69, 0xcf, 0x81, 0x0e, 0x09, + 0xc6, 0xa1, 0x0c, 0x39, 0xe1, 0xe6, 0x0f, 0xdb, 0xcc, 0xcf, 0xd0, 0x33, + 0xee, 0xd4, 0x19, 0xf7, 0xbf, 0xbb, 0x54, 0x79, 0x21, 0xff, 0x30, 0x67, + 0xe7, 0x9b, 0x03, 0x5d, 0xc9, 0x36, 0xcc, 0xe9, 0xf6, 0x09, 0xce, 0x07, + 0x0a, 0xb5, 0x3b, 0xbe, 0xbf, 0x81, 0xf6, 0xcc, 0xcd, 0x36, 0xd7, 0xc4, + 0x10, 0xf8, 0xb2, 0xe4, 0x26, 0x47, 0xab, 0x99, 0x21, 0xf7, 0x97, 0x3e, + 0x32, 0x3f, 0x12, 0xa9, 0xd0, 0x48, 0xd7, 0xca, 0xc3, 0xb6, 0xba, 0xda, + 0x9e, 0xad, 0xe5, 0x4c, 0x0e, 0x7f, 0xe0, 0x97, 0x18, 0xd7, 0xf4, 0x10, + 0x75, 0xef, 0xe6, 0x0a, 0xff, 0xae, 0xd9, 0xe4, 0x3f, 0x04, 0x03, 0x0b, + 0xc5, 0x38, 0x8f, 0xad, 0xe1, 0xf8, 0xcb, 0x2e, 0x69, 0x09, 0x2e, 0xbc, + 0x26, 0xc8, 0xe5, 0xae, 0xdf, 0xef, 0x1a, 0x97, 0x0b, 0x49, 0x1c, 0x50, + 0x2e, 0x24, 0xa2, 0x9c, 0x17, 0x4d, 0xfc, 0x05, 0x30, 0x42, 0x5e, 0xfb, + 0x31, 0x5f, 0xce, 0x45, 0x8a, 0x0b, 0x2a, 0x3a, 0xd1, 0xb4, 0xd1, 0x1f, + 0x62, 0x81, 0xd4, 0x22, 0xc8, 0xde, 0xd3, 0xbd, 0xb0, 0x79, 0xb9, 0xdb, + 0xa9, 0x47, 0x2f, 0xe4, 0xfc, 0x89, 0xeb, 0xf4, 0xf8, 0x03, 0x0a, 0xf0, + 0xff, 0xdf, 0xea, 0xc4, 0x13, 0xee, 0x1f, 0xc9, 0x9c, 0xe3, 0x0b, 0x39, + 0x60, 0x60, 0xcf, 0xe1, 0x12, 0xe4, 0xfb, 0x03, 0xda, 0x56, 0x9f, 0x40, + 0xf7, 0xee, 0x0e, 0xa5, 0xf5, 0xab, 0x30, 0x54, 0x9f, 0xba, 0x41, 0xc4, + 0x81, 0x9c, 0x55, 0xb2, 0xd9, 0x10, 0xe0, 0xf7, 0x12, 0xec, 0xe7, 0x2b, + 0x3b, 0x15, 0xef, 0xea, 0x28, 0x53, 0x36, 0xf3, 0x58, 0xda, 0x31, 0xdd, + 0x4c, 0xf5, 0xd3, 0xf8, 0xc9, 0xbb, 0x0f, 0x32, 0xc4, 0xdf, 0x8a, 0x00, + 0x46, 0xfa, 0x73, 0xf6, 0x50, 0x49, 0x9a, 0xd5, 0x2e, 0xa1, 0xf8, 0xd8, + 0x16, 0x40, 0xb9, 0xae, 0xe8, 0x20, 0xde, 0x94, 0xd9, 0xbe, 0x0b, 0xcd, + 0xe4, 0x4d, 0xcd, 0xf4, 0xce, 0x1c, 0x25, 0xfe, 0xb6, 0x81, 0xed, 0x51, + 0xf7, 0x12, 0x3e, 0xc8, 0xfd, 0x0d, 0x11, 0xbc, 0xfc, 0xe0, 0x1d, 0xc9, + 0x22, 0xe3, 0xec, 0x07, 0xd1, 0x43, 0xfd, 0x0c, 0x26, 0x28, 0x1e, 0xe8, + 0xe3, 0xe8, 0x15, 0xce, 0x03, 0x19, 0x09, 0xaf, 0xcb, 0x37, 0x21, 0xfa, + 0xe1, 0xf5, 0xf7, 0xe3, 0x00, 0xea, 0xc6, 0xeb, 0xe6, 0x19, 0xe1, 0xd8, + 0xe3, 0x28, 0xa8, 0x24, 0xda, 0x6f, 0x20, 0x0b, 0x3c, 0xfa, 0xd6, 0x33, + 0xee, 0xf2, 0xdb, 0x46, 0xd3, 0x71, 0xf3, 0xa0, 0x3d, 0x0f, 0xc3, 0xf6, + 0xfd, 0xbd, 0x3f, 0x7f, 0xd6, 0xed, 0xa4, 0x13, 0x5a, 0xc2, 0xf7, 0xfa, + 0x51, 0x00, 0xcb, 0x08, 0xe9, 0x08, 0xb9, 0xf9, 0xe3, 0xde, 0x2a, 0x33, + 0xa6, 0xda, 0xfc, 0xf2, 0xd1, 0xb4, 0x5b, 0xe8, 0x0e, 0xe9, 0xfb, 0x07, + 0x28, 0x0b, 0xe0, 0x09, 0x19, 0x0d, 0xae, 0x04, 0xcb, 0x01, 0x15, 0xf5, + 0x3d, 0xeb, 0x32, 0x41, 0x52, 0xe6, 0x63, 0x12, 0x5a, 0x01, 0x0b, 0x0b, + 0x2d, 0xe3, 0x0d, 0x42, 0xcf, 0x1f, 0x50, 0x37, 0x4e, 0xfd, 0xa1, 0x30, + 0x03, 0x15, 0x7f, 0xeb, 0x35, 0x1d, 0xbc, 0x12, 0xe5, 0xc4, 0xe4, 0x5c, + 0x03, 0x88, 0x1b, 0xd1, 0x5c, 0x34, 0xe4, 0x48, 0x48, 0xe1, 0xe9, 0xdd, + 0x2c, 0x10, 0xb1, 0xd4, 0xd8, 0x28, 0x04, 0x08, 0xa3, 0xab, 0x17, 0x45, + 0x45, 0xfd, 0xdc, 0xde, 0x01, 0xd8, 0x08, 0x3c, 0xa7, 0xea, 0x39, 0x1d, + 0xc7, 0x1a, 0x3a, 0xfd, 0x1b, 0xd4, 0xb1, 0xe4, 0x7f, 0xf9, 0xb1, 0xfa, + 0x0b, 0x0e, 0x1f, 0x0b, 0x23, 0xff, 0x36, 0x29, 0x3a, 0x2e, 0xfc, 0xe9, + 0x5d, 0x54, 0xc5, 0xff, 0x59, 0x54, 0x2f, 0xed, 0x2c, 0xfe, 0xfe, 0xc6, + 0xa5, 0x58, 0xa5, 0xec, 0x75, 0x84, 0x97, 0x3d, 0x3f, 0x93, 0x16, 0xe1, + 0x05, 0xdb, 0xb9, 0xc6, 0x70, 0xca, 0x64, 0x44, 0x7f, 0xd5, 0xff, 0xde, + 0x8a, 0x1b, 0xb5, 0xd3, 0xb6, 0x49, 0xf2, 0x27, 0x99, 0x02, 0xa6, 0xac, + 0xe9, 0xff, 0x14, 0x33, 0xf1, 0x85, 0x2b, 0xc7, 0x2a, 0x2a, 0xe3, 0x3d, + 0xc7, 0x34, 0x01, 0x06, 0x1e, 0x34, 0x5d, 0xc8, 0xfb, 0xb9, 0xc5, 0x20, + 0x32, 0x31, 0xf9, 0xca, 0x6d, 0xee, 0x43, 0x1f, 0xca, 0x47, 0x33, 0x06, + 0x2f, 0xf6, 0xd0, 0x36, 0x34, 0x60, 0x98, 0xa2, 0x07, 0x2f, 0xdd, 0xa6, + 0xc4, 0xe1, 0xf9, 0x7f, 0x5f, 0xfd, 0xd2, 0xc8, 0x23, 0xa7, 0x0a, 0x9e, + 0x62, 0x87, 0x20, 0xe9, 0xa7, 0x26, 0xfd, 0xf4, 0xf8, 0xfe, 0xf7, 0xfb, + 0xbd, 0xe1, 0xb1, 0x3f, 0xd2, 0xee, 0xde, 0xdc, 0xa9, 0xf3, 0xeb, 0x0c, + 0xf3, 0x46, 0x68, 0xf6, 0x23, 0x1b, 0x12, 0xb5, 0x48, 0x81, 0xe8, 0xc7, + 0xd3, 0x2f, 0xfc, 0x14, 0xb0, 0xb7, 0x00, 0x49, 0x41, 0xc9, 0x6b, 0xbf, + 0x94, 0x1d, 0x46, 0xbf, 0xed, 0xe8, 0xe6, 0x40, 0xf3, 0x0c, 0x57, 0x92, + 0x3f, 0xa5, 0x2c, 0xe4, 0xef, 0xd0, 0x48, 0x34, 0x22, 0x4d, 0x0c, 0xa9, + 0xb7, 0x2f, 0xc3, 0xfd, 0xee, 0x37, 0x35, 0x61, 0xc6, 0xcc, 0x2c, 0x1d, + 0x26, 0xaa, 0xc6, 0x60, 0x25, 0xb5, 0x25, 0x43, 0x0f, 0x38, 0xed, 0xdc, + 0x36, 0xdf, 0x59, 0xae, 0xb2, 0xfa, 0xc4, 0x23, 0xf7, 0x57, 0x74, 0x02, + 0x4d, 0xc5, 0x3e, 0x00, 0xe0, 0x98, 0xb0, 0xd0, 0xe2, 0xdd, 0x31, 0x5a, + 0x1c, 0x83, 0xca, 0x37, 0xd4, 0x7f, 0x1a, 0x07, 0x45, 0xea, 0x4d, 0x65, + 0xe2, 0x2c, 0x3a, 0x19, 0x05, 0xf8, 0xab, 0xcc, 0x3e, 0x2e, 0xbb, 0x2e, + 0x04, 0x09, 0xc1, 0xdc, 0x54, 0x68, 0xf3, 0x78, 0x11, 0x1b, 0x3e, 0x50, + 0xc9, 0xa9, 0x0a, 0xc5, 0xb2, 0xd2, 0x54, 0x25, 0xcf, 0xda, 0xc9, 0xc6, + 0xb1, 0x28, 0x1a, 0xe1, 0x98, 0xd5, 0x51, 0x07, 0x44, 0xaa, 0x41, 0xf8, + 0x68, 0xb1, 0xce, 0xec, 0x0b, 0x92, 0x43, 0x81, 0x1e, 0x58, 0xbd, 0xc5, + 0x02, 0x7f, 0x20, 0x06, 0xf6, 0x08, 0x01, 0x5a, 0xec, 0xeb, 0x1a, 0x63, + 0xa7, 0xe8, 0xbc, 0x3b, 0x2e, 0xfa, 0x06, 0x47, 0xed, 0x2b, 0xd7, 0xf2, + 0x23, 0xd1, 0x01, 0xdb, 0x85, 0xd3, 0x5d, 0x16, 0x34, 0xf6, 0x44, 0xa1, + 0x5f, 0xe6, 0x03, 0x24, 0x12, 0x19, 0x45, 0xc7, 0x16, 0xf5, 0xce, 0x69, + 0x2e, 0xb1, 0xd9, 0xe5, 0x09, 0x72, 0xfa, 0x12, 0xb6, 0x81, 0xc7, 0x00, + 0xac, 0xe3, 0x4a, 0x54, 0x52, 0x1e, 0xbe, 0x95, 0xf6, 0x17, 0xdb, 0x19, + 0x0c, 0x35, 0xf7, 0xb9, 0xf3, 0x6c, 0x3f, 0x06, 0xfb, 0xe3, 0xf5, 0x5f, + 0xc6, 0xfb, 0x37, 0x53, 0x15, 0xc7, 0xf6, 0xc4, 0xc5, 0xa7, 0x3d, 0x15, + 0xe4, 0xdd, 0x04, 0x02, 0x20, 0xe1, 0x48, 0xce, 0x50, 0x31, 0x50, 0xea, + 0xce, 0x3d, 0x78, 0xed, 0xde, 0x0c, 0xe3, 0xa0, 0x7f, 0x0a, 0x3b, 0xa9, + 0x53, 0x06, 0xa2, 0xb3, 0xf7, 0x6b, 0x00, 0x99, 0x06, 0x32, 0x15, 0x24, + 0xa5, 0x11, 0x08, 0x10, 0x31, 0x0f, 0x21, 0x3f, 0x2a, 0x9d, 0x01, 0x1e, + 0xd0, 0xc6, 0xea, 0x4b, 0x5f, 0xee, 0xbf, 0xa8, 0x3a, 0xcb, 0x01, 0xff, + 0x0e, 0x1a, 0xcc, 0xd3, 0xa5, 0xce, 0x67, 0xc4, 0xa0, 0x36, 0x13, 0x89, + 0x50, 0xd7, 0x16, 0x05, 0xe6, 0x0f, 0xbb, 0x0f, 0xe4, 0xe2, 0xfa, 0x9e, + 0xc9, 0xb2, 0x05, 0xc7, 0x2d, 0xe6, 0x03, 0xd1, 0x1d, 0xf4, 0x48, 0xef, + 0x53, 0xf1, 0xfd, 0xaa, 0xc0, 0x27, 0x3b, 0xb3, 0x24, 0xcd, 0xa1, 0xcf, + 0xd7, 0xf2, 0xe8, 0x0f, 0x01, 0x17, 0xef, 0xd7, 0x0d, 0x51, 0xd6, 0xb9, + 0x9c, 0xfc, 0xcd, 0x27, 0xd2, 0xd6, 0x1f, 0xca, 0x4f, 0x0c, 0x7f, 0x24, + 0x0e, 0x2b, 0xb0, 0xeb, 0x16, 0xf0, 0xf5, 0xce, 0xfd, 0x9c, 0x0d, 0xdb, + 0xb2, 0xea, 0xef, 0xbb, 0xdc, 0x25, 0xf3, 0x90, 0x5f, 0xfa, 0xfa, 0x3a, + 0x4b, 0xf6, 0x26, 0xee, 0xea, 0xea, 0xcd, 0x27, 0x74, 0xdf, 0x13, 0xa7, + 0x3e, 0x1f, 0x83, 0xe5, 0xcc, 0x59, 0x58, 0x2d, 0x29, 0x50, 0x49, 0x53, + 0x81, 0x68, 0x4b, 0xc4, 0xd5, 0xa8, 0x12, 0xbc, 0x86, 0xb1, 0x5e, 0xaf, + 0xc0, 0x02, 0x97, 0xb1, 0xf8, 0x13, 0x46, 0xd5, 0x4b, 0xc3, 0x93, 0x19, + 0x1a, 0x09, 0x22, 0xa9, 0x3b, 0xfc, 0x6c, 0x1c, 0x2e, 0x0c, 0x31, 0x06, + 0x9d, 0x26, 0xe2, 0x0c, 0xec, 0xf4, 0x24, 0xdc, 0x40, 0xcc, 0x1a, 0xc8, + 0x19, 0x03, 0xaf, 0x74, 0x58, 0xe8, 0x29, 0x5c, 0xc9, 0xd7, 0x2a, 0x29, + 0x0a, 0x6a, 0xc5, 0xbc, 0xde, 0x98, 0x72, 0x16, 0x89, 0x17, 0x07, 0xd6, + 0x3a, 0x7f, 0x4a, 0xff, 0xdc, 0x9b, 0xfc, 0x65, 0xea, 0x0a, 0x0e, 0x57, + 0xb9, 0xc8, 0x08, 0xae, 0xbd, 0xb4, 0xfd, 0x4a, 0xd5, 0xc4, 0xc8, 0xde, + 0x30, 0x1c, 0x5a, 0xd1, 0xfb, 0xeb, 0x40, 0x4c, 0x05, 0xe4, 0xcc, 0xd3, + 0x15, 0xe1, 0xd1, 0x34, 0x22, 0x2c, 0xa2, 0xfa, 0x0b, 0x93, 0x0d, 0x74, + 0x51, 0x15, 0xa6, 0xdf, 0xd8, 0x3f, 0x25, 0xeb, 0xaf, 0xf3, 0xcf, 0xfd, + 0xd1, 0x18, 0x37, 0xd9, 0x08, 0x7f, 0xaf, 0x22, 0x2b, 0x32, 0xed, 0x59, + 0x3e, 0xdf, 0x2d, 0xf0, 0xed, 0x82, 0xbe, 0x09, 0x7f, 0xf3, 0x05, 0xdf, + 0xba, 0xc4, 0x4b, 0x5e, 0xda, 0x09, 0x2d, 0x26, 0xe2, 0x5a, 0x35, 0x98, + 0x8e, 0xf3, 0xd3, 0x05, 0xf4, 0x06, 0xbf, 0x12, 0xd3, 0x18, 0x4a, 0xbb, + 0xc8, 0x3f, 0x3c, 0x21, 0x34, 0x96, 0xe7, 0xde, 0xf0, 0xd7, 0xf5, 0x70, + 0xc7, 0xe5, 0xbd, 0x8f, 0x2c, 0x42, 0x01, 0xda, 0x39, 0x7e, 0xd7, 0x01, + 0xbd, 0x48, 0x0b, 0xce, 0xc8, 0x81, 0xfc, 0x4d, 0xfe, 0x15, 0x35, 0xf8, + 0xc0, 0xa5, 0xa0, 0xf8, 0x42, 0x13, 0x2a, 0x31, 0xff, 0x57, 0x2b, 0xb4, + 0x9a, 0x24, 0x3e, 0xa4, 0x02, 0xd2, 0xe4, 0x11, 0x37, 0x25, 0xe6, 0xd1, + 0x09, 0xec, 0x53, 0x00, 0x2f, 0x1b, 0xff, 0x23, 0xa7, 0x56, 0xe5, 0x0e, + 0xe6, 0x3f, 0x27, 0x3b, 0xd7, 0x42, 0xaf, 0x1c, 0xf0, 0x08, 0xfd, 0xcc, + 0xf9, 0x3a, 0x23, 0xe8, 0x31, 0x81, 0x1b, 0x1d, 0xeb, 0x13, 0x37, 0x01, + 0xf0, 0xd4, 0xf3, 0xda, 0xa4, 0xdf, 0x0b, 0x1f, 0xeb, 0x11, 0x19, 0xcb, + 0xa6, 0x21, 0xe2, 0xa8, 0xf9, 0xa1, 0x0a, 0xe8, 0x30, 0x04, 0x22, 0xff, + 0xfd, 0xd5, 0x32, 0xf2, 0xd9, 0xd3, 0xe8, 0xdc, 0xe4, 0xee, 0xce, 0x14, + 0xdc, 0x11, 0x4e, 0x05, 0xda, 0x50, 0x9e, 0xce, 0x10, 0xaf, 0xe0, 0xc9, + 0xd2, 0xda, 0xbf, 0x48, 0xd3, 0x03, 0x3d, 0x03, 0xdb, 0x12, 0xd4, 0xd5, + 0xdb, 0xc8, 0xe9, 0x4d, 0xc3, 0x11, 0x0c, 0xfa, 0x36, 0x49, 0x02, 0x79, + 0x64, 0x63, 0xe9, 0xe6, 0x30, 0x06, 0xfb, 0xb5, 0xa0, 0x53, 0xec, 0x81, + 0xf5, 0xe8, 0x2d, 0x15, 0x17, 0x43, 0xf4, 0xe8, 0xeb, 0x01, 0x5b, 0x48, + 0x60, 0x12, 0x1d, 0x2a, 0xb8, 0x41, 0xf2, 0x3a, 0x20, 0x29, 0xd7, 0x0f, + 0xf1, 0x32, 0x34, 0x33, 0xc1, 0x41, 0xcb, 0x1c, 0x2a, 0x10, 0x17, 0x28, + 0x0d, 0x2f, 0xf2, 0xe5, 0x08, 0xd9, 0x05, 0x1a, 0x4e, 0x2c, 0x1d, 0xe3, + 0xd0, 0x0b, 0x17, 0xb8, 0x7f, 0x2a, 0xbc, 0x07, 0xf5, 0xcf, 0xe8, 0xff, + 0xf8, 0x24, 0x03, 0x99, 0x09, 0x0f, 0x0a, 0x23, 0x01, 0xf5, 0xec, 0x13, + 0x0a, 0xdb, 0xe8, 0xcd, 0xbd, 0xc7, 0xe4, 0x21, 0xc7, 0xca, 0x49, 0xbe, + 0xa1, 0x0d, 0xd5, 0xe9, 0x16, 0x54, 0x41, 0x02, 0x59, 0xb7, 0x1d, 0xf9, + 0xe1, 0xc4, 0xa9, 0xd5, 0xe5, 0xce, 0xd3, 0x14, 0xeb, 0xf6, 0xf7, 0xee, + 0x24, 0xe9, 0x13, 0xfe, 0xc7, 0x37, 0x35, 0xf1, 0xdf, 0xf6, 0x51, 0xe8, + 0xb9, 0xed, 0xe9, 0xff, 0xbd, 0x18, 0xbd, 0xd4, 0x81, 0xd4, 0xcb, 0x39, + 0xdd, 0xe0, 0xcd, 0xde, 0x00, 0x06, 0xa4, 0x4a, 0xfa, 0x01, 0x3a, 0x09, + 0xa1, 0x1c, 0x1f, 0x01, 0x0e, 0x81, 0x35, 0xfc, 0xf9, 0xee, 0xcc, 0x04, + 0x33, 0xf4, 0x17, 0xd1, 0xe5, 0xb9, 0xbe, 0xf6, 0x1a, 0xfd, 0xe0, 0xb5, + 0xe6, 0x27, 0x23, 0x01, 0xf1, 0xe0, 0x2f, 0xcb, 0xf1, 0x19, 0xa7, 0x3d, + 0xf1, 0xb4, 0x23, 0xea, 0x38, 0x0e, 0x21, 0xdd, 0x21, 0x2c, 0xff, 0x41, + 0xde, 0x42, 0x3c, 0x0a, 0xda, 0x67, 0x93, 0x2c, 0xe1, 0x35, 0xcf, 0x52, + 0x13, 0x10, 0x1d, 0xb0, 0x14, 0xbc, 0x12, 0x69, 0x07, 0xe9, 0x24, 0xf2, + 0xee, 0xe3, 0x81, 0x25, 0xd3, 0x43, 0x22, 0x4a, 0x3b, 0xbd, 0x0f, 0x40, + 0xb8, 0xd1, 0xea, 0x0d, 0xdd, 0xfc, 0xb9, 0x0e, 0x20, 0xfc, 0xcf, 0x07, + 0xd2, 0x3e, 0xf9, 0x96, 0x16, 0x3a, 0x09, 0x59, 0x44, 0x07, 0x9a, 0xf3, + 0xb1, 0xde, 0xaf, 0x5d, 0x54, 0xcd, 0x13, 0x0a, 0xec, 0xf1, 0x11, 0x05, + 0xd5, 0xe5, 0x26, 0x96, 0xd4, 0xe8, 0x35, 0xb9, 0xed, 0x85, 0x03, 0xe0, + 0x1a, 0xbd, 0x03, 0x81, 0x40, 0xe5, 0x1a, 0xef, 0xfe, 0x0d, 0x07, 0x4d, + 0x17, 0x2a, 0xeb, 0x71, 0xca, 0xfb, 0x5f, 0xc3, 0xdc, 0x6b, 0x74, 0xc4, + 0x65, 0x15, 0x1d, 0xf6, 0x9f, 0x96, 0x25, 0x23, 0xfa, 0x62, 0x6b, 0xa2, + 0x06, 0xb9, 0xfb, 0x51, 0x31, 0xfd, 0x86, 0x5b, 0x5a, 0xd9, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, + 0x10, 0xe3, 0xff, 0xff, 0xa7, 0xf0, 0xff, 0xff, 0x7d, 0xd3, 0xff, 0xff, + 0x6b, 0x01, 0x00, 0x00, 0xb3, 0x12, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0xff, 0xa0, 0x1f, 0x00, 0x00, 0x28, 0xf9, 0xff, 0xff, + 0xd6, 0xd0, 0xff, 0xff, 0xd1, 0x08, 0x00, 0x00, 0xcd, 0xe4, 0xff, 0xff, + 0x8e, 0xfb, 0xff, 0xff, 0xcb, 0x0c, 0x00, 0x00, 0x53, 0x10, 0x00, 0x00, + 0x8e, 0xfb, 0xff, 0xff, 0x8f, 0xf5, 0xff, 0xff, 0xad, 0x0b, 0x00, 0x00, + 0xe8, 0xf5, 0xff, 0xff, 0x4e, 0x06, 0x00, 0x00, 0xf5, 0xd5, 0xff, 0xff, + 0xeb, 0xfe, 0xff, 0xff, 0xc6, 0x17, 0x00, 0x00, 0x43, 0xe4, 0xff, 0xff, + 0x95, 0xd8, 0xff, 0xff, 0xb8, 0xdb, 0xff, 0xff, 0xbd, 0x12, 0x00, 0x00, + 0x7e, 0x0e, 0x00, 0x00, 0xeb, 0x13, 0x00, 0x00, 0xbe, 0x15, 0x00, 0x00, + 0x28, 0xd6, 0xff, 0xff, 0xce, 0x16, 0x00, 0x00, 0xa6, 0xe6, 0xff, 0xff, + 0xba, 0x00, 0x00, 0x00, 0xd8, 0x0e, 0x00, 0x00, 0x5c, 0xff, 0xff, 0xff, + 0x1d, 0xff, 0xff, 0xff, 0x0a, 0x04, 0x00, 0x00, 0x01, 0x1d, 0x00, 0x00, + 0x32, 0x10, 0x00, 0x00, 0xda, 0x09, 0x00, 0x00, 0xbc, 0xe0, 0xff, 0xff, + 0x5a, 0xe9, 0xff, 0xff, 0xae, 0xde, 0xff, 0xff, 0x9c, 0x0f, 0x00, 0x00, + 0x43, 0x15, 0x00, 0x00, 0xc2, 0xed, 0xff, 0xff, 0xcc, 0x1d, 0x00, 0x00, + 0x07, 0x11, 0x00, 0x00, 0x6a, 0x0d, 0x00, 0x00, 0xca, 0xd6, 0xff, 0xff, + 0x10, 0xc9, 0xff, 0xff, 0x5a, 0xe5, 0xff, 0xff, 0x50, 0xfe, 0xff, 0xff, + 0x66, 0x09, 0x00, 0x00, 0x38, 0x14, 0x00, 0x00, 0xff, 0xe3, 0xff, 0xff, + 0xba, 0xf4, 0xff, 0xff, 0xed, 0xfe, 0xff, 0xff, 0x56, 0xda, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x7f, 0xcd, 0xdc, 0x7f, + 0x81, 0x4f, 0x9d, 0xa3, 0x17, 0x8b, 0x34, 0x26, 0x7f, 0x4f, 0x7f, 0x7f, + 0x8a, 0x98, 0xc8, 0x81, 0x7f, 0x5b, 0x96, 0x7f, 0x81, 0x58, 0x18, 0x81, + 0xb4, 0x7f, 0xba, 0x81, 0x85, 0x81, 0x7f, 0x29, 0xf4, 0x0f, 0x81, 0x1a, + 0xcc, 0xe6, 0x11, 0xc3, 0xfc, 0xe1, 0x81, 0x7f, 0x47, 0xc7, 0x7f, 0x7f, + 0xb6, 0x7f, 0xd1, 0x5e, 0x0d, 0x81, 0x83, 0x7f, 0x50, 0x81, 0xa3, 0x05, + 0xab, 0x7f, 0x6b, 0xbf, 0x0e, 0x49, 0x7f, 0xa0, 0xc8, 0x65, 0xb9, 0xab, + 0x7c, 0x00, 0x7f, 0xf3, 0x04, 0x02, 0x57, 0x2e, 0xe5, 0xce, 0xde, 0x27, + 0x23, 0x11, 0x65, 0xd6, 0xa8, 0x46, 0x55, 0x08, 0xc7, 0x7f, 0x3c, 0x84, + 0xf1, 0x77, 0x7f, 0x20, 0x28, 0x61, 0xb8, 0xf5, 0xfe, 0x81, 0x6c, 0x49, + 0xf7, 0x3c, 0xec, 0xdf, 0xac, 0xd1, 0xa7, 0xb7, 0x0b, 0xee, 0xc8, 0xe4, + 0xc8, 0xfe, 0x26, 0x7f, 0x81, 0x0d, 0x0d, 0x09, 0x14, 0x00, 0x2d, 0x9c, + 0x55, 0x03, 0xc4, 0xb0, 0x43, 0x24, 0x58, 0x43, 0x56, 0x34, 0xb5, 0xae, + 0xab, 0x0e, 0x81, 0xe1, 0x81, 0x53, 0xbb, 0x42, 0xd9, 0xfa, 0x34, 0x62, + 0xdb, 0xa9, 0x06, 0xd0, 0x23, 0x9d, 0x49, 0xee, 0x32, 0x38, 0xd4, 0x63, + 0xb0, 0x2d, 0x81, 0x7f, 0x7f, 0xdc, 0x7f, 0xe6, 0xe4, 0x5e, 0x81, 0x54, + 0x6f, 0x3e, 0x7f, 0x56, 0xc7, 0x81, 0x38, 0x7f, 0x3f, 0x7f, 0xb7, 0xf4, + 0x81, 0x7f, 0x21, 0xba, 0x4f, 0x7f, 0x7f, 0x93, 0x05, 0x81, 0x81, 0xd3, + 0x7f, 0x2f, 0x12, 0xcb, 0xbc, 0x50, 0xe3, 0x81, 0x81, 0xf7, 0xbc, 0x81, + 0x81, 0x7f, 0x95, 0x7f, 0x81, 0x81, 0xd2, 0x28, 0x7f, 0x3e, 0x29, 0x72, + 0x81, 0x13, 0x3b, 0x48, 0x69, 0x18, 0xca, 0x48, 0x52, 0xdb, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xce, 0xff, 0xff, 0xff, + 0xd0, 0xff, 0xff, 0xff, 0x39, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xe5, 0xff, 0xff, 0xff, 0xdc, 0xff, 0xff, 0xff, + 0x5e, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0xeb, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, + 0x52, 0x00, 0x00, 0x00, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xea, 0xff, 0xff, 0xff, + 0xb5, 0xff, 0xff, 0xff, 0x06, 0x00, 0x00, 0x00, 0xf7, 0xff, 0xff, 0xff, + 0xe9, 0xff, 0xff, 0xff, 0x1d, 0x00, 0x00, 0x00, 0xd2, 0xff, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xd7, 0xfe, 0xff, 0xff, 0x9e, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0xff, 0xff, 0x1b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0xeb, 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, + 0x26, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff, + 0x09, 0x00, 0x00, 0x00, 0xea, 0xff, 0xff, 0xff, 0x37, 0x00, 0x00, 0x00, + 0xfa, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0x21, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xf5, 0xff, 0xff, 0xff, + 0x0d, 0x00, 0x00, 0x00, 0xd5, 0xff, 0xff, 0xff, 0x2b, 0x00, 0x00, 0x00, + 0xd9, 0xff, 0xff, 0xff, 0xc4, 0xff, 0xff, 0xff, 0x4e, 0xdc, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0x00, 0x3a, 0xfc, 0xd1, 0x45, + 0x53, 0x52, 0x11, 0x2a, 0xf3, 0xf7, 0xbd, 0x29, 0xf0, 0x34, 0xf6, 0x13, + 0xac, 0xe2, 0xdc, 0x32, 0xc3, 0x5c, 0x0d, 0xdd, 0x1a, 0xea, 0x81, 0x45, + 0x2c, 0xcc, 0x2d, 0xa8, 0x5e, 0x35, 0xb5, 0x3a, 0xf8, 0x12, 0xc6, 0x18, + 0x18, 0x07, 0xbc, 0xc6, 0xce, 0xcf, 0xe1, 0x10, 0xdd, 0xe5, 0x13, 0xe5, + 0xb1, 0x12, 0x93, 0x35, 0xac, 0x3d, 0xa4, 0x38, 0xc5, 0xe5, 0x92, 0x07, + 0x59, 0x4c, 0x59, 0x4f, 0xee, 0x5a, 0x2e, 0x2b, 0xf0, 0xce, 0xb9, 0x53, + 0x37, 0xc1, 0xe4, 0xd5, 0x2c, 0xeb, 0xc0, 0x1a, 0xc1, 0x90, 0xe0, 0x5a, + 0xa1, 0xd9, 0xe9, 0xcf, 0xfb, 0xef, 0xe2, 0x00, 0xf7, 0x23, 0x16, 0x6c, + 0x03, 0xbb, 0xe2, 0xb9, 0x52, 0xba, 0x29, 0x0c, 0x37, 0x55, 0x44, 0xaf, + 0x81, 0x49, 0x22, 0xb5, 0x41, 0x5f, 0xa1, 0xf9, 0x34, 0xea, 0x3f, 0x17, + 0x34, 0xea, 0x58, 0x33, 0x35, 0x28, 0x3f, 0x03, 0xfa, 0xe9, 0xb1, 0x07, + 0x4a, 0xaa, 0xd4, 0xfd, 0x23, 0xe9, 0xc1, 0x27, 0xcb, 0x5c, 0x3c, 0xf0, + 0xe3, 0xf8, 0x04, 0xba, 0x21, 0xc9, 0xed, 0xbc, 0xb6, 0xf5, 0xa2, 0x1c, + 0xdb, 0x81, 0x0c, 0x41, 0xf0, 0xc4, 0xf4, 0x12, 0x2a, 0xf8, 0xd2, 0xe1, + 0x12, 0xb8, 0x15, 0xb5, 0x44, 0x17, 0x5c, 0xf6, 0xb5, 0x9c, 0xc3, 0x05, + 0x38, 0xa5, 0x0c, 0x31, 0xb0, 0x25, 0x16, 0xe1, 0xc3, 0xf9, 0xfc, 0xb0, + 0xb3, 0x3b, 0xfd, 0xd6, 0xfd, 0x2b, 0xce, 0xf2, 0xc5, 0x48, 0xa1, 0x24, + 0x18, 0x12, 0xb4, 0x27, 0x21, 0x36, 0x0e, 0xbd, 0x4b, 0x6d, 0xc7, 0xf8, + 0xee, 0xde, 0xb9, 0xff, 0xff, 0x51, 0x5e, 0xdb, 0xaf, 0x06, 0x4e, 0x47, + 0xca, 0x7f, 0xe2, 0xb4, 0xdc, 0xd1, 0x37, 0xd3, 0x01, 0x99, 0xba, 0x06, + 0x0f, 0xc6, 0x5a, 0xb0, 0x45, 0x03, 0xf9, 0xf9, 0xc0, 0xc5, 0xc9, 0xd9, + 0x4b, 0x05, 0x3f, 0xc4, 0xca, 0x0e, 0xf4, 0xaa, 0xce, 0xfb, 0x1f, 0xe9, + 0x3f, 0xf0, 0xd6, 0x0f, 0x43, 0x01, 0xbc, 0xf6, 0xf9, 0x34, 0x4c, 0x21, + 0xfc, 0x3d, 0xfe, 0xbd, 0x33, 0xd2, 0xf6, 0x27, 0xdf, 0x0e, 0xfc, 0x42, + 0x8e, 0x21, 0xe6, 0x23, 0xf5, 0x81, 0x43, 0xf8, 0x13, 0x0a, 0x01, 0xcb, + 0x34, 0x46, 0xbe, 0xc9, 0xec, 0x96, 0xfe, 0x5c, 0x06, 0xdd, 0xd3, 0xae, + 0xdb, 0xbc, 0x3a, 0xe1, 0x43, 0x81, 0x0f, 0x51, 0xa2, 0x5f, 0x08, 0xcd, + 0xd4, 0xbf, 0x55, 0xe0, 0x29, 0xf9, 0x1a, 0x85, 0x8e, 0x42, 0xb2, 0x98, + 0xe8, 0x61, 0xd0, 0x70, 0xbb, 0x8e, 0x1f, 0xfc, 0xba, 0x40, 0x4e, 0xa0, + 0xf6, 0x1b, 0xe3, 0x46, 0xcd, 0x07, 0xe0, 0xb4, 0xa9, 0xfb, 0xd1, 0x22, + 0x2b, 0x00, 0x38, 0x35, 0xd7, 0x00, 0x2e, 0xce, 0x26, 0xf5, 0x3d, 0x25, + 0x3e, 0x49, 0x22, 0x0c, 0x8d, 0x0b, 0xae, 0xe9, 0x1b, 0xe2, 0x9b, 0xc3, + 0x0b, 0x38, 0xa4, 0xb8, 0x23, 0xf1, 0xef, 0x0e, 0x08, 0xde, 0xcd, 0xb0, + 0x4c, 0x0f, 0xf5, 0xbf, 0x81, 0x13, 0xd8, 0xd9, 0xfa, 0xae, 0xfa, 0x2c, + 0xb6, 0x09, 0xca, 0xd3, 0xc3, 0x9b, 0xc4, 0x39, 0x34, 0x23, 0x1e, 0xcf, + 0xda, 0xc7, 0x4a, 0x33, 0x1e, 0x07, 0x1e, 0x2b, 0x2b, 0x9b, 0xce, 0x60, + 0xee, 0x71, 0x57, 0x4e, 0x23, 0xdc, 0xbb, 0xae, 0x12, 0x03, 0x7f, 0x3a, + 0xf5, 0x5a, 0xe2, 0xa9, 0xfd, 0xfb, 0x5e, 0xd6, 0xcb, 0xdc, 0x31, 0x14, + 0xd5, 0x3a, 0x51, 0x1c, 0x39, 0xd9, 0xce, 0xf9, 0x3c, 0x5f, 0x41, 0x11, + 0x5d, 0x3d, 0x38, 0x6b, 0xaa, 0x3c, 0xd7, 0xee, 0xe9, 0xaa, 0xb0, 0x7f, + 0x4f, 0xeb, 0xe0, 0xb0, 0xc6, 0x48, 0xe5, 0x51, 0x1b, 0x52, 0xec, 0x8b, + 0x17, 0x23, 0x01, 0xac, 0x34, 0x52, 0xef, 0xb8, 0xd7, 0xb5, 0xac, 0xf4, + 0x55, 0x70, 0x98, 0xcf, 0x23, 0xa2, 0x51, 0x10, 0x34, 0xe1, 0x4c, 0xe9, + 0xa6, 0x27, 0xff, 0xee, 0xc1, 0x0f, 0xb4, 0xf1, 0x05, 0xce, 0x75, 0x19, + 0xbd, 0x61, 0xce, 0x3a, 0xd3, 0x98, 0xea, 0x1d, 0x35, 0xec, 0xd2, 0xf5, + 0x3e, 0xde, 0xb3, 0xea, 0x11, 0xb9, 0x2b, 0x4a, 0x3e, 0x40, 0xfa, 0x51, + 0x06, 0x46, 0x5b, 0x1b, 0xf3, 0x40, 0xf1, 0xdf, 0x1a, 0x4b, 0x54, 0x64, + 0x20, 0xfb, 0xdb, 0x31, 0xd0, 0xe9, 0xc9, 0x2d, 0x54, 0x81, 0x11, 0x35, + 0x0d, 0xa1, 0x00, 0xc3, 0x2c, 0xc0, 0x50, 0x0c, 0xdb, 0x48, 0x32, 0x4e, + 0x37, 0x5d, 0x1d, 0x75, 0xa8, 0x0b, 0xb3, 0xe4, 0x2d, 0x24, 0x31, 0xaf, + 0xd2, 0xe3, 0x42, 0xc6, 0x1b, 0x1d, 0xba, 0xd5, 0x81, 0x2c, 0xe5, 0x94, + 0xe5, 0xc7, 0xcf, 0x71, 0x13, 0xc8, 0x0b, 0x53, 0xc4, 0xed, 0xf0, 0x1b, + 0xda, 0x0e, 0xc1, 0xa0, 0xef, 0xce, 0x1b, 0xca, 0xd6, 0x1d, 0xb9, 0xc1, + 0xe0, 0x1e, 0x35, 0xe4, 0x46, 0xbe, 0xf2, 0xd0, 0x42, 0x2a, 0xe3, 0x2a, + 0x36, 0xcd, 0x9c, 0x93, 0x10, 0xd1, 0x09, 0xdf, 0x6a, 0xee, 0xa5, 0x7f, + 0xc9, 0xab, 0xad, 0x0e, 0x3c, 0x3f, 0x04, 0x1b, 0x9b, 0xd3, 0xbf, 0x2f, + 0x10, 0xdd, 0xfd, 0x0e, 0x1c, 0x71, 0xb9, 0x0d, 0x0d, 0x45, 0xa1, 0x47, + 0x42, 0x51, 0xf0, 0xcf, 0xf8, 0x69, 0xc1, 0xdd, 0x0f, 0x02, 0xd2, 0xa2, + 0xfb, 0xd6, 0x06, 0xa4, 0xe7, 0xf8, 0x28, 0xf1, 0x36, 0xe5, 0x1b, 0x17, + 0xd1, 0x47, 0xc6, 0x61, 0xf3, 0x1d, 0xb3, 0x47, 0x24, 0xce, 0x46, 0xdc, + 0xb6, 0x0e, 0x21, 0x30, 0x95, 0xe9, 0xb4, 0xf2, 0xbe, 0x45, 0xbc, 0x19, + 0x0e, 0x43, 0xfb, 0x79, 0x53, 0xf6, 0x33, 0x6c, 0x3d, 0x17, 0x7f, 0xd6, + 0x24, 0x4c, 0x32, 0xc2, 0xbf, 0x3f, 0x06, 0x11, 0x12, 0xe4, 0xdf, 0x0b, + 0x0d, 0xfa, 0x13, 0x02, 0x3f, 0x08, 0x4c, 0x1f, 0xfc, 0x5e, 0xad, 0xeb, + 0xed, 0xa5, 0xe8, 0x00, 0x40, 0x0c, 0xb8, 0x44, 0x0c, 0x02, 0xc7, 0xa9, + 0xcf, 0xa6, 0xbb, 0xfe, 0xb3, 0xe7, 0x01, 0xcd, 0x0b, 0xb5, 0x9f, 0x98, + 0xe9, 0x0b, 0x81, 0xcf, 0x22, 0x9b, 0x31, 0xd4, 0x9e, 0x14, 0x57, 0x0d, + 0xfa, 0x51, 0x53, 0xa3, 0x86, 0x35, 0xa3, 0xc6, 0xe9, 0x15, 0xfb, 0x14, + 0x37, 0xbb, 0x56, 0xf5, 0x3a, 0xb3, 0x03, 0xfc, 0x74, 0x0e, 0xc0, 0xeb, + 0x3e, 0xa7, 0xeb, 0x52, 0x4b, 0x21, 0xde, 0x2d, 0x43, 0x22, 0xb9, 0xce, + 0x09, 0xa8, 0xe7, 0xfe, 0xfb, 0x8e, 0xd9, 0x86, 0x16, 0x29, 0xfd, 0xeb, + 0x0b, 0xdb, 0xad, 0x0b, 0x31, 0xb5, 0xdb, 0x7f, 0x08, 0xeb, 0x70, 0x9f, + 0x0b, 0x3e, 0xcb, 0x5d, 0xc3, 0xfa, 0xad, 0xa8, 0xac, 0x0e, 0x51, 0x1f, + 0x8b, 0x40, 0x9e, 0x9b, 0x05, 0xeb, 0x48, 0x29, 0x28, 0x39, 0x60, 0x02, + 0x0d, 0x9f, 0xbf, 0x36, 0x73, 0x4b, 0xf2, 0x78, 0xdf, 0xf0, 0xd8, 0x5a, + 0xc4, 0x9d, 0xee, 0x00, 0x11, 0xbf, 0xfd, 0xc4, 0xc6, 0xb4, 0x0f, 0xe4, + 0xca, 0x17, 0xf4, 0xc4, 0x37, 0x30, 0xf0, 0x1e, 0xaf, 0xae, 0xad, 0x25, + 0xd9, 0xda, 0xe1, 0x03, 0xdc, 0x47, 0x32, 0xf9, 0x1f, 0x3c, 0xba, 0xda, + 0xeb, 0xa8, 0xc4, 0x16, 0xdb, 0x15, 0xcd, 0xf1, 0xa1, 0x3e, 0x46, 0x00, + 0x81, 0x2d, 0xea, 0xfd, 0x9a, 0xfb, 0xbf, 0xbd, 0xd4, 0x4a, 0xfe, 0x25, + 0xf4, 0x61, 0x8d, 0x28, 0xd7, 0x55, 0x25, 0xb8, 0x9c, 0x15, 0xd6, 0x24, + 0xa7, 0x00, 0xc2, 0x1d, 0xcf, 0x7b, 0xa4, 0xe8, 0x33, 0x31, 0xee, 0x06, + 0x17, 0xf3, 0x8f, 0x81, 0x62, 0xe5, 0xaa, 0x35, 0xaf, 0xac, 0xa8, 0xe2, + 0xe9, 0x3b, 0xcf, 0xa8, 0xe8, 0xde, 0xa6, 0x30, 0xb2, 0xd0, 0xe8, 0x52, + 0xa9, 0xf7, 0x47, 0x5e, 0x20, 0xdb, 0x2d, 0xd2, 0xef, 0xf8, 0x04, 0x3c, + 0x5f, 0x25, 0xab, 0xc7, 0xa7, 0x02, 0x25, 0xf6, 0x34, 0x18, 0x96, 0x0b, + 0xbd, 0x26, 0x30, 0x81, 0x27, 0x16, 0x1f, 0x16, 0x9e, 0x5e, 0x0c, 0xd2, + 0x0d, 0xc6, 0x16, 0xd3, 0x52, 0x3c, 0x04, 0xaa, 0x09, 0x63, 0xfd, 0xda, + 0xda, 0x77, 0x08, 0x13, 0x4b, 0xb5, 0x26, 0xb0, 0xf3, 0xfa, 0x0b, 0x3e, + 0x2c, 0x28, 0x4d, 0xf6, 0x35, 0x8f, 0xd7, 0x2d, 0x2c, 0xdc, 0x26, 0xf4, + 0x38, 0x39, 0xd9, 0x09, 0xc2, 0x50, 0x42, 0xe3, 0xc8, 0x2c, 0x49, 0xfb, + 0x2d, 0x4c, 0xdb, 0x81, 0xfa, 0xe2, 0x73, 0x89, 0xbf, 0x50, 0x03, 0x0e, + 0x14, 0x52, 0x3c, 0xc3, 0x1c, 0x90, 0x35, 0xfe, 0x20, 0x5f, 0x13, 0xcb, + 0x0f, 0x47, 0x32, 0x51, 0x57, 0x03, 0x0e, 0xad, 0x30, 0x42, 0x46, 0xec, + 0x3a, 0x40, 0x3a, 0x45, 0x3e, 0xaa, 0xf0, 0x42, 0x0c, 0xb7, 0xfa, 0x10, + 0xdd, 0x2e, 0x66, 0xba, 0xd0, 0xcc, 0xe8, 0xd2, 0xac, 0xe7, 0xeb, 0xc6, + 0x12, 0x40, 0x9a, 0x8f, 0xbe, 0x34, 0x2a, 0xd9, 0x59, 0xcd, 0x5b, 0xcc, + 0x38, 0x02, 0xb5, 0x06, 0xaf, 0x93, 0x75, 0xca, 0xd7, 0x59, 0x01, 0xc9, + 0x0b, 0x93, 0xbf, 0xe4, 0x4a, 0xef, 0xcb, 0x41, 0x07, 0x27, 0x7f, 0x22, + 0xf4, 0x4e, 0xfa, 0xb6, 0x29, 0xb7, 0x57, 0xc9, 0xb3, 0x13, 0xb3, 0x30, + 0x10, 0x0c, 0xa5, 0xe0, 0xed, 0xf1, 0x00, 0xdb, 0xc9, 0x21, 0xa4, 0x41, + 0xd9, 0xbf, 0x27, 0xce, 0xfb, 0x7f, 0x2b, 0x56, 0x2e, 0xce, 0xe2, 0x13, + 0x1a, 0xd9, 0xfe, 0xa1, 0x37, 0x72, 0x14, 0x51, 0xf5, 0x34, 0x10, 0x25, + 0x27, 0xff, 0xc6, 0x3e, 0xd6, 0x65, 0x3a, 0x20, 0xff, 0x22, 0xe8, 0xd0, + 0x83, 0x90, 0x58, 0x44, 0x00, 0x5a, 0xfc, 0x39, 0xde, 0xc1, 0xae, 0x7c, + 0x28, 0x04, 0x04, 0x12, 0xd0, 0xce, 0x25, 0xc2, 0x32, 0xcd, 0x16, 0xa5, + 0x44, 0x41, 0x0b, 0xb4, 0xe2, 0x63, 0x29, 0x25, 0xb7, 0xb8, 0x1c, 0x46, + 0xf8, 0x45, 0xd4, 0xb9, 0x5b, 0x07, 0xef, 0x3a, 0x3f, 0x55, 0x24, 0x2e, + 0x40, 0x45, 0xd3, 0xb0, 0xb5, 0x25, 0x20, 0xf5, 0xba, 0x25, 0xf5, 0x33, + 0xf0, 0x7f, 0x05, 0x07, 0xd9, 0xfd, 0x36, 0xf9, 0xef, 0xe8, 0x34, 0x7f, + 0x2d, 0x1b, 0x14, 0xff, 0x0c, 0x12, 0xcb, 0x11, 0x30, 0x0a, 0x00, 0x3d, + 0x16, 0x44, 0x0b, 0x9f, 0x1f, 0x39, 0xc4, 0xd2, 0x03, 0x0d, 0xe2, 0x0c, + 0xe1, 0xe0, 0xd7, 0xfc, 0xde, 0x4b, 0x18, 0x21, 0x2a, 0xfe, 0x38, 0x0b, + 0x18, 0xbf, 0x99, 0x22, 0xb7, 0xfc, 0x03, 0x22, 0xd3, 0xda, 0xee, 0x57, + 0xb9, 0x27, 0xc3, 0xd1, 0xe0, 0xb8, 0x01, 0x47, 0xb7, 0xbc, 0xc3, 0xdb, + 0x6a, 0x8c, 0xac, 0x27, 0x4e, 0x04, 0x79, 0x99, 0xe2, 0x58, 0xd1, 0xc3, + 0x1b, 0xe8, 0xaf, 0x32, 0xed, 0xfc, 0xdd, 0x14, 0xd2, 0x2d, 0xdc, 0x60, + 0xfe, 0xd9, 0xd0, 0x81, 0xb5, 0x9d, 0xde, 0x2a, 0xe8, 0x03, 0xdb, 0x70, + 0x1d, 0x0b, 0x20, 0x4a, 0xe6, 0xc1, 0x3a, 0xf1, 0x67, 0xdd, 0xa9, 0x59, + 0x35, 0x14, 0x22, 0x77, 0x4d, 0xb2, 0xe3, 0xc3, 0x3b, 0xc0, 0x72, 0x0b, + 0xe9, 0x81, 0xf4, 0xec, 0x3d, 0xd5, 0xb9, 0x4d, 0xec, 0x51, 0x21, 0xa7, + 0x18, 0xf2, 0xd0, 0x2a, 0xf8, 0xe7, 0xbb, 0x04, 0xc1, 0x28, 0x67, 0x52, + 0x26, 0xfe, 0xfc, 0x0f, 0x3d, 0xa0, 0xf5, 0x97, 0xd5, 0xd4, 0x02, 0x41, + 0xab, 0x31, 0xf3, 0x27, 0x4a, 0xec, 0xd9, 0x13, 0x40, 0x4a, 0xfb, 0xd7, + 0xed, 0x20, 0x04, 0xb0, 0xa7, 0x9d, 0xf6, 0xf2, 0x10, 0xc5, 0xf9, 0x7f, + 0x18, 0xc3, 0x43, 0xba, 0x08, 0xb0, 0x1b, 0x4c, 0x36, 0xd4, 0xf5, 0xc8, + 0x1a, 0xee, 0x08, 0x83, 0x2a, 0x4a, 0xff, 0x05, 0xe8, 0x13, 0xdb, 0x17, + 0x42, 0x1e, 0xb6, 0xa8, 0x30, 0x06, 0xec, 0xfc, 0xe3, 0xec, 0xb7, 0xe0, + 0x37, 0xc8, 0xa7, 0x25, 0xfe, 0x02, 0xd8, 0x3e, 0x26, 0xbe, 0xe8, 0xd2, + 0x9d, 0x19, 0x11, 0x3d, 0x34, 0xb1, 0x1a, 0x3f, 0x15, 0xed, 0xf1, 0xe4, + 0xc5, 0xe1, 0x5c, 0x1c, 0x46, 0x11, 0x2f, 0x44, 0xe0, 0xbf, 0xd4, 0x15, + 0xf1, 0x2e, 0x48, 0xc0, 0x14, 0x7f, 0x3a, 0xf9, 0x0d, 0x21, 0xd9, 0xf0, + 0xba, 0x48, 0x41, 0xf1, 0x5d, 0xda, 0x0b, 0xc4, 0xe4, 0x11, 0xce, 0xb3, + 0x36, 0x22, 0x8c, 0x00, 0xc5, 0xf3, 0x29, 0xe9, 0xea, 0x30, 0xf9, 0x30, + 0xc2, 0x4b, 0x04, 0xe2, 0xe1, 0xbd, 0xe1, 0xef, 0xed, 0x5b, 0x4e, 0xc0, + 0x35, 0x00, 0x43, 0x10, 0xed, 0xe2, 0x19, 0x34, 0x07, 0x97, 0x28, 0xf8, + 0xdb, 0x46, 0xbb, 0x55, 0xb0, 0x86, 0x70, 0xe4, 0x27, 0xee, 0x6d, 0x8b, + 0xeb, 0xcb, 0x28, 0xe1, 0xad, 0x31, 0x02, 0x50, 0x27, 0x07, 0xe8, 0x1d, + 0xb6, 0xd0, 0xf5, 0xdf, 0xa2, 0xa8, 0x4c, 0x06, 0xfa, 0x18, 0x27, 0x54, + 0xd1, 0x97, 0x81, 0xba, 0xb6, 0x5d, 0xee, 0x2b, 0x15, 0xd6, 0x78, 0xa8, + 0xa9, 0x45, 0x0b, 0xf2, 0x03, 0x47, 0x99, 0x44, 0x17, 0x47, 0xd9, 0xfb, + 0xb2, 0xbe, 0x0c, 0x09, 0x62, 0x94, 0x04, 0xe7, 0x5e, 0x2b, 0x00, 0x4a, + 0xe2, 0xaf, 0x0a, 0xef, 0x81, 0x23, 0xd2, 0x2a, 0x39, 0x54, 0x0d, 0xaf, + 0xc8, 0xcf, 0xd4, 0xd9, 0xed, 0xc9, 0x24, 0xfd, 0x1a, 0x5a, 0xe7, 0xf6, + 0x33, 0xa9, 0x2e, 0x0b, 0x13, 0xdb, 0xf6, 0x9c, 0xff, 0x39, 0x39, 0xbc, + 0x2e, 0xc2, 0x54, 0xd2, 0x0a, 0xd1, 0xc0, 0x05, 0xe0, 0xe1, 0x2f, 0x2f, + 0xd9, 0x4a, 0xfe, 0x6c, 0x33, 0xd5, 0xdd, 0x56, 0x32, 0x26, 0x4d, 0x3b, + 0x1a, 0x46, 0xc0, 0x26, 0x0e, 0x0d, 0xde, 0x31, 0xdd, 0x13, 0xd5, 0x17, + 0xba, 0x2f, 0xd9, 0xdc, 0x04, 0xf7, 0xce, 0x08, 0x62, 0xe7, 0xdc, 0x81, + 0x1b, 0x20, 0xc5, 0x50, 0xec, 0x44, 0x0c, 0x17, 0x39, 0xc4, 0xfb, 0x7f, + 0x13, 0x3b, 0xdb, 0xfc, 0xb3, 0x07, 0x30, 0x47, 0xc7, 0xdd, 0xf4, 0x31, + 0x1b, 0x62, 0x32, 0xf7, 0xc5, 0x17, 0xd8, 0xf5, 0x05, 0x27, 0x9c, 0xaf, + 0x27, 0xe4, 0x4b, 0xab, 0x27, 0xdd, 0xd8, 0x3f, 0x2c, 0x0b, 0xc7, 0x27, + 0xe7, 0xff, 0x07, 0x1f, 0x12, 0xec, 0xea, 0xb6, 0xb9, 0xe1, 0x48, 0x0a, + 0xe5, 0x1e, 0x1d, 0x37, 0x18, 0x08, 0x24, 0xc2, 0x57, 0xa3, 0xa7, 0x4e, + 0x0b, 0xa1, 0xdd, 0xff, 0xdc, 0xd9, 0x54, 0xb5, 0xff, 0x36, 0x06, 0x47, + 0x14, 0x7f, 0xe5, 0xfc, 0xf0, 0x09, 0x4d, 0xce, 0xf4, 0xf5, 0x07, 0xf5, + 0x2e, 0x03, 0x4a, 0xb3, 0xb7, 0xdb, 0x48, 0x2d, 0x27, 0xe6, 0x1c, 0xc5, + 0x2f, 0x45, 0x4b, 0x1f, 0xb5, 0x05, 0xdb, 0x27, 0xff, 0x4d, 0x3d, 0x43, + 0xea, 0x5a, 0xea, 0x19, 0xc0, 0xf7, 0xa3, 0xf3, 0x05, 0xd4, 0x61, 0x19, + 0x9e, 0x04, 0x0f, 0xf7, 0xec, 0x9e, 0xf4, 0x2f, 0x11, 0x2e, 0xff, 0xba, + 0x29, 0xc0, 0x30, 0x3a, 0x7f, 0xa4, 0x34, 0xbd, 0x1e, 0x19, 0xc1, 0x1f, + 0x05, 0x0e, 0x42, 0x4b, 0xc8, 0xe3, 0xb6, 0x03, 0xb4, 0x59, 0xf1, 0x2f, + 0x17, 0x2d, 0xee, 0x04, 0xd5, 0x1c, 0x12, 0x0f, 0x31, 0x01, 0xa4, 0x58, + 0xd8, 0x54, 0xb7, 0x10, 0xcc, 0xff, 0x59, 0xf7, 0xe0, 0xdb, 0xa5, 0x38, + 0xfa, 0x17, 0x69, 0x86, 0xb0, 0x51, 0x50, 0x16, 0xbb, 0xd5, 0xec, 0xad, + 0x1a, 0x64, 0xea, 0x81, 0xc5, 0x6a, 0x28, 0x23, 0x2f, 0xc4, 0xdb, 0x2f, + 0xb4, 0x01, 0xcd, 0xc7, 0x3c, 0xb5, 0x24, 0xfa, 0x45, 0x12, 0xd6, 0x37, + 0xff, 0xf4, 0xde, 0x0e, 0xfa, 0x04, 0xf1, 0x34, 0xe9, 0x37, 0x4a, 0xe2, + 0x9e, 0x10, 0x13, 0x07, 0xcc, 0xfc, 0xdc, 0xea, 0x81, 0x43, 0xde, 0xd7, + 0x52, 0xd7, 0x18, 0xa7, 0xef, 0xc1, 0xd7, 0xca, 0x2e, 0xcb, 0x3f, 0xfc, + 0xd9, 0xcf, 0x0f, 0xfd, 0x40, 0xc5, 0xf5, 0x23, 0xfd, 0x0f, 0x0d, 0xaf, + 0xe0, 0xa4, 0x21, 0x4a, 0xec, 0xf5, 0x04, 0xd5, 0x4d, 0x29, 0x42, 0xfe, + 0x02, 0xe4, 0xe6, 0xb6, 0x1c, 0x2d, 0x01, 0x3b, 0x34, 0x1f, 0xb6, 0x3e, + 0x23, 0xcc, 0x00, 0xfa, 0x23, 0x2d, 0x29, 0xa1, 0xee, 0x5d, 0xf9, 0x1b, + 0x45, 0x06, 0xde, 0xd5, 0x06, 0x4d, 0x1d, 0x5e, 0xb4, 0x4f, 0x96, 0x05, + 0x70, 0x08, 0x03, 0x7f, 0xf2, 0x56, 0x0e, 0x57, 0x07, 0x5a, 0xa7, 0x22, + 0xe8, 0x55, 0x17, 0x3e, 0x1b, 0x72, 0x3d, 0x1f, 0xb3, 0xfa, 0x67, 0xdf, + 0xbe, 0x2d, 0x90, 0x00, 0x27, 0x40, 0xcf, 0x27, 0x5a, 0x20, 0x11, 0xd0, + 0xc6, 0x1d, 0x31, 0xc3, 0x74, 0xf7, 0x41, 0xa5, 0xf1, 0x0f, 0xe3, 0x13, + 0xd7, 0xba, 0xff, 0x3e, 0xe9, 0xb6, 0xd5, 0x48, 0x23, 0xe8, 0x17, 0xc0, + 0x3e, 0x42, 0x30, 0x00, 0x3d, 0xb1, 0xfc, 0x01, 0x34, 0xa2, 0xf5, 0x51, + 0x21, 0xc2, 0x18, 0x02, 0x30, 0x0d, 0x16, 0x17, 0xc3, 0x02, 0xc3, 0x0c, + 0x81, 0x03, 0xe9, 0x02, 0xe6, 0xeb, 0xee, 0xd4, 0x32, 0x2b, 0xe7, 0xf9, + 0x5b, 0xb4, 0xa4, 0xdb, 0x5d, 0x51, 0xf1, 0xff, 0xf2, 0x38, 0xd2, 0x0f, + 0x4f, 0x37, 0x1c, 0x35, 0x30, 0xe0, 0xcb, 0xfa, 0x0d, 0xfa, 0x26, 0xc2, + 0xd9, 0xdf, 0xf1, 0x08, 0x23, 0x58, 0x19, 0xdf, 0xea, 0xeb, 0x81, 0x03, + 0x37, 0x4d, 0x36, 0xd7, 0x03, 0x07, 0xf7, 0x79, 0x17, 0xfc, 0xf1, 0x1d, + 0x01, 0xcc, 0x26, 0x2c, 0x9c, 0x2e, 0x1c, 0xd7, 0xa0, 0xe7, 0x29, 0x51, + 0xfc, 0x26, 0xf7, 0x13, 0x01, 0x45, 0x10, 0xe5, 0xe2, 0xdf, 0xbf, 0x1b, + 0x05, 0xbb, 0xfb, 0xcf, 0x32, 0x1a, 0x37, 0x12, 0xc9, 0x2a, 0x32, 0x2d, + 0x2f, 0x0a, 0x26, 0xb8, 0xb7, 0x64, 0x18, 0xca, 0xdc, 0xa4, 0x1e, 0x04, + 0xbc, 0xea, 0xbc, 0x2e, 0x28, 0xdd, 0xf5, 0x44, 0x13, 0x2e, 0x25, 0x2b, + 0xe2, 0xfb, 0xe5, 0xe5, 0x17, 0x1f, 0x41, 0xbe, 0xec, 0xe4, 0x1b, 0xff, + 0x9c, 0x7f, 0xd6, 0x10, 0xee, 0xdc, 0xd6, 0x25, 0xdb, 0x08, 0x7f, 0xb9, + 0xb2, 0xd0, 0x16, 0xbd, 0x0d, 0xaa, 0xbe, 0xef, 0x20, 0x17, 0xe3, 0x41, + 0xbd, 0x22, 0xdd, 0x13, 0xdf, 0xca, 0xe2, 0x4a, 0xd7, 0xef, 0xd7, 0x3d, + 0xcd, 0x45, 0x06, 0xdd, 0xbb, 0xcc, 0xf8, 0x0c, 0xec, 0x66, 0x5b, 0xd9, + 0x9c, 0x35, 0x1e, 0xf8, 0x0b, 0x1a, 0x27, 0xc2, 0x0e, 0x05, 0xf2, 0xa6, + 0x31, 0xb4, 0x9f, 0xc0, 0x7a, 0x66, 0x49, 0x29, 0xe9, 0xfd, 0xce, 0x7f, + 0x3f, 0x1f, 0xf5, 0x29, 0xbf, 0x41, 0x0a, 0x1c, 0xed, 0xdc, 0xae, 0xd1, + 0x07, 0x41, 0x02, 0xdb, 0x00, 0xee, 0x28, 0x18, 0xc8, 0xe4, 0x0f, 0xb3, + 0x07, 0xed, 0xfb, 0xac, 0xdb, 0x43, 0x4b, 0x15, 0x1d, 0xff, 0x16, 0x3c, + 0xd3, 0xd1, 0xf5, 0xdc, 0x0e, 0x31, 0xd7, 0xed, 0xa9, 0xf1, 0xfb, 0xcf, + 0xae, 0x27, 0x00, 0x19, 0xe0, 0xab, 0xe6, 0xd4, 0x23, 0x03, 0xe4, 0xc8, + 0x5d, 0x2c, 0xcc, 0x1a, 0x3d, 0x07, 0x27, 0x7f, 0xc2, 0x6d, 0x65, 0x1e, + 0xc6, 0x0e, 0xf6, 0x57, 0xef, 0x10, 0x74, 0x26, 0x22, 0x21, 0x2e, 0x4b, + 0xf3, 0xd0, 0x2f, 0xf0, 0xe9, 0x98, 0x2e, 0x23, 0xf1, 0xa4, 0x3a, 0xc1, + 0xa6, 0x5d, 0x4d, 0xfa, 0xbc, 0xfb, 0x10, 0xc3, 0x12, 0x4c, 0xe5, 0xf0, + 0xea, 0x40, 0x1e, 0xf4, 0x5a, 0x1e, 0xd9, 0xa8, 0x10, 0x35, 0x18, 0xda, + 0xd1, 0xa6, 0xe1, 0x14, 0xbf, 0x0d, 0x0a, 0x64, 0xc1, 0xf7, 0x05, 0x0a, + 0x00, 0xf2, 0x32, 0x7f, 0xc8, 0x06, 0x2d, 0xc3, 0x22, 0xd4, 0x09, 0x1a, + 0x03, 0x09, 0xe0, 0x03, 0x16, 0xc4, 0x05, 0xd0, 0xf4, 0x0e, 0xcd, 0x2d, + 0xbd, 0x10, 0xe1, 0x0d, 0x2b, 0xd3, 0xe1, 0x16, 0x39, 0xf2, 0xcd, 0xcf, + 0x74, 0x19, 0xda, 0x0f, 0x23, 0xce, 0xd0, 0xbd, 0xd9, 0xba, 0x20, 0x44, + 0x3c, 0xf7, 0x19, 0xc3, 0xa9, 0xeb, 0x1e, 0x78, 0x23, 0x59, 0x2f, 0x13, + 0x27, 0x05, 0xdd, 0x33, 0xcb, 0xc5, 0x7f, 0x2c, 0x10, 0x41, 0x3f, 0xd0, + 0xf1, 0x29, 0xe6, 0xf2, 0x59, 0xd0, 0x43, 0xe8, 0x1d, 0x17, 0x42, 0xda, + 0x31, 0xf6, 0x68, 0x35, 0x26, 0xcb, 0xd9, 0x03, 0x16, 0xf9, 0x1f, 0x0f, + 0x03, 0x4e, 0x02, 0xb8, 0xea, 0x03, 0x16, 0x02, 0xf2, 0xb1, 0x32, 0x6b, + 0x21, 0xb4, 0xd7, 0xde, 0xb8, 0x9a, 0xec, 0x1b, 0x71, 0x9b, 0xc2, 0xdc, + 0xf5, 0xd6, 0x49, 0xa4, 0xbf, 0x34, 0xda, 0x23, 0x33, 0x59, 0xf6, 0x06, + 0x92, 0xe6, 0x48, 0x13, 0x5b, 0xd1, 0x61, 0xed, 0xdb, 0x64, 0xea, 0xf4, + 0x5e, 0xdc, 0x52, 0x75, 0x99, 0x2f, 0x10, 0x8c, 0x03, 0x65, 0x2a, 0xc0, + 0xc2, 0x65, 0x16, 0xaf, 0x5d, 0x94, 0x1b, 0x81, 0x3f, 0xd3, 0x14, 0x6a, + 0xe7, 0x95, 0x2e, 0xd5, 0xe8, 0xf9, 0x15, 0x3e, 0x41, 0xe4, 0xff, 0xbb, + 0x0e, 0xcc, 0xcd, 0xc3, 0x36, 0x49, 0x16, 0xb5, 0xb6, 0x43, 0xf7, 0xa8, + 0xd6, 0xca, 0xd1, 0xa7, 0xff, 0x05, 0x41, 0x3f, 0x2d, 0xf7, 0xf9, 0x02, + 0x11, 0x0c, 0x1b, 0x07, 0xe9, 0x27, 0x0e, 0x39, 0xb7, 0xf6, 0x7f, 0x37, + 0x8e, 0x6c, 0x49, 0xec, 0xf3, 0x0b, 0x43, 0x2a, 0x10, 0xb1, 0x2d, 0xa6, + 0xe3, 0xa8, 0x13, 0xda, 0x13, 0xb5, 0x09, 0x52, 0xe9, 0x19, 0x26, 0xcb, + 0x05, 0xf1, 0x1b, 0x7f, 0x29, 0xdd, 0x5a, 0x0d, 0xd6, 0x2e, 0xe4, 0x08, + 0x0d, 0x34, 0x3c, 0xf5, 0x1c, 0x03, 0x2c, 0xae, 0xe9, 0xf3, 0x3f, 0xc3, + 0xe9, 0x38, 0x56, 0xff, 0x63, 0x0d, 0x15, 0xbf, 0x7c, 0xce, 0xcf, 0x4d, + 0x57, 0x98, 0x07, 0x1d, 0x03, 0xb9, 0x4f, 0x02, 0x46, 0x32, 0x2c, 0x1d, + 0x3e, 0xfd, 0xf2, 0xf5, 0x3f, 0xea, 0xd9, 0xef, 0x01, 0x2b, 0x10, 0x2f, + 0x13, 0x23, 0xf8, 0xff, 0xb7, 0xec, 0xc9, 0xed, 0xdc, 0xb7, 0xa7, 0x27, + 0xac, 0x60, 0xb4, 0x8a, 0x54, 0x4e, 0x56, 0x40, 0xe5, 0x66, 0x06, 0x92, + 0x4c, 0xe9, 0xed, 0x5c, 0xc4, 0x14, 0xdf, 0xea, 0xad, 0xf8, 0x57, 0x5e, + 0x11, 0x7f, 0xd0, 0xd9, 0xd2, 0x00, 0x33, 0x9a, 0x52, 0x2c, 0x61, 0xc3, + 0x99, 0xfa, 0xaa, 0x13, 0xb5, 0xe4, 0xe1, 0x07, 0x4a, 0x84, 0xd3, 0xf9, + 0x01, 0x57, 0x39, 0x51, 0x2d, 0xa9, 0xc9, 0xef, 0x22, 0x35, 0x19, 0xad, + 0xe8, 0xef, 0x36, 0xd1, 0xd2, 0x92, 0x8c, 0x07, 0x43, 0x6f, 0xc0, 0x19, + 0x11, 0xa7, 0xe8, 0x4b, 0x81, 0xa8, 0xaf, 0x44, 0x4b, 0xa4, 0xaa, 0x00, + 0x16, 0xbb, 0x40, 0x5e, 0x76, 0x64, 0x30, 0x2d, 0xa9, 0x68, 0xdf, 0xbc, + 0xf2, 0x37, 0xe5, 0xc3, 0xb3, 0x22, 0x1d, 0x24, 0x71, 0xd9, 0x58, 0xf6, + 0xe4, 0x1f, 0x0d, 0xca, 0xa6, 0x41, 0x15, 0x21, 0xd1, 0x41, 0x1a, 0x27, + 0x3b, 0xe6, 0x24, 0x27, 0xfe, 0x36, 0x20, 0xd1, 0x54, 0x04, 0xe9, 0x03, + 0x19, 0xa8, 0x39, 0xf9, 0x22, 0xe8, 0xd6, 0x11, 0x4d, 0xfb, 0xd5, 0x09, + 0x0f, 0x17, 0x7f, 0x48, 0x04, 0xfa, 0xb3, 0xde, 0x4c, 0x14, 0xd8, 0x81, + 0xc5, 0xc3, 0xcc, 0x24, 0x9d, 0xa2, 0xf1, 0x18, 0x1f, 0xec, 0x06, 0xff, + 0x0d, 0xf1, 0x44, 0xbb, 0x07, 0xca, 0x16, 0x5d, 0x35, 0x3f, 0xde, 0xc0, + 0x1d, 0x3d, 0xbd, 0x5d, 0xa5, 0x38, 0xd4, 0xb6, 0x1b, 0xef, 0xfd, 0xcb, + 0xf3, 0x3a, 0xa5, 0xb6, 0xfe, 0xf9, 0x27, 0x00, 0x5b, 0x98, 0xdf, 0xc4, + 0xf4, 0xc0, 0xdd, 0xe0, 0x03, 0x72, 0x40, 0xfd, 0x60, 0x10, 0xee, 0x7f, + 0x5d, 0x07, 0x44, 0x9a, 0x48, 0xb3, 0xdf, 0x16, 0xf2, 0xff, 0x93, 0xc6, + 0xdb, 0x19, 0xbd, 0x8b, 0x1b, 0xeb, 0xfb, 0xbb, 0xac, 0x9e, 0xe3, 0xf4, + 0xdc, 0x0e, 0x41, 0x03, 0xe7, 0xe5, 0x21, 0xca, 0x01, 0x15, 0x19, 0x1c, + 0x41, 0x39, 0x1b, 0x4d, 0xb4, 0xc4, 0x02, 0xd5, 0x14, 0x06, 0x74, 0xff, + 0xd4, 0x1c, 0xf8, 0xe1, 0xc8, 0xcf, 0xb8, 0x22, 0xd1, 0x40, 0x29, 0xd5, + 0x5f, 0x2a, 0x0b, 0x24, 0xea, 0xeb, 0xdc, 0x2d, 0xe7, 0xb1, 0xef, 0xfe, + 0x25, 0x2f, 0x4a, 0x48, 0xc9, 0xd1, 0x9a, 0x29, 0xed, 0x29, 0x0c, 0x02, + 0xc1, 0x40, 0xe8, 0x45, 0x30, 0xf9, 0x0f, 0x06, 0xb5, 0x41, 0x43, 0xf7, + 0xf5, 0x35, 0x9f, 0xd9, 0xc3, 0x08, 0xec, 0xdd, 0x81, 0xfe, 0x29, 0xf0, + 0xda, 0x00, 0x5a, 0x34, 0x25, 0x0b, 0x5f, 0xad, 0x35, 0xda, 0x0c, 0x09, + 0xdf, 0x20, 0xcc, 0x3a, 0x4f, 0x89, 0x2e, 0x9c, 0x24, 0xdd, 0x37, 0x44, + 0xb5, 0xc3, 0x4d, 0x07, 0xf6, 0x11, 0xfd, 0xae, 0x40, 0xca, 0xbc, 0xca, + 0xd7, 0x31, 0xaf, 0x47, 0x10, 0x2c, 0xb4, 0xd1, 0x11, 0xbc, 0x45, 0xda, + 0xd9, 0xbb, 0xa6, 0xfd, 0x81, 0x75, 0xae, 0xbf, 0xde, 0x89, 0x90, 0x33, + 0x91, 0xe8, 0xe7, 0x8f, 0xcc, 0xf9, 0xc6, 0x4d, 0xd4, 0xcf, 0x56, 0xef, + 0xaf, 0xc6, 0x2a, 0xc3, 0xf2, 0xf3, 0xd4, 0x24, 0x8a, 0x1a, 0x9b, 0x21, + 0x0c, 0x33, 0xac, 0x0b, 0x68, 0x8d, 0xee, 0x4d, 0x49, 0xd2, 0xe9, 0x4c, + 0x00, 0x1f, 0x14, 0xdc, 0xf0, 0xc7, 0xaf, 0xa5, 0xf9, 0x58, 0xf7, 0xf4, + 0xa1, 0xf8, 0xf8, 0xc6, 0x76, 0x97, 0xb5, 0x6c, 0x13, 0x31, 0x25, 0xb6, + 0x25, 0x98, 0x4d, 0x81, 0xe1, 0x4b, 0x30, 0x09, 0xf7, 0x00, 0x10, 0x40, + 0x2d, 0xf1, 0xba, 0xb8, 0xf4, 0xf1, 0xe3, 0x39, 0x43, 0x03, 0xd8, 0x09, + 0xd7, 0xf2, 0x2f, 0xab, 0xff, 0xf4, 0x1a, 0xde, 0xea, 0xf2, 0xdf, 0x0f, + 0x23, 0x0f, 0x3d, 0xa6, 0xfa, 0x32, 0xf3, 0xdc, 0x2d, 0x11, 0xc2, 0xe4, + 0xcc, 0x53, 0x34, 0xeb, 0xeb, 0xc7, 0xfc, 0xfa, 0xea, 0xd8, 0x3f, 0xc8, + 0xb6, 0x7f, 0x01, 0xff, 0x4c, 0xf5, 0x32, 0xd2, 0x31, 0xf0, 0x05, 0xde, + 0xb8, 0x0d, 0x0e, 0x2c, 0x39, 0x8c, 0xf3, 0x2b, 0x9a, 0xf4, 0x16, 0xed, + 0x01, 0x09, 0x26, 0x35, 0x63, 0x98, 0x2a, 0xf1, 0xe5, 0x34, 0xeb, 0x4a, + 0x95, 0xcb, 0x0e, 0x12, 0xe4, 0xaa, 0xcf, 0x3e, 0xd6, 0xdd, 0x1a, 0xc6, + 0x81, 0xdf, 0x10, 0x01, 0x19, 0xd5, 0xe2, 0x22, 0xf2, 0x02, 0x00, 0xdd, + 0x2c, 0x94, 0xa3, 0x10, 0x27, 0xe1, 0x34, 0x15, 0x1f, 0x02, 0xca, 0xb8, + 0xd3, 0xd7, 0x0b, 0x0c, 0xf1, 0x34, 0xbb, 0xdd, 0x08, 0x0d, 0x2d, 0xb4, + 0xda, 0xf8, 0xca, 0x39, 0x58, 0xe4, 0x2e, 0x3e, 0x15, 0x33, 0x26, 0x2f, + 0x36, 0xda, 0x75, 0xc1, 0xfc, 0xbc, 0xda, 0x16, 0x14, 0xd8, 0xc7, 0x0d, + 0xf0, 0xd7, 0xef, 0x24, 0xba, 0x32, 0xa3, 0x03, 0xf7, 0x45, 0xe7, 0xf2, + 0x7f, 0xe2, 0x0d, 0xbd, 0x14, 0xc0, 0x14, 0x11, 0x3d, 0x3e, 0x26, 0xea, + 0xf5, 0x0b, 0xf8, 0x1b, 0x0a, 0x09, 0x50, 0x04, 0x2b, 0xb0, 0xf0, 0x33, + 0x2b, 0xbd, 0x6c, 0x00, 0x2e, 0x57, 0xde, 0x30, 0xbd, 0xa1, 0x90, 0xfc, + 0xac, 0x70, 0xfa, 0xd9, 0x37, 0xfa, 0xef, 0x62, 0xd7, 0xb0, 0xe5, 0xba, + 0xcb, 0xdc, 0x82, 0xa2, 0xbe, 0xf0, 0x19, 0x41, 0x12, 0xbb, 0x41, 0xc6, + 0x81, 0x5f, 0xcc, 0xb8, 0x3b, 0x91, 0xb9, 0xeb, 0x08, 0x0c, 0x76, 0xbd, + 0xfc, 0x30, 0xda, 0xa1, 0xb1, 0xc0, 0xb9, 0xfa, 0x8f, 0x09, 0x1d, 0x51, + 0x63, 0xa5, 0x26, 0x56, 0x32, 0x1a, 0x05, 0xe8, 0x99, 0xf4, 0xd6, 0x32, + 0xcb, 0xf4, 0xe7, 0x62, 0xb6, 0xc2, 0x01, 0xb0, 0xdb, 0x5b, 0x6a, 0xa1, + 0xbf, 0x00, 0xee, 0x22, 0x54, 0x00, 0x10, 0xe4, 0xcf, 0x2e, 0xca, 0xef, + 0x7f, 0x10, 0x08, 0x02, 0xe3, 0x07, 0x3f, 0xeb, 0x6a, 0xea, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x50, 0xec, 0xff, 0xff, + 0xa7, 0xf0, 0xff, 0xff, 0xe6, 0x0b, 0x00, 0x00, 0x50, 0xf2, 0xff, 0xff, + 0x54, 0xf3, 0xff, 0xff, 0x70, 0xfe, 0xff, 0xff, 0x36, 0xed, 0xff, 0xff, + 0x3f, 0x11, 0x00, 0x00, 0xdc, 0xd7, 0xff, 0xff, 0x44, 0x02, 0x00, 0x00, + 0xeb, 0x0c, 0x00, 0x00, 0xa1, 0xdf, 0xff, 0xff, 0xc3, 0x0a, 0x00, 0x00, + 0x9a, 0x0e, 0x00, 0x00, 0x12, 0x10, 0x00, 0x00, 0x43, 0xea, 0xff, 0xff, + 0xb7, 0xec, 0xff, 0xff, 0xb2, 0xed, 0xff, 0xff, 0x82, 0xf3, 0xff, 0xff, + 0x07, 0xee, 0xff, 0xff, 0xbc, 0xed, 0xff, 0xff, 0x02, 0xec, 0xff, 0xff, + 0xbe, 0xeb, 0xff, 0xff, 0x68, 0xf5, 0xff, 0xff, 0x0a, 0x16, 0x00, 0x00, + 0xe3, 0xdf, 0xff, 0xff, 0xed, 0xea, 0xff, 0xff, 0x86, 0x14, 0x00, 0x00, + 0xad, 0x0d, 0x00, 0x00, 0x36, 0x1e, 0x00, 0x00, 0x42, 0xe9, 0xff, 0xff, + 0xfe, 0xe7, 0xff, 0xff, 0x82, 0xf2, 0xff, 0xff, 0x91, 0xe8, 0xff, 0xff, + 0x4d, 0x16, 0x00, 0x00, 0x08, 0xf4, 0xff, 0xff, 0x01, 0x0c, 0x00, 0x00, + 0xca, 0xec, 0xff, 0xff, 0xe1, 0xee, 0xff, 0xff, 0xbc, 0x15, 0x00, 0x00, + 0x82, 0xee, 0xff, 0xff, 0x07, 0xfa, 0xff, 0xff, 0xfb, 0x11, 0x00, 0x00, + 0x89, 0x02, 0x00, 0x00, 0x9f, 0xfa, 0xff, 0xff, 0x54, 0xe6, 0xff, 0xff, + 0xab, 0x0a, 0x00, 0x00, 0xfb, 0xf3, 0xff, 0xff, 0x94, 0x14, 0x00, 0x00, + 0x43, 0x00, 0x00, 0x00, 0xb7, 0x07, 0x00, 0x00, 0x2b, 0xec, 0xff, 0xff, + 0x87, 0x10, 0x00, 0x00, 0x4d, 0xf9, 0xff, 0xff, 0xc2, 0x17, 0x00, 0x00, + 0x46, 0xe6, 0xff, 0xff, 0x9f, 0x10, 0x00, 0x00, 0x7c, 0x17, 0x00, 0x00, + 0x37, 0xe5, 0xff, 0xff, 0xb2, 0x14, 0x00, 0x00, 0x66, 0xeb, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00, 0xfe, 0xe1, 0xe4, 0x58, + 0x53, 0x3e, 0xfc, 0xe8, 0x51, 0x0b, 0xec, 0x09, 0x0b, 0x81, 0xaa, 0xf6, + 0x06, 0x49, 0x3b, 0x0c, 0xe5, 0x39, 0x3b, 0xe7, 0xf9, 0x2b, 0x1f, 0xd9, + 0xe6, 0xb9, 0x3b, 0x3d, 0xeb, 0x40, 0xc1, 0x2a, 0xe2, 0xed, 0x34, 0xdf, + 0x4f, 0x29, 0x06, 0x53, 0x55, 0x5e, 0x0a, 0x2c, 0xad, 0xb4, 0xd0, 0x67, + 0x04, 0x1e, 0xe8, 0x65, 0x02, 0xcc, 0x17, 0x00, 0x02, 0x2c, 0x25, 0x1f, + 0x0f, 0xdc, 0x02, 0xf5, 0x20, 0x10, 0x11, 0x0b, 0xfe, 0xde, 0xb3, 0x10, + 0x27, 0x20, 0x07, 0x48, 0x03, 0x3d, 0x3c, 0x06, 0x0f, 0x05, 0x3d, 0x02, + 0xd9, 0xc4, 0xf2, 0xee, 0xc2, 0x1e, 0xe3, 0x05, 0xfc, 0xf0, 0x20, 0xc4, + 0x22, 0x3e, 0xed, 0x37, 0x1f, 0x3f, 0xf2, 0xe0, 0xd9, 0x1c, 0xbf, 0x31, + 0xc4, 0xe4, 0xde, 0x1c, 0xcb, 0xd2, 0x33, 0xc7, 0x1d, 0x26, 0xe5, 0x2d, + 0x16, 0x02, 0xed, 0x16, 0xf6, 0x0e, 0xf1, 0x22, 0x02, 0xcf, 0xd6, 0x4a, + 0x46, 0x02, 0x17, 0x24, 0x16, 0x0b, 0x12, 0xed, 0xcd, 0x27, 0x07, 0xf8, + 0x04, 0xb2, 0x3a, 0x34, 0xce, 0x33, 0xd1, 0xfd, 0xf4, 0x0f, 0x23, 0xcf, + 0x2a, 0x0f, 0xcb, 0xf3, 0x2a, 0x04, 0xe6, 0x34, 0xb6, 0x06, 0xe5, 0x0d, + 0x16, 0xea, 0xcb, 0x2d, 0xb4, 0xf2, 0x19, 0xea, 0x41, 0xfe, 0xdb, 0x0d, + 0x27, 0xf0, 0x03, 0xed, 0x25, 0xbb, 0xb2, 0x06, 0xcf, 0xba, 0xda, 0x1b, + 0x3f, 0xeb, 0xd3, 0x13, 0xfd, 0x24, 0x19, 0xd6, 0xbf, 0x0d, 0x25, 0xa4, + 0xe7, 0xe8, 0x12, 0xdc, 0xdf, 0x35, 0xee, 0xce, 0xcf, 0x3c, 0x22, 0xed, + 0x14, 0xe0, 0xcc, 0xd8, 0xdd, 0xff, 0xf6, 0xec, 0xe1, 0xe0, 0xff, 0x1b, + 0xe8, 0x33, 0xe7, 0xf2, 0xe5, 0xd0, 0x09, 0xfa, 0x75, 0x2e, 0x09, 0x21, + 0x23, 0xd7, 0x44, 0xae, 0x35, 0xcb, 0xba, 0x20, 0xe0, 0x0a, 0xf6, 0x38, + 0x1e, 0xf6, 0xf8, 0x17, 0x48, 0x3d, 0x3e, 0xa6, 0x9e, 0x1f, 0x48, 0xce, + 0x04, 0x96, 0x25, 0x02, 0xf7, 0x26, 0xaf, 0x3f, 0xe0, 0x67, 0x2f, 0xc7, + 0x52, 0xd5, 0xbb, 0xde, 0x35, 0x43, 0xbf, 0x1a, 0x12, 0xf8, 0x15, 0x1c, + 0x11, 0x69, 0x00, 0x1d, 0xc3, 0xf1, 0x6c, 0xc8, 0x9e, 0xec, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6f, 0xb5, 0xff, 0xff, + 0xae, 0xec, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xca, 0xec, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xe6, 0xec, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xed, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0xed, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00, + 0x32, 0xed, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0xa4, 0xa3, 0xff, 0xff, 0xa8, 0xa3, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x4d, 0x4c, 0x49, 0x52, 0x20, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xec, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2a, 0xfa, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xb8, 0x02, 0x00, 0x00, + 0xb8, 0x02, 0x00, 0x00, 0xb8, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x4e, 0x6f, 0x4f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x54, 0x02, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0xe4, 0x01, 0x00, 0x00, + 0xc0, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, + 0x04, 0x01, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xe2, 0xef, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0xee, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x2c, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0xee, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0xf0, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xd2, 0xee, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, + 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xc4, 0xee, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x31, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xae, 0xf0, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3a, 0xef, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0xef, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xf1, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0xa2, 0xef, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x94, 0xef, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf1, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x0a, 0xf0, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, + 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xfc, 0xef, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x34, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe6, 0xf1, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x72, 0xf0, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0xf0, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x35, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xc0, 0x02, 0x00, 0x00, + 0x78, 0x02, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x00, + 0x9c, 0x01, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, + 0xe0, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xa6, 0xa6, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x14, 0x00, 0x00, 0x00, + 0xe8, 0xa6, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6, 0xa6, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x18, 0x00, 0x00, 0x00, + 0x18, 0xa7, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x31, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0a, 0xa7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, + 0x18, 0x00, 0x00, 0x00, 0x4c, 0xa7, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x32, 0x31, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3e, 0xa7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0d, 0x18, 0x00, 0x00, 0x00, 0x80, 0xa7, 0xff, 0xff, + 0x09, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x33, + 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xa7, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x18, 0x00, 0x00, 0x00, + 0xb4, 0xa7, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x34, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xa6, 0xa7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, + 0x18, 0x00, 0x00, 0x00, 0xe8, 0xa7, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x35, 0x31, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x16, 0xdf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x18, 0xa8, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, + 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x31, 0x31, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x5e, 0xdf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x60, 0xa8, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, + 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x31, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xa6, 0xdf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0xa8, 0xa8, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x39, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xea, 0xdf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0xec, 0xa8, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, + 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x38, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x2e, 0xe0, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x54, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x30, 0xa9, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x37, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x72, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x74, 0xa9, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x36, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x14, 0x00, 0x10, 0x00, 0x0c, 0x00, + 0x08, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0xb0, 0x0c, 0x00, 0x00, 0xb4, 0x0c, 0x00, 0x00, + 0xb8, 0x0c, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, + 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x68, 0x0c, 0x00, 0x00, + 0x08, 0x0c, 0x00, 0x00, 0xac, 0x0b, 0x00, 0x00, 0x60, 0x0b, 0x00, 0x00, + 0x14, 0x0b, 0x00, 0x00, 0xc8, 0x0a, 0x00, 0x00, 0x7c, 0x0a, 0x00, 0x00, + 0x58, 0x0a, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x04, 0x0a, 0x00, 0x00, + 0xe0, 0x09, 0x00, 0x00, 0xbc, 0x09, 0x00, 0x00, 0x98, 0x09, 0x00, 0x00, + 0x70, 0x09, 0x00, 0x00, 0x4c, 0x09, 0x00, 0x00, 0x14, 0x09, 0x00, 0x00, + 0xf0, 0x08, 0x00, 0x00, 0x9c, 0x08, 0x00, 0x00, 0x78, 0x08, 0x00, 0x00, + 0x40, 0x08, 0x00, 0x00, 0x1c, 0x08, 0x00, 0x00, 0xc8, 0x07, 0x00, 0x00, + 0x80, 0x07, 0x00, 0x00, 0x5c, 0x07, 0x00, 0x00, 0x24, 0x07, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0xb8, 0x06, 0x00, 0x00, 0x70, 0x06, 0x00, 0x00, + 0x4c, 0x06, 0x00, 0x00, 0x14, 0x06, 0x00, 0x00, 0xf0, 0x05, 0x00, 0x00, + 0xa8, 0x05, 0x00, 0x00, 0x60, 0x05, 0x00, 0x00, 0x3c, 0x05, 0x00, 0x00, + 0x04, 0x05, 0x00, 0x00, 0xe0, 0x04, 0x00, 0x00, 0x98, 0x04, 0x00, 0x00, + 0x50, 0x04, 0x00, 0x00, 0x2c, 0x04, 0x00, 0x00, 0xf4, 0x03, 0x00, 0x00, + 0xd0, 0x03, 0x00, 0x00, 0xa8, 0x03, 0x00, 0x00, 0x70, 0x03, 0x00, 0x00, + 0x4c, 0x03, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0xe4, 0x02, 0x00, 0x00, + 0xc0, 0x02, 0x00, 0x00, 0x7c, 0x02, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, + 0x34, 0x02, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0xcc, 0x01, 0x00, 0x00, + 0xa8, 0x01, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, + 0x1c, 0x01, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, + 0x90, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x8e, 0xf6, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, + 0xae, 0xf6, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x3a, 0xf5, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x2c, 0xf5, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x0e, 0xf7, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x2e, 0xf7, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x4e, 0x00, 0x00, 0x00, 0xba, 0xf5, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0xac, 0xf5, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x8e, 0xf7, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x4d, 0x00, 0x00, 0x00, 0xae, 0xf7, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x4d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, + 0x3a, 0xf6, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x18, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0x2c, 0xf6, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0e, 0xf8, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, + 0x2e, 0xf8, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xba, 0xf6, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0xac, 0xf6, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x4a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x8e, 0xf8, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0xae, 0xf8, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x3a, 0xf7, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x2c, 0xf7, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0e, 0xf9, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x2e, 0xf9, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, + 0xba, 0xf7, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x18, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0xac, 0xf7, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x8e, 0xf9, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x1a, 0xf8, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x08, 0xae, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0xe2, 0xf9, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x43, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x06, 0xfa, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, + 0x92, 0xf8, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x2a, 0xf8, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x5a, 0xfa, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, + 0xe6, 0xf8, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x04, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2a, 0xf9, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0xfd, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x02, 0xfb, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x8e, 0xf9, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x26, 0xf9, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x3b, 0x00, 0x00, 0x00, 0x56, 0xfb, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, + 0xe2, 0xf9, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x26, 0xfa, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0xfe, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0xfe, 0xfb, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x8a, 0xfa, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x22, 0xfa, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x52, 0xfc, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, + 0xde, 0xfa, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0xfc, 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x22, 0xfb, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0xfa, 0xfc, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x86, 0xfb, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0xfb, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x4e, 0xfd, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0xda, 0xfb, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x1e, 0xfc, 0xff, 0xff, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2c, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x14, 0x00, + 0x13, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, + 0x8e, 0xfc, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x26, 0xfc, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x56, 0xfe, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, + 0xe2, 0xfc, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x2c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x14, 0x00, 0x13, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x07, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xc6, 0xfe, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x00, 0x52, 0xfd, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0a, 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0xea, 0xfc, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x3a, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x5e, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, + 0x7e, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x9e, 0xff, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0xbe, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0xde, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, + 0x10, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x96, 0xfe, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x88, 0xfe, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xde, 0xfe, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xd0, 0xfe, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x26, 0xff, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0xff, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb6, 0xff, 0xff, 0xff, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xa8, 0xff, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x14, 0x00, + 0x10, 0x00, 0x0c, 0x00, 0x0b, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x34, 0x00, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x00, + 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x00, 0x16, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0c, 0x00, + 0x0b, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x67, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xbc, 0x49, 0x00, 0x00, + 0x60, 0x49, 0x00, 0x00, 0x20, 0x49, 0x00, 0x00, 0xe0, 0x48, 0x00, 0x00, + 0xa0, 0x48, 0x00, 0x00, 0x60, 0x48, 0x00, 0x00, 0x20, 0x48, 0x00, 0x00, + 0xbc, 0x47, 0x00, 0x00, 0x58, 0x47, 0x00, 0x00, 0x34, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x00, 0x00, 0xdc, 0x3d, 0x00, 0x00, 0x90, 0x3a, 0x00, 0x00, + 0x54, 0x37, 0x00, 0x00, 0x20, 0x34, 0x00, 0x00, 0xfc, 0x30, 0x00, 0x00, + 0xc4, 0x2d, 0x00, 0x00, 0x9c, 0x2a, 0x00, 0x00, 0x68, 0x27, 0x00, 0x00, + 0x44, 0x24, 0x00, 0x00, 0x0c, 0x21, 0x00, 0x00, 0xe4, 0x1d, 0x00, 0x00, + 0xb0, 0x1a, 0x00, 0x00, 0xf4, 0x18, 0x00, 0x00, 0x24, 0x17, 0x00, 0x00, + 0x64, 0x15, 0x00, 0x00, 0x98, 0x13, 0x00, 0x00, 0x64, 0x13, 0x00, 0x00, + 0x2c, 0x13, 0x00, 0x00, 0xf4, 0x12, 0x00, 0x00, 0xbc, 0x12, 0x00, 0x00, + 0x84, 0x12, 0x00, 0x00, 0x4c, 0x12, 0x00, 0x00, 0xfc, 0x11, 0x00, 0x00, + 0x94, 0x11, 0x00, 0x00, 0x44, 0x11, 0x00, 0x00, 0xf4, 0x10, 0x00, 0x00, + 0xa4, 0x10, 0x00, 0x00, 0x54, 0x10, 0x00, 0x00, 0xec, 0x0f, 0x00, 0x00, + 0xa8, 0x0f, 0x00, 0x00, 0x68, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, + 0x7c, 0x0e, 0x00, 0x00, 0x1c, 0x0e, 0x00, 0x00, 0xd8, 0x0d, 0x00, 0x00, + 0x70, 0x0d, 0x00, 0x00, 0xfc, 0x0c, 0x00, 0x00, 0x80, 0x0c, 0x00, 0x00, + 0x24, 0x0c, 0x00, 0x00, 0xe0, 0x0b, 0x00, 0x00, 0x74, 0x0b, 0x00, 0x00, + 0x00, 0x0b, 0x00, 0x00, 0x84, 0x0a, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, + 0xe4, 0x09, 0x00, 0x00, 0x78, 0x09, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, + 0x88, 0x08, 0x00, 0x00, 0x2c, 0x08, 0x00, 0x00, 0xe8, 0x07, 0x00, 0x00, + 0x7c, 0x07, 0x00, 0x00, 0x08, 0x07, 0x00, 0x00, 0x8c, 0x06, 0x00, 0x00, + 0x30, 0x06, 0x00, 0x00, 0xec, 0x05, 0x00, 0x00, 0x80, 0x05, 0x00, 0x00, + 0x24, 0x05, 0x00, 0x00, 0xb8, 0x04, 0x00, 0x00, 0x4c, 0x04, 0x00, 0x00, + 0xe0, 0x03, 0x00, 0x00, 0x98, 0x03, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, + 0xe4, 0x02, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x00, + 0xc0, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, + 0xbc, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xde, 0xee, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0xe0, 0xb7, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, + 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x35, 0x31, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xea, 0xb7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x3c, 0x00, 0x00, 0x00, 0xd4, 0xb7, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x49, 0xaa, 0x18, 0x3d, 0x0f, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, + 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x35, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x8e, 0xef, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90, 0xb8, 0xff, 0xff, + 0x10, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, + 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x34, 0x31, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x9a, 0xb8, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x3c, 0x00, 0x00, 0x00, + 0x84, 0xb8, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc8, 0x74, 0xbf, 0x3c, + 0x0f, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, + 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x34, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x3e, 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x40, 0xb9, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, + 0x65, 0x5f, 0x33, 0x31, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x4a, 0xb9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x3c, 0x00, 0x00, 0x00, 0x34, 0xb9, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x65, 0x4d, 0xab, 0x3c, 0x0f, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, + 0x65, 0x5f, 0x33, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xee, 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0xf0, 0xb9, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, + 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x32, 0x31, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xfa, 0xb9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x3c, 0x00, 0x00, 0x00, 0xe4, 0xb9, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xca, 0x37, 0xbb, 0x3c, 0x0f, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, + 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x32, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x9e, 0xf1, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x4a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xa0, 0xba, 0xff, 0xff, + 0x10, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, + 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x31, 0x31, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xaa, 0xba, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x38, 0x00, 0x00, 0x00, + 0x94, 0xba, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x86, 0x3c, 0x0f, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, + 0x65, 0x5f, 0x31, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x4a, 0xf2, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x4c, 0xbb, 0xff, 0xff, 0x0e, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, + 0x64, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x31, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x52, 0xbb, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x3c, 0x00, 0x00, 0x00, + 0x3c, 0xbb, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0x80, 0x00, 0x3c, + 0x0d, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x64, 0x5f, + 0x73, 0x6c, 0x69, 0x63, 0x65, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0xba, 0xbb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x44, 0x00, 0x00, 0x00, 0xa4, 0xbb, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x3b, 0x19, 0x00, 0x00, 0x00, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x3a, 0x30, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x22, 0xbc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x44, 0x00, 0x00, 0x00, 0x0c, 0xbc, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xd2, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x56, 0x25, 0x4e, 0x3e, + 0x1a, 0x00, 0x00, 0x00, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x2f, 0x4d, 0x61, + 0x74, 0x4d, 0x75, 0x6c, 0x3b, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x2f, 0x42, + 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8a, 0xbc, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x34, 0x00, 0x00, 0x00, + 0x74, 0xbc, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x49, 0xaa, 0x18, 0x3d, + 0x07, 0x00, 0x00, 0x00, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00, + 0xe2, 0xbc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x3c, 0x00, 0x00, 0x00, 0xcc, 0xbc, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x49, 0xaa, 0x18, 0x3d, 0x0d, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x35, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x86, 0xf4, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x88, 0xbd, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x5f, 0x35, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xc6, 0xf4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0xc8, 0xbd, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x70, 0x77, 0x34, 0x2f, + 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x70, 0x77, 0x34, 0x2f, 0x42, 0x69, 0x61, + 0x73, 0x41, 0x64, 0x64, 0x3b, 0x70, 0x77, 0x34, 0x2f, 0x43, 0x6f, 0x6e, + 0x76, 0x32, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xe2, 0xbd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x4c, 0x00, 0x00, 0x00, 0xcc, 0xbd, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x49, 0xaa, 0x18, 0x3d, 0x1f, 0x00, 0x00, 0x00, + 0x70, 0x77, 0x34, 0x2f, 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x70, 0x77, 0x34, + 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, 0x70, 0x77, 0x34, + 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x5a, 0xbe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x44, 0x00, 0x00, 0x00, 0x44, 0xbe, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xc0, 0x15, 0x8e, 0x3c, 0x19, 0x00, 0x00, 0x00, 0x64, 0x77, 0x34, 0x2f, + 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, 0x64, 0x77, 0x34, 0x2f, + 0x64, 0x65, 0x70, 0x74, 0x68, 0x77, 0x69, 0x73, 0x65, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xca, 0xbe, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x3c, 0x00, 0x00, 0x00, + 0xb4, 0xbe, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc8, 0x74, 0xbf, 0x3c, + 0x0d, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x7a, 0x65, 0x34, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x6e, 0xf6, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x70, 0xbf, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x5f, 0x34, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xae, 0xf6, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xb0, 0xbf, 0xff, 0xff, + 0x20, 0x00, 0x00, 0x00, 0x70, 0x77, 0x33, 0x2f, 0x52, 0x65, 0x6c, 0x75, + 0x3b, 0x70, 0x77, 0x33, 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, + 0x3b, 0x70, 0x77, 0x33, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, 0x44, 0x31, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xca, 0xbf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x4c, 0x00, 0x00, 0x00, 0xb4, 0xbf, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xc8, 0x74, 0xbf, 0x3c, 0x1f, 0x00, 0x00, 0x00, 0x70, 0x77, 0x33, 0x2f, + 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x70, 0x77, 0x33, 0x2f, 0x42, 0x69, 0x61, + 0x73, 0x41, 0x64, 0x64, 0x3b, 0x70, 0x77, 0x33, 0x2f, 0x43, 0x6f, 0x6e, + 0x76, 0x32, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x42, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x44, 0x00, 0x00, 0x00, 0x2c, 0xc0, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x61, 0xa9, 0x3c, + 0x19, 0x00, 0x00, 0x00, 0x64, 0x77, 0x33, 0x2f, 0x42, 0x69, 0x61, 0x73, + 0x41, 0x64, 0x64, 0x3b, 0x64, 0x77, 0x33, 0x2f, 0x64, 0x65, 0x70, 0x74, + 0x68, 0x77, 0x69, 0x73, 0x65, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xb2, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x3c, 0x00, 0x00, 0x00, 0x9c, 0xc0, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x65, 0x4d, 0xab, 0x3c, 0x0d, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, + 0x33, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x56, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x58, 0xc1, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x5f, 0x33, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x96, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x98, 0xc1, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, + 0x70, 0x77, 0x32, 0x2f, 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x70, 0x77, 0x32, + 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, 0x70, 0x77, 0x32, + 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xb2, 0xc1, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x4c, 0x00, 0x00, 0x00, + 0x9c, 0xc1, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x4d, 0xab, 0x3c, + 0x1f, 0x00, 0x00, 0x00, 0x70, 0x77, 0x32, 0x2f, 0x52, 0x65, 0x6c, 0x75, + 0x3b, 0x70, 0x77, 0x32, 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, + 0x3b, 0x70, 0x77, 0x32, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, 0x44, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x2a, 0xc2, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x44, 0x00, 0x00, 0x00, + 0x14, 0xc2, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xf0, 0xd3, 0x88, 0x3c, 0x19, 0x00, 0x00, 0x00, + 0x64, 0x77, 0x32, 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, + 0x64, 0x77, 0x32, 0x2f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x77, 0x69, 0x73, + 0x65, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x9a, 0xc2, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x3c, 0x00, 0x00, 0x00, 0x84, 0xc2, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xca, 0x37, 0xbb, 0x3c, 0x0d, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x32, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3e, 0xfa, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x33, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x40, 0xc3, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x5f, 0x32, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x7e, 0xfa, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x80, 0xc3, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x70, 0x77, 0x31, 0x2f, + 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x70, 0x77, 0x31, 0x2f, 0x42, 0x69, 0x61, + 0x73, 0x41, 0x64, 0x64, 0x3b, 0x70, 0x77, 0x31, 0x2f, 0x43, 0x6f, 0x6e, + 0x76, 0x32, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x9a, 0xc3, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x4c, 0x00, 0x00, 0x00, 0x84, 0xc3, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xca, 0x37, 0xbb, 0x3c, 0x1f, 0x00, 0x00, 0x00, + 0x70, 0x77, 0x31, 0x2f, 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x70, 0x77, 0x31, + 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, 0x70, 0x77, 0x31, + 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x12, 0xc4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x44, 0x00, 0x00, 0x00, 0xfc, 0xc3, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x1d, 0x29, 0x3c, 0x19, 0x00, 0x00, 0x00, 0x64, 0x77, 0x31, 0x2f, + 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, 0x64, 0x77, 0x31, 0x2f, + 0x64, 0x65, 0x70, 0x74, 0x68, 0x77, 0x69, 0x73, 0x65, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x82, 0xc4, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x38, 0x00, 0x00, 0x00, + 0x6c, 0xc4, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x86, 0x3c, 0x0d, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, + 0x31, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x22, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x24, 0xc5, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x5f, 0x31, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x62, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x64, 0xc5, 0xff, 0xff, 0x26, 0x00, 0x00, 0x00, + 0x63, 0x6f, 0x6e, 0x76, 0x30, 0x2f, 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x63, + 0x6f, 0x6e, 0x76, 0x30, 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, + 0x3b, 0x63, 0x6f, 0x6e, 0x76, 0x30, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, + 0x44, 0x31, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x82, 0xc5, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x54, 0x00, 0x00, 0x00, 0x6c, 0xc5, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x6c, 0x86, 0x3c, 0x25, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x76, + 0x30, 0x2f, 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x63, 0x6f, 0x6e, 0x76, 0x30, + 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64, 0x3b, 0x63, 0x6f, 0x6e, + 0x76, 0x30, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x32, 0x44, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0xc6, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x38, 0x00, 0x00, 0x00, + 0xec, 0xc5, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x81, 0x80, 0x00, 0x3c, 0x0c, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0xa2, 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0xa4, 0xc6, 0xff, 0xff, 0x06, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0xde, 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0xe0, 0xc6, 0xff, 0xff, 0x0b, 0x00, 0x00, 0x00, 0x45, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x44, 0x69, 0x6d, 0x73, 0x31, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0xe2, 0xc6, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x38, 0x00, 0x00, 0x00, 0xcc, 0xc6, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x81, 0x80, 0x00, 0x3c, 0x0a, 0x00, 0x00, 0x00, + 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x44, 0x69, 0x6d, 0x73, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x82, 0xfe, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x84, 0xc7, 0xff, 0xff, + 0x15, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x2f, 0x52, + 0x65, 0x61, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4f, + 0x70, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0xce, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0xd0, 0xc7, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x5f, 0x35, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x1c, 0xc8, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, + 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x5f, 0x34, 0x2f, 0x52, 0x65, 0x61, + 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x66, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x68, 0xc8, 0xff, 0xff, + 0x17, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x5f, 0x33, + 0x2f, 0x52, 0x65, 0x61, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x70, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xb2, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0xb4, 0xc8, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x5f, 0x32, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x18, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x18, 0xc9, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, + 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x5f, 0x31, 0x2f, 0x52, 0x65, 0x61, + 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x26, 0xc9, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x18, 0x00, 0x00, 0x00, + 0x68, 0xc9, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xc9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, + 0x18, 0x00, 0x00, 0x00, 0x9c, 0xc9, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x34, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x8e, 0xc9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0d, 0x18, 0x00, 0x00, 0x00, 0xd0, 0xc9, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x33, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc9, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x18, 0x00, 0x00, 0x00, + 0x04, 0xca, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf6, 0xc9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, + 0x18, 0x00, 0x00, 0x00, 0x38, 0xca, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x31, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xca, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0d, 0x14, 0x00, 0x00, 0x00, 0x6c, 0xca, 0xff, 0xff, + 0x06, 0x00, 0x00, 0x00, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5a, 0xca, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x9c, 0x01, 0x00, 0x00, 0x44, 0xca, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x99, 0xa4, 0xc7, 0x3a, + 0x86, 0x07, 0x71, 0x3a, 0xcf, 0x3f, 0x43, 0x3b, 0x1d, 0x2c, 0x34, 0x3a, + 0x6b, 0xb9, 0x45, 0x3b, 0x7a, 0x62, 0xb8, 0x3a, 0xfe, 0x86, 0x8f, 0x3a, + 0xf0, 0xff, 0xa1, 0x3a, 0x70, 0xc3, 0x9d, 0x3a, 0x74, 0x5e, 0x3d, 0x3a, + 0x07, 0x91, 0x00, 0x3b, 0xa4, 0x74, 0x4e, 0x3a, 0x2d, 0x02, 0x76, 0x3a, + 0x53, 0x36, 0x85, 0x3a, 0x4c, 0x3b, 0xd5, 0x3a, 0x7e, 0x34, 0x4a, 0x3b, + 0x8f, 0x77, 0x53, 0x3a, 0x4b, 0x48, 0xee, 0x3a, 0xb1, 0x81, 0x58, 0x3a, + 0xed, 0x20, 0x81, 0x3a, 0xd9, 0x4e, 0xca, 0x3a, 0x8d, 0xa5, 0xf2, 0x3a, + 0x4a, 0xde, 0xe8, 0x3a, 0x70, 0xf4, 0x39, 0x3a, 0x07, 0x93, 0x8d, 0x3a, + 0x21, 0xc5, 0xee, 0x3a, 0x12, 0x37, 0xa1, 0x3a, 0x53, 0xf6, 0x95, 0x3a, + 0xb9, 0xfe, 0x2a, 0x3b, 0xba, 0x9b, 0x7e, 0x3a, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x39, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x22, 0xcc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x9c, 0x01, 0x00, 0x00, 0x0c, 0xcc, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x07, 0x6d, 0x48, 0x37, + 0x80, 0xf9, 0xf1, 0x36, 0xd4, 0x03, 0xc4, 0x37, 0xff, 0xe0, 0xb4, 0x36, + 0xec, 0x7f, 0xc6, 0x37, 0x96, 0x1b, 0x39, 0x37, 0x16, 0x17, 0x10, 0x37, + 0x93, 0xa2, 0x22, 0x37, 0xd2, 0x61, 0x1e, 0x37, 0x91, 0x1c, 0xbe, 0x36, + 0x1a, 0x12, 0x81, 0x37, 0xe9, 0x43, 0xcf, 0x36, 0x27, 0xf9, 0xf6, 0x36, + 0x10, 0xbc, 0x05, 0x37, 0x5e, 0x11, 0x56, 0x37, 0x7e, 0xff, 0xca, 0x37, + 0xdc, 0x4b, 0xd4, 0x36, 0x83, 0x37, 0x6f, 0x37, 0x0d, 0x5b, 0xd9, 0x36, + 0x90, 0xa2, 0x01, 0x37, 0xf4, 0x19, 0x4b, 0x37, 0x27, 0x99, 0x73, 0x37, + 0x13, 0xc8, 0x69, 0x37, 0x20, 0xaf, 0xba, 0x36, 0x29, 0x21, 0x0e, 0x37, + 0xd7, 0xb4, 0x6f, 0x37, 0xec, 0xd8, 0x21, 0x37, 0xe0, 0x8c, 0x16, 0x37, + 0x64, 0xaa, 0xab, 0x37, 0x56, 0x9b, 0xff, 0x36, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0xde, 0xcd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0xa0, 0x01, 0x00, 0x00, 0xc2, 0xdc, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0xd8, 0x10, 0xf6, 0x3a, 0xbd, 0xa6, 0x0d, 0x3b, 0xc8, 0xe5, 0x0f, 0x3b, + 0xeb, 0x40, 0xab, 0x3a, 0x1e, 0xb0, 0x04, 0x3b, 0xb8, 0x4e, 0x8b, 0x3a, + 0x69, 0x62, 0xb1, 0x3a, 0xc1, 0x49, 0xc1, 0x3a, 0xa9, 0xa2, 0xe9, 0x3a, + 0x73, 0x3a, 0x90, 0x3a, 0x33, 0x9e, 0x13, 0x3b, 0x09, 0x3d, 0xa2, 0x3a, + 0xa0, 0xe9, 0x8a, 0x3a, 0xb3, 0x7e, 0xf1, 0x3a, 0x9a, 0x24, 0xd6, 0x3a, + 0x56, 0xa6, 0x10, 0x3b, 0x37, 0x0c, 0xa5, 0x3a, 0x6b, 0x29, 0xa3, 0x3a, + 0x4e, 0x3f, 0x80, 0x3a, 0xa8, 0xc4, 0x82, 0x3a, 0x2d, 0xfd, 0xed, 0x3a, + 0xf6, 0x94, 0xeb, 0x3a, 0x6e, 0x99, 0xc7, 0x3a, 0x79, 0x29, 0xa1, 0x3a, + 0x22, 0x03, 0xba, 0x3a, 0xe4, 0x04, 0xb8, 0x3a, 0xe3, 0xd0, 0x98, 0x3a, + 0x7c, 0x06, 0x88, 0x3a, 0x2b, 0xe5, 0x7f, 0x3a, 0x50, 0xea, 0x96, 0x3a, + 0x13, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, + 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x37, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xaa, 0xcf, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x98, 0x01, 0x00, 0x00, + 0x94, 0xcf, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xa0, 0x34, 0x01, 0x38, + 0x13, 0xc2, 0x14, 0x38, 0xf7, 0x1d, 0x17, 0x38, 0x75, 0xd8, 0xb3, 0x37, + 0x54, 0x58, 0x0b, 0x38, 0xf3, 0x4b, 0x92, 0x37, 0xb1, 0x48, 0xba, 0x37, + 0x4c, 0xfc, 0xca, 0x37, 0x6a, 0x5b, 0xf5, 0x37, 0xe2, 0x76, 0x97, 0x37, + 0x2b, 0x06, 0x1b, 0x38, 0xc9, 0x60, 0xaa, 0x37, 0xc9, 0xe1, 0x91, 0x37, + 0x66, 0x9c, 0xfd, 0x37, 0x00, 0xe3, 0xe0, 0x37, 0x2e, 0xe8, 0x17, 0x38, + 0x0c, 0x54, 0xad, 0x37, 0x07, 0x59, 0xab, 0x37, 0x7b, 0xae, 0x86, 0x37, + 0x36, 0x54, 0x89, 0x37, 0xd9, 0xed, 0xf9, 0x37, 0xb7, 0x66, 0xf7, 0x37, + 0x09, 0x9d, 0xd1, 0x37, 0x66, 0x3f, 0xa9, 0x37, 0x3a, 0x58, 0xc3, 0x37, + 0x63, 0x40, 0xc1, 0x37, 0x9e, 0x7b, 0xa0, 0x37, 0x8f, 0xd9, 0x8e, 0x37, + 0xe9, 0x5d, 0x86, 0x37, 0xa1, 0x7c, 0x9e, 0x37, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x36, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x62, 0xd1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x4c, 0xd1, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x09, 0x70, 0x33, 0x3c, + 0x8d, 0xd8, 0xa7, 0x3c, 0x6e, 0x69, 0x25, 0x3c, 0x11, 0x80, 0x3b, 0x3c, + 0x98, 0xd4, 0x21, 0x3c, 0xb7, 0x80, 0x16, 0x3c, 0x00, 0xd4, 0x1d, 0x3c, + 0x23, 0xfb, 0x67, 0x3c, 0xff, 0x03, 0x2a, 0x3c, 0x19, 0x53, 0x65, 0x3c, + 0x98, 0x15, 0xa5, 0x3c, 0x9f, 0xa4, 0x8c, 0x3c, 0x4c, 0x64, 0x1d, 0x3c, + 0x95, 0xca, 0x75, 0x3c, 0x7f, 0xe0, 0x58, 0x3c, 0xed, 0xf3, 0x96, 0x3c, + 0xfc, 0xa7, 0x35, 0x3c, 0x6d, 0xa4, 0x6a, 0x3c, 0x83, 0xde, 0x89, 0x3c, + 0x9d, 0x90, 0x93, 0x3c, 0x0f, 0x4a, 0x7f, 0x3c, 0x46, 0x7c, 0x2a, 0x3c, + 0x4c, 0x6a, 0x61, 0x3c, 0x6e, 0x83, 0x65, 0x3c, 0xe8, 0x42, 0x3a, 0x3c, + 0x9d, 0x95, 0x83, 0x3c, 0x35, 0xd5, 0x40, 0x3c, 0xf1, 0x54, 0x72, 0x3c, + 0xe4, 0xb5, 0x80, 0x3c, 0xf6, 0xf9, 0x3a, 0x3c, 0x1f, 0x43, 0x87, 0x3c, + 0xfa, 0x49, 0x44, 0x3c, 0xfb, 0x76, 0xa8, 0x3c, 0xb2, 0x50, 0x32, 0x3c, + 0x8f, 0xb8, 0x48, 0x3c, 0x38, 0xbe, 0x5b, 0x3c, 0x25, 0x9c, 0x6d, 0x3c, + 0xb7, 0x23, 0x86, 0x3c, 0x8c, 0x31, 0x7f, 0x3c, 0xcc, 0xcb, 0x42, 0x3c, + 0xbd, 0xdc, 0x27, 0x3c, 0xfe, 0x71, 0x74, 0x3c, 0xd9, 0x9b, 0x2c, 0x3c, + 0x63, 0xa7, 0x74, 0x3c, 0xcd, 0x7f, 0x8b, 0x3c, 0x85, 0xde, 0x52, 0x3c, + 0x46, 0x30, 0x31, 0x3c, 0x72, 0xdb, 0x2d, 0x3c, 0x0d, 0x4e, 0xa4, 0x3c, + 0x2e, 0xa0, 0x80, 0x3c, 0xb3, 0x04, 0x69, 0x3c, 0x09, 0x8e, 0x43, 0x3c, + 0x77, 0xaa, 0x64, 0x3c, 0xf8, 0x36, 0x65, 0x3c, 0x3e, 0x25, 0xa9, 0x3c, + 0x66, 0x6d, 0x6f, 0x3c, 0xf3, 0xb2, 0x89, 0x3c, 0x5b, 0x64, 0x82, 0x3c, + 0xe4, 0xd9, 0x1e, 0x3c, 0x82, 0xf7, 0x9c, 0x3c, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x35, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x92, 0xd4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x04, 0x03, 0x00, 0x00, 0x7c, 0xd4, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xe7, 0x12, 0xed, 0x38, + 0x40, 0xc2, 0x5d, 0x39, 0xfb, 0x8a, 0xda, 0x38, 0xe9, 0xb9, 0xf7, 0x38, + 0xa7, 0xcf, 0xd5, 0x38, 0x51, 0xd8, 0xc6, 0x38, 0xf4, 0x85, 0xd0, 0x38, + 0x48, 0x3f, 0x19, 0x39, 0x1b, 0xa0, 0xe0, 0x38, 0x0c, 0x7e, 0x17, 0x39, + 0x37, 0x1c, 0x5a, 0x39, 0x79, 0xd1, 0x39, 0x39, 0x5f, 0xf2, 0xcf, 0x38, + 0xce, 0x5e, 0x22, 0x39, 0xf8, 0x44, 0x0f, 0x39, 0x89, 0x70, 0x47, 0x39, + 0x48, 0x01, 0xf0, 0x38, 0x58, 0x01, 0x1b, 0x39, 0x46, 0x27, 0x36, 0x39, + 0xa3, 0xf6, 0x42, 0x39, 0x0b, 0xa5, 0x28, 0x39, 0x04, 0x3f, 0xe1, 0x38, + 0xea, 0xe8, 0x14, 0x39, 0xf9, 0x9d, 0x17, 0x39, 0xe1, 0x16, 0xf6, 0x38, + 0x97, 0xd9, 0x2d, 0x39, 0x8b, 0xc5, 0xfe, 0x38, 0xc0, 0x15, 0x20, 0x39, + 0x8d, 0x0d, 0x2a, 0x39, 0xbb, 0x08, 0xf7, 0x38, 0x84, 0xb5, 0x32, 0x39, + 0x40, 0xab, 0x01, 0x39, 0x91, 0x93, 0x5e, 0x39, 0x45, 0x97, 0xeb, 0x38, + 0xc2, 0x98, 0x04, 0x39, 0xab, 0x29, 0x11, 0x39, 0x37, 0xf7, 0x1c, 0x39, + 0xcb, 0x39, 0x31, 0x39, 0xda, 0x94, 0x28, 0x39, 0xc8, 0xae, 0x00, 0x39, + 0xc8, 0xc7, 0xdd, 0x38, 0x2b, 0x7b, 0x21, 0x39, 0x31, 0x0d, 0xe4, 0x38, + 0x71, 0x9e, 0x21, 0x39, 0x99, 0x4e, 0x38, 0x39, 0xfa, 0x4c, 0x0b, 0x39, + 0x34, 0x1a, 0xea, 0x38, 0x72, 0xb3, 0xe5, 0x38, 0x94, 0x14, 0x59, 0x39, + 0xdd, 0xf0, 0x29, 0x39, 0xb6, 0xee, 0x19, 0x39, 0x19, 0x2f, 0x01, 0x39, + 0xa5, 0x0e, 0x17, 0x39, 0x77, 0x6b, 0x17, 0x39, 0xce, 0x79, 0x5f, 0x39, + 0x90, 0x2a, 0x1e, 0x39, 0xb8, 0xed, 0x35, 0x39, 0x48, 0x46, 0x2c, 0x39, + 0xf7, 0xdf, 0xd1, 0x38, 0xa3, 0x62, 0x4f, 0x39, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xb6, 0xd7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x08, 0x03, 0x00, 0x00, 0x9a, 0xe6, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x36, 0x0c, 0x98, 0x3a, 0x4b, 0x04, 0xcb, 0x3a, 0x30, 0x30, 0x97, 0x3a, + 0x9d, 0xad, 0xa7, 0x3a, 0xf7, 0x0b, 0x3f, 0x3a, 0x65, 0xec, 0xa3, 0x3a, + 0xf4, 0xf2, 0x0f, 0x3b, 0xdb, 0xe6, 0xac, 0x3a, 0xf2, 0x40, 0x4c, 0x3a, + 0xdd, 0x49, 0xc6, 0x3a, 0xe9, 0x70, 0x07, 0x3b, 0x06, 0xe9, 0xdc, 0x3a, + 0xb6, 0x75, 0x91, 0x3a, 0xa0, 0x1e, 0x86, 0x3a, 0x42, 0xf2, 0x8c, 0x3a, + 0x9c, 0x18, 0x94, 0x3a, 0x68, 0x9d, 0x6b, 0x3a, 0xa4, 0x72, 0x97, 0x3a, + 0xb6, 0xf8, 0xbc, 0x3a, 0x57, 0x34, 0xe8, 0x3a, 0x9b, 0x93, 0x9c, 0x3a, + 0xdf, 0x23, 0xe0, 0x39, 0x0a, 0x34, 0xa2, 0x3a, 0x23, 0x2b, 0x47, 0x3a, + 0xf1, 0x0a, 0x89, 0x3a, 0xe4, 0xdb, 0x42, 0x3a, 0x9a, 0xa2, 0xb7, 0x3a, + 0xf1, 0xf7, 0x1f, 0x3b, 0xb9, 0xa1, 0xd6, 0x3a, 0xd4, 0x0c, 0x61, 0x3a, + 0xaa, 0x9e, 0xa2, 0x3a, 0x86, 0x38, 0xce, 0x3a, 0xb0, 0x60, 0x5f, 0x3a, + 0xc9, 0xb7, 0x7b, 0x3a, 0x36, 0x27, 0x87, 0x3a, 0x2c, 0xbd, 0xa4, 0x3a, + 0x0d, 0x3b, 0x7b, 0x3a, 0x7d, 0x2a, 0xa6, 0x3a, 0x4e, 0xd1, 0xcb, 0x3a, + 0x00, 0x7a, 0x66, 0x3a, 0xe8, 0x60, 0x58, 0x3a, 0xd7, 0x7d, 0xd0, 0x3a, + 0x48, 0xd7, 0x89, 0x3a, 0x0c, 0x8d, 0xcf, 0x3a, 0xdd, 0xa3, 0x7f, 0x3a, + 0x81, 0xa4, 0x52, 0x3a, 0xc2, 0x02, 0x9a, 0x3a, 0xf9, 0xbb, 0xb8, 0x3a, + 0x5a, 0xc7, 0x9b, 0x3a, 0x7f, 0xe6, 0x8a, 0x3a, 0x32, 0xc2, 0x6d, 0x3a, + 0xd2, 0x85, 0xb6, 0x3a, 0x13, 0x0b, 0xad, 0x3a, 0xb3, 0x32, 0x88, 0x3a, + 0xb1, 0xfe, 0x98, 0x3a, 0xaa, 0x9a, 0xbf, 0x3a, 0x01, 0x20, 0xa9, 0x3a, + 0xdf, 0xd9, 0xae, 0x3a, 0xcb, 0x06, 0x8f, 0x3a, 0xfe, 0xe3, 0xe1, 0x3a, + 0x13, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, + 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x33, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xea, 0xda, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0xf4, 0x02, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, + 0xd4, 0xda, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x1c, 0x64, 0xde, 0x37, + 0x61, 0x78, 0x14, 0x38, 0x4b, 0x22, 0xdd, 0x37, 0xb9, 0x40, 0xf5, 0x37, + 0x60, 0xb7, 0x8b, 0x37, 0xce, 0xc2, 0xef, 0x37, 0xae, 0x8b, 0x52, 0x38, + 0xa0, 0xe4, 0xfc, 0x37, 0xf4, 0x5f, 0x95, 0x37, 0x2b, 0x03, 0x11, 0x38, + 0xfd, 0x19, 0x46, 0x38, 0x5c, 0x8e, 0x21, 0x38, 0x5e, 0xc1, 0xd4, 0x37, + 0x33, 0x2b, 0xc4, 0x37, 0x5b, 0x27, 0xce, 0x37, 0x80, 0x9c, 0xd8, 0x37, + 0x54, 0x4f, 0xac, 0x37, 0x7e, 0x83, 0xdd, 0x37, 0xdb, 0x32, 0x0a, 0x38, + 0xd6, 0xd0, 0x29, 0x38, 0xe3, 0x03, 0xe5, 0x37, 0x0c, 0xeb, 0x23, 0x37, + 0xb9, 0x3e, 0xed, 0x37, 0xea, 0xa7, 0x91, 0x37, 0xb7, 0x71, 0xc8, 0x37, + 0x17, 0x81, 0x8e, 0x37, 0xcb, 0x4b, 0x06, 0x38, 0xf3, 0xf9, 0x69, 0x38, + 0xe8, 0xf6, 0x1c, 0x38, 0x6a, 0x95, 0xa4, 0x37, 0xad, 0xda, 0xed, 0x37, + 0x3b, 0xd0, 0x16, 0x38, 0x4f, 0x5c, 0xa3, 0x37, 0x1b, 0x16, 0xb8, 0x37, + 0x31, 0xae, 0xc5, 0x37, 0x2c, 0xf4, 0xf0, 0x37, 0xe2, 0xba, 0xb7, 0x37, + 0x7f, 0x0a, 0xf3, 0x37, 0x4f, 0x0e, 0x15, 0x38, 0x58, 0x8d, 0xa8, 0x37, + 0xf1, 0x3d, 0x9e, 0x37, 0x5c, 0x79, 0x18, 0x38, 0x97, 0x9c, 0xc9, 0x37, + 0x43, 0xc9, 0x17, 0x38, 0x68, 0xf4, 0xba, 0x37, 0x12, 0x0c, 0x9a, 0x37, + 0x28, 0x43, 0xe1, 0x37, 0x91, 0x19, 0x07, 0x38, 0x23, 0xd9, 0xe3, 0x37, + 0x48, 0x29, 0xcb, 0x37, 0xab, 0xe0, 0xad, 0x37, 0x87, 0x7b, 0x05, 0x38, + 0x9a, 0x19, 0xfd, 0x37, 0x6e, 0x35, 0xc7, 0x37, 0xc5, 0xc6, 0xdf, 0x37, + 0xbc, 0x1f, 0x0c, 0x38, 0x78, 0x5e, 0xf7, 0x37, 0x81, 0xbe, 0xff, 0x37, + 0x43, 0x32, 0xd1, 0x37, 0xc5, 0x32, 0x25, 0x38, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x0a, 0xde, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0xf4, 0xdd, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x0b, 0xf8, 0x2f, 0x3c, + 0x3a, 0xdf, 0x04, 0x3c, 0x90, 0xd6, 0x2a, 0x3c, 0x1d, 0x73, 0xe5, 0x3b, + 0x0c, 0x31, 0x16, 0x3c, 0xb0, 0x70, 0xa5, 0x3b, 0x2b, 0x5d, 0x1d, 0x3c, + 0xeb, 0x2d, 0xf8, 0x3b, 0x74, 0x05, 0xf1, 0x3b, 0x75, 0x8c, 0xb2, 0x3b, + 0xcc, 0x15, 0x28, 0x3c, 0xb8, 0x9a, 0xee, 0x3b, 0x52, 0xb2, 0x42, 0x3c, + 0x67, 0xf6, 0x10, 0x3c, 0xcf, 0xf4, 0xcf, 0x3b, 0xea, 0x66, 0xba, 0x3b, + 0x28, 0x14, 0x00, 0x3c, 0xe9, 0xe4, 0x24, 0x3c, 0x86, 0x87, 0xd6, 0x3b, + 0xae, 0xeb, 0x18, 0x3c, 0xb2, 0x05, 0xf8, 0x3b, 0x8c, 0x50, 0x19, 0x3c, + 0xb4, 0xf6, 0xcd, 0x3b, 0x90, 0xa0, 0x2d, 0x3c, 0xc6, 0x5b, 0xdd, 0x3b, + 0xd8, 0xcd, 0x17, 0x3c, 0x17, 0x7a, 0x06, 0x3c, 0x22, 0x4c, 0x0f, 0x3c, + 0x20, 0x2a, 0xae, 0x3b, 0x48, 0x2b, 0x49, 0x3c, 0x00, 0x04, 0xdd, 0x3b, + 0x15, 0xc4, 0x01, 0x3c, 0x7e, 0xed, 0x22, 0x3c, 0x58, 0x5e, 0xcc, 0x3b, + 0xd0, 0xad, 0x38, 0x3c, 0x82, 0xe8, 0x2d, 0x3c, 0xda, 0xbb, 0xe6, 0x3b, + 0xfb, 0xa2, 0x0a, 0x3c, 0x74, 0xac, 0x30, 0x3c, 0xdb, 0xb6, 0xe6, 0x3b, + 0xa9, 0xc7, 0x34, 0x3c, 0x32, 0xee, 0xc4, 0x3b, 0x58, 0xc6, 0xbe, 0x3b, + 0x8a, 0xa7, 0x0e, 0x3c, 0xdb, 0xf7, 0xd9, 0x3b, 0x92, 0xf7, 0x02, 0x3c, + 0x97, 0xea, 0x1a, 0x3c, 0x92, 0x81, 0x07, 0x3c, 0xff, 0xb9, 0x3c, 0x3c, + 0xd3, 0xa7, 0xd7, 0x3b, 0x6d, 0x32, 0x2b, 0x3c, 0x52, 0xab, 0x3f, 0x3c, + 0xd2, 0x24, 0x24, 0x3c, 0x83, 0x9e, 0xb7, 0x3b, 0x70, 0xaa, 0x1c, 0x3c, + 0x65, 0x63, 0xb3, 0x3b, 0x50, 0x93, 0xc4, 0x3b, 0x91, 0x4a, 0x9e, 0x3b, + 0x8f, 0x4a, 0xd3, 0x3b, 0x43, 0x9b, 0x33, 0x3c, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x31, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x3a, 0xe1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x04, 0x03, 0x00, 0x00, 0x24, 0xe1, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xe9, 0x1a, 0x3c, 0x39, + 0x2f, 0x09, 0x0e, 0x39, 0xd7, 0x9e, 0x36, 0x39, 0x39, 0x46, 0xf5, 0x38, + 0xcb, 0x8c, 0x20, 0x39, 0xa9, 0xd9, 0xb0, 0x38, 0x8c, 0x37, 0x28, 0x39, + 0xdb, 0xa5, 0x04, 0x39, 0x6f, 0xd2, 0x00, 0x39, 0xdf, 0xdc, 0xbe, 0x38, + 0x78, 0xad, 0x33, 0x39, 0x76, 0x0f, 0xff, 0x38, 0xd6, 0x1f, 0x50, 0x39, + 0xd3, 0xf5, 0x1a, 0x39, 0x6f, 0x4c, 0xde, 0x38, 0xfc, 0x41, 0xc7, 0x38, + 0x7c, 0xe9, 0x08, 0x39, 0x3e, 0x44, 0x30, 0x39, 0x34, 0x53, 0xe5, 0x38, + 0x9c, 0x77, 0x23, 0x39, 0x5c, 0x90, 0x04, 0x39, 0x6f, 0xe3, 0x23, 0x39, + 0x26, 0x2b, 0xdc, 0x38, 0x15, 0x9a, 0x39, 0x39, 0x07, 0xa0, 0xec, 0x38, + 0x0f, 0x46, 0x22, 0x39, 0x62, 0xc0, 0x0f, 0x39, 0x28, 0x2e, 0x19, 0x39, + 0x22, 0x2d, 0xba, 0x38, 0x13, 0x0b, 0x57, 0x39, 0x33, 0x42, 0xec, 0x38, + 0x33, 0xb7, 0x0a, 0x39, 0x1b, 0x2a, 0x2e, 0x39, 0xa0, 0x76, 0xda, 0x38, + 0x76, 0x6a, 0x45, 0x39, 0xfd, 0xe6, 0x39, 0x39, 0xa2, 0xa5, 0xf6, 0x38, + 0xb7, 0x32, 0x14, 0x39, 0xc3, 0xdb, 0x3c, 0x39, 0x4b, 0xa0, 0xf6, 0x38, + 0x78, 0x3f, 0x41, 0x39, 0x27, 0x83, 0xd2, 0x38, 0x9e, 0xee, 0xcb, 0x38, + 0x36, 0x7e, 0x18, 0x39, 0x40, 0x00, 0xe9, 0x38, 0xe5, 0xff, 0x0b, 0x39, + 0xc2, 0x99, 0x25, 0x39, 0x09, 0xda, 0x10, 0x39, 0x1b, 0xbe, 0x49, 0x39, + 0x63, 0x87, 0xe6, 0x38, 0x0a, 0x01, 0x37, 0x39, 0x63, 0xe3, 0x4c, 0x39, + 0xe8, 0x76, 0x2f, 0x39, 0x73, 0x48, 0xc4, 0x38, 0x7e, 0x78, 0x27, 0x39, + 0xa2, 0xc2, 0xbf, 0x38, 0x00, 0x22, 0xd2, 0x38, 0x52, 0x35, 0xa9, 0x38, + 0x11, 0xdd, 0xe1, 0x38, 0x5a, 0xfe, 0x3f, 0x39, 0x13, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x5e, 0xe4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x08, 0x03, 0x00, 0x00, 0x42, 0xf3, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xa2, 0x02, 0x83, 0x3a, 0xae, 0x10, 0x10, 0x3b, 0xae, 0x7b, 0x89, 0x3a, + 0x7d, 0x50, 0xa5, 0x3a, 0xdb, 0xe4, 0x80, 0x3a, 0x39, 0x34, 0x99, 0x3a, + 0x5c, 0x89, 0x36, 0x3a, 0x19, 0xd2, 0xa9, 0x3a, 0x1f, 0xac, 0x83, 0x3a, + 0xa0, 0x61, 0x2d, 0x3b, 0x1b, 0xe2, 0x85, 0x3a, 0x31, 0x50, 0xce, 0x3a, + 0x54, 0x24, 0xd5, 0x3a, 0xca, 0x8a, 0x92, 0x3a, 0xba, 0x73, 0x5f, 0x3a, + 0xe4, 0xcb, 0x92, 0x3a, 0xd2, 0xde, 0xb9, 0x3a, 0x29, 0x6f, 0xea, 0x3a, + 0x1b, 0xa3, 0x75, 0x3a, 0xc2, 0x4a, 0x76, 0x3a, 0x3b, 0x02, 0xa2, 0x3a, + 0x00, 0x5b, 0x8c, 0x3a, 0x73, 0x88, 0x90, 0x3a, 0xd7, 0x99, 0x84, 0x3a, + 0x86, 0x98, 0x43, 0x3a, 0xe3, 0xfa, 0xfd, 0x3a, 0xfe, 0x9b, 0x6a, 0x3a, + 0xf2, 0x9d, 0xbc, 0x3a, 0x61, 0x6e, 0xec, 0x3a, 0xb9, 0x81, 0x5d, 0x3a, + 0x64, 0x13, 0xa9, 0x3a, 0xd0, 0x2b, 0x8e, 0x3a, 0xdc, 0x1d, 0xc0, 0x3a, + 0xa4, 0xe7, 0xf2, 0x3a, 0xd2, 0xef, 0x4d, 0x3a, 0x41, 0x6d, 0x7c, 0x3a, + 0x2b, 0xf4, 0x84, 0x3a, 0x0c, 0xfa, 0x95, 0x3a, 0x5b, 0x0e, 0x86, 0x3a, + 0x0a, 0xe7, 0x1a, 0x3a, 0x97, 0xb4, 0x03, 0x3b, 0x1c, 0x5f, 0x80, 0x3a, + 0x05, 0xa4, 0x87, 0x3a, 0x8f, 0x47, 0xc7, 0x3a, 0xe0, 0xdf, 0xb6, 0x3a, + 0x5a, 0x25, 0x97, 0x3a, 0xd9, 0x45, 0x8f, 0x3a, 0xf2, 0x06, 0x8e, 0x3a, + 0xcb, 0x96, 0x7e, 0x3a, 0x98, 0xf3, 0x90, 0x3a, 0xbf, 0x61, 0xc4, 0x3a, + 0xa5, 0x97, 0x95, 0x3a, 0xbb, 0xb9, 0x76, 0x3a, 0x6f, 0xc6, 0x6e, 0x3a, + 0xd5, 0x11, 0xb1, 0x3a, 0xcd, 0xe5, 0x97, 0x3a, 0xbc, 0xdf, 0x53, 0x3a, + 0x04, 0x0b, 0xbb, 0x3a, 0xff, 0xd6, 0xbc, 0x3a, 0x20, 0xbe, 0x80, 0x3a, + 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, + 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x39, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x92, 0xe7, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0xf4, 0x02, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, + 0x7c, 0xe7, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xbb, 0x54, 0xaf, 0x37, + 0x64, 0xcd, 0x40, 0x38, 0x5b, 0xfe, 0xb7, 0x37, 0x7c, 0x3d, 0xdd, 0x37, + 0xac, 0x7f, 0xac, 0x37, 0x66, 0x08, 0xcd, 0x37, 0xe0, 0x49, 0x74, 0x37, + 0x5c, 0x45, 0xe3, 0x37, 0x8f, 0x37, 0xb0, 0x37, 0x41, 0x09, 0x68, 0x38, + 0x04, 0x2d, 0xb3, 0x37, 0xf0, 0x0d, 0x0a, 0x38, 0xb4, 0x9f, 0x0e, 0x38, + 0x05, 0x1e, 0xc4, 0x37, 0xdb, 0x85, 0x95, 0x37, 0x25, 0x75, 0xc4, 0x37, + 0x0f, 0xc0, 0xf8, 0x37, 0x20, 0xdf, 0x1c, 0x38, 0x36, 0x5e, 0xa4, 0x37, + 0x65, 0xce, 0xa4, 0x37, 0xf0, 0xd0, 0xd8, 0x37, 0x6f, 0xd6, 0xbb, 0x37, + 0xae, 0x6d, 0xc1, 0x37, 0xb2, 0x75, 0xb1, 0x37, 0x04, 0xe2, 0x82, 0x37, + 0x5e, 0xf3, 0x29, 0x38, 0x20, 0xfd, 0x9c, 0x37, 0x0d, 0x6d, 0xfc, 0x37, + 0x35, 0x35, 0x1e, 0x38, 0x9e, 0x38, 0x94, 0x37, 0x23, 0x46, 0xe2, 0x37, + 0x7e, 0x44, 0xbe, 0x37, 0x07, 0x8e, 0x00, 0x38, 0x2a, 0x8a, 0x22, 0x38, + 0x74, 0xcd, 0x89, 0x37, 0x4b, 0xe9, 0xa8, 0x37, 0x95, 0xee, 0xb1, 0x37, + 0xbb, 0xb6, 0xc8, 0x37, 0x3c, 0x68, 0xb3, 0x37, 0x51, 0x4e, 0x4f, 0x37, + 0xe4, 0x42, 0x30, 0x38, 0xae, 0xcc, 0xab, 0x37, 0x22, 0x87, 0xb5, 0x37, + 0x0c, 0x59, 0x05, 0x38, 0xa8, 0xbd, 0xf4, 0x37, 0x4a, 0x47, 0xca, 0x37, + 0xf1, 0xbd, 0xbf, 0x37, 0x28, 0x13, 0xbe, 0x37, 0xb1, 0x5b, 0xaa, 0x37, + 0x12, 0xfd, 0xc1, 0x37, 0xa9, 0x68, 0x03, 0x38, 0x0a, 0x33, 0xc8, 0x37, + 0xa7, 0x18, 0xa5, 0x37, 0xbc, 0xc6, 0x9f, 0x37, 0xe3, 0xf8, 0xec, 0x37, + 0xd8, 0x48, 0xcb, 0x37, 0x80, 0xc6, 0x8d, 0x37, 0xd0, 0x51, 0xfa, 0x37, + 0x67, 0xb9, 0xfc, 0x37, 0xd7, 0x4b, 0xac, 0x37, 0x12, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x38, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xb2, 0xea, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x9c, 0xea, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x62, 0xa7, 0xdf, 0x3b, + 0x8c, 0x8f, 0xd1, 0x3b, 0x7d, 0xe4, 0x9a, 0x3b, 0xba, 0x96, 0x98, 0x3b, + 0x13, 0xbe, 0x8f, 0x3b, 0x19, 0x1c, 0x0a, 0x3c, 0xce, 0x66, 0xbc, 0x3b, + 0x6e, 0x9e, 0xb6, 0x3b, 0x28, 0xef, 0xca, 0x3b, 0x72, 0x67, 0x2d, 0x3c, + 0x00, 0x8e, 0x72, 0x3b, 0xc9, 0x58, 0x20, 0x3c, 0x71, 0x25, 0x2c, 0x3c, + 0x1c, 0x44, 0xd8, 0x3b, 0x93, 0x3b, 0xff, 0x3b, 0xf7, 0xab, 0xb5, 0x3b, + 0x86, 0xb1, 0x2b, 0x3c, 0xb0, 0xea, 0x55, 0x3c, 0x58, 0xf3, 0x01, 0x3c, + 0x70, 0x33, 0xcf, 0x3b, 0x37, 0xc3, 0xc0, 0x3b, 0xf3, 0x70, 0x90, 0x3b, + 0x03, 0x8c, 0x0a, 0x3c, 0xf4, 0x05, 0x81, 0x3b, 0xdc, 0xd7, 0xde, 0x3b, + 0x16, 0x4d, 0xa9, 0x3b, 0x8b, 0x4d, 0x6e, 0x3b, 0x63, 0x55, 0xbd, 0x3b, + 0x05, 0x41, 0xf5, 0x3b, 0xd0, 0x60, 0x67, 0x3b, 0xed, 0x09, 0xed, 0x3b, + 0xd9, 0x8d, 0x7b, 0x3b, 0xec, 0x11, 0xd9, 0x3b, 0x1a, 0x7a, 0x8d, 0x3b, + 0x25, 0xd8, 0xc2, 0x3b, 0x81, 0x11, 0x00, 0x3c, 0x02, 0xc9, 0xc3, 0x3b, + 0xd8, 0x9e, 0x11, 0x3c, 0xca, 0x37, 0xee, 0x3b, 0x27, 0x8d, 0xa1, 0x3b, + 0x88, 0x6a, 0xb5, 0x3b, 0x3c, 0x51, 0x28, 0x3c, 0xbd, 0x82, 0xba, 0x3b, + 0x61, 0x9a, 0xb5, 0x3b, 0x1f, 0x82, 0xbc, 0x3b, 0xaa, 0x20, 0xcb, 0x3b, + 0xcb, 0x9f, 0xa2, 0x3b, 0x99, 0x12, 0xf2, 0x3b, 0xdb, 0xdc, 0x99, 0x3b, + 0xfb, 0xb3, 0x12, 0x3c, 0x9d, 0x35, 0xfd, 0x3b, 0x3e, 0x1b, 0x9d, 0x3b, + 0xbf, 0x41, 0x59, 0x3b, 0x0f, 0x3d, 0x90, 0x3b, 0x11, 0x06, 0x1e, 0x3c, + 0xc4, 0x9d, 0x43, 0x3c, 0xbb, 0x06, 0xe7, 0x3b, 0xa3, 0xd9, 0xb6, 0x3b, + 0xd4, 0x7c, 0xcd, 0x3b, 0x49, 0x60, 0xf2, 0x3b, 0x12, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x37, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xe2, 0xed, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0xf4, 0x02, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0xcc, 0xed, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xd6, 0xfa, 0x13, 0x39, 0xb9, 0xa7, 0x0a, 0x39, + 0xe1, 0xf7, 0xcc, 0x38, 0x73, 0xeb, 0xc9, 0x38, 0xa7, 0x36, 0xbe, 0x38, + 0x7e, 0xc2, 0x36, 0x39, 0x82, 0x4f, 0xf9, 0x38, 0x8a, 0xa8, 0xf1, 0x38, + 0x50, 0x45, 0x06, 0x39, 0xe9, 0x76, 0x65, 0x39, 0x4b, 0x7c, 0xa0, 0x38, + 0x97, 0x2f, 0x54, 0x39, 0xce, 0xcc, 0x63, 0x39, 0x7b, 0x17, 0x0f, 0x39, + 0xb7, 0xdf, 0x28, 0x39, 0xaf, 0x67, 0xf0, 0x38, 0x69, 0x33, 0x63, 0x39, + 0x8e, 0x89, 0x8d, 0x39, 0x75, 0xf6, 0x2b, 0x39, 0x04, 0x18, 0x09, 0x39, + 0xd9, 0x14, 0xff, 0x38, 0x5b, 0x23, 0xbf, 0x38, 0x96, 0x56, 0x37, 0x39, + 0x52, 0xbc, 0xaa, 0x38, 0x87, 0x71, 0x13, 0x39, 0xfa, 0x08, 0xe0, 0x38, + 0x1e, 0xac, 0x9d, 0x38, 0x39, 0x8b, 0xfa, 0x38, 0x81, 0x45, 0x22, 0x39, + 0x32, 0x17, 0x99, 0x38, 0xff, 0xd5, 0x1c, 0x39, 0xa0, 0x70, 0xa6, 0x38, + 0xa8, 0x9f, 0x0f, 0x39, 0x2d, 0x37, 0xbb, 0x38, 0x09, 0xeb, 0x00, 0x39, + 0xd8, 0x78, 0x29, 0x39, 0x67, 0x8a, 0x01, 0x39, 0xda, 0xb2, 0x40, 0x39, + 0xb9, 0x9d, 0x1d, 0x39, 0xa6, 0xc7, 0xd5, 0x38, 0x19, 0x11, 0xf0, 0x38, + 0xb4, 0xbb, 0x5e, 0x39, 0xf2, 0xce, 0xf6, 0x38, 0x6a, 0x50, 0xf0, 0x38, + 0xa8, 0x73, 0xf9, 0x38, 0x12, 0x66, 0x06, 0x39, 0x14, 0x33, 0xd7, 0x38, + 0xa5, 0x2a, 0x20, 0x39, 0x04, 0x9b, 0xcb, 0x38, 0x95, 0x21, 0x42, 0x39, + 0x02, 0x89, 0x27, 0x39, 0xdc, 0xe5, 0xcf, 0x38, 0x4d, 0xbf, 0x8f, 0x38, + 0xb0, 0xde, 0xbe, 0x38, 0x9a, 0x1c, 0x51, 0x39, 0xca, 0x6d, 0x81, 0x39, + 0x98, 0xdb, 0x18, 0x39, 0xe3, 0xf6, 0xf1, 0x38, 0xd0, 0xf5, 0x07, 0x39, + 0x0b, 0x5e, 0x20, 0x39, 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, + 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x36, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x16, 0x00, 0x1e, 0x00, 0x18, 0x00, 0x17, 0x00, 0x10, 0x00, + 0x0c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x28, 0x00, 0x00, 0x00, + 0x10, 0x03, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x1c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0xec, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x62, 0xab, 0x32, 0x3a, 0x5a, 0xcf, 0xae, 0x3a, + 0x98, 0x86, 0xa3, 0x3a, 0x4f, 0xfc, 0x12, 0x3b, 0x4d, 0xc5, 0xb5, 0x3a, + 0x3f, 0xfe, 0xb6, 0x3a, 0x39, 0xb3, 0x13, 0x3a, 0xab, 0x21, 0x83, 0x3a, + 0xa8, 0x5b, 0xff, 0x39, 0xaa, 0x02, 0xbe, 0x3a, 0xa7, 0x41, 0xa4, 0x3a, + 0x21, 0x8c, 0xca, 0x3a, 0xa3, 0x62, 0x83, 0x3a, 0xd8, 0xec, 0x9a, 0x3a, + 0x36, 0xde, 0x9e, 0x3a, 0x0f, 0x9e, 0x8c, 0x3a, 0xa0, 0x41, 0x18, 0x3a, + 0x9e, 0x6e, 0x95, 0x3a, 0xd1, 0xeb, 0xa3, 0x3a, 0x6d, 0xbf, 0xfc, 0x3a, + 0xd8, 0x87, 0x93, 0x3a, 0xe3, 0x69, 0x14, 0x3b, 0xbc, 0x44, 0x99, 0x3a, + 0x10, 0xa1, 0x48, 0x3a, 0xd6, 0x7a, 0x40, 0x3a, 0x45, 0x6b, 0xa5, 0x3a, + 0x2a, 0x88, 0x44, 0x3b, 0xb9, 0x25, 0x46, 0x3a, 0x38, 0x71, 0x07, 0x3a, + 0x97, 0x89, 0xbd, 0x39, 0x3d, 0x1e, 0x61, 0x3a, 0x8a, 0xf4, 0xf1, 0x3a, + 0x79, 0xe1, 0x8f, 0x3a, 0x70, 0x4f, 0x8e, 0x3a, 0x0b, 0x10, 0x9e, 0x3a, + 0x27, 0x55, 0x32, 0x3a, 0xe9, 0xcd, 0x7b, 0x3a, 0xb0, 0x0c, 0xd1, 0x3a, + 0xd5, 0xb4, 0x9c, 0x3a, 0x18, 0x39, 0x17, 0x3a, 0x79, 0x21, 0xa7, 0x3a, + 0xf5, 0x22, 0xa3, 0x3a, 0xda, 0xa9, 0xab, 0x3a, 0x81, 0xd1, 0xb0, 0x3a, + 0x6a, 0x05, 0xc3, 0x3a, 0x0a, 0xa4, 0x7e, 0x3a, 0xc6, 0x3a, 0x06, 0x3a, + 0xc6, 0x8b, 0x49, 0x3a, 0x10, 0x87, 0xbb, 0x3a, 0x74, 0x8e, 0x86, 0x3a, + 0x96, 0x4c, 0xbb, 0x3a, 0x36, 0x41, 0xae, 0x3a, 0xf1, 0x6f, 0x37, 0x3b, + 0x60, 0x24, 0x1a, 0x3b, 0xb3, 0x09, 0xb8, 0x3a, 0x01, 0xba, 0xb1, 0x3a, + 0x74, 0xf4, 0xa5, 0x3a, 0xbd, 0x17, 0xfa, 0x3a, 0xa0, 0x47, 0x2a, 0x3a, + 0x11, 0x96, 0x94, 0x3a, 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, + 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x35, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x62, 0xf4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, + 0xf4, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x03, 0x00, 0x00, 0x4c, 0xf4, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, + 0xe8, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x5f, 0x9f, 0x85, 0x37, 0x73, 0xbc, 0x02, 0x38, 0x08, 0x98, 0xf4, 0x37, + 0x98, 0xda, 0x5b, 0x38, 0x20, 0xf1, 0x07, 0x38, 0x2b, 0xdb, 0x08, 0x38, + 0x30, 0xec, 0x5c, 0x37, 0xe1, 0x23, 0xc4, 0x37, 0xdf, 0xf9, 0x3e, 0x37, + 0xaa, 0x1a, 0x0e, 0x38, 0xd3, 0xaf, 0xf5, 0x37, 0xf2, 0x7a, 0x17, 0x38, + 0x0e, 0x85, 0xc4, 0x37, 0xc3, 0xba, 0xe7, 0x37, 0x86, 0xa0, 0xed, 0x37, + 0x25, 0x54, 0xd2, 0x37, 0xd6, 0xbc, 0x63, 0x37, 0x66, 0x83, 0xdf, 0x37, + 0x70, 0x2f, 0xf5, 0x37, 0x1f, 0x06, 0x3d, 0x38, 0x4e, 0xab, 0xdc, 0x37, + 0x69, 0xfd, 0x5d, 0x38, 0x66, 0x40, 0xe5, 0x37, 0xb1, 0x0b, 0x96, 0x37, + 0x74, 0xf3, 0x8f, 0x37, 0xfd, 0x6c, 0xf7, 0x37, 0x3f, 0xfb, 0x92, 0x38, + 0x89, 0x30, 0x94, 0x37, 0x84, 0x96, 0x4a, 0x37, 0x1e, 0xc0, 0x0d, 0x37, + 0x41, 0x5c, 0xa8, 0x37, 0xd3, 0xf3, 0x34, 0x38, 0xb8, 0x35, 0xd7, 0x37, + 0x5f, 0xdc, 0xd4, 0x37, 0x26, 0x6c, 0xec, 0x37, 0xe2, 0x5e, 0x85, 0x37, + 0x7f, 0x51, 0xbc, 0x37, 0xd4, 0x57, 0x1c, 0x38, 0xcf, 0x64, 0xea, 0x37, + 0x2a, 0x31, 0x62, 0x37, 0x6e, 0xfc, 0xf9, 0x37, 0x00, 0x03, 0xf4, 0x37, + 0x09, 0x62, 0x00, 0x38, 0xf8, 0x3c, 0x04, 0x38, 0x01, 0xda, 0x11, 0x38, + 0x8d, 0x70, 0xbe, 0x37, 0x2a, 0xc6, 0x48, 0x37, 0x3a, 0xbb, 0x96, 0x37, + 0x51, 0x3f, 0x0c, 0x38, 0x54, 0x43, 0xc9, 0x37, 0x95, 0x13, 0x0c, 0x38, + 0x25, 0x52, 0x02, 0x38, 0x33, 0x30, 0x89, 0x38, 0xe9, 0x8e, 0x66, 0x38, + 0x31, 0xa3, 0x09, 0x38, 0xda, 0xea, 0x04, 0x38, 0x2e, 0x3a, 0xf8, 0x37, + 0xcc, 0x09, 0x3b, 0x38, 0x3c, 0xb2, 0x7e, 0x37, 0x7e, 0x3f, 0xde, 0x37, + 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, + 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x34, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x82, 0xf7, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, + 0x6c, 0xf7, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x43, 0xa0, 0x9f, 0x3b, 0xd7, 0x7e, 0xe9, 0x3b, 0xf9, 0x62, 0x16, 0x3c, + 0xaf, 0xa0, 0x8a, 0x3b, 0x42, 0x6a, 0xc5, 0x3b, 0x18, 0x4e, 0x17, 0x3c, + 0xa3, 0x68, 0x87, 0x3b, 0xfa, 0xed, 0x01, 0x3c, 0xf2, 0xa5, 0x74, 0x3b, + 0x93, 0x1c, 0x8b, 0x3c, 0x4d, 0xcd, 0x03, 0x3c, 0x22, 0x27, 0x70, 0x3b, + 0x2b, 0xd1, 0xbe, 0x3b, 0x41, 0xc9, 0xd4, 0x3b, 0xed, 0x5d, 0x95, 0x3b, + 0xdc, 0x67, 0x8c, 0x3b, 0xcd, 0xe2, 0x92, 0x3b, 0xb6, 0xab, 0x04, 0x3c, + 0x38, 0x26, 0x29, 0x3c, 0x46, 0xb5, 0x2a, 0x3c, 0x0a, 0x0a, 0xd5, 0x3b, + 0x7c, 0xe3, 0x86, 0x3b, 0xfc, 0x13, 0xb0, 0x3b, 0x6a, 0x52, 0x11, 0x3c, + 0xec, 0xb4, 0x15, 0x3c, 0xf4, 0xf0, 0x95, 0x3b, 0xf0, 0x59, 0xa1, 0x3b, + 0x8b, 0xfa, 0xd2, 0x3b, 0x67, 0xc7, 0x93, 0x3b, 0xfa, 0x06, 0xaf, 0x3b, + 0x60, 0xfa, 0xab, 0x3b, 0x2f, 0x24, 0xac, 0x3b, 0xac, 0xce, 0x6c, 0x3c, + 0xc1, 0x3f, 0x95, 0x3b, 0xde, 0x9c, 0x12, 0x3c, 0xd0, 0x08, 0x36, 0x3c, + 0xda, 0x8a, 0xd8, 0x3b, 0xd2, 0x13, 0xcb, 0x3b, 0x4c, 0x23, 0xae, 0x3b, + 0xb8, 0xdb, 0x9e, 0x3b, 0xe7, 0xc8, 0xdc, 0x3b, 0xfb, 0x00, 0x90, 0x3c, + 0xc3, 0xac, 0x03, 0x3c, 0x21, 0xb8, 0x75, 0x3c, 0x37, 0x59, 0xc6, 0x3b, + 0x84, 0x8c, 0x95, 0x3b, 0xf0, 0x53, 0xe3, 0x3b, 0x81, 0x3d, 0xac, 0x3b, + 0xae, 0x63, 0xbe, 0x3b, 0x05, 0xbb, 0x90, 0x3c, 0x68, 0x41, 0xd0, 0x3b, + 0xfa, 0x80, 0x13, 0x3c, 0x58, 0x41, 0x30, 0x3c, 0x1f, 0x75, 0x09, 0x3c, + 0x0b, 0x62, 0x8a, 0x3b, 0xe7, 0x94, 0xdb, 0x3b, 0xec, 0x22, 0xb3, 0x3b, + 0x62, 0x15, 0xd5, 0x3b, 0x70, 0x1f, 0x91, 0x3b, 0x1b, 0x47, 0xa4, 0x3b, + 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, + 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x33, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xb2, 0xfa, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0xf4, 0x02, 0x00, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, + 0x9c, 0xfa, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xea, 0x30, 0xb1, 0x38, + 0x32, 0x98, 0x01, 0x39, 0x5a, 0xef, 0x26, 0x39, 0xd0, 0xe1, 0x99, 0x38, + 0x6d, 0x23, 0xdb, 0x38, 0x58, 0xf4, 0x27, 0x39, 0x17, 0x4f, 0x96, 0x38, + 0x15, 0x3a, 0x10, 0x39, 0xd5, 0xc8, 0x87, 0x38, 0x56, 0x6b, 0x9a, 0x39, + 0x27, 0x4e, 0x12, 0x39, 0x1c, 0x4a, 0x85, 0x38, 0x78, 0xd0, 0xd3, 0x38, + 0x6c, 0x33, 0xec, 0x38, 0x94, 0xcd, 0xa5, 0x38, 0x14, 0xdb, 0x9b, 0x38, + 0x91, 0x0c, 0xa3, 0x38, 0x09, 0x45, 0x13, 0x39, 0x24, 0xc3, 0x3b, 0x39, + 0x1b, 0x7e, 0x3d, 0x39, 0x56, 0x7b, 0xec, 0x38, 0x49, 0xbb, 0x95, 0x38, + 0x17, 0x74, 0xc3, 0x38, 0x1f, 0x50, 0x21, 0x39, 0x26, 0x2e, 0x26, 0x39, + 0xc9, 0x70, 0xa6, 0x38, 0x31, 0x1b, 0xb3, 0x38, 0xcc, 0x31, 0xea, 0x38, + 0x53, 0x0a, 0xa4, 0x38, 0x7b, 0x49, 0xc2, 0x38, 0xfc, 0xe6, 0xbe, 0x38, + 0x64, 0x15, 0xbf, 0x38, 0xc2, 0x6e, 0x83, 0x39, 0x16, 0xac, 0xa5, 0x38, + 0xf0, 0xbe, 0x22, 0x39, 0xb5, 0x10, 0x4a, 0x39, 0xd5, 0x5e, 0xf0, 0x38, + 0x7f, 0x6c, 0xe1, 0x38, 0xbf, 0x4c, 0xc1, 0x38, 0xbe, 0x56, 0xb0, 0x38, + 0x64, 0x14, 0xf5, 0x38, 0x8f, 0xd9, 0x9f, 0x39, 0x08, 0x2a, 0x12, 0x39, + 0x03, 0x61, 0x88, 0x39, 0xad, 0x2c, 0xdc, 0x38, 0x4c, 0x01, 0xa6, 0x38, + 0xbf, 0x57, 0xfc, 0x38, 0x80, 0x31, 0xbf, 0x38, 0xef, 0x56, 0xd3, 0x38, + 0x11, 0xa8, 0xa0, 0x39, 0xf2, 0x2b, 0xe7, 0x38, 0x26, 0xbc, 0x23, 0x39, + 0x71, 0xa6, 0x43, 0x39, 0x4a, 0x95, 0x18, 0x39, 0x48, 0x9c, 0x99, 0x38, + 0x80, 0xbe, 0xf3, 0x38, 0x2e, 0xd9, 0xc6, 0x38, 0xee, 0x87, 0xec, 0x38, + 0x89, 0x17, 0xa1, 0x38, 0xcc, 0x5a, 0xb6, 0x38, 0x12, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x32, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0xd2, 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x3c, 0x00, 0x00, 0x00, 0xbc, 0xfd, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x65, 0x65, 0x40, 0x3b, 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, + 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x31, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2c, 0x01, 0x00, 0x00, 0x32, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x5c, 0x78, 0xe5, 0x38, 0x11, 0x00, 0x00, 0x00, + 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x92, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00, 0x00, 0xd4, 0xfe, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0xce, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00, 0x00, 0x10, 0xff, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00, 0x00, 0x4c, 0xff, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00, 0x00, 0x88, 0xff, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x82, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00, 0x00, 0xc4, 0xff, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, 0x68, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xbe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x61, 0x72, 0x69, 0x74, + 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, + 0x1c, 0x00, 0x18, 0x00, 0x17, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x54, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x81, 0x80, 0x00, 0x3c, 0x1d, 0x00, 0x00, 0x00, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x3a, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, + 0x88, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4c, 0xff, 0xff, 0xff, + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x98, 0xff, 0xff, 0xff, + 0x2d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, + 0xa8, 0xff, 0xff, 0xff, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0e, 0xb8, 0xff, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xc8, 0xff, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + 0xd8, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xa8, 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x72, 0xb4, 0xff, 0xff, 0xff, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x0c, 0x00, 0x10, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xdc, 0xff, 0xff, 0xff, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xe8, 0xff, 0xff, 0xff, + 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf4, 0xff, 0xff, 0xff, + 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x0c, 0x00, 0x0c, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, +}; + +const size_t mww_model_data_size = 55472; diff --git a/tools/ctl/ipc4/mww/strawberry.txt b/tools/ctl/ipc4/mww/strawberry.txt new file mode 100644 index 000000000000..1d9767965d32 --- /dev/null +++ b/tools/ctl/ipc4/mww/strawberry.txt @@ -0,0 +1 @@ +3,55504,877023059,0,55472,50450433,0,0,0,0,32,860636756,0,2097172,1572892,1048596,12,262152,20,28,136,256,31344,31360,55156,3,1,4,4294931730,12,28,60,15,1987208563,1600613993,1634100580,7629941,1,4,4294931332,69,4,8,1886680431,828339317,0,1,4,4294931278,4,11,1970302569,1969315700,7301476,3,84,44,4,4294931408,97,4,19,1447972675,1230197317,1298091599,1145132101,4281409,4294931444,96,4,19,1601071469,1953396082,1600482665,1936876918,7237481,4294931480,95,4,19,1601071469,1953396082,1600482665,1936876918,7237481,98,31084,31076,31044,31020,30988,30956,30924,30892,30872,30556,30300,26684,26428,26172,25916,22300,22044,21248,20992,17376,17120,16564,16308,14492,14356,14188,14052,8036,8028,8020,8012,8004,7996,7988,7980,7972,7964,7956,7948,7940,7932,7924,7916,7908,7900,7892,7884,7876,7868,7860,7852,7844,7836,7828,7820,7812,7804,7796,7788,7780,7772,7764,7756,7748,7740,7732,7724,7716,7708,7700,7692,7684,7676,7668,7660,7652,7644,7636,7628,7620,7612,7604,7596,7260,6764,4828,1932,1196,220,212,204,196,188,180,172,140,108,4,4294931822,4,88,12,917512,262152,8,16,40,393216,262152,6,4,1,1003,655360,786448,262152,10,2,2,4,6,909192754,12590,4294931922,4,16,0,0,0,0,4294931950,4,16,775302706,48,0,0,4294913120,4294913124,4294913128,4294913132,4294913136,4294913140,4294932002,4,960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294932974,4,720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294933706,4,2880,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294936598,4,1920,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294938530,4,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294939022,4,320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294920496,4294920500,4294920504,4294920508,4294920512,4294920516,4294920520,4294920524,4294920528,4294920532,4294920536,4294920540,4294920544,4294920548,4294920552,4294920556,4294920560,4294920564,4294920568,4294920572,4294920576,4294920580,4294920584,4294920588,4294920592,4294920596,4294920600,4294920604,4294920608,4294920612,4294920616,4294920620,4294920624,4294920628,4294920632,4294920636,4294920640,4294920644,4294920648,4294920652,4294920656,4294920660,4294920664,4294920668,4294920672,4294920676,4294920680,4294920684,4294920688,4294920692,4294920696,4294920700,4294920704,4294920708,4294920712,4294939574,4,6000,1224554573,940257075,1261643023,678199103,708588279,4145357862,66591509,942742804,423109937,893206566,602613281,571280394,857613857,606295337,271522062,4262077443,200610055,1059191535,135733000,437005856,4242729472,99549979,67771386,4247204913,185346551,4124444421,3792369639,435940326,620560894,455744798,197844710,3825724894,4177528819,4042594040,4161273294,3672305155,4158505941,4210489299,4193647068,352128283,3705404649,3555781344,3706842321,3891986421,4008312781,3202928076,3454251711,4209370804,83615460,4077065208,739517232,3487237371,3789816514,3252990360,50654157,3302818286,180538080,3854616884,1730431297,3341303077,154676530,3537101610,3102209507,3183326406,789183944,3536258581,4291684849,200475196,859388207,2670742124,1160528463,3823377182,3240037130,3371493577,353567231,4074112755,234095590,555483692,1564042310,3226216283,723001135,3704753668,3845402920,2799812052,4260352212,117045247,148301801,855509563,1532839245,3240441939,1248087423,3608019271,3321974010,3069897647,318763517,4157929458,350616293,118299499,255999330,3326679373,3788504269,434775567,4228976114,4097648681,3938776549,3435069925,3350834597,925430508,674706218,438371882,3369131957,4247532808,354571036,4264704801,3988520175,3151566832,2932851880,906961892,739252279,4047252510,3890078902,370812711,1515279414,3797244983,3839219709,4276613839,3504523967,404170222,5371,3660315149,4174708686,1293561352,1417639460,291587891,3690334749,17575366,3940079847,438446587,401734417,3306483696,4205178587,655821622,1332367634,271522821,4040153379,740173018,151461628,369297172,4092716554,3140358657,3538477477,4024360129,3923567361,4091063500,234823697,236842767,521023783,4109114650,249286626,589235932,4261870782,216449761,3320300787,64796612,521089033,471453471,453322274,3691509519,3875648197,723983862,3811242728,268166391,3805471249,869976819,52905747,857472272,287720966,3709081891,301323725,691280617,608643038,536410876,114150175,803202330,992173627,755816233,370748169,3775868442,353492448,1916880367,121575445,4258465792,65193990,771751180,1012754475,287764297,119544598,4194959371,572244944,2136157949,4228120311,4027186438,4211676139,4294374369,3943631342,253225948,252503534,3955283698,3721452026,2476122318,4294241785,67897330,135668248,2026229,588446732,132641804,773460739,3554338550,4009550849,2174324399,234745072,254410769,385811484,487190256,187637763,200473334,523432464,4025145355,3874811380,2745867736,17172456,52439035,235286061,184156161,287050513,3606508311,134275821,3367099087,3535656127,2291380940,269291778,336135698,320738321,4259706600,255139320,3553683977,3722495463,3300504024,3080764094,2324343969,524960274,1148661570,487066922,437990693,3722234334,1714946315,3742766400,4226218997,202494222,1949554464,254884633,1415196460,537661985,368979230,3976252928,1899881735,86785586,4058775293,621869276,1779236872,52308755,789381380,437720309,4011336232,4158122986,1479149294,4265685297,3989832228,4091730912,1191954926,32964588,3975142889,103735024,3202812405,3283732950,404023257,287449887,3149000958,3738091172,1256377325,3721715165,3754339818,435812024,3051751914,2510145226,4141465473,252253184,2878725604,115319725,685628418,1333733699,438720813,1148460852,504764494,4142909220,115272406,3721663522,855057449,3708816158,4263834849,439300394,804272925,1344551741,910769472,4241554953,384747457,316228900,1376465928,3741727277,1077082364,4164498494,4209304353,122495285,725175329,3236224784,1070720179,4043651089,826878245,3879290444,1060316938,476462368,4142069491,1497504792,253499922,3266429663,750836118,4177737742,978596906,4096345951,839917859,759968824,4178178581,1800488209,791764260,3252424738,12104121,367063284,1395797288,4245306147,318891007,940320555,2933398066,4276943079,3992796957,3889932497,3370071999,3652500686,4123778748,48030477,3355838259,338045752,3923449154,4263117533,3424533261,3501033160,3522513107,3516717023,299500053,807408903,853006,251149397,3103196151,3940822228,2953454611,3685986479,4041811702,3500991719,4241217039,771297063,3928752914,658188378,3104503576,3860726726,3457175815,3973022104,3993187839,3852788457,101440529,1161693987,3843634773,317593923,3607499332,84689137,3089842249,3385902279,252597254,4190947070,268889128,1108158226,4095747365,2715340527,3551575984,4024486607,3082414076,3652894133,17555659,608125248,742345235,689248274,1509093629,3587161781,112365486,3235971268,3455373828,2918435747,740611827,4248515385,4262741550,271322879,1591153445,3085627876,3617436549,3253788351,3671457549,4076470482,1209449931,741628234,995108109,790032906,1427125500,3674343144,199675339,3758295269,4242680819,4194762264,1111754514,860239940,859264045,1043532521,2133986358,3945133527,699446769,286460391,993536771,4031454469,1346826282,1564173373,725297736,1178599717,2067291947,1009669383,3906990207,206384405,3039702563,3536163235,3101164000,3857775853,3603634466,569254419,3408355598,771777610,31598414,39333626,2551465732,3030432928,3804228529,3088053750,3537029617,4158516489,4264781337,1190223187,3318480471,474305796,3207152630,3300765371,2962612460,3134585609,3537959389,82966544,3747374085,773014822,3655522855,4263190760,3997454542,3186015189,3568098256,3972986326,4022787013,3924301337,4282015553,1141790277,4024044316,3661054471,3510782458,3621451423,2595229451,3855486656,4109042642,252047404,3882705937,1145173501,3839114506,38606852,3523269823,4107657742,1343230422,720847919,3471110691,3135179766,2567719397,1196292877,4242745101,423051281,4059752173,3569279495,587276002,821577281,4076398389,3704163085,2603965429,1230641896,3506045471,340015383,3742435799,4007004400,668856312,771888162,3590318102,4006802151,2487637225,1297147887,3654492470,4149687299,188018179,4006338833,786760939,351345460,3756776206,3287288083,2168743154,1142084583,3669500163,388772877,137894629,3891592440,738065853,148908846,3606235181,3166495483,2317641740,3843761505,1046883326,96521483,1996675847,657338152,437317965,755180016,3925268949,2428612813,3516970179,14551121,778247669,3806979389,2133781512,775367536,4162123089,249622545,3926525446,2965165021,3737177792,3320515880,828584937,4072330536,1513475076,2438482,103349784,368966899,203815669,3119171313,365748699,4109570588,1213613503,367848715,2083118603,1227633973,103162704,4107263486,4229108217,2948586720,435029747,3790927356,1381180384,453042211,1966603066,655894901,4232387917,470610437,823854109,3586970331,354415634,103479838,1652498705,268166150,871828014,1062156321,3138062923,3759138534,286266046,203421702,1526451223,3926919168,912999982,4194821140,802625562,1343954455,3759482978,201197795,537654269,606463461,987494702,3590057196,52431846,3855002072,4088846567,352121567,4110160945,3958303468,3724008122,3975927537,196714718,3137667845,826018798,4240087521,3534204662,4126329551,336526339,386001680,3939819505,217105365,867937746,4042855162,439286242,4208502513,3617973751,4141790652,85258785,556868400,16644597,283363024,669434611,4040758766,1006239484,1195449908,606548258,3978232833,3806062328,809639945,811479842,336930086,571146994,3956212436,315746304,1277954838,1549231400,3977513766,3805475809,471933721,1451187294,4214959156,938008856,3130583005,734387427,705104886,1059799107,3605397791,4022858226,1160582167,863388702,4264568310,284555237,3367175656,130348264,301396993,740835868,3974358813,4246134257,842928411,641477449,4043058189,114287582,3349732086,232834496,4010469372,203165474,3638690840,4193246179,775629846,1127567140,118028832,401667575,4057469065,519839002,1143477319,1211319332,4058122311,568656622,18098180,50337302,941757175,975449610,4292740993,1205991954,1010114077,1145524007,3185572349,3689085386,3791915758,32961795,806542821,186785292,4143975866,704772625,1128413731,809984816,3957845785,82367681,3760000521,284826089,286589660,4228519969,3990622664,1495922721,1362768402,739396937,3501912068,97769672,3237870060,3824026851,523695067,103162902,3735493834,988676122,825043214,288307229,3083191269,4243516609,4143577821,3991341040,2424007,3943239703,3304189489,476456155,4209374716,4259503353,135001083,3625580595,200075520,166850536,3673357822,4158777346,4009559896,360400104,4208646951,418043895,202237943,3641250863,48692207,184947429,3553546232,4258394606,3993896755,662654213,301199903,568970492,102697202,102245685,4174968304,404095240,3974950662,233038080,3455450145,829581325,367129372,804249353,119477248,201796141,3974958599,670956009,3554989574,720364033,68149543,777678602,250937633,839707139,571471117,4112455709,4277277462,270146555,4277332497,837352196,3962981416,3455113756,572192990,3569930009,2982520760,485411258,4246169453,253567525,4275368475,270004209,759382027,3470459637,4226155772,3370956516,3399997869,571053232,591017807,3842961447,3572892662,487522803,1077232941,4144418859,100470526,4026254358,3469071062,1644282092,205088606,165867547,3721595135,385150916,909852517,3625775406,236329734,4229420274,3471560460,1462501357,594313043,4077971474,3688496125,3858092547,861229633,51056876,52446968,555678694,418574361,1311706130,322332978,3975865356,4058116057,4261341639,237122860,218241008,607319322,283304501,3857506015,1417628430,3861205554,16059920,100856565,1024713503,3893958418,535294190,236452089,167501075,4241087209,1767246596,36908081,4211477752,202110191,1259861015,4059301125,3300183259,4009545977,3319114985,3232933066,673639665,4094763303,4125806848,83741913,653914643,3910796831,3720859349,2157822,197853183,2730609642,204210112,4060356136,3959225338,588254440,588376877,3319924221,3770660770,638977519,3856463878,3672755702,4246524633,85726475,3991537406,536811791,1107890196,3484721281,3689536229,3891064059,65335768,150995221,3587171055,3974099920,50521572,3958832369,4243258865,3773610651,83752403,3705466853,184739304,4060021246,3908169203,4209242609,4277400824,3656446205,4226945763,3944607165,386204637,3924032496,150932229,203033639,3856265968,3856068837,185857539,3775068155,4211213048,102294996,251140591,4160220429,571347958,4279904269,4024034567,235668226,152565256,3841974258,436931298,4162124740,134617596,185928949,958203134,792603413,3891391271,201461752,17438214,4230417920,236993046,1111966728,778724174,404750830,333059111,504960775,677656633,1408966416,201393457,738324989,1325337335,1026963202,891313746,636683249,4025552721,1058924814,2000827385,1310210892,4130162479,4162525216,1177626380,857675278,4093982256,421467923,3387031357,168351979,606468317,1092040947,3889571377,384692446,1457379049,4177659131,116386803,837076964,3252486410,2882463173,169655194,840829970,46786313,133816290,370339333,3523355924,2915030456,3991904654,3028403188,3064572101,4259680898,4145861581,3453221117,483789274,437122315,3725913813,3489851635,3367887873,650766578,576862277,3521840186,587399940,103817497,2747852222,298247640,355545122,337978650,3873443890,1798519846,1535075411,36848503,3960675834,858925868,370016463,4124890858,1096878643,1193543951,3772650048,788932391,459046488,4008510542,4079948022,121980451,3925674953,201066963,207234044,4026279201,3688823342,1546533161,455098203,3133592834,3691252696,236334813,120060130,1089928421,642849552,587418101,369749532,1632176401,3897392180,3353271809,100535305,472591576,555739887,620032504,182847160,1209269490,4194089460,1626545440,116391720,3114586112,3268391848,3823292911,3872690823,1597840903,34800592,957614602,584302617,1796677189,421857877,3401245193,4109752236,4191799253,3941108380,1799365407,4074371737,318717718,252692737,925902914,3992523308,3016950275,4207324087,4275628502,248021404,1143408374,3217231533,1076901883,102751754,1058413612,3957594176,4209841901,3589133736,3873706506,3907763088,1161767710,3805278631,1329745919,368041720,186198361,165874723,3860596996,453506526,3706654748,251129284,1952458773,233842975,705825762,285477122,889727536,1463890186,1161432657,1432891161,726034234,2069582125,1999111736,454827531,905637629,184754715,886650143,1212616740,136976971,811464182,572006184,1463425079,1259203114,235467564,320271343,4260089844,215487526,220593413,3555119898,740146652,31840981,4124898047,297323970,4076927021,370461694,3923492318,3736727511,182113282,3958423546,3774523298,3737954248,4054444007,3602877908,3911988265,4059221479,3770860511,263307770,269028343,3623204350,201568976,3368598730,3065564119,4220420499,4142200521,200145893,3957907690,688524551,4278785016,4144292864,235669775,455024640,353885937,2097684755,4076410091,66515439,4060278769,572136193,17696535,49082129,4195490811,102312204,237629943,2132354844,100735214,16121830,4294896870,403972627,4027979788,3991069690,3807509489,254089973,220723176,2029455387,33035223,201003020,251062786,689970708,3960937489,4091934472,3774476780,84217858,285470442,1492712445,4110556919,520809228,134672899,488116237,4160752640,3757039346,4008962545,15864549,218943185,1708652043,1177090538,4075696171,4184686834,4014537172,3267759098,534326718,3722855699,4091601875,3693357555,2317702397,889769160,67902485,661272608,3895458801,3318285845,149559530,3437508657,3976251362,135591914,2571588333,1276241623,4225966648,156194604,3947037903,3435130631,3941145855,3604813098,4191006422,236190209,2436524580,1225193390,3673103656,762463497,4013765605,3705724894,3974900724,3792782619,4139957710,187435014,2218419198,504036019,3402247462,39605547,3843826399,3705454093,4208591809,3557490735,4155817950,4259248388,2169193203,85068598,401021942,3347732,2136353852,1366248017,1160802873,975385161,488243738,3771926774,3253931243,849912,4241616360,654903834,1077487432,1866036800,52774217,517792745,3641180169,3119835629,4276745222,3740916189,3302419387,3961060862,793321528,828200012,68630060,4140359881,151504618,3033145830,4228786193,3486633715,3469398473,4110929374,675952930,825715520,185279772,599118338,4244297213,4195747039,541333268,3082262147,3804753322,68082656,355943200,962158110,3923919153,551880197,335866882,3910597401,505552146,3669814750,757063970,135736315,3390636808,237176594,538644733,3927044853,1361913861,1046377791,1277439307,3821397460,135391758,621547807,4176420380,15717636,738191829,3827241260,1311905303,1513652040,390662989,3432556244,334744021,519711779,2914445072,3757555894,3805211587,236578054,1242892283,336817497,3878688813,3621114060,469229536,301605893,2846676492,3956001216,418174164,3994874149,1043349513,336876133,4030075942,214878430,154073090,4245563429,2630337508,3820336304,554749415,3555518745,689844458,3674815074,3340236545,3285967584,3836724185,3355262697,3659220731,2179129787,551429016,3251103009,3824734422,4056413967,2580401898,3719293900,3737706994,3958128116,4263129089,2566633928,353761693,2879566357,3940859896,3403605275,2915813803,3472473781,3909220885,3978109456,3929558542,3004163283,556076218,2965885463,3335317449,3168064523,3084244706,4141407207,3721523747,3456901122,4148118574,2849897178,653337802,3838233100,3383409911,2883391696,3018704608,3552700164,18083568,4230831927,238248718,2667766775,837692344,3687752745,3840207295,2965763287,2798628272,183560187,4025937171,119150872,3893041116,3656778239,434629074,1812394769,167125066,3773107170,2165905634,82964189,4210165789,688926214,4110351880,183701799,383316166,1395520797,4011206476,3453549547,2365399503,268690656,13957383,725103888,4112123121,184090118,16513729,1899498741,3907914093,3452761351,2717526475,805755861,452003115,86061320,3792179427,4076806421,585948643,1227821316,100864346,3436189187,2368090099,670231773,4075484425,4263842587,4059754475,17101832,584179921,1142490628,4276300867,3337026068,2701596627,3890005415,3269252317,2256636645,2828305567,2984631459,2882117037,502714095,3806263049,3906523878,4142452204,3622623958,4257591987,3213937095,3517760456,2800347048,3334781865,114742807,4293928940,4125146836,4108833768,119801347,739439639,164426310,3872978910,3944882922,3807234774,200417834,184433162,4026794003,4211076329,272173570,1310199822,3974043450,804004357,421996031,4225233420,283188734,335096609,3873106653,4060414666,321332749,1378952960,217920556,1157762334,372783386,50321220,957625106,688408113,400481499,190932,4294945586,4,120,45294,69825,48748,113000,4294735209,4294943252,18944,4294906842,194684,4294879193,4294938383,4294932763,4294908041,138009,38897,4294927510,16988,9739,31217,51482,44033,4294936741,4294885364,51600,4294930536,141314,141380,4294693941,4294945610,4294959859,4294945718,4,150,2172719009,2164448980,2514956927,87261501,4202629773,2145481345,4265181609,333283814,2824059305,607450331,4099273215,3566088831,222700496,3814271738,3628183681,4041703844,87917872,2137120226,1214890723,2130894430,1478547369,2172747393,2366195583,1053127293,2180662316,4007490943,360668922,2179985611,1555105243,660460868,1601045887,528580481,3307513158,2136597889,2615770952,3883924858,2420712066,2359,4294945882,4,120,4294967289,33,14,4294967293,0,133,4294967115,4294967184,276,305,530,4294967022,134,101,4294966997,96,401,4294967009,314,20,117,234,4294966818,86,4294966372,260,31,71,4294966741,6,4294946014,4,1800,3820862749,3254703650,1195301686,3017804830,3742762504,3355192270,275602881,320569686,4210836887,405121000,3190282881,1531478559,4045533902,1422778153,4075263195,556334339,753194471,2366822941,2983259775,887365161,3993179881,3926254853,3863470117,2675390020,409397775,4118779379,622042070,1931574735,4114378194,4210883507,3406438188,4230910714,924041006,135450644,287026867,4026696168,3977003701,3359042327,482278857,1259327252,4008514601,186246863,119535640,1325850852,2167282429,2136121374,972493392,2945005115,2535721441,3702199052,907796748,1149096189,4074077141,3342017427,282837977,3643194817,3890606110,357530338,3995277086,552862079,142864329,451538148,3989943286,3912023514,321822148,1730876389,1075544567,688795162,688526549,1005062127,3900788452,886399726,268343584,4232763424,3553112870,3233542837,100720153,2180345549,2646656517,85127837,4112662020,3116692543,3889642228,3397324572,489038587,355202508,3219126535,1056377328,3422954760,99746799,2935324418,3386174141,4111202764,3574847501,3822888935,272369673,3139366927,3692488508,3015852144,4273395943,2131954432,345519293,119415250,1247252270,1274060553,184332841,3656915971,3002396031,3047187240,3912329494,2555042619,3657882383,3656972464,4139762942,1913016100,2866393561,4078167482,1087491153,2921592054,4026433425,2883411430,401940931,384052097,3438097910,2835856667,2886521858,3560558877,1780875993,2113604411,3758639834,756103509,1897946661,3502824698,115709140,321542015,2176770531,939055267,3405944885,1012772593,1029029622,1483693125,420204496,3052320081,367044411,4143905011,1326646603,1500117720,514597671,2179649820,3879447294,3739582223,4277950456,3220443315,3944236044,37669927,3822515970,3594179391,3819102682,434192513,3418831400,2872831799,2498243447,571026226,2512477982,437592603,2998429710,149735216,1137859060,2179210816,706284010,126817848,3511497725,1432868670,134752236,3595430937,7915288,2137915556,1963185241,2752426687,34918662,574016371,138729629,2800744498,2293633878,1323518893,405749833,1535061261,574823365,2954301733,437188070,3263117085,4224391631,2981636376,1088948471,3424526174,1074139470,3252781488,1192625572,1372598039,1004990082,3054426138,905276664,4113611293,763430156,3408669127,656930423,4146070494,149934642,3721708492,3798202644,4048997593,2812612602,3788107781,1255021787,840953095,3927745295,4123719551,3667380135,169639719,1291001529,4246661055,3057314239,38981292,3357667593,1057531704,702829779,3971565319,2886209469,384450324,3518581797,3739348635,159368438,2917727155,313688435,36708577,4035973605,3997815087,3773366040,4195308979,2999581717,3578638811,569490498,2935482734,4043849463,2145633818,3841593970,3774455797,3205430198,807665980,2967459051,1509740881,3457748453,4194697717,2176365979,1192123867,1440925654,2167088386,3150176606,725628737,3505317160,1205191150,2181834703,3317229102,4259073443,3658000389,4260475777,786039294,803346444,2981306853,1705510904,652219810,583381782,115735800,284166703,1321006337,118220631,30526988,4251614986,198452703,636800833,3437770111,3137272381,4179734012,1438312978,3933938665,3277790531,1043423456,2147410690,955259552,3981501469,3590565543,3830688507,386374563,3927771376,884871455,3924786950,616515839,3339897542,387519485,3707910407,4179115431,915167325,4020200137,597017565,2176403214,4122945517,1110453838,567352736,1403113807,3456887005,51442874,3318619660,4172160049,282522109,2180705095,1645871100,3875328895,353165070,4176736265,96066555,266268695,4010997771,727588594,792278314,3865545892,4146862421,4107932474,2970911164,1204273420,661178394,1003490066,49808439,3967799207,3662205968,3636508838,3100689662,154006715,2438531138,2915690012,954857190,710325777,3755283974,898635735,2142753531,2850414455,694386988,2733695436,3436562433,4122809056,3741790469,80423904,131645949,1171782945,333020972,3272891937,3832135692,1500379798,895605061,3543068608,3472281135,780271370,3861045200,66832932,473092598,51643738,185017881,4025286073,202773510,1643282783,3794018055,397024481,380094759,3300632593,4075824947,3720541015,1306796534,62252074,3719986975,3173333039,30805190,4072675875,3375829986,69458155,117961242,3740386078,2132790530,637326554,3944156920,3255430183,3691763188,3660579642,3961775999,570229305,215928067,741205150,97814999,3960481777,4213944336,2166431158,548483543,4066484432,3981974263,1006788908,3508083706,4033831250,53742340,4075813586,120135209,249105383,870317047,806808839,125896451,1366243617,551864110,182132832,3790730043,1248886769,3955628293,689753625,3588373370,100661221,4293409214,3492804637,3992328459,271309088,318247926,176287494,959180030,770646270,1260006936,3803578666,741479297,1608645167,85914604,3609424060,1831410704,534475370,3799139083,3834833125,3823948367,4286676791,1715852865,3893626384,161294977,623292656,3674389212,3924024811,250737749,84932910,873648878,4294947826,4,240,4294962878,4294958947,4294964381,4294966717,4294963970,4294964887,2940,1311,588,2208,4076,1798,309,935,4294966807,4574,7638,1473,4294958166,4294963911,4795,4294965342,4321,4294966012,369,4294964628,4294966500,4294962475,4294965091,830,3593,4294961677,4294961543,2016,4294954746,4294963662,4294965743,4294962237,4294964718,232,10260,4294965608,69,4294956492,0,4294963088,4294965810,607,4294961317,4294964324,3065,2216,4294966393,2242,4294963149,4294965792,4294965366,2962,4294957905,4294965476,4294948078,4,540,433029503,2996852984,1597698288,2172725725,3615784936,3112269528,262933377,3436150771,771118179,276788865,681184319,3094052737,2669707621,511672705,3538812925,18284865,3554049971,875959270,2378332180,3452205825,4189207012,630789338,2783132052,2915240026,490548422,3839328062,712966557,2674698879,873598407,4141685630,32042794,3886832289,25101788,3039000821,4110112986,3820414705,664107200,2311196801,3001633183,824396770,4027652477,1432738762,2977945924,2091209701,201414015,98773024,652806912,3848204238,3292284911,3136103168,3188003132,1286372362,3321100184,2164474097,115426537,234724972,1565989117,190960672,164389172,998238815,3642281756,242790216,55240167,169866993,3570346208,3324105175,540090212,257943275,4011229055,1186590447,2904163346,2143303969,321120240,3924505685,3844409626,3520193053,226474868,3878275347,302956550,3819759345,2180791025,4252315446,2055145794,1337420372,4274041335,1195692792,1254932751,4095287768,3941533944,3715273748,3769085504,803066751,3675107374,3690574077,3036517921,2783673643,2776592452,1411326000,3620746725,3942482679,1745542871,489089794,1059712716,2468018739,2870247897,3536767018,1056436863,3374285158,756471354,2167187002,3674570580,2168415990,2146245457,2843684541,2988081640,2132954563,2247100878,674289621,2166802277,3364654787,2172732486,2144342291,2165019519,623542655,2759819647,486894463,3207364380,765000938,550889037,2167710174,2743024769,2447719073,2147346621,4044870470,2164892875,4294948630,4,240,111,4294967087,4294967210,4294967241,6,4294967290,4294967154,4294967276,4294967221,4294967243,64,114,4294967252,4294967275,44,4294967029,65,4294967294,4294967252,168,4294967200,4294967234,94,4294967244,22,4294967201,4294967246,4294967223,4294967220,10,23,4294967184,62,283,4294967291,4294967291,22,64,4294967259,35,4294967247,129,5,4294967161,116,4294967290,121,4294967237,70,4294967146,63,63,51,20,14,251,49,4294967217,158,41,4294948882,4,3600,641794062,3556229866,305862373,184954612,302640257,667788473,3454410794,3891078947,1106706932,3471093273,3874828196,66966850,2535803165,1157298433,1023924706,3490963987,3174128582,3759275791,3856358714,270606382,3667138735,4174052871,3695181298,3895472347,3334799753,3418742066,254969891,3320694945,260033087,3618582795,3170619396,3519882200,137723815,3188840468,3924740611,4107210713,135122392,3824875322,4279763489,3940236517,3183671051,3239501303,3861971480,387462624,3423599581,247874435,3536305997,3836732916,1813249584,3222580842,945880096,3437865621,58847326,4041378029,741074823,2571615389,3216057336,266774655,3694790174,1320417020,772477674,1496260160,4246661247,249122129,739368958,702482186,3338876734,201710061,484179790,4177560575,993013050,3722761979,4177204695,3776053281,3924415735,2132342989,1106649876,1407374326,4196512282,1176516412,717307406,491823868,783543561,18476276,3578740976,647823327,587780563,3878397692,3942525353,1040523323,169676003,104591320,448349715,4079803895,3843952379,1173369092,3535857402,1560590437,4010869250,1326855551,3792170794,3885752006,4266667567,188684779,1090909877,4163493348,301475824,3625982259,303179489,1060952807,198099990,135696349,821166354,4057330724,3716225537,182690299,3441808646,3672591121,1119724603,568202541,2765817599,1273413115,2433540633,433914327,204227759,3909595874,352395810,4280549616,216664795,755430645,377480424,202053647,4280557285,1091780867,669137684,118035510,3270635521,1175285971,3406039902,1566507168,297144271,379065592,4284166902,1209154601,3690796975,1134242890,3872306420,2182946580,394223874,414650580,3993681497,3896837321,2684241855,941793726,2082037519,53182921,2060558852,3959323930,3823752478,370079547,26950340,4246978773,726224464,953761508,3590377221,165945351,4149807345,122019028,571468042,3957650662,938992900,1028316420,297710157,270011385,3190959066,3603218985,30388164,33409760,777873576,3992848513,3038148909,318364576,4660488,3424898536,1440177395,1305800630,583138283,852692513,3623878358,252586145,3676892344,3034107176,2147272936,556986594,3890277340,3367761152,319567829,2424421084,1292117711,201056766,3509460782,160523231,1263315202,752158989,1025596449,727455476,3407075568,3886696776,2535231470,753858224,4209763286,3259439849,3588822064,722468046,187554077,3591769342,3384202992,5000233,3787856616,3800109817,405839022,2666402381,700255249,1056541513,532166424,4260713695,249624084,317469904,4073073433,2180044108,3674452043,4057444369,4009517783,316888061,538170394,151733270,4061338946,33737150,146213706,3321957894,286577180,936718262,940343257,3352670518,3805670217,1240782639,334810619,3876470522,4292621083,990983165,13162946,2855800017,1076627266,1281692901,115160591,571824394,167327248,4190779381,803545289,3929787649,1376381749,299358464,918291963,650580238,4210813008,3943632154,2613033549,651703068,616553000,2130776359,923739140,375892968,672263418,3960026440,3296172568,3821442322,2605549565,1716194531,416893951,133333494,3775658998,1327144695,2251368392,4175305488,298835903,103342091,4276936933,551364856,4261348124,450188671,470808118,4195606526,3088712076,266806232,1209387503,353177816,2988643538,589175001,966656998,4176874015,755748051,4128303642,3783329717,484899072,1509041624,940113370,39453666,3889414682,3471425527,4162003490,3725519333,4293714613,3876641578,4196493544,687334672,200415731,3794601969,3705542119,222200276,202127065,4244503268,689887046,354557473,865464100,4161207023,4029155361,146146556,1237993495,708590600,470618114,3974753528,182657296,1191673854,770901099,3372947019,3267360513,3996823799,3659209470,655878140,3790272809,4290692115,3540257074,4231024142,635288065,2968986103,3408777730,2732582637,4050049088,3275958774,3040473630,4220454878,3524736763,3058250755,3726393670,4273786859,11646079,1512495402,3507888893,81985305,568247782,1295651591,1375917789,3805034879,269103955,1307992105,1779058743,502458377,583800813,320456412,322441657,354430168,3623814323,300288519,471987644,3623959236,468859383,535703577,456776036,4227869233,3425518887,230563299,3473483240,589625553,3054371906,1082464526,1020956889,152255382,2703557292,3773096994,633826943,738865606,283893904,249061803,189104620,570297303,1155316443,487327018,266397176,917046528,585503984,2601186048,4279763217,1106447982,809242659,1179658800,433842173,3217484821,3910206443,788013322,3188968393,3203514598,2972502764,4041418269,603138557,3420971391,3908429814,487188206,3712490459,3790924062,4293899739,85332012,1107619333,3674868027,4258526682,3842054103,4052874477,4264753367,3655200245,4010154535,562109982,620675546,4260556729,3690420201,654882078,4062326269,2180278559,3190876470,2046958005,488509712,3256621138,80344777,474362895,287554756,3609265953,2985027540,53251774,1598219802,3474012274,438646526,3370651823,420348904,4057997800,63832068,586275040,355276765,317260764,707328759,3540014586,318042609,3559717340,142689308,487386913,4147098881,853021174,3725132241,487647736,2901975872,637071043,1078064584,658310529,4192331570,4262649617,3818797556,473422299,3590836411,3031188902,3841370923,4113823515,1109841633,1925757389,4080337102,3405173702,1033816826,1492364309,1155391807,453632280,628408365,2863121177,3723592099,3760270320,3150180028,149538828,3488266603,3963050214,4146394022,4142209974,3775393795,78041796,1310778380,3555645738,305329446,119734263,3587438082,234337856,185403349,3925410990,2177827855,768592942,318890702,485209266,2177975251,4197113577,2274761511,36968226,2109148,3895446051,3886030363,625732845,587810570,366880813,3931429683,4089203573,4279439335,1324868364,889452460,3975290665,49025251,3058244389,1397427782,634877033,4006933517,313853234,815991836,3189827555,4230164252,609299598,3556507291,4134685432,517360040,3072983425,4157201560,3554331314,555410242,3710508992,3896249074,504091641,234475741,365175510,1311249669,1473385024,3893174401,533765989,4140358623,941731535,654434592,3218743768,184868267,2569547678,4048071638,704863361,4145087933,1041298994,669067292,3354137367,859369166,3473204497,3691119391,1107748124,935139778,317726466,639026129,4026154159,2901493320,3205444852,191102192,371279410,2478714127,3993174485,3741382155,1008403617,3524078838,2517423384,29765805,4057916249,3120473985,3302101799,3571791136,305008892,70711255,976154368,3979593746,318813459,1174699811,335663148,3794789516,3552838729,1595858730,4246270454,48765004,151534096,3809138948,835133931,3572961776,182919107,3777811938,199131633,3823294630,3691172829,1020675902,3502429017,3996061212,3840343056,3997192451,1241573828,501270254,47840735,4242405577,1009062686,4114344753,440464372,4243718940,3254716195,3774821073,3994611245,599643521,772600895,1373350395,204142816,206311690,4111449049,1074196759,3777949420,604471208,1143273770,3622508874,117698619,688972044,4293806823,4059295706,150153987,836569043,4177861079,239134538,871303413,3909954826,573497103,3928681243,3824746956,3687129648,3990104322,518455537,703853301,3861360287,420183828,87299558,1156718142,71965383,3973828847,619659784,401153289,827284232,2688560339,1195011748,3395071756,4259429823,4293778210,3290094062,35215172,3591585740,293551066,3407757688,3267349731,1790158639,3318546672,3286512341,233124599,578893668,637931850,250738243,106970609,3154838266,805106602,518805431,3693547786,3466995659,699780671,1228746208,3461211345,3992063784,3637337939,3423319055,574883292,3641520036,285442497,364259634,3938182336,1007068972,4059822403,3656123116,218624036,3576628434,3622236423,1138961447,370276045,3638163465,3489087754,3730709738,3438740330,4078039547,1417621304,1914432979,115207698,1391512646,335135646,3945257035,404035115,4176715259,4025041651,3760018444,4261097668,2173696305,1175379686,2446719747,171510820,4214829289,3255873795,3940101662,138669026,418723892,720309476,88151069,4041342510,4177600463,771032392,370084882,484237096,2517877271,1025576637,3805426925,2588123174,3284379132,3069444038,3575779032,232460533,518315135,82512649,707925010,3372947701,64615908,318696988,4111338749,3355965190,3941984780,686561513,4160158910,3990683605,155512039,452775459,453780988,3587378559,354349583,721207560,4130560521,253110786,269945812,535891979,218446049,4022794520,67428655,824055842,3541555188,188671999,3375049190,319811298,55308745,583556543,64747300,50364880,4197984906,270391232,769126634,35212320,337055300,3805350475,3793551382,3437238530,284217556,1343290642,249821692,3917547276,3992637437,905185505,3710068236,184075822,253309209,3232944040,822138277,4087278746,4091912134,1105141281,65789392,174448145,3082718949,521659125,3711520341,3507894249,84218662,4262647271,21331900,841402531,3674347500,2598568577,181735967,3979990041,4143566302,4029845202,3369575415,953742121,1023778899,387732755,3098670617,768851444,396958765,3671659668,600807955,1918628589,755170002,834533848,3807168755,901188878,1124992225,187619524,3103722194,18469887,107012090,282545129,4025537319,115050172,3927923073,3169898492,3487707086,3760727328,2752237849,909783329,3492343038,3736453386,1752899109,4195939899,1024796191,2363344493,1076823477,81268264,3055845350,552596550,4107727816,588115735,3125041399,14533911,4031715924,117687041,198494196,216789119,3033581643,854999769,3572657638,3152859901,934952974,991184978,559094984,809566478,3980471033,4250180897,4041471834,507714665,1414154515,350562586,2481391352,20363709,856683239,2016837960,38158686,2518883551,4013876920,934798818,687520776,4128501282,3655188235,4145092087,436156144,3205551367,47781356,4977598,3892633531,3791010023,499112319,487386647,53551555,3356892142,384822531,452638219,4294952494,4,240,1671,4294962644,73,4294964957,4294965092,4294966224,5999,990,4294965944,4294965555,355,4294965476,4294967047,3708,1225,4294965888,4294966803,2725,4294964502,4294966256,3501,2959,1183,4294960273,523,4294961892,4366,171,4294966454,4294963640,4294966630,721,1393,664,4294967202,4294964949,1818,1062,4294966701,4294964561,4294966435,4294963078,645,4294963253,4294967256,4294962898,4294965250,2890,4294964821,1053,3461,4294966570,4294965020,1145,3768,1543,4294966466,640,4294965506,4294966707,4294952746,4,780,2174854719,4034891265,3938001675,681147365,2256534941,671907711,2139193101,2172776649,2877383897,2177831277,620069249,2914221834,2139062547,2171012183,2171142043,3151790359,2940007914,3655093018,1153523446,2742033856,50023733,751000836,2748237147,2577223869,3586660479,1508957433,3431017724,1159836953,2368403524,3564658367,3151797318,2721109723,2172738796,748963557,3460422350,4213643330,1404964110,2954152575,2945658838,82506573,785444596,218250737,1090563357,3024288281,3833560550,3623089393,2956055282,852780036,464395286,3322204346,604489314,1558908413,619228428,2177379029,116914655,367722973,3673101322,620612935,3911117047,4145505767,3235427129,3541560039,45749775,3649117931,3842436833,2131616081,604562183,637210593,2445093850,3827307228,969596425,3099726871,50778743,1048569141,370224308,3352873690,3055345897,1288689935,965412619,4213759424,1107882799,1123746322,3655943157,3987024870,4248379569,1171713562,2164597251,1123990625,1745663505,218215359,3288151027,2180644591,1492568850,581899568,3796389834,4145672978,1673923884,455279852,4087888610,4146729724,3333812949,2683308560,4062636651,1696503095,325436581,3873370800,3053242880,917999397,1069623582,4248522165,3255503590,1710104348,1191608610,699942136,140779479,3033661970,4043639537,3860267072,1054258715,4062675329,399914988,4127779318,3674243347,853346106,4114972636,251724777,1037569308,4292676134,283517923,4185851712,3083278061,3439140569,4195943199,975626763,73183383,4054975141,3288576484,2505629198,3689938499,3404610524,3255254795,1172636742,754067222,3710729415,209192776,2715881249,3627498971,34409992,1107418921,3844928427,3988070558,790206154,4079951124,3623475530,2832464595,2650218516,1292184645,1275030018,3437514152,4043691307,2782073893,4079110837,34855477,1027332115,3564646847,3246510277,388073880,89142822,3738682722,2762201532,2462894379,1324830043,2715306271,3417997203,4157190132,2177972234,368336001,3171070239,807185654,4063565824,3383559809,3677454721,3806073215,2179826047,2176238721,3414264072,1377374079,2867450859,2849532801,130122032,3028376817,686843807,3690698879,1193574785,3409135634,4294953538,4,240,4294967270,4294967261,108,27,4294967252,4294967288,21,52,4294967288,75,4294967293,19,16,61,28,4294967276,4294967257,92,28,17,4294967270,4294967284,9,37,4294967254,2,4294967282,9,16,0,20,64,4294967253,4294967271,4294967292,4294967264,53,2,36,4294967292,4294967240,4294967292,4294967261,43,8,19,4294967293,25,17,4294967277,3,67,47,4294967291,11,0,24,26,4294967268,11,4294953790,4,3600,2565853907,4192065071,3456648651,1658676172,4015383076,921783483,382183850,3871666691,4292290025,4238501079,569241875,974076998,2175607054,682293481,1644122145,3234972443,1102045149,802999070,3773209410,3919512640,1541265114,4009781409,1423170800,516628690,171255628,1024870413,519994661,2143169399,4259201488,965680156,3791643110,4236370676,4123647434,3842760642,727916828,750834149,3931036908,3387558911,961682365,2935680518,475647001,3738439894,313013507,3723420679,875347219,4158059736,3354755050,989062943,149671633,3673945549,3971626728,147330330,3893286126,4031034920,3691129093,853600238,954990595,134540265,3405910012,33415688,3960859101,219086343,4275200295,3472950358,199689017,4041865741,435431295,184546830,239007348,1304246314,3356186358,1575689764,2233218339,3709673732,3840792601,1305467370,271449415,3770741985,3559006496,2714564225,163574536,4089970178,236197142,3995078426,4109964763,480050959,468866832,4115055344,101431383,4265276204,1541334225,3812688449,3808312109,2143271888,1189482219,4029666790,911209212,467070209,4191869204,3689031006,3725531371,18558045,287238464,3676557890,417529898,3253527277,1140795192,4128181041,640112361,1426907425,3605921818,720601586,3321630732,3352297259,351203837,3472303854,64931893,3576692563,553990892,434589651,4276547077,3804682525,4276417737,4091661800,37866779,669524962,3961667321,4044545860,437007039,2697145830,3705454598,505562138,3099390197,2131206976,304544268,3383819803,183447066,3911696194,4244689416,287057338,536156964,4244409828,2717956126,840118797,920647672,4175959827,2312601864,406830317,83577126,3969858032,2146300179,703401452,4237416199,4026414157,3369666215,3221244151,3939700500,3871291452,3305363524,3996494003,328395006,3776330663,523100931,95885356,3221332916,621670876,454035732,1053225182,3942128092,3740926864,3467983593,4145090555,650187801,3374970847,3719056909,729887198,633342493,320405415,3791913794,4211816198,4257562964,3657589564,570494711,3626935106,41881849,3655927767,1914031919,251256821,20499780,3032538415,4093180938,3639941404,3410671107,3425367485,3821344421,3443440064,183755548,505680767,82045427,264712515,1039322656,3305050342,167369679,31617181,467978780,3491302885,335337217,400114278,4009429769,4226418717,133758009,3908769795,2123472011,4227783142,3937948340,1542065686,1167905974,1228875540,146378174,2063499196,3693221779,1236640318,2834822818,804141860,3455000292,4051774488,3860986815,4277660482,821773581,164290557,217193791,1172313889,390806788,4209746187,3674987837,3488225682,638658785,200521213,3938276355,3039044862,120335640,3215512357,4107478808,3854935273,4280090922,317517812,2891054055,480631584,1176002945,101834018,236783929,4231721746,1052838444,401983558,787337804,1460588829,3510287066,32309704,183185693,3538676889,4291220222,3876862803,716497424,2752562949,4237503196,631402741,3857153812,540279005,4245479193,2806497787,2976532168,566416954,2579223844,3673018588,522305818,2986747876,38844644,3466205614,2051375004,3228054738,3696068082,1036524551,1284202309,3522625547,1576910132,685885154,4256033595,1481907928,1344080513,2699130342,2821328143,4143062202,3458009829,1596633772,55667806,3180854261,3753568098,319273114,4151509519,2553192219,4130534167,3620857654,4242083632,164891135,503136564,3958375194,3910917904,3922144224,1276729729,3776183034,3695040285,435683609,279195146,4194893061,1239668763,1161757933,3979869178,3895145025,164961346,2787381642,262521656,3487765535,237099528,3031959833,3853373666,365904613,3624697826,54046532,1281865224,3590382570,267005667,52432421,3606628907,3620539681,1039590730,50626543,3638225383,3426162692,3353800475,736943885,3459195399,3437806857,2855921712,403241217,4245026289,767479342,4112395290,4260745751,3873841681,2781989761,3199276345,3942911737,319094814,2782982202,3628727782,4107137698,3372358860,83947762,991949307,3318213217,1251334172,3353751294,3571794240,3306614054,3085485475,4205975681,3757246652,2717632504,4228809849,3270362158,3823941891,3502952915,636993052,3923181819,4227968555,1240741925,1391272671,465757711,3512068295,518523847,786616060,3872635978,1031743027,3891235320,701054948,4076268743,4230922257,4110013719,3119652358,2346178014,220295442,620052731,838062337,3526240292,3507815493,3575661342,955704142,3696221138,404022517,4259829025,3711846101,3172655625,2441071377,287837980,3437044955,4258656325,1598179328,3323613754,4116882994,811591221,1444528298,2132970289,2435045610,4261798996,3905729262,2785427461,3638292191,3289232613,146929430,3736600247,845493368,3757333771,620404238,3587890777,874585602,3916612875,3536247418,3220776135,3620193114,1223863051,3992407763,2479456668,3946149089,1474885171,2803552522,3271003171,434605720,3957710891,571741456,3923390406,3121796630,3086039773,3941549857,2854417406,15053778,600463610,859733808,1997081307,2833368560,3273132104,247988142,284376138,4293296443,1291764980,3566539291,3639349031,252248797,4258205434,3838055419,4294303540,670953226,187553600,1475466510,2344245456,4142121226,656860457,447612952,4245292265,4262770371,372057602,3741503132,304762831,735570189,689578466,3019250971,3607483182,870135126,4207675929,2142754102,4228656435,2990497821,410196426,1355419365,2990980062,3711493655,3574333693,1242230118,591464203,3955498252,1156065560,602289677,1372456995,3526671580,4061994412,860095617,4094958607,4076342196,1029366748,2000995993,3926075860,654639132,3971349538,439146460,3781343951,3660021692,3768261653,586400280,3193825,3373143252,3376874221,1373781052,3892272964,3721780747,2485176392,1062189492,3540188111,533561792,3890790862,3590378339,4027967357,89333750,153855392,3641499153,203286251,251645074,4089636854,502197976,45152238,3675395804,3352107754,3669363199,4258867448,166253092,2592070725,582886199,615057081,568145924,149928113,132588769,116717317,3725001893,441777344,1045959193,1364838334,3504116945,4215415054,918801624,794209233,3642493921,857754164,116852485,1875280172,50771462,4060622537,235736264,3518560830,134796016,3606894526,167431417,3139697150,401980,4043385088,4161437987,1036841180,767429428,284250276,386993398,4264732872,351987496,3309627306,382853632,3806061034,217439251,489783040,215008993,487257305,3956872688,204286227,3082418238,3960530651,892760573,3137491237,3810652205,1042747923,909303777,4273415665,302310928,720101862,3926195204,4110481372,461447183,819334650,3891267605,2823102226,653266414,329320163,4092540713,4147377383,868552953,3761367060,3524462263,771301713,4212329004,3906081609,3721658615,4242964832,4095873527,285936869,3869924844,322154524,4129562383,525338623,485245990,2550804436,4178492432,3958051082,91756034,134803449,84678410,187900417,119609858,521534770,4112261637,3586922220,973128929,35530972,3743020259,3648986397,420478220,3408654051,689646366,3946067173,1018616102,2882599264,45866994,686684439,235258655,3996533463,867696450,2136903224,2669103095,3472296597,3290632441,3300986570,1110229803,842200636,203690253,1229259580,738139952,216005938,3796981464,856687866,88612105,1038748643,885526818,3831987968,897327,88151547,4039909407,3657377001,3703520500,503645441,784741371,2551117265,2177511443,3373529974,3607049691,839391900,3005615386,738137407,3707241188,254081789,2015423200,3500617925,3267559322,3928148974,62131195,1089928933,486461735,304029274,4062966695,1166007840,3939487972,1211569404,337314819,3857705725,4175900223,3658362622,266077454,4259443446,571272127,102376967,702157809,1106586892,2464676303,4058377721,4092589295,3758751477,3643212037,239012918,511825889,417070616,3856854187,14753768,3589413366,352257326,441062134,181987844,351547923,2166480845,4224247045,688209670,734489826,3490709533,304463800,3149077012,316503821,354017003,969460541,3929718793,4231468561,270986731,385602208,3528066000,4106293731,116012307,801166389,973205005,3458333178,1453930228,4020046841,3486168556,251662209,4111272165,816519640,3994087985,4124573219,4241430491,301459397,3961912869,267592065,3878556656,147984655,4146528938,3570749421,386385385,4208199173,3485726157,736024053,469115450,4009947621,297583639,3842696037,145599256,250607926,360652092,2888101338,3351574209,320300486,218737419,37739791,3337943584,4225059123,4023371773,64685130,4061065736,4071677946,4043694876,4176650711,724237346,51502817,3762027518,4118874881,674838749,2901415172,3508058131,536687893,1319054893,3505118445,1591609613,3738059554,3306553555,4276093434,3825462081,3453235447,1273825481,282991893,4279093752,3888415065,202958857,3523949324,3288270056,3336822319,4162980263,636152577,117372199,4192729042,3739629258,3957833683,794053418,3201170151,609556028,32965410,3946254319,16204544,18031071,2145645344,4062558958,3554606054,4211928542,2270156577,3551768833,4228000533,133820963,3656510024,2138584077,3085946582,4087216571,621772675,3472097006,559409702,136642149,211750153,4112522586,717561932,1006506029,3857040402,197662946,4096112559,458379006,589570477,922429917,821498153,435296150,4038491919,4146580163,315697979,3842951441,1172367627,3236773396,3644253430,4224384044,4293153395,3907248074,553441607,4216711727,3236366769,3792688927,3957544577,4206164239,473556989,4043963161,386801442,250271553,401471274,1448367,1242105430,1139805804,3651543319,4190040317,4176187720,3593866434,4177990096,832132840,286712322,65608677,858064418,1224881250,2165191158,265936409,336735718,945097210,821746639,2169584344,3387891383,855436802,653841700,1311245255,203036147,1211957977,2694840106,3183054802,4195231140,671739845,706076414,3826783733,4278912803,67362205,270007271,752165399,168097826,3759265306,957815519,4228826610,472190484,4259524895,4109615348,435225985,218042557,335681791,4294957402,4,240,1589,66,9806,4294966585,453,4294957954,4294965348,4294965830,4294965365,4294962434,4294949048,4294962803,4294964285,4294964091,4294960816,4294939406,852,4294959068,6642,569,1726,4294951204,1094,4294956133,1751,4294966122,4294965393,4294963448,1444,4294963515,4294966050,2476,4294960311,4294965171,3026,4294963528,4294963521,4294960805,4294965755,4294959232,4294964658,4294961136,4294960926,4294965114,4294962743,4294967189,4294959633,4294955356,198,2534,3638,6016,4294967061,4294964290,4366,4294965090,2370,4294963608,4294965005,5227,4294957654,4,240,2189393846,2139198847,3081160065,1870601341,2541715868,2139193729,243368268,2139089659,4106649471,3598680453,2230485377,2165453695,2166307272,4251106107,2136833795,3440922095,1257181816,3149348788,2179086416,3574848731,2599881650,231032191,942114186,632244065,306198520,2135026869,1683186766,4110553364,1119387911,1994599950,2446045367,1733361134,2826928552,572342911,2179247046,112905408,2918211454,284000739,4269891120,1044527587,3833663407,2683601338,769793251,1352944527,4258553144,2168384641,4207772078,2178254058,4222844769,33789825,3790782851,2180179052,1462041217,2142855766,2132337025,1392241795,2474621194,4269768577,2139040385,2004834431,4294957906,4,240,149,4294967097,52,4294967173,4294967260,4294967210,37,4294967284,52,4294967290,75,4294967201,101,4294967278,35,13,79,4294967221,4294967287,4294967255,98,4294967235,4294967236,14,43,4294967167,4294967240,4294967253,44,152,5,4294967246,158,76,4294967237,8,4294967280,31,4294967247,63,76,4294967220,4294967231,4294967145,4294967261,14,3,4294967235,4294967268,4294967274,4294967293,32,4294967230,4294967244,4294967146,4294967276,4294967262,4294967190,53,4294967151,4294958158,4,3600,2239884114,3084225005,3302218220,756522037,2795300644,3621563453,868804980,3422494711,61096479,1325850659,3657025237,16648973,1307063788,162714350,183832215,3856523641,4009609673,3268688147,3996058344,3559107030,3882212875,4110282437,3921866113,3489801283,196078275,3070659312,3508273692,1376979104,1093147156,242336689,165007085,1141878093,2831486554,167643861,3238851875,4057460797,1706590679,3504875749,3539280437,3675514266,3695739643,2617431591,1661405456,152565210,2802920129,3345620648,337628051,4090423212,45842413,3410902155,3041013947,907942910,1310985164,4178379203,2966350293,569520575,1410997262,2606448159,876987059,3661127477,288366332,4125160968,200802532,4044621051,343876871,15139557,253499647,4230155772,3810854911,1274279674,4144046596,3842969082,2226388452,502866638,996055,4162985975,2485135700,183029833,4061989947,701420549,1319705571,1054942471,49351912,4227537357,807933253,825432164,385075110,3105810976,4107389569,1673390080,33609240,401803831,1528947733,4294309935,420494615,481821457,3334994214,3939270654,3335104830,3843815969,3757027096,3953007074,574612806,4194378207,3606972446,3278425570,233840370,3941841992,927989606,3525241390,1025439968,2513827907,557135599,750336629,864152801,3301766963,132960064,403644719,722211561,164869904,982966817,2554787967,4045931088,554823779,3469474521,3678983082,3437544654,3707902225,3492474400,3057110050,4177106960,3137265736,1765490284,184140623,519963146,3453562901,4072788811,2282997721,4226021672,4126521084,3658220035,3542232339,372501764,1109003032,2147023139,118956772,3795848750,649399196,4292407320,840038122,4007132179,3956847318,2988114163,140969267,2175128563,237428792,4060329056,4098232388,1006130436,817103564,4043361549,3774423360,105063466,4021999904,422893556,434903611,3524607026,387589950,3621441724,171119092,200610005,4178590940,4269924053,51899396,4211596302,4143310376,4175416856,619435226,3235969623,1531676662,3657832487,3862624850,3562066966,655200560,1529278461,3622709978,203368931,956815828,2067196375,1143329858,2907505,1091899918,3974046630,2534598112,809796027,3150764297,3639593701,2866547215,20104668,331143422,3861430334,671289862,3285969925,4277210325,3507867886,3877625133,621081118,835696257,3006742535,993989136,2234319617,3519192040,2165570275,4211004769,3068303822,230408763,3806433362,989061663,235488768,219436247,3979599603,3826921145,498794118,532555241,776014030,1428157723,452193592,1021433404,4093512405,3610073862,466479820,1256272132,3588653016,315742491,3789489864,3354907141,4275441644,975746802,702623469,921564706,2266706666,3776695083,3240283914,3725592145,3759273556,3825722638,3219448609,539885344,1743394127,2143043581,1186919207,320339168,3208323343,3517835207,651807491,2902532495,404171977,3588954351,31904549,3540000972,3946645431,386541585,851074030,3691723760,4044310579,284383488,3758229840,3742859040,1980553420,791471453,4029605435,3812504364,186513710,3825076491,1142827522,3389393095,3321887497,3011604687,3871400502,2730763771,3756529945,146274103,4142277080,3523345396,255127848,13800522,3173904825,2767440756,51910580,3053001279,3393985746,460303791,3585934668,540099375,1122111621,3915743035,3944552263,988070279,3189521948,644027883,790947044,4123793698,703730143,68647958,637994166,3540326864,454107129,1429202455,3270499838,3401074214,720527309,960309213,4101964869,843843815,4178589531,4106439912,2966864937,2751198707,568558055,718053928,3640917242,3190086927,3523605198,1945881537,938729000,4208922936,4180132091,3549962440,450555708,3578910896,3389321468,521998515,4043369957,65029618,4202634205,21767169,89453039,925902402,4113179340,819278355,518676419,4046520076,2263607796,471270917,4182583803,2804744185,3403667778,3725275094,4226011110,3119316508,3690322753,51111290,102430649,81343976,101248957,3905864483,3243118603,397094923,249691265,3940735649,4130930386,3926591948,702093011,4044571952,3993317582,3829596849,139588087,437712094,3877828870,4240716001,634137324,4128240621,3965729266,690157762,31917439,3722448396,3743599535,3992847618,455082518,296714513,4213034981,3386642724,824038394,4023455019,4131001326,221825259,3187197977,181853404,265819889,17640698,2931093255,1466038073,3841982017,407777738,4277228044,3333290313,1204560341,636568379,3691047923,4242478030,588311361,50495448,1798523152,4293147917,1385433694,3849851654,3771464154,4178203869,3520756472,191437479,3276064129,3622701227,1262293264,3239578588,3502941205,130511535,3972599566,2440648984,4231531789,15221356,3323124281,4248636590,182249480,4277208087,3856603140,4226155275,4294177407,3792231620,334424567,388160535,688324138,583987451,1057276,3470064847,234154202,29481240,65512481,18811379,4161337656,419877102,3854806287,2871059709,651565068,550001748,1438201314,4159892286,2170819035,833694984,1039718407,421373423,3410031046,1138611628,3605406704,3910659875,3067598648,3620332652,322164576,725479167,198638839,877925164,3674309119,3059075777,955753285,2981492636,352259586,3789990140,939594519,567995263,4060742654,4045226816,333587955,3956549961,3185662493,164033252,3923569120,3790068011,32700921,1275907859,3977643247,603522508,4145610698,3494714557,169481153,233334052,644425883,4256763605,4159830494,961994255,369957901,751232337,3872073703,2551593,3176790077,2137462998,3577624164,3893013887,3275263221,3521056796,3820918029,149936604,1362829634,1440686149,4146403765,99362019,733595916,18156830,3223916537,672517549,2395345385,1079124629,3909553387,4177722597,4229626068,3606977036,3054185601,522722188,300823288,266073632,3876780549,3643346976,1037049530,654052343,2906143232,1214047204,83046512,2751393979,3586067948,2666681852,1073723924,3790059818,727962680,4142548829,282920236,2135495038,1524827319,773197426,2717236984,4258738856,3918317100,89902255,153334792,403425875,3119114265,821360622,3137784120,218799644,2262880536,438241730,317025919,249879964,311612456,3275037982,404155151,552119765,3742232307,4259835158,4125180715,1023139623,3958112529,4044032305,318647304,3672710940,3037325233,3891470906,65201373,570302591,100397307,3962231017,3977312466,4076313337,3644595394,4163416583,2432309957,83139632,3533421551,1526273844,3251553151,121302318,1977572959,1524966584,4129275115,3379290077,416875512,754959526,1188632315,3841925579,3219080646,4111661232,3556998921,3394184071,3000778632,669377512,807277978,83443223,3970311488,2395627655,441208387,2739954981,1058150663,188692052,3859679759,901837060,1397217333,3810462056,2874534448,4127802153,2781218364,89409266,4102096685,4138999240,81765988,637140815,101697105,1038216421,4173899281,3387366900,3353200071,2718305001,356048176,2179195159,4225370191,4280285711,1025059119,839337303,1641539766,577697805,3930654144,1201280184,969191464,3894476273,131726613,858111481,3707045110,3792702240,4227981336,3789538377,3955363342,4076139788,3888899355,893133039,3219882470,2986214148,1543623932,282663164,3592615158,2386938696,1599861962,381165876,3795316001,451537425,850409064,4291439707,2514099728,1652685856,524176914,3621168926,1111621392,4111116833,3889087140,2098261935,584451603,3822044372,3352172026,4228304396,3940319729,386257467,3825140766,31376633,504365098,1107932406,3689269791,3877372194,3718321628,482808081,118813629,2264601411,3105226977,2500455917,4044458306,3180839371,3588607092,3622122297,624679150,1996572409,2032145466,317842469,2168415463,632226951,3439070537,623384533,4243759637,2066421065,4175574360,151924468,81526062,900335399,164958417,3352518155,3939422206,622713543,3588588016,4089119982,1743566857,3268009703,3906929932,457377748,3507230198,469613060,147266341,3656581879,166599651,504106539,3925281300,486011150,216991520,33292063,4178774766,823396104,790636268,3860654719,3404437545,1394076909,267985410,4025413187,4072350308,769737849,3420195367,2904169728,4175638512,4079354329,352314855,455929581,1124696356,367380684,805168794,491325429,453045525,4095078099,4142956373,762328763,3169445297,3960673239,893582056,3937395487,3520602380,15585942,3989639898,2486901089,339403004,3509351190,2754723966,4097634561,3841783898,4245176641,654654995,3775400640,4244048876,2363654089,4256894207,3129946369,836891190,586740297,3962096287,3103980219,1112529957,4195413746,3403033340,371397094,4026669326,3742180615,3140024773,655101132,537270233,4160500217,15655710,4242282207,337106997,52889080,639298580,4109506687,4110621454,4114545836,3421116152,386328827,3403652110,3844853249,132648206,302367772,353710868,199099342,3744104792,3342404601,450755540,3858574050,3558790177,3742559729,4027981046,403701959,4042339619,4248245451,4176742861,104472846,100657124,3860662035,265550107,3708682747,3910861048,4164697095,1329923330,3689941631,709038269,2838235820,3540523478,222120933,4015988375,3657449176,3963746299,1175458493,654381322,586700063,166738125,4080933461,3262073116,343931428,171386732,4196773693,4111152899,1278797650,687928336,3845012268,671171540,83032593,2813820912,4009816570,4258357819,4228908029,1025578461,4127393253,3706070237,1006547979,4048223221,471603404,3391887542,203709190,897531297,3791574951,3612616149,675099106,2936276912,3703299352,234484938,417713436,3242392890,132971008,3402784569,372747225,3542092238,467139748,3908659280,427770332,235988424,3873839317,573043985,3913084694,400872218,3977458376,707857730,3173332515,218026739,20002651,138127182,3860926173,3020091448,85584680,170808125,872816884,2933066111,3922808794,3853274727,4160025550,3469649124,3403810257,3723804042,1172757697,3343390691,3901860216,417521959,67831167,4195153373,3268604667,4040086861,4058657599,2984122336,3858630639,352899572,133272786,236987619,1776255446,2426835,4113372433,4294961770,4,240,4294964656,4294966588,4294966861,4294960616,4294966636,4294967133,1655,4294963399,697,4294964849,4294963224,3658,3667,894,4294958151,455,4294962392,4294961972,1293,5254,4294964676,2536,4294965279,4294965510,4294962646,4294963330,423,4294961848,4294966692,4294964609,4294964829,2810,4294961751,2054,4294960583,4294965056,4294963233,2157,4294955904,4294960154,4294965358,4294964161,4294964485,4294964589,4294966572,4294963836,1049,4294964328,1632,4294961066,4294967135,4294965489,4294964508,4294961580,4294961084,3297,4294962999,4294962400,4294963827,741,4294962022,4,300,1137689802,3469218910,3756721621,2801522223,3538556407,71560784,1036699171,2679764916,20633943,1257307880,3604012220,3834837731,365118395,3123910601,3182382137,4242660307,3704081704,114368772,3807196153,4109235722,4129747188,586143470,3554345621,4126862379,182904575,3269916652,4040357379,986917307,3053973217,3856343330,4127655148,3960069392,135524135,4177586182,4258927849,3740726774,285087737,4143506652,4192792553,400286235,3222264549,534314973,131793140,3842311166,3537773304,86307557,3523138040,3722442739,118084066,3789117401,3389187345,4162785329,4144883963,3995921915,4192848364,4158836941,908196344,466880520,3206492901,113905401,723905238,2531646971,2178919640,282453178,2377265605,3372590902,724624190,166306495,3461786175,1156614901,589155760,1395178940,1793536287,3545845448,46678575,4294962334,4,4,4294952096,4294962350,4,16,0,1,0,0,4294962378,4,16,1,1,1,1,4294962406,4,16,0,0,0,0,4294962434,4,16,0,3,0,0,4294962462,4,8,1,300,4294962482,4,16,1,3,1,40,4294943652,4294943656,15,1380535373,1852785440,1953654134,3040357,2,1516,4,4294965802,20,28,696,696,696,4,1884254030,0,12,596,560,484,448,372,336,260,224,148,112,40,4,4294963170,12,12,12,0,2,11,0,4294962798,20,1862270976,44,48,1,4294962784,8,16,6,1701999731,28001,0,0,1,11,0,4294963270,12,12,12,0,2,10,1,4294962898,20,1862270976,48,52,1,4294962884,8,20,8,1701999731,828337505,0,0,0,1,10,0,4294963374,12,12,12,0,2,9,2,4294963002,20,1862270976,48,52,1,4294962988,8,20,8,1701999731,845114721,0,0,0,1,9,0,4294963478,12,12,12,0,2,8,3,4294963106,20,1862270976,48,52,1,4294963092,8,20,8,1701999731,861891937,0,0,0,1,8,0,4294963582,12,12,12,0,2,7,4,4294963210,20,1862270976,48,52,1,4294963196,8,20,8,1701999731,878669153,0,0,0,1,7,0,4294963686,12,12,12,0,2,6,5,4294963314,20,1862270976,48,52,1,4294963300,8,20,8,1701999731,895446369,0,0,0,1,6,0,0,0,12,704,632,560,488,412,336,280,224,168,112,56,4,4294944422,16777216,20,20,94,218103808,20,4294944488,7,1701999731,3239265,0,4294944470,16777216,20,20,93,218103808,24,4294944536,9,1701999731,828337505,49,0,4294944522,16777216,20,20,92,218103808,24,4294944588,9,1701999731,845114721,49,0,4294944574,16777216,20,20,91,218103808,24,4294944640,9,1701999731,861891937,49,0,4294944626,16777216,20,20,90,218103808,24,4294944692,9,1701999731,878669153,49,0,4294944678,16777216,20,20,89,218103808,24,4294944744,9,1701999731,895446369,49,0,4294958870,16777216,16,16,88,32,4294944792,16,1953067617,1868770920,1635021678,825324654,0,4,1,4,1,60,4294958942,16777216,16,16,87,32,4294944864,16,1953067617,1868770920,1635021678,808547438,0,4,1,3,1,60,4294959014,16777216,16,16,86,28,4294944936,15,1953067617,1868770920,1635021678,3765358,4,1,12,1,60,4294959082,16777216,16,16,85,28,4294945004,15,1953067617,1868770920,1635021678,3699822,4,1,8,1,60,4294959150,16777216,16,16,84,28,4294945072,15,1953067617,1868770920,1635021678,3634286,4,1,4,1,30,4294959218,16777216,16,16,83,28,4294945140,15,1953067617,1868770920,1635021678,3568750,4,1,2,1,40,917504,1310744,786448,262152,14,20,28,3248,3252,3256,4,1852399981,0,62,3176,3080,2988,2912,2836,2760,2684,2648,2600,2564,2528,2492,2456,2416,2380,2324,2288,2204,2168,2112,2076,1992,1920,1884,1828,1792,1720,1648,1612,1556,1520,1448,1376,1340,1284,1248,1176,1104,1068,1012,976,936,880,844,776,740,704,636,600,564,496,460,424,356,320,284,216,180,144,76,40,4,4294964878,12,12,12,0,2,32,81,4294964910,12,16,4,1,81,1,80,4294964538,20,536870912,24,28,11,4294964524,15,13,1,80,4,66,6,4,5,4294965006,12,12,12,0,2,31,79,4294965038,12,16,4,1,79,1,78,4294964666,20,536870912,24,28,11,4294964652,15,13,1,78,4,61,6,4,5,4294965134,12,12,12,0,2,30,77,4294965166,12,16,4,1,77,1,76,4294964794,20,536870912,24,28,11,4294964780,15,13,1,76,4,56,6,4,5,4294965262,12,12,12,0,2,29,75,4294965294,12,16,4,1,75,1,74,4294964922,20,536870912,24,28,11,4294964908,15,13,1,74,4,51,6,4,5,4294965390,12,12,12,0,2,28,73,4294965422,12,16,4,1,73,1,72,4294965050,20,536870912,24,28,11,4294965036,15,13,1,72,4,46,6,4,5,4294965518,12,12,12,0,2,27,71,4294965550,12,16,4,1,71,1,70,4294965178,20,536870912,24,28,11,4294965164,15,13,1,70,4,42,3,4,5,4294965646,12,16,10,1,69,1,68,4294965274,20,134217728,16,20,9,4294946312,1,68,3,67,8,7,4294965730,12,16,3,1,67,2,66,2,4294965766,12,16,6,1,66,1,65,4294965394,20,167772160,20,24,5,4294965290,1,1,65,2,37,64,4294965850,12,16,4,1,64,1,63,4294965478,20,16777216,32,36,7,4294966276,16777216,1,1,16777216,1,63,3,62,10,9,4294965546,20,33554432,32,36,8,4294966540,1,1,1,16777216,1,62,3,61,12,11,4294966018,12,16,6,1,61,1,60,4294965646,20,167772160,20,24,5,4294965542,1,1,60,2,36,59,4294966102,12,16,4,1,59,1,58,4294965730,20,16777216,32,36,7,4294966528,16777216,1,1,16777216,1,58,3,57,14,13,4294965798,20,33554432,32,36,8,4294966792,1,1,1,16777216,1,57,3,56,16,15,4294966270,12,16,6,1,56,1,55,4294965898,20,167772160,20,24,5,4294965794,1,1,55,2,35,54,4294966354,12,16,4,1,54,1,53,4294965982,20,16777216,32,36,7,4294966780,16777216,1,1,16777216,1,53,3,52,18,17,4294966050,20,33554432,32,36,8,4294967044,1,1,1,16777216,1,52,3,51,20,19,4294966522,12,16,6,1,51,1,50,4294966150,20,167772160,20,24,5,4294966046,1,1,50,2,34,49,4294966606,12,16,4,1,49,1,48,4294966234,20,16777216,32,36,7,4294967032,16777216,1,1,16777216,1,48,3,47,22,21,4294966302,32,33554432,44,48,8,1310732,786451,262152,12,1,1,1,16777216,1,47,3,46,24,23,4294966786,12,16,6,1,46,1,45,4294966414,20,167772160,20,24,5,4294966310,1,1,45,2,33,44,4294966870,12,16,4,1,44,1,43,4294966498,32,16777216,44,48,7,1310732,786451,458760,12,16777216,3,1,16777216,1,43,3,42,26,25,4294966982,12,16,6,1,42,1,41,4294966610,20,167772160,20,24,5,4294966506,1,1,41,2,38,40,4294967066,12,16,4,1,40,1,39,4294967098,12,16,3,1,39,2,0,1,4294967134,12,16,2,1,38,1,27,4294967166,12,16,2,1,37,1,32,4294967198,12,16,2,1,36,1,31,4294967230,12,16,2,1,35,1,30,4294967262,12,16,2,1,34,1,29,655360,786448,262152,10,12,16,2,1,33,1,28,4294966934,20,1862270976,48,52,1,4294966920,8,20,8,1701999731,895446369,0,0,0,1,32,0,4294967006,20,1862270976,48,52,1,4294966992,8,20,8,1701999731,878669153,0,0,0,1,31,0,4294967078,20,1862270976,48,52,1,4294967064,8,20,8,1701999731,861891937,0,0,0,1,30,0,4294967150,20,1862270976,48,52,1,4294967136,8,20,8,1701999731,845114721,0,0,0,1,29,0,4294967222,20,1862270976,48,52,1,4294967208,8,20,8,1701999731,828337505,0,0,0,1,28,0,917504,1310744,786448,262155,14,28,1862270976,52,56,1,786440,262152,8,8,16,6,1701999731,28001,0,0,1,27,0,917504,22,786448,262155,14,24,1728053248,24,24,393216,262152,6,1,0,0,1,69,1,0,82,18876,18784,18720,18656,18592,18528,18464,18364,18264,17460,16640,15836,14992,14164,13344,12540,11716,10908,10088,9284,8460,7652,6832,6388,5924,5476,5016,4964,4908,4852,4796,4740,4684,4604,4500,4420,4340,4260,4180,4076,4008,3944,3840,3708,3612,3544,3440,3324,3200,3108,3040,2932,2816,2692,2600,2532,2424,2308,2184,2092,2024,1916,1800,1676,1584,1516,1408,1316,1208,1100,992,920,816,740,632,556,448,372,264,188,80,4,4294962910,16777216,16,16,82,32,4294948832,16,1769108595,1600415076,1667853427,825581413,0,4,1,4,1,60,4294948842,16777216,20,52,81,150994944,60,4294948820,8,20,1,4294967168,4294967295,0,1,1020794230,15,1769108595,1600415076,1667853427,3497829,4,1,4,1,60,4294963086,16777216,16,16,80,32,4294949008,16,1769108595,1600415076,1667853427,825515877,0,4,1,3,1,60,4294949018,16777216,20,52,79,150994944,60,4294948996,8,20,1,4294967168,4294967295,0,1,1020266123,15,1769108595,1600415076,1667853427,3432293,4,1,3,1,60,4294963262,16777216,16,16,78,32,4294949184,16,1769108595,1600415076,1667853427,825450341,0,4,1,12,1,60,4294949194,16777216,20,52,77,150994944,60,4294949172,8,20,1,4294967168,4294967295,0,1,1020288498,15,1769108595,1600415076,1667853427,3366757,4,1,12,1,60,4294963438,16777216,16,16,76,32,4294949360,16,1769108595,1600415076,1667853427,825384805,0,4,1,8,1,60,4294949370,16777216,20,52,75,150994944,60,4294949348,8,20,1,4294967168,4294967295,0,1,1019460421,15,1769108595,1600415076,1667853427,3301221,4,1,8,1,60,4294963614,16777216,16,16,74,32,4294949536,16,1769108595,1600415076,1667853427,825319269,0,4,1,4,1,30,4294949546,16777216,20,48,73,150994944,56,4294949524,8,16,1,4294967168,4294967295,1,1017981356,15,1769108595,1600415076,1667853427,3235685,4,1,4,1,30,4294963786,16777216,16,16,72,28,4294949708,14,1769108595,1600415076,1667853427,12645,4,1,2,1,40,4294949714,16777216,20,52,71,150994944,60,4294949692,8,20,1,4294967295,4294967295,0,1,1006665857,13,1769108595,1600415076,1667853427,101,4,1,2,1,40,4294949818,16777216,20,48,70,150994944,68,4294949796,8,16,1,4294967168,4294967295,1,998244352,25,1952543827,1819633253,1953653072,1869182057,1130653038,980184161,48,2,1,1,4294949922,16777216,20,48,69,150994944,68,4294949900,8,16,1,8,0,1,1055947808,26,1936614756,1632448357,1819626868,1852138555,1110402419,1098080617,25700,2,1,1,4294950026,16777216,20,52,68,150994944,52,4294950004,8,20,1,4294967168,4294967295,0,1,1020794230,7,1752393042,6647905,2,1,300,4294950114,16777216,20,52,67,150994944,60,4294950092,8,20,1,4294967168,4294967295,0,1,1020794230,13,778856052,1851880817,1702521204,53,4,1,5,1,60,4294964358,16777216,16,16,66,24,4294950280,8,1668181859,895448161,0,4,1,5,1,60,4294964422,16777216,16,16,65,48,4294950344,32,791967600,1970038098,880242747,1634288175,1684291955,880242747,1852785455,826552950,0,4,1,1,1,60,4294950370,16777216,20,52,64,150994944,76,4294950348,8,20,1,4294967168,4294967295,0,1,1020794230,31,791967600,1970038098,880242747,1634288175,1684291955,880242747,1852785455,4469366,4,1,1,1,60,4294950490,16777216,20,48,63,150994944,68,4294950468,8,16,1,4294967290,4294967295,1,1026772623,25,791967588,1935763778,996435009,791967588,1953523044,1936291688,101,4,1,1,1,60,4294950602,16777216,20,52,62,150994944,60,4294950580,8,20,1,4294967168,4294967295,0,1,1020266123,13,778856052,1851880817,1702521204,52,4,1,4,1,60,4294964846,16777216,16,16,61,24,4294950768,8,1668181859,878670945,0,4,1,4,1,60,4294964910,16777216,16,16,60,48,4294950832,32,791902064,1970038098,863465531,1634288175,1684291955,863465531,1852785455,826552950,0,4,1,1,1,60,4294950858,16777216,20,52,59,150994944,76,4294950836,8,20,1,4294967168,4294967295,0,1,1020266123,31,791902064,1970038098,863465531,1634288175,1684291955,863465531,1852785455,4469366,4,1,1,1,60,4294950978,16777216,20,48,58,150994944,68,4294950956,8,16,1,17,0,1,1029018054,25,791902052,1935763778,996435009,791902052,1953523044,1936291688,101,4,1,1,1,60,4294951090,16777216,20,52,57,150994944,60,4294951068,8,20,1,4294967168,4294967295,0,1,1020288498,13,778856052,1851880817,1702521204,51,4,1,13,1,60,4294965334,16777216,16,16,56,24,4294951256,8,1668181859,861893729,0,4,1,13,1,60,4294965398,16777216,16,16,55,48,4294951320,32,791836528,1970038098,846688315,1634288175,1684291955,846688315,1852785455,826552950,0,4,1,1,1,60,4294951346,16777216,20,52,54,150994944,76,4294951324,8,20,1,4294967168,4294967295,0,1,1020288498,31,791836528,1970038098,846688315,1634288175,1684291955,846688315,1852785455,4469366,4,1,1,1,60,4294951466,16777216,20,48,53,150994944,68,4294951444,8,16,1,1,0,1,1029853166,25,791836516,1935763778,996435009,791836516,1953523044,1936291688,101,4,1,1,1,60,4294951578,16777216,20,52,52,150994944,60,4294951556,8,20,1,4294967168,4294967295,0,1,1019460421,13,778856052,1851880817,1702521204,50,4,1,9,1,60,4294965822,16777216,16,16,51,24,4294951744,8,1668181859,845116513,0,4,1,9,1,60,4294965886,16777216,16,16,50,48,4294951808,32,791770992,1970038098,829911099,1634288175,1684291955,829911099,1852785455,826552950,0,4,1,1,1,60,4294951834,16777216,20,52,49,150994944,76,4294951812,8,20,1,4294967168,4294967295,0,1,1019460421,31,791770992,1970038098,829911099,1634288175,1684291955,829911099,1852785455,4469366,4,1,1,1,60,4294951954,16777216,20,48,48,150994944,68,4294951932,8,16,1,4294967288,4294967295,1,1016352469,25,791770980,1935763778,996435009,791770980,1953523044,1936291688,101,4,1,1,1,30,4294952066,16777216,20,48,47,150994944,56,4294952044,8,16,1,4294967168,4294967295,1,1017981356,13,778856052,1851880817,1702521204,49,4,1,5,1,30,4294966306,16777216,16,16,46,24,4294952228,8,1668181859,828339297,0,4,1,5,1,30,4294966370,16777216,16,16,45,52,4294952292,38,1986948963,1699884848,1664841068,813067887,1634288175,1684291955,1852793659,1127166070,846622319,12612,4,1,1,1,30,4294952322,16777216,20,52,44,150994944,84,4294952300,8,20,1,4294967168,4294967295,0,1,1017981356,37,1986948963,1699884848,1664841068,813067887,1634288175,1684291955,1852793659,1127166070,846622319,68,4,1,1,1,30,4294952450,16777216,20,48,43,150994944,56,4294952428,8,16,1,4294967295,4294967295,1,1006665857,12,778856052,1851880817,1702521204,0,4,1,5,1,40,4294966690,16777216,16,16,42,20,4294952612,6,1668181859,29793,4,1,5,1,40,4294966750,16777216,16,16,41,24,4294952672,11,1634760773,1766089838,3240813,4,1,3,1,40,4294952674,16777216,20,52,40,150994944,56,4294952652,8,20,1,4294967295,4294967295,0,1,1006665857,10,1634760773,1766089838,29549,4,1,3,1,40,4294966914,16777216,16,16,39,36,4294952836,21,1668181859,1378841697,1449419109,1634300513,1332046946,112,4,1,2,1,40,4294966990,16777216,16,16,38,36,4294952912,23,1668181859,895448161,1634030127,1918981732,1818386793,7360357,4,1,4,1,60,4294967066,16777216,16,16,37,36,4294952988,23,1668181859,878670945,1634030127,1918981732,1818386793,7360357,4,1,3,1,60,4294967142,16777216,16,16,36,36,4294953064,23,1668181859,861893729,1634030127,1918981732,1818386793,7360357,4,1,12,1,60,4294967218,16777216,16,16,35,36,4294953140,23,1668181859,845116513,1634030127,1918981732,1818386793,7360357,4,1,8,1,60,1441792,1310744,1048576,524300,0,458752,22,16777216,16,16,34,36,4294953240,23,1668181859,828339297,1634030127,1918981732,1818386793,7360357,4,1,4,1,30,4294953254,16777216,20,20,33,218103808,24,4294953320,8,1701999731,895446369,0,0,4294953306,16777216,20,20,32,218103808,24,4294953372,8,1701999731,878669153,0,0,4294953358,16777216,20,20,31,218103808,24,4294953424,8,1701999731,861891937,0,0,4294953410,16777216,20,20,30,218103808,24,4294953476,8,1701999731,845114721,0,0,4294953462,16777216,20,20,29,218103808,24,4294953528,8,1701999731,828337505,0,0,4294953514,16777216,20,20,28,218103808,20,4294953580,6,1701999731,28001,0,4294953562,16777216,20,400,27,150994944,412,4294953540,8,252,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,986636514,986988328,991490566,991663688,982109811,991494179,968869595,987283093,980172720,987877261,991234157,981448681,992497753,980230783,985275467,986144545,990843769,990427374,982783524,990209143,974562206,989083509,983896399,993835126,992818547,984796971,988375994,974929463,996081477,979219401,19,778856052,1969582960,1902079844,1936617315,3748212,4,30,5,1,40,4294954018,16777216,20,400,26,33554432,412,4294953996,8,252,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,927969427,928322621,932809618,932983419,923424972,932813245,910198627,928618542,921513182,929215040,932552204,922770513,933820755,921571472,926603043,927475529,932160285,931742257,924101327,931523170,915880665,930426019,925218567,935163373,934142807,926122670,929715729,916249363,937418533,920556124,19,778856052,1969582960,1902079844,1936617315,3682676,1,30,4294954462,16777216,20,404,25,150994944,416,4294958274,3,8,252,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,992335993,992953179,993358203,994347029,996723023,992647314,991007744,990095343,992898081,992059852,994743989,991123265,994665062,986391277,989754229,992636006,991630674,995312042,993450429,997337613,989663902,991671223,986029867,990166337,987481292,992777645,995432135,992908269,990619126,998210839,19,778856052,1969582960,1902079844,1936617315,3617140,4,1,5,1,30,4294954922,16777216,20,396,24,33554432,408,4294954900,8,248,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,945839250,946674200,947222130,948236276,949843439,946260415,944042349,942808022,946599662,945465677,948504787,944198630,948451399,940140459,942415218,946245118,944885070,948889027,947346897,950259158,942354119,944939926,939895995,942904065,940877764,946436732,948970260,946613444,943516613,950849823,19,778856052,1969582960,1902079844,1936617315,3551604,1,30,4294955362,16777216,20,760,23,150994944,772,4294955340,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,1005821450,998266279,1006274537,1002581550,1008850928,1009106362,1000199348,1003648185,1008921650,1007098977,1006823256,1012895902,1008011912,1006001021,1001292551,1007641775,1008151399,1005265309,999492487,1007725220,1006359796,1003819211,1007008031,1004925945,1000920797,1007213034,1007743349,1006561327,1006830787,1006774094,1004229658,1006860486,998192945,1008532862,999489038,999191052,1009009817,1005521046,1005310026,1009624242,1004792243,1007291154,1014524440,999237214,1007919446,1006940939,1010219701,1006912103,1009755690,1005217141,1007910510,1011143763,1010560469,1007500879,1011532590,1001940058,1015278366,1007576014,990695389,1010050764,19,778856052,1969582960,1902079844,1936617315,3486068,4,60,1,1,30,4294956178,16777216,20,760,22,33554432,772,4294956156,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,957162083,949269011,957424569,954268924,960202074,960498034,951508772,955504787,960284017,958172166,957852701,964789363,959229944,957266113,952775418,958801082,959391561,956839895,950689764,958897766,957473961,955702948,958066791,956643292,952344683,958304319,958918772,957590714,957861426,957795739,956178514,957895837,949213823,959833545,950685768,950340504,960386172,956988050,956865800,961098079,956565834,958394833,965732821,950393990,959122807,957989055,961788011,957955644,961250382,956811990,959112454,962858681,962182844,958637832,963309198,953525656,966318361,958724888,941827857,961592271,19,778856052,1969582960,1902079844,1936617315,3420532,1,60,4294956982,16777216,20,764,21,150994944,776,4294960794,3,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,989473945,987377045,987064689,998207586,991559955,990828243,990235613,994505559,997586372,999082892,998064268,998820492,995117854,990571117,990509421,991738632,999704136,992535695,983350183,993243965,988767578,989554393,991798477,989787958,990288935,991610261,992505471,992498297,992436458,1000680322,991921774,993364911,985956981,992716984,983986321,982236632,1006099042,991771275,996482544,994146515,993254944,991542004,998397529,985751207,992425456,991393432,991001965,993296175,994395015,999990103,993768625,990145522,991483898,996181767,996604290,986047921,997988789,989857266,981543515,990135646,19,778856052,1969582960,1902079844,1936617315,3354996,4,1,9,1,60,4294957802,16777216,20,756,20,33554432,768,4294957780,8,488,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,943671035,942067795,941828975,952323447,946568948,945450048,944543827,949492965,951848481,953633813,952213869,953232563,949961111,945056863,944962521,946842172,954583789,947986853,938453807,948528380,943130963,943732543,946933684,943911121,944625364,946645873,947963745,947958260,947909254,956076527,947122224,948620852,940982047,948125463,939426559,936751018,960331944,946892088,951004520,949218448,948536774,946541498,952585788,940824717,947892431,946314308,945715696,948568298,949408445,955021077,948929522,944406064,946452645,950774553,951097605,941051578,952156160,943965276,935691136,944390962,19,778856052,1969582960,1902079844,1936617315,3289460,1,60,4294958602,16777216,20,760,19,150994944,772,4294958580,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,997302993,994822166,1000145190,992963469,1000053828,997377119,998445705,997872626,1001575256,991543644,991047866,993700788,995382116,996051525,998642164,998773079,1000006078,994964778,993947470,1000571141,999760098,1001004185,1001883587,991020247,997394913,994830947,999695842,999682507,999136229,993399025,1004401874,995133332,995047176,999298527,994366125,993503029,999754041,998519011,996813264,997949735,993062322,999479673,1002656063,994714206,994907101,997447634,991645817,996383987,1000760822,998756086,1002749118,1001996995,1000782375,992055840,993899812,1000861036,997661623,1000119377,995625176,1000388418,19,778856052,1969582960,1902079844,1936617315,3223924,4,60,1,1,60,4294959418,16777216,20,760,18,33554432,772,4294959396,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,961912110,959718980,965397513,958075832,965316746,961977640,963100307,962415684,966661737,956820661,956382377,958727645,960213993,960805772,963447659,963679125,965274533,959845053,958945720,965774067,965057079,966156892,966934312,956357961,961993371,959726742,965000275,964988486,964321198,958460877,969160558,959994060,959917896,964608151,959315825,958552820,965051725,963229917,961479174,962483851,958163221,964809174,967617205,959623540,959794065,962039978,956910985,961099680,965941751,963649081,967699469,967034568,965960805,957273459,958903589,966030344,962229151,965374693,960428866,965612534,19,778856052,1969582960,1902079844,1936617315,3158388,1,60,4294960222,16777216,20,764,17,150994944,776,4294964034,3,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,987136141,989830828,992363915,992025590,997462315,990911715,1001749409,984217262,1001629051,992156128,990487431,987948189,993977091,997485260,991211128,992311493,995234091,986543225,992802740,993085454,997445155,993975852,1000594588,987165766,998507482,993931560,994819448,992497898,992003007,986807992,1000328844,986279733,999752758,996939967,991531826,993154109,988139455,998947238,994190938,999217156,990060493,998980608,999533610,984918747,995382696,995621417,991522718,991623807,993055628,996703926,1002776065,997053536,992769948,992943705,985099265,994402884,991863447,990853235,984254451,999443613,18,778856052,1969582960,1902079844,1936617315,14708,4,1,13,1,60,4294961042,16777216,20,756,16,33554432,768,4294961020,8,488,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,942577450,944770746,948393349,948117975,952543108,946510006,957593356,940201677,957495393,948224225,945819328,943238403,949706367,952561784,946997411,948350681,950729482,942094856,948750524,948980634,952529141,949705359,956653409,942601563,953607975,949669308,950391990,948502403,948099594,942310359,956437111,941880391,955635118,952117951,947519465,949036515,943394081,954323839,949880425,954763230,945124330,954378161,955278375,940772639,950850436,951044739,947504638,947669197,948956358,951925830,958428986,952210389,948723833,948865260,940919568,950052935,947986002,946414809,940231946,955131871,18,778856052,1969582960,1902079844,1936617315,14452,1,60,4294961842,16777216,20,760,15,150994944,772,4294961820,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,995289880,989850849,990125544,997374690,1001024430,991560878,997152422,999559931,993744581,993223365,982116131,993726776,991950295,990540307,980063002,975452529,988299365,991387723,990369642,992738851,991250863,989557281,995110510,986695218,994555455,986811627,993909463,991980335,990119784,994761926,996596534,992456225,993668003,991245673,997014225,991263638,994806611,993734120,998741904,995688943,994119525,1000380327,989032379,984807931,993841075,988956709,990322554,990755045,996697793,993876102,990506573,995023665,999198751,990648762,986735284,993632395,993736349,991777950,995137592,997044221,18,778856052,1969582960,1902079844,1936617315,14196,4,60,1,1,60,4294962658,16777216,20,756,14,33554432,768,4294962636,8,488,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,959444405,953516498,953970746,961183670,965618851,956333465,960998241,964104248,958155231,957720404,946214829,958140377,956658338,954662783,943960567,940114255,952222164,956076706,954378027,957316195,955848354,953271588,959294765,950883896,958831707,950981010,958292785,956683399,953961136,959003957,960534489,957080413,958091345,955839694,960882950,955869669,959041235,958146504,962739361,959777326,958468030,965081504,952833685,949309416,958235732,952770557,954299460,955021076,960618965,958264953,954606497,959222314,963501615,954843741,950917321,958061639,958148363,956514558,959317358,960907974,18,778856052,1969582960,1902079844,1936617315,13940,1,60,1441792,1572894,1048599,524300,0,458752,22,16777216,40,784,13,150994944,796,1179648,16,786432,8,262144,18,3,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,991916430,982546204,990177782,990778850,993853606,990481004,988289091,990247077,995967938,980302186,981340387,994699004,986778276,995936605,981137948,979431725,991433543,993118888,998972190,992522169,992760429,986485801,986787536,982243181,994362054,976085956,985040161,991127807,986074366,987566099,988798720,990820726,991916404,984401754,991690833,991825995,990491945,990449575,990426234,996734323,990279686,1000123696,976444462,981813788,987576499,979360833,986557736,984636373,996703575,991645503,996410511,1000084725,992849918,974823947,987382706,994720566,1002909754,990392699,989910773,983700214,18,778856052,1969582960,1902079844,1936617315,13684,4,1,4,1,60,4294964322,16777216,20,756,12,33554432,768,4294964300,8,488,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,948015191,938133744,945292027,946268883,949589340,945784823,943495589,945404645,951307445,935433405,936277047,950276310,942267901,951281984,936112545,934726068,947332889,948992308,954340141,948507414,948701024,942030236,942275426,937641271,950002504,932007297,940855509,946836007,941695904,942908086,943909713,946336939,948015169,940336740,947751037,947941703,945802605,945733745,945695811,951930210,945457641,956211568,932298619,936943422,942916537,934668462,942088690,940527391,951905224,947677367,951667080,956148233,948773743,930828089,942759061,950293831,958520390,945641310,944858084,939766668,18,778856052,1969582960,1902079844,1936617315,13428,1,60,4294965122,16777216,20,760,11,150994944,772,4294965100,8,492,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,990056738,996476197,995719916,991758020,1009485765,1010938510,998052417,999028714,1002365458,994661898,993283783,1006499358,999045392,997530727,986684081,999648519,995728791,997523384,1004364690,998761531,992714120,994846566,998659940,993420592,994307051,999507088,1002268813,989462920,1003835766,998199724,993999215,1000364040,994135678,993907002,994536049,988132944,993212752,1006304726,987627099,991181434,999395546,992685881,997972742,991849353,993783973,989017278,999944928,1004783753,993898105,994374249,1003367301,998841995,999090567,996364886,993338484,1005866623,992635148,993531846,996065094,993509261,18,778856052,1969582960,1902079844,1936617315,13172,4,60,1,1,60,4294965938,16777216,20,756,10,33554432,768,4294965916,8,488,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,951556710,958425312,957895600,953939926,972048676,973581130,959529324,960762521,965063334,957154546,956077268,967958790,960785884,959163924,949053663,961630765,957901816,959158780,966463631,960388241,955279264,957283890,960245929,956268915,956906005,961432644,964995642,951000010,966093163,959632501,956690391,962633092,956785972,956625803,957066399,950068472,955977765,967822466,949714169,953132224,961276392,955239706,959473519,954067868,956539632,950687875,962045985,966757150,956619572,956953071,965765042,960500958,960849167,958347348,956153895,967515611,955168637,956363038,958137369,956347219,18,778856052,1969582960,1902079844,1936617315,12916,1,60,4294966738,16777216,20,48,9,150994944,60,4294966716,8,16,1,0,0,1,1000281979,18,778856052,1969582960,1902079844,1936617315,12660,2,1,300,4294966834,16777216,20,52,8,33554432,64,4294966812,8,20,1,0,0,0,1,956713254,17,778856052,1969582960,1902079844,1936617315,116,1,1,4294966930,16777216,20,20,7,33554432,28,4294966996,15,1953067617,1868770920,1635021678,3503214,1,4,4294966990,16777216,20,20,6,33554432,28,4294967056,15,1953067617,1868770920,1635021678,3437678,1,4,4294967050,16777216,20,20,5,33554432,28,4294967116,15,1953067617,1868770920,1635021678,3372142,1,4,4294967110,16777216,20,20,4,33554432,28,4294967176,15,1953067617,1868770920,1635021678,3306606,1,4,4294967170,16777216,20,20,3,33554432,28,4294967236,15,1953067617,1868770920,1635021678,3241070,1,2,4294967230,16777216,24,24,2,33554432,32,262148,4,14,1953067617,1868770920,1635021678,29806,1,4,1441792,1572892,1048599,524300,0,458752,22,16777216,32,60,1,150994944,84,786444,0,262152,12,8,16,1,4294967295,4294967295,1,1006665857,29,1987208563,1600613993,1634100580,1601465461,1970302569,1969315700,980380004,48,3,1,3,40,13,244,216,200,184,164,136,120,100,80,60,40,20,4,4294967116,144,2130706432,4294967192,45,2,754974720,4294967208,14,2,234881024,4294967224,9,4,150994944,4294967240,4,3,67108864,4294967256,3,3,50331648,4294967208,114,1912602624,4294967220,2,33554432,1048588,15,262152,12,6,2,100663296,4294967260,22,369098752,4294967272,143,2130706432,4294967284,142,2130706432,786444,11,262144,12,129,2130706432 From f9b01fff9e0b70c052cfbf5bf2da3b6b59ec3e2b Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Thu, 27 Aug 2026 15:24:07 +0300 Subject: [PATCH 12/15] audio: microwakeword: tune: add model training and verification toolchain Add an end-to-end offline training, quantization, and verification toolchain for microWakeWord streaming models using SOF host testbench MFCC features: - sof_mfcc_extract_features.sh: Batch-extract real SOF 40-bin mel spectrogram features from WAV datasets via sof-testbench4. - sof_mww_generate_keyword_dataset_piper_tts.sh: Synthesize keyword utterances across multiple Piper ONNX neural voices. - sof_mww_prepare_silence_unknown.sh: Prepare ambient background and non-target speech datasets. - sof_mww_dataset.py: Dataset loader with temporal jitter, silence pool background mixing, and hard negative fragment synthesis. - sof_mww_train.py: Causal streaming MixConv model training with quantization-aware calibration and C-array / topology export. - sof_mww_verify.py: Streaming temporal verification with configurable threshold and consecutive-detection debounce. - sof_mww_train_pipeline.sh: One-shot automation pipeline for training, export, and streaming verification. Signed-off-by: Seppo Ingalsuo --- src/audio/microwakeword/tune/README.md | 156 ++++ .../tune/sof_mfcc_extract_features.sh | 182 +++++ .../microwakeword/tune/sof_mww_dataset.py | 332 ++++++++ .../tune/sof_mww_generate_keyword_dataset.sh | 371 +++++++++ ...f_mww_generate_keyword_dataset_from_dir.sh | 467 ++++++++++++ ..._mww_generate_keyword_dataset_piper_tts.sh | 501 ++++++++++++ .../microwakeword/tune/sof_mww_plot_mtrace.py | 365 +++++++++ .../tune/sof_mww_prepare_silence_unknown.sh | 160 ++++ src/audio/microwakeword/tune/sof_mww_train.py | 528 +++++++++++++ .../microwakeword/tune/sof_mww_train_pcan.py | 716 ++++++++++++++++++ .../tune/sof_mww_train_pipeline.sh | 215 ++++++ .../microwakeword/tune/sof_mww_verify.py | 200 +++++ 12 files changed, 4193 insertions(+) create mode 100644 src/audio/microwakeword/tune/README.md create mode 100755 src/audio/microwakeword/tune/sof_mfcc_extract_features.sh create mode 100644 src/audio/microwakeword/tune/sof_mww_dataset.py create mode 100755 src/audio/microwakeword/tune/sof_mww_generate_keyword_dataset.sh create mode 100755 src/audio/microwakeword/tune/sof_mww_generate_keyword_dataset_from_dir.sh create mode 100755 src/audio/microwakeword/tune/sof_mww_generate_keyword_dataset_piper_tts.sh create mode 100755 src/audio/microwakeword/tune/sof_mww_plot_mtrace.py create mode 100755 src/audio/microwakeword/tune/sof_mww_prepare_silence_unknown.sh create mode 100644 src/audio/microwakeword/tune/sof_mww_train.py create mode 100755 src/audio/microwakeword/tune/sof_mww_train_pcan.py create mode 100755 src/audio/microwakeword/tune/sof_mww_train_pipeline.sh create mode 100644 src/audio/microwakeword/tune/sof_mww_verify.py diff --git a/src/audio/microwakeword/tune/README.md b/src/audio/microwakeword/tune/README.md new file mode 100644 index 000000000000..8d5c83d426a7 --- /dev/null +++ b/src/audio/microwakeword/tune/README.md @@ -0,0 +1,156 @@ +# microWakeWord (MWW) Training & Tuning Toolchain + +This directory contains offline scripts to train, quantize, verify, and export streaming keyword-spotting models for the SOF `microwakeword` (MWW) module using real SOF MFCC features extracted via `sof-testbench4`. + +--- + +## Toolchain Overview + +1. **Keyword Dataset Generation & Ingestion:** + - [sof_mww_generate_keyword_dataset_from_dir.sh](sof_mww_generate_keyword_dataset_from_dir.sh): Ingests recorded real speech WAV samples from a directory, preserves clean reference clips, and complements them with Room Impulse Response (RIR) reverberation, additive background noise (at varying SNRs), tempo/pitch perturbations, and Gaussian gain jitter. + - [sof_mww_generate_keyword_dataset_piper_tts.sh](sof_mww_generate_keyword_dataset_piper_tts.sh): Synthesizes positive keyword WAVs with single-speaker Piper TTS voices, pitch/tempo perturbation (via `sox`), Gaussian gain jitter, and Room Impulse Response (RIR) reverberation. + - [sof_mww_generate_keyword_dataset.sh](sof_mww_generate_keyword_dataset.sh): Multi-speaker generation with `piper-sample-generator` (LibriTTS-R). + - [sof_mww_prepare_silence_unknown.sh](sof_mww_prepare_silence_unknown.sh): Prepares negative dataset classes (`silence` and `unknown`) by slicing background noise and non-target words from Google Speech Commands v2. + +2. **DSP Feature Extraction:** + - [sof_mfcc_extract_features.sh](sof_mfcc_extract_features.sh): Emits 184-byte hop records ($24\text{-byte } \texttt{struct mfcc\_data\_header} + 40 \times \text{int32\_t}$ Q9.23 mel values) by running the SOF host testbench with 10 ms mel-40 topology. + +3. **Model Training & Export:** + - [sof_mww_dataset.py](sof_mww_dataset.py): Parses testbench `.raw` feature files, applies soft mel-log AGC ($0\text{ dB}$ target, $0.5\text{ dB/s}$ release recovery), and builds training slices. + - [sof_mww_train.py](sof_mww_train.py): Trains a streaming Keras model, quantizes to `int8` with TFLite Micro resource variables, packages behind SOF IPC4 ABI headers, and emits: + - `mww_model_data.{cc,h}`: Drop-in static C array. + - `.conf`: ALSA Topology v2 configuration blob for `Object.Base.data`. + - `.txt`: Runtime `sof-ctl` binary control file. + +4. **Off-Device Verification & Automation:** + - [sof_mww_verify.py](sof_mww_verify.py): Feeds 3-hop streaming slices through the quantized TFLite model to verify detection rates and false alarm rates. + - [sof_mww_train_pipeline.sh](sof_mww_train_pipeline.sh): End-to-end automation runner. + +--- + +## Quickstart + +### Environment Setup + +#### Setup Piper Virtual Environment (for Dataset Generation) +```bash +python3 -m venv ~/venvs/piper +source ~/venvs/piper/bin/activate +pip install --upgrade pip +pip install piper-sample-generator +``` + +#### Setup `piper-sample-generator` and Model Checkpoint +```bash +git clone https://github.com/rhasspy/piper-sample-generator ~/git/piper-sample-generator +mkdir -p ~/git/piper-sample-generator/models +wget -O ~/git/piper-sample-generator/models/en_US-libritts_r-medium.pt \ + https://github.com/rhasspy/piper-sample-generator/releases/download/v2.0.0/en_US-libritts_r-medium.pt +``` + +#### Setup Model Training Virtual Environment (Python 3.10 via `uv`) +For systems with newer default Python versions (such as Ubuntu 24.04/26.04), install `uv` to manage a Python 3.10 environment required by TensorFlow 2.16: +```bash +curl -LsSf https://astral.sh/uv/install.sh | sh +uv venv ~/venvs/mww-train --python 3.10 +source ~/venvs/mww-train/bin/activate +uv pip install --upgrade pip +uv pip install "tensorflow==2.16.1" "tf-keras==2.16.0" +``` + +### 1. Generate Synthetic Keyword Data + +#### Option A: Multi-speaker dataset with `piper-sample-generator` (PyTorch `.pt` model) +```bash +./sof_mww_generate_keyword_dataset.sh \ + --keyword "hey jarvis" \ + --label hey_jarvis \ + --venv ~/venvs/piper \ + ~/wov/wavs +``` +By default, the script automatically uses: +- `PIPER_MODEL="$HOME/git/piper-sample-generator/models/en_US-libritts_r-medium.pt"` (auto-detected) +- `MAX_SAMPLES=1000` (clips synthesized per speaking-rate variation) +- `MAX_SPEAKERS=200` (cap on LibriTTS-R speaker indices for diverse, high-quality voices) +- `GAIN_AUG=1` (Gaussian level jitter enabled: peak target -10 dBFS, sigma 5 dB) + +These can be overridden via environment variables if desired (e.g., `MAX_SAMPLES=1500 MAX_SPEAKERS=300 ./sof_mww_generate_keyword_dataset.sh ...`). + +#### Option B: Single-speaker dataset with `piper-tts` (ONNX `.onnx` model) +```bash +./sof_mww_generate_keyword_dataset_piper_tts.sh \ + --keyword "hey jarvis" \ + --label hey_jarvis \ + --voice ~/.local/share/piper-voices/en_US-lessac-medium.onnx \ + ~/wov/wavs +``` + +#### Option C: Real speech dataset from a directory of recorded WAV samples +To use recorded human speech recordings instead of synthetic TTS: +```bash +./sof_mww_generate_keyword_dataset_from_dir.sh \ + --src-dir /path/to/recorded/audio \ + --label hi_intel \ + ~/wov/wavs +``` +This converts the input audio to 16 kHz 16-bit mono, keeps the clean unperturbed samples, and automatically complements them with RIR convolution, background noise mixing (10–30 dB SNR), pitch/tempo shifts, and Gaussian level jitter to reach a full training set size (`MAX_SAMPLES=1000` by default). + +You can also pass `--keyword-dir