[
  {
    "path": ".gitignore",
    "content": "CMakeLists.txt.user\nCMakeCache.txt\nCMakeFiles\nCMakeScripts\nTesting\nMakefile\ncmake_install.cmake\ninstall_manifest.txt\ncompile_commands.json\nCTestTestfile.cmake\n_deps\n.vs\nout\nnana_v142_Release_x64.lib"
  },
  {
    "path": "LICENSE.txt",
    "content": "Copyright (c) 2022 Samuel Tulach\nCopyright (c) 2019 z175\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\">\n  <img width=\"100px\" src=\"assets/region.png\">\n  <br>\n  <b>RwxMeme</b>\n  <br>\n  Injector abusing RWX regions\n</p>\n\n## About\nThis injector abuses the fact that some signed (read whitelisted by anticheat) DLLs have RWX (read, write, execute) sections. Since those sections are writable, running *simple integrity checks* towards them does not make sense, so we can simply map our own DLL into those sections.\n\nIn order for this to work on protected processes, [another meme is used](https://github.com/SamuelTulach/meme-rw) (EPROCESS->PreviousMode overwritten with vulnerable driver). \n\n## Usage \nCompile or download the project. Pass the process name, window title and DLL path as process arguments (run without them to get more details). Don't forget that the signed DLL will be visible in the process.\n"
  },
  {
    "path": "RwxMeme/CMakeLists.txt",
    "content": "﻿cmake_minimum_required (VERSION 3.8)\n\nproject (\"RwxMeme\")\n\nadd_subdirectory (\"RwxMeme\")\n"
  },
  {
    "path": "RwxMeme/CMakePresets.json",
    "content": "﻿{\n    \"version\": 3,\n    \"configurePresets\": [\n        {\n            \"name\": \"windows-base\",\n            \"hidden\": true,\n            \"generator\": \"Ninja\",\n            \"binaryDir\": \"${sourceDir}/out/build/${presetName}\",\n            \"installDir\": \"${sourceDir}/out/install/${presetName}\",\n            \"cacheVariables\": {\n                \"CMAKE_C_COMPILER\": \"cl.exe\",\n                \"CMAKE_CXX_COMPILER\": \"cl.exe\"\n            },\n            \"condition\": {\n                \"type\": \"equals\",\n                \"lhs\": \"${hostSystemName}\",\n                \"rhs\": \"Windows\"\n            }\n        },\n        {\n            \"name\": \"x64-debug\",\n            \"displayName\": \"x64 Debug\",\n            \"inherits\": \"windows-base\",\n            \"architecture\": {\n                \"value\": \"x64\",\n                \"strategy\": \"external\"\n            },\n            \"cacheVariables\": {\n                \"CMAKE_BUILD_TYPE\": \"Debug\"\n            }\n        },\n        {\n            \"name\": \"x64-release\",\n            \"displayName\": \"x64 Release\",\n            \"inherits\": \"x64-debug\",\n            \"cacheVariables\": {\n                \"CMAKE_BUILD_TYPE\": \"Release\"\n            }\n        },\n        {\n            \"name\": \"x86-debug\",\n            \"displayName\": \"x86 Debug\",\n            \"inherits\": \"windows-base\",\n            \"architecture\": {\n                \"value\": \"x86\",\n                \"strategy\": \"external\"\n            },\n            \"cacheVariables\": {\n                \"CMAKE_BUILD_TYPE\": \"Debug\"\n            }\n        },\n        {\n            \"name\": \"x86-release\",\n            \"displayName\": \"x86 Release\",\n            \"inherits\": \"x86-debug\",\n            \"cacheVariables\": {\n                \"CMAKE_BUILD_TYPE\": \"Release\"\n            }\n        }\n    ]\n}\n"
  },
  {
    "path": "RwxMeme/RwxMeme/CMakeLists.txt",
    "content": "﻿cmake_minimum_required (VERSION 3.8)\n\nset(CMAKE_MFC_FLAG 1)\n\nfile(GLOB_RECURSE sourcefiles\n    \"src/*.h\"\n    \"src/*.cpp\"\n)\n\nset(CMAKE_CXX_STANDARD 17)\nset(CMAKE_CXX_STANDARD_REQUIRED ON)\n\nadd_compile_definitions(_CRT_SECURE_NO_WARNINGS)\nadd_compile_definitions(WIN32_LEAN_AND_MEAN)\nadd_compile_definitions(NOMINMAX)\n\nfind_package(MFC)\nif (NOT MFC_FOUND)\n  MESSAGE(FATAL_ERROR \"MFC could not be found!\")\nendif()\n\nmacro(replace_flags var these those)\n  if(\"${${var}}\" MATCHES \"${these}\")\n    string(REGEX REPLACE \"${these}\" \"${those}\" ${var} \"${${var}}\")\n  endif()\n  message(STATUS \"info: ${var}='${${var}}'\")\nendmacro()\n\nset(has_correct_flag 0)\nforeach(lang C CXX)\nforeach(suffix \"\" _DEBUG _MINSIZEREL _RELEASE _RELWITHDEBINFO)\n    replace_flags(\"CMAKE_${lang}_FLAGS${suffix}\" \"/MD\" \"/MT\")\n    if(CMAKE_${lang}_FLAGS${suffix} MATCHES \"/MT\")\n    set(has_correct_flag 1)\n    endif()\nendforeach()\nendforeach()\nif(NOT has_correct_flag)\n    message(FATAL_ERROR \"no CMAKE_*_FLAGS var contains /MT\")\nendif()\n\nif(CMAKE_CXX_FLAGS MATCHES \"/W[0-4]\")\n    string(REGEX REPLACE \"/W[0-4]\" \"/W0\" CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS}\")\nelse()\n    set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} /W0\")\nendif()\n\nif(CMAKE_CXX_FLAGS MATCHES \"/Ob[0-4]\")\n    string(REGEX REPLACE \"/Ob[0-4]\" \"/Ob1\" CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS}\")\nelse()\n    set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} /Ob1\")\nendif()\n\nif(CMAKE_CXX_FLAGS_RELEASE MATCHES \"/Ob[0-4]\")\n    string(REGEX REPLACE \"/Ob[0-4]\" \"/Ob1\" CMAKE_CXX_FLAGS_RELEASE \"${CMAKE_CXX_FLAGS}\")\nelse()\n    set(CMAKE_CXX_FLAGS_RELEASE \"${CMAKE_CXX_FLAGS} /Ob1\")\nendif()\n\nlink_directories(${CMAKE_SOURCE_DIR}/RwxMeme/lib)\n\nadd_executable(RwxMeme ${sourcefiles})\ntarget_link_libraries(RwxMeme VMProtectSDK64)\n"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/driver_resource.h",
    "content": "#ifndef DRIVER_RESOURCE_H\n#define DRIVER_RESOURCE_H\n\nnamespace driver_resource\n{\n\tinline unsigned char driverBuffer[] = {\n\t  0x4d, 0x5a, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t  0xff, 0xff, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xd8, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0xba, 0x0e, 0x00, 0xb4, 0x09, 0xcd,\n\t  0x21, 0xb8, 0x01, 0x4c, 0xcd, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70,\n\t  0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x20, 0x63, 0x61, 0x6e, 0x6e, 0x6f,\n\t  0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x6e, 0x20,\n\t  0x44, 0x4f, 0x53, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x0d, 0x0d, 0x0a,\n\t  0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x85, 0xc5, 0x87,\n\t  0x03, 0xe4, 0xab, 0xd4, 0x03, 0xe4, 0xab, 0xd4, 0x03, 0xe4, 0xab, 0xd4,\n\t  0x03, 0xe4, 0xaa, 0xd4, 0x24, 0xe4, 0xab, 0xd4, 0x75, 0x79, 0xd0, 0xd4,\n\t  0x06, 0xe4, 0xab, 0xd4, 0x75, 0x79, 0xd6, 0xd4, 0x00, 0xe4, 0xab, 0xd4,\n\t  0x75, 0x79, 0xc6, 0xd4, 0x04, 0xe4, 0xab, 0xd4, 0xc0, 0xeb, 0xf5, 0xd4,\n\t  0x02, 0xe4, 0xab, 0xd4, 0x75, 0x79, 0xd3, 0xd4, 0x02, 0xe4, 0xab, 0xd4,\n\t  0x52, 0x69, 0x63, 0x68, 0x03, 0xe4, 0xab, 0xd4, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x06, 0x00, 0xc4, 0x70, 0x76, 0x4c,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x22, 0x00,\n\t  0x0b, 0x02, 0x08, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xb2, 0x5c, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x5d, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t  0x00, 0x02, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00, 0x05, 0x00, 0x02, 0x00,\n\t  0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5d, 0x00,\n\t  0x00, 0x04, 0x00, 0x00, 0x6c, 0x94, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xdc, 0x22, 0x5d, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x30, 0x5d, 0x00,\n\t  0xf8, 0x03, 0x00, 0x00, 0x00, 0x10, 0x5d, 0x00, 0x38, 0x04, 0x00, 0x00,\n\t  0x00, 0x66, 0x00, 0x00, 0xa8, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x50, 0x61, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x2e, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x45, 0x45, 0x00, 0x00,\n\t  0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x20, 0x00, 0x00, 0x68, 0x2e, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,\n\t  0xfc, 0x07, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,\n\t  0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x2e, 0x64, 0x61, 0x74,\n\t  0x61, 0x00, 0x00, 0x00, 0xc0, 0x9e, 0x5c, 0x00, 0x00, 0x70, 0x00, 0x00,\n\t  0x00, 0x02, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xc8,\n\t  0x2e, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00,\n\t  0x00, 0x10, 0x5d, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x40, 0x00, 0x00, 0x48, 0x49, 0x4e, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00,\n\t  0x9c, 0x07, 0x00, 0x00, 0x00, 0x20, 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00,\n\t  0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xe2, 0x2e, 0x72, 0x73, 0x72,\n\t  0x63, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x30, 0x5d, 0x00,\n\t  0x00, 0x04, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x53, 0x48, 0x83,\n\t  0xec, 0x30, 0x48, 0x8b, 0x41, 0x08, 0x48, 0x8d, 0x0d, 0xdf, 0x36, 0x00,\n\t  0x00, 0x48, 0x8b, 0x58, 0x40, 0xe8, 0xe6, 0x0e, 0x00, 0x00, 0x48, 0x8d,\n\t  0x15, 0xbf, 0x36, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0xff, 0x15,\n\t  0x64, 0x50, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0xff, 0x15, 0xe1,\n\t  0x50, 0x00, 0x00, 0x48, 0x8b, 0x0b, 0xff, 0x15, 0xe8, 0x50, 0x00, 0x00,\n\t  0x48, 0x8d, 0x0d, 0x69, 0x36, 0x00, 0x00, 0x48, 0xc7, 0x43, 0x10, 0x00,\n\t  0x00, 0x00, 0x00, 0xe8, 0xac, 0x0e, 0x00, 0x00, 0x48, 0x83, 0xc4, 0x30,\n\t  0x5b, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83,\n\t  0xec, 0x20, 0x48, 0x8d, 0x0d, 0x03, 0x38, 0x00, 0x00, 0x48, 0x8b, 0xda,\n\t  0xe8, 0x8b, 0x0e, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x94, 0x60, 0x00, 0x00,\n\t  0xe8, 0x1f, 0x0e, 0x00, 0x00, 0x45, 0x33, 0xdb, 0x33, 0xd2, 0x48, 0x8b,\n\t  0xcb, 0x4c, 0x89, 0x5b, 0x38, 0x44, 0x89, 0x5b, 0x30, 0xff, 0x15, 0x81,\n\t  0x4f, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0xa2, 0x37, 0x00, 0x00, 0xe8, 0x5d,\n\t  0x0e, 0x00, 0x00, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83,\n\t  0xec, 0x20, 0x48, 0x8d, 0x0d, 0x03, 0x38, 0x00, 0x00, 0x48, 0x8b, 0xda,\n\t  0xe8, 0x2b, 0x0e, 0x00, 0x00, 0x45, 0x33, 0xdb, 0x33, 0xd2, 0x48, 0x8b,\n\t  0xcb, 0x4c, 0x89, 0x5b, 0x38, 0x44, 0x89, 0x5b, 0x30, 0xff, 0x15, 0x2d,\n\t  0x4f, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x1e, 0x60, 0x00, 0x00, 0xe8, 0xc9,\n\t  0x0d, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0xa2, 0x37, 0x00, 0x00, 0xe8, 0xfd,\n\t  0x0d, 0x00, 0x00, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x28,\n\t  0x48, 0x8b, 0x82, 0xb8, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5c, 0x24, 0x40,\n\t  0x48, 0x89, 0x7c, 0x24, 0x48, 0x48, 0x8b, 0x48, 0x20, 0x48, 0x8b, 0xfa,\n\t  0x8b, 0x50, 0x18, 0x48, 0x85, 0xc9, 0x74, 0x57, 0x81, 0xfa, 0x07, 0x20,\n\t  0x86, 0x80, 0x74, 0x46, 0x81, 0xfa, 0x0b, 0x20, 0x86, 0x80, 0x74, 0x35,\n\t  0x81, 0xfa, 0x0f, 0x20, 0x86, 0x80, 0x74, 0x24, 0x81, 0xfa, 0x13, 0x20,\n\t  0x86, 0x80, 0x74, 0x13, 0x48, 0x8d, 0x0d, 0xc5, 0x37, 0x00, 0x00, 0xbb,\n\t  0x0d, 0x00, 0x00, 0xc0, 0xe8, 0x8b, 0x0d, 0x00, 0x00, 0xeb, 0x35, 0xe8,\n\t  0xa4, 0x2d, 0x00, 0x00, 0x8b, 0xd8, 0xeb, 0x2c, 0xe8, 0x7b, 0x01, 0x00,\n\t  0x00, 0x8b, 0xd8, 0xeb, 0x23, 0xe8, 0xa2, 0x08, 0x00, 0x00, 0x8b, 0xd8,\n\t  0xeb, 0x1a, 0xe8, 0xf9, 0x01, 0x00, 0x00, 0x8b, 0xd8, 0xeb, 0x11, 0x48,\n\t  0x8d, 0x0d, 0x5e, 0x37, 0x00, 0x00, 0xe8, 0x59, 0x0d, 0x00, 0x00, 0xbb,\n\t  0x0d, 0x00, 0x00, 0xc0, 0x33, 0xd2, 0x48, 0x8b, 0xcf, 0x48, 0xc7, 0x47,\n\t  0x38, 0x00, 0x00, 0x00, 0x00, 0x89, 0x5f, 0x30, 0xff, 0x15, 0x56, 0x4e,\n\t  0x00, 0x00, 0x48, 0x8b, 0x7c, 0x24, 0x48, 0x8b, 0xc3, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x40, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x8b, 0x05, 0x2a, 0x5f,\n\t  0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x53, 0x4c, 0x8b, 0x19, 0x45, 0x32, 0xd2, 0x45, 0x33, 0xc0, 0x4d,\n\t  0x8b, 0xc8, 0x49, 0x8b, 0xc0, 0x48, 0x8d, 0x1d, 0xa8, 0xec, 0x5b, 0x00,\n\t  0x4c, 0x39, 0x1c, 0x18, 0x75, 0x0a, 0x80, 0xbc, 0x18, 0x08, 0x01, 0x00,\n\t  0x00, 0x01, 0x74, 0x13, 0x48, 0x05, 0x10, 0x01, 0x00, 0x00, 0x49, 0xff,\n\t  0xc1, 0x48, 0x3d, 0x00, 0x10, 0x01, 0x00, 0x72, 0xdf, 0xeb, 0x22, 0x84,\n\t  0xd2, 0x75, 0x1b, 0x49, 0x8b, 0xc1, 0x41, 0xb2, 0x01, 0x48, 0x69, 0xc0,\n\t  0x10, 0x01, 0x00, 0x00, 0x44, 0x88, 0x84, 0x18, 0x08, 0x01, 0x00, 0x00,\n\t  0x4c, 0x89, 0x04, 0x18, 0xeb, 0x03, 0x45, 0x32, 0xd2, 0x49, 0x81, 0xf9,\n\t  0x00, 0x01, 0x00, 0x00, 0x75, 0x24, 0x80, 0xfa, 0x01, 0x75, 0x45, 0x49,\n\t  0x8b, 0xc8, 0x66, 0x90, 0x48, 0x83, 0x3c, 0x19, 0x00, 0x74, 0x18, 0x48,\n\t  0x81, 0xc1, 0x10, 0x01, 0x00, 0x00, 0x49, 0xff, 0xc0, 0x48, 0x81, 0xf9,\n\t  0x00, 0x10, 0x01, 0x00, 0x72, 0xe6, 0x41, 0x8a, 0xc2, 0x5b, 0xc3, 0x49,\n\t  0x81, 0xf8, 0x00, 0x01, 0x00, 0x00, 0x73, 0xf2, 0x4d, 0x69, 0xc0, 0x10,\n\t  0x01, 0x00, 0x00, 0xb0, 0x01, 0x4d, 0x89, 0x1c, 0x18, 0x41, 0xc6, 0x84,\n\t  0x18, 0x08, 0x01, 0x00, 0x00, 0x01, 0x5b, 0xc3, 0x41, 0x0f, 0xb6, 0xc2,\n\t  0xb9, 0x01, 0x00, 0x00, 0x00, 0x84, 0xd2, 0x0f, 0x44, 0xc1, 0x5b, 0xc3,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x8b, 0x11, 0x4c, 0x8d, 0x05, 0xe6, 0xeb,\n\t  0x5b, 0x00, 0x33, 0xc9, 0x66, 0x66, 0x66, 0x90, 0x4a, 0x39, 0x14, 0x01,\n\t  0x75, 0x0b, 0x42, 0x80, 0xbc, 0x01, 0x08, 0x01, 0x00, 0x00, 0x01, 0x74,\n\t  0x13, 0x48, 0x81, 0xc1, 0x10, 0x01, 0x00, 0x00, 0x48, 0x81, 0xf9, 0x00,\n\t  0x10, 0x01, 0x00, 0x72, 0xdf, 0x32, 0xc0, 0xc3, 0xb0, 0x01, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83,\n\t  0xec, 0x20, 0x48, 0x85, 0xc9, 0x74, 0x72, 0x48, 0x8b, 0x01, 0x48, 0xff,\n\t  0xc8, 0x74, 0x4e, 0x48, 0xff, 0xc8, 0x74, 0x2c, 0x48, 0xff, 0xc8, 0x74,\n\t  0x0b, 0xb8, 0x18, 0x20, 0x6a, 0xc8, 0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3,\n\t  0x48, 0x8d, 0x59, 0x10, 0x48, 0x85, 0xdb, 0x74, 0x44, 0x48, 0x8b, 0x4b,\n\t  0x08, 0xe8, 0x36, 0x2a, 0x00, 0x00, 0x89, 0x03, 0x33, 0xc0, 0x48, 0x83,\n\t  0xc4, 0x20, 0x5b, 0xc3, 0x48, 0x8d, 0x59, 0x10, 0x48, 0x85, 0xdb, 0x74,\n\t  0x0c, 0x48, 0x8b, 0x4b, 0x08, 0xe8, 0x2a, 0x2a, 0x00, 0x00, 0x88, 0x43,\n\t  0x04, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3, 0x48, 0x8d, 0x59,\n\t  0x10, 0x48, 0x85, 0xdb, 0x74, 0x0b, 0x48, 0x8b, 0x4b, 0x08, 0xe8, 0xfd,\n\t  0x29, 0x00, 0x00, 0x89, 0x03, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x20, 0x5b,\n\t  0xc3, 0xb8, 0x01, 0x00, 0x00, 0x00, 0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x38,\n\t  0x48, 0x85, 0xc9, 0x48, 0x89, 0x5c, 0x24, 0x50, 0x48, 0x89, 0x7c, 0x24,\n\t  0x58, 0x48, 0x8b, 0xf9, 0xbb, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x84, 0x76,\n\t  0x05, 0x00, 0x00, 0x48, 0x8b, 0x01, 0x48, 0xff, 0xc8, 0x48, 0x83, 0xf8,\n\t  0x3a, 0x0f, 0x87, 0x61, 0x05, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x2a, 0xec,\n\t  0xff, 0xff, 0x8b, 0x84, 0x81, 0x48, 0x19, 0x00, 0x00, 0x48, 0x03, 0xc1,\n\t  0xff, 0xe0, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0x15, 0x08, 0x00, 0x00, 0x33,\n\t  0xdb, 0x88, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48,\n\t  0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f,\n\t  0x18, 0xe8, 0x06, 0x08, 0x00, 0x00, 0x33, 0xdb, 0x66, 0x89, 0x47, 0x10,\n\t  0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50,\n\t  0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0xf6, 0x07,\n\t  0x00, 0x00, 0x33, 0xdb, 0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3,\n\t  0x0f, 0xb6, 0x57, 0x20, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0xe3, 0x07, 0x00,\n\t  0x00, 0x33, 0xdb, 0x88, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24,\n\t  0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x0f,\n\t  0xb7, 0x57, 0x20, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0xd0, 0x07, 0x00, 0x00,\n\t  0x33, 0xdb, 0x88, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x8b, 0x57,\n\t  0x20, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0xce, 0x07, 0x00, 0x00, 0x33, 0xdb,\n\t  0x88, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b,\n\t  0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f, 0x18,\n\t  0xe8, 0xbf, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x88, 0x47, 0x10, 0x8b, 0xc3,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83,\n\t  0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0xc0, 0x07, 0x00, 0x00,\n\t  0x33, 0xdb, 0x66, 0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24,\n\t  0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48,\n\t  0x8b, 0x4f, 0x18, 0xe8, 0xc0, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x89, 0x47,\n\t  0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24,\n\t  0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x0f, 0xb6, 0x57, 0x20, 0x48, 0x8b,\n\t  0x4f, 0x18, 0xe8, 0xbd, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x88, 0x47, 0x10,\n\t  0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50,\n\t  0x48, 0x83, 0xc4, 0x38, 0xc3, 0x0f, 0xb7, 0x57, 0x20, 0x48, 0x8b, 0x4f,\n\t  0x18, 0xe8, 0xba, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x88, 0x47, 0x10, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0x8b, 0x57, 0x20, 0x48, 0x8b, 0x4f, 0x18, 0xe8,\n\t  0xb8, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x88, 0x47, 0x10, 0x8b, 0xc3, 0x48,\n\t  0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4,\n\t  0x38, 0xc3, 0x48, 0x8b, 0x57, 0x20, 0x4c, 0x8d, 0x47, 0x28, 0x48, 0x8d,\n\t  0x4f, 0x18, 0xe8, 0xd1, 0x14, 0x00, 0x00, 0x33, 0xdb, 0x89, 0x47, 0x10,\n\t  0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50,\n\t  0x48, 0x83, 0xc4, 0x38, 0xc3, 0x44, 0x8b, 0x47, 0x28, 0x48, 0x8b, 0x57,\n\t  0x20, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0xca, 0x0b, 0x00, 0x00, 0x33, 0xdb,\n\t  0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b,\n\t  0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xe8, 0xcf, 0x07, 0x00,\n\t  0x00, 0x33, 0xdb, 0x48, 0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3,\n\t  0xe8, 0x23, 0x0e, 0x00, 0x00, 0x33, 0xdb, 0x48, 0x89, 0x47, 0x10, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0x8b, 0x4f, 0x10, 0xe8, 0x34, 0x07, 0x00, 0x00,\n\t  0x33, 0xdb, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x8b, 0x4f, 0x10, 0xe8, 0x59,\n\t  0x0d, 0x00, 0x00, 0x33, 0xdb, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b,\n\t  0x4f, 0x18, 0xe8, 0x9d, 0x09, 0x00, 0x00, 0x33, 0xdb, 0x48, 0x89, 0x47,\n\t  0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24,\n\t  0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x8b, 0x57, 0x1c, 0x8b, 0x4f, 0x18,\n\t  0x33, 0xdb, 0x4c, 0x8d, 0x47, 0x20, 0x45, 0x33, 0xc9, 0x89, 0x5c, 0x24,\n\t  0x20, 0xe8, 0xde, 0x11, 0x00, 0x00, 0x48, 0x89, 0x47, 0x10, 0x8b, 0xc3,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83,\n\t  0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f, 0x10, 0x45, 0x33, 0xc0, 0x33, 0xd2,\n\t  0xe8, 0xeb, 0x11, 0x00, 0x00, 0x33, 0xdb, 0x8b, 0xc3, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3,\n\t  0x48, 0x8b, 0x4f, 0x18, 0x48, 0x85, 0xc9, 0x74, 0x1f, 0x4c, 0x8b, 0x47,\n\t  0x20, 0x8b, 0x57, 0x10, 0xe8, 0xa3, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8d, 0x0d, 0x79, 0x33, 0x00, 0x00, 0xe8,\n\t  0x44, 0x08, 0x00, 0x00, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48,\n\t  0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f,\n\t  0x18, 0x48, 0x85, 0xc9, 0x74, 0x25, 0x48, 0x8b, 0x57, 0x10, 0x48, 0x85,\n\t  0xd2, 0x74, 0x1c, 0x4c, 0x8b, 0x47, 0x20, 0xe8, 0x88, 0x07, 0x00, 0x00,\n\t  0x33, 0xdb, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8d, 0x0d, 0xee, 0x32,\n\t  0x00, 0x00, 0xe8, 0xf9, 0x07, 0x00, 0x00, 0x8b, 0xc3, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3,\n\t  0x48, 0x8b, 0x4f, 0x18, 0x48, 0x85, 0xc9, 0x74, 0x25, 0x48, 0x8b, 0x57,\n\t  0x10, 0x48, 0x85, 0xd2, 0x74, 0x1c, 0x4c, 0x8b, 0x47, 0x20, 0xe8, 0x3d,\n\t  0x07, 0x00, 0x00, 0x33, 0xdb, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8d,\n\t  0x0d, 0x63, 0x32, 0x00, 0x00, 0xe8, 0xae, 0x07, 0x00, 0x00, 0x8b, 0xc3,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83,\n\t  0xc4, 0x38, 0xc3, 0x4c, 0x8b, 0x47, 0x20, 0x48, 0x8b, 0x57, 0x10, 0x48,\n\t  0x8b, 0x4f, 0x18, 0xe8, 0xfc, 0x06, 0x00, 0x00, 0x33, 0xdb, 0x8b, 0xc3,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83,\n\t  0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x4f, 0x18, 0xe8, 0x10, 0x07, 0x00, 0x00,\n\t  0x33, 0xdb, 0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b,\n\t  0x4f, 0x18, 0xe8, 0x11, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x89, 0x47, 0x10,\n\t  0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50,\n\t  0x48, 0x83, 0xc4, 0x38, 0xc3, 0x44, 0x8b, 0x47, 0x24, 0x8b, 0x57, 0x20,\n\t  0x48, 0x8b, 0x4f, 0x18, 0xe8, 0x0b, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x89,\n\t  0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x48, 0x83, 0xc7, 0x10, 0x74,\n\t  0x3f, 0x0f, 0xb6, 0x0f, 0xe8, 0xb7, 0x07, 0x00, 0x00, 0x33, 0xdb, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0x48, 0x83, 0xc7, 0x10, 0x74, 0x1e, 0x48, 0x8d,\n\t  0x4f, 0x04, 0xe8, 0xe5, 0x06, 0x00, 0x00, 0x33, 0xdb, 0x89, 0x07, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8d, 0x0d, 0x39, 0x31, 0x00, 0x00, 0xe8,\n\t  0xc4, 0x06, 0x00, 0x00, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48,\n\t  0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x4c, 0x8b, 0x47,\n\t  0x28, 0x8b, 0x57, 0x1c, 0x8b, 0x4f, 0x18, 0x33, 0xdb, 0x4c, 0x8d, 0x4f,\n\t  0x20, 0x89, 0x5c, 0x24, 0x28, 0x48, 0x89, 0x5c, 0x24, 0x20, 0xe8, 0x55,\n\t  0x0c, 0x00, 0x00, 0x48, 0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3,\n\t  0x48, 0x8b, 0x57, 0x18, 0x48, 0x8b, 0x4f, 0x10, 0x45, 0x33, 0xc9, 0x45,\n\t  0x33, 0xc0, 0xe8, 0x5d, 0x0e, 0x00, 0x00, 0x33, 0xdb, 0x8b, 0xc3, 0x48,\n\t  0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4,\n\t  0x38, 0xc3, 0x4c, 0x8b, 0x4f, 0x30, 0x48, 0x8b, 0x57, 0x20, 0x4c, 0x8d,\n\t  0x47, 0x28, 0x48, 0x8d, 0x4f, 0x18, 0xe8, 0x85, 0x10, 0x00, 0x00, 0x33,\n\t  0xdb, 0x89, 0x47, 0x10, 0x8b, 0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48,\n\t  0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x4c, 0x8b, 0x4f,\n\t  0x30, 0x44, 0x8b, 0x47, 0x28, 0x48, 0x8b, 0x57, 0x20, 0x48, 0x8b, 0x4f,\n\t  0x18, 0xe8, 0xda, 0x08, 0x00, 0x00, 0x33, 0xdb, 0x89, 0x47, 0x10, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0x48, 0x8b, 0x57, 0x20, 0x48, 0x8b, 0x4f, 0x18,\n\t  0xe8, 0xa7, 0x04, 0x00, 0x00, 0x33, 0xdb, 0x48, 0x89, 0x47, 0x10, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48,\n\t  0x83, 0xc4, 0x38, 0xc3, 0xbb, 0x18, 0x20, 0x6a, 0xc8, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x8b, 0xc3, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x48, 0x83, 0xc4,\n\t  0x38, 0xc3, 0x66, 0x90, 0xe2, 0x13, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00,\n\t  0x21, 0x14, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0x40, 0x14, 0x00, 0x00, 0x63, 0x14, 0x00, 0x00,\n\t  0x86, 0x14, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0xa8, 0x14, 0x00, 0x00, 0xc7, 0x14, 0x00, 0x00,\n\t  0xe7, 0x14, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0x06, 0x15, 0x00, 0x00, 0x29, 0x15, 0x00, 0x00,\n\t  0x4c, 0x15, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0x6e, 0x15, 0x00, 0x00, 0x95, 0x15, 0x00, 0x00,\n\t  0xbc, 0x15, 0x00, 0x00, 0xd8, 0x15, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x0f, 0x16, 0x00, 0x00,\n\t  0xf4, 0x15, 0x00, 0x00, 0x2a, 0x16, 0x00, 0x00, 0x4a, 0x16, 0x00, 0x00,\n\t  0x77, 0x16, 0x00, 0x00, 0x97, 0x17, 0x00, 0x00, 0xb6, 0x17, 0x00, 0x00,\n\t  0xd5, 0x17, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x1c, 0x18, 0x00, 0x00,\n\t  0x98, 0x16, 0x00, 0x00, 0xdd, 0x16, 0x00, 0x00, 0x28, 0x17, 0x00, 0x00,\n\t  0x73, 0x17, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00,\n\t  0xfb, 0x17, 0x00, 0x00, 0x5d, 0x18, 0x00, 0x00, 0x90, 0x18, 0x00, 0x00,\n\t  0xb6, 0x18, 0x00, 0x00, 0xe1, 0x18, 0x00, 0x00, 0x0c, 0x19, 0x00, 0x00,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x53, 0x48, 0x81, 0xec, 0x30, 0x01, 0x00, 0x00, 0x48, 0x85, 0xc9,\n\t  0x48, 0x8b, 0xd9, 0xb8, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x84, 0x70, 0x01,\n\t  0x00, 0x00, 0x48, 0x8b, 0x01, 0x48, 0xff, 0xc8, 0x48, 0x83, 0xf8, 0x06,\n\t  0x0f, 0x87, 0x5b, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x8f, 0xe5, 0xff,\n\t  0xff, 0x8b, 0x84, 0x81, 0xd4, 0x1b, 0x00, 0x00, 0x48, 0x03, 0xc1, 0xff,\n\t  0xe0, 0xe8, 0x4e, 0x1c, 0x00, 0x00, 0x66, 0x89, 0x43, 0x10, 0x33, 0xc0,\n\t  0x48, 0x81, 0xc4, 0x30, 0x01, 0x00, 0x00, 0x5b, 0xc3, 0x48, 0x8d, 0x53,\n\t  0x14, 0x48, 0x8d, 0x4b, 0x18, 0xe8, 0xc2, 0x1c, 0x00, 0x00, 0x89, 0x43,\n\t  0x10, 0x33, 0xc0, 0x48, 0x81, 0xc4, 0x30, 0x01, 0x00, 0x00, 0x5b, 0xc3,\n\t  0x48, 0x8d, 0x4c, 0x24, 0x20, 0x48, 0x8d, 0x53, 0x18, 0x41, 0xb8, 0x08,\n\t  0x01, 0x00, 0x00, 0xe8, 0x80, 0x27, 0x00, 0x00, 0x44, 0x8b, 0x83, 0x20,\n\t  0x01, 0x00, 0x00, 0x48, 0x8d, 0x93, 0x24, 0x01, 0x00, 0x00, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x20, 0xe8, 0x68, 0x1d, 0x00, 0x00, 0x89, 0x43, 0x10, 0x33,\n\t  0xc0, 0x48, 0x81, 0xc4, 0x30, 0x01, 0x00, 0x00, 0x5b, 0xc3, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x20, 0x48, 0x8d, 0x53, 0x18, 0x41, 0xb8, 0x08, 0x01, 0x00,\n\t  0x00, 0xe8, 0x46, 0x27, 0x00, 0x00, 0x8b, 0x93, 0x20, 0x01, 0x00, 0x00,\n\t  0x4c, 0x8d, 0x83, 0x24, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x20,\n\t  0xe8, 0xff, 0x1d, 0x00, 0x00, 0x89, 0x43, 0x10, 0x33, 0xc0, 0x48, 0x81,\n\t  0xc4, 0x30, 0x01, 0x00, 0x00, 0x5b, 0xc3, 0x48, 0x8d, 0x4c, 0x24, 0x20,\n\t  0x48, 0x8d, 0x53, 0x18, 0x41, 0xb8, 0x08, 0x01, 0x00, 0x00, 0xe8, 0x0d,\n\t  0x27, 0x00, 0x00, 0x44, 0x8b, 0x83, 0x24, 0x01, 0x00, 0x00, 0x8b, 0x93,\n\t  0x20, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0xe8, 0x46, 0x1e,\n\t  0x00, 0x00, 0x89, 0x43, 0x10, 0x33, 0xc0, 0x48, 0x81, 0xc4, 0x30, 0x01,\n\t  0x00, 0x00, 0x5b, 0xc3, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0x48, 0x8d, 0x53,\n\t  0x18, 0x41, 0xb8, 0x08, 0x01, 0x00, 0x00, 0xe8, 0xd4, 0x26, 0x00, 0x00,\n\t  0x44, 0x8b, 0x8b, 0x28, 0x01, 0x00, 0x00, 0x44, 0x0f, 0xb6, 0x83, 0x24,\n\t  0x01, 0x00, 0x00, 0x8b, 0x93, 0x20, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4c,\n\t  0x24, 0x20, 0xe8, 0x25, 0x1f, 0x00, 0x00, 0x89, 0x43, 0x10, 0x33, 0xc0,\n\t  0x48, 0x81, 0xc4, 0x30, 0x01, 0x00, 0x00, 0x5b, 0xc3, 0x48, 0x8d, 0x4c,\n\t  0x24, 0x20, 0x48, 0x8d, 0x53, 0x18, 0x41, 0xb8, 0x08, 0x01, 0x00, 0x00,\n\t  0xe8, 0x93, 0x26, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0xe8, 0xd9,\n\t  0x14, 0x00, 0x00, 0x89, 0x43, 0x10, 0x33, 0xc0, 0x48, 0x81, 0xc4, 0x30,\n\t  0x01, 0x00, 0x00, 0x5b, 0xc3, 0xb8, 0x18, 0x20, 0x6a, 0xc8, 0x48, 0x81,\n\t  0xc4, 0x30, 0x01, 0x00, 0x00, 0x5b, 0xc3, 0x90, 0x7d, 0x1a, 0x00, 0x00,\n\t  0x91, 0x1a, 0x00, 0x00, 0xac, 0x1a, 0x00, 0x00, 0xe6, 0x1a, 0x00, 0x00,\n\t  0x1f, 0x1b, 0x00, 0x00, 0x58, 0x1b, 0x00, 0x00, 0x99, 0x1b, 0x00, 0x00,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x0f, 0xb7, 0xd1, 0xec, 0xc3, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0f, 0xb7, 0xd1, 0x66,\n\t  0xed, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x0f, 0xb7, 0xd1, 0xed, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x0f, 0xb6, 0xc2, 0x0f, 0xb7, 0xd1, 0xee, 0xb0,\n\t  0x01, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0f, 0xb7, 0xc2, 0x0f,\n\t  0xb7, 0xd1, 0x66, 0xef, 0xb0, 0x01, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x8b, 0xc2, 0x0f, 0xb7, 0xd1, 0xef, 0xb0, 0x01,\n\t  0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74,\n\t  0x04, 0x0f, 0xb6, 0x01, 0xc3, 0x32, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74, 0x04, 0x0f, 0xb7, 0x01,\n\t  0xc3, 0x66, 0x33, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x85, 0xc9, 0x74, 0x03, 0x8b, 0x01, 0xc3, 0x33, 0xc0, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74,\n\t  0x0a, 0x88, 0x11, 0xf0, 0x83, 0x0c, 0x24, 0x00, 0xb0, 0x01, 0xc3, 0x32,\n\t  0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74, 0x0b, 0x66, 0x89, 0x11,\n\t  0xf0, 0x83, 0x0c, 0x24, 0x00, 0xb0, 0x01, 0xc3, 0x32, 0xc0, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x85, 0xc9, 0x74, 0x0a, 0x89, 0x11, 0xf0, 0x83, 0x0c, 0x24, 0x00,\n\t  0xb0, 0x01, 0xc3, 0x32, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x28,\n\t  0xb8, 0x1f, 0x85, 0xeb, 0x51, 0x48, 0x89, 0x5c, 0x24, 0x40, 0x8b, 0xd9,\n\t  0xf7, 0xe1, 0xc1, 0xea, 0x04, 0x74, 0x21, 0x48, 0x89, 0x7c, 0x24, 0x48,\n\t  0x8b, 0xfa, 0x66, 0x90, 0xb9, 0x32, 0x00, 0x00, 0x00, 0xff, 0x15, 0xa5,\n\t  0x42, 0x00, 0x00, 0x83, 0xc3, 0xce, 0x48, 0xff, 0xcf, 0x75, 0xed, 0x48,\n\t  0x8b, 0x7c, 0x24, 0x48, 0x85, 0xdb, 0x74, 0x08, 0x8b, 0xcb, 0xff, 0x15,\n\t  0x8c, 0x42, 0x00, 0x00, 0x48, 0x8b, 0x5c, 0x24, 0x40, 0x48, 0x83, 0xc4,\n\t  0x28, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x33, 0xc9, 0x48, 0xff,\n\t  0x25, 0x6f, 0x42, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x28, 0x48, 0x85, 0xc9, 0x74, 0x08, 0x33, 0xd2, 0xff,\n\t  0x15, 0x87, 0x42, 0x00, 0x00, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xd2, 0x74,\n\t  0x6d, 0x45, 0x33, 0xc9, 0x48, 0x8d, 0x05, 0xb1, 0x53, 0x00, 0x00, 0x4c,\n\t  0x8d, 0x15, 0x2a, 0xe2, 0xff, 0xff, 0x45, 0x33, 0xc0, 0x66, 0x66, 0x90,\n\t  0x66, 0x66, 0x66, 0x90, 0x4b, 0x39, 0x94, 0x10, 0x60, 0x7a, 0x3d, 0x00,\n\t  0x75, 0x0a, 0x4b, 0x3b, 0x8c, 0x10, 0x40, 0x7a, 0x3d, 0x00, 0x74, 0x21,\n\t  0x48, 0x39, 0x50, 0x08, 0x75, 0x05, 0x48, 0x3b, 0x08, 0x74, 0x24, 0x49,\n\t  0x83, 0xc0, 0x28, 0x49, 0xff, 0xc1, 0x48, 0x83, 0xc0, 0x50, 0x49, 0x81,\n\t  0xf8, 0x80, 0x84, 0x1e, 0x00, 0x72, 0xcd, 0xeb, 0x1d, 0x4b, 0x8d, 0x04,\n\t  0x89, 0x49, 0x8b, 0x8c, 0xc2, 0x48, 0x7a, 0x3d, 0x00, 0xeb, 0x0f, 0x4b,\n\t  0x8d, 0x04, 0x89, 0x48, 0x03, 0xc0, 0x49, 0x8b, 0x8c, 0xc2, 0x50, 0x71,\n\t  0x00, 0x00, 0x48, 0x85, 0xc9, 0x74, 0x07, 0x48, 0xff, 0x25, 0x02, 0x42,\n\t  0x00, 0x00, 0x33, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83,\n\t  0xec, 0x20, 0x48, 0x8b, 0xd9, 0x4c, 0x0f, 0x20, 0xc0, 0x3c, 0x02, 0x77,\n\t  0x08, 0x0f, 0xb6, 0xd2, 0xe8, 0x27, 0x27, 0x00, 0x00, 0x48, 0x8b, 0xc3,\n\t  0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83,\n\t  0xec, 0x20, 0x48, 0x8b, 0xd9, 0x4c, 0x0f, 0x20, 0xc0, 0x3c, 0x02, 0x77,\n\t  0x05, 0xe8, 0xaa, 0x23, 0x00, 0x00, 0x48, 0x8b, 0xc3, 0x48, 0x83, 0xc4,\n\t  0x20, 0x5b, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74,\n\t  0x0c, 0xb8, 0x01, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0xc1, 0x01, 0xff, 0xc0,\n\t  0xc3, 0x33, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74, 0x0c, 0xb8, 0xff, 0xff,\n\t  0xff, 0xff, 0xf0, 0x0f, 0xc1, 0x01, 0xff, 0xc8, 0xc3, 0x33, 0xc0, 0xc3,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x85, 0xc9, 0x74, 0x08, 0x8b, 0xc2, 0xf0, 0x44, 0x0f, 0xb1, 0x01,\n\t  0xc3, 0x33, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x89, 0x4c, 0x24,\n\t  0x08, 0x48, 0x89, 0x54, 0x24, 0x10, 0x4c, 0x89, 0x44, 0x24, 0x18, 0x4c,\n\t  0x89, 0x4c, 0x24, 0x20, 0x48, 0x81, 0xec, 0x38, 0x04, 0x00, 0x00, 0x48,\n\t  0x8b, 0x05, 0xd6, 0x51, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0x20, 0x04,\n\t  0x00, 0x00, 0x80, 0x3d, 0xe7, 0x51, 0x00, 0x00, 0x01, 0x75, 0x59, 0x48,\n\t  0x85, 0xc9, 0x74, 0x54, 0x48, 0x8b, 0xd1, 0x4c, 0x8d, 0x84, 0x24, 0x48,\n\t  0x04, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0xff, 0x15, 0xfa, 0x40,\n\t  0x00, 0x00, 0x4c, 0x8d, 0x44, 0x24, 0x20, 0x48, 0x8d, 0x15, 0x16, 0x2b,\n\t  0x00, 0x00, 0x48, 0x8d, 0x8c, 0x24, 0x20, 0x02, 0x00, 0x00, 0xff, 0x15,\n\t  0xd8, 0x40, 0x00, 0x00, 0x48, 0x8d, 0x8c, 0x24, 0x20, 0x02, 0x00, 0x00,\n\t  0xe8, 0xfb, 0x26, 0x00, 0x00, 0x33, 0xc0, 0x48, 0x8b, 0x8c, 0x24, 0x20,\n\t  0x04, 0x00, 0x00, 0xe8, 0x0c, 0x27, 0x00, 0x00, 0x48, 0x81, 0xc4, 0x38,\n\t  0x04, 0x00, 0x00, 0xc3, 0xb8, 0x0b, 0x80, 0x6a, 0xc8, 0x48, 0x8b, 0x8c,\n\t  0x24, 0x20, 0x04, 0x00, 0x00, 0xe8, 0xf2, 0x26, 0x00, 0x00, 0x48, 0x81,\n\t  0xc4, 0x38, 0x04, 0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x88, 0x0d, 0x62, 0x51, 0x00, 0x00, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74,\n\t  0x07, 0x48, 0xff, 0x25, 0x64, 0x40, 0x00, 0x00, 0x33, 0xc0, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x58, 0x48, 0x89, 0x5c, 0x24,\n\t  0x60, 0x48, 0x89, 0x6c, 0x24, 0x68, 0x48, 0x89, 0x7c, 0x24, 0x78, 0x4c,\n\t  0x89, 0x64, 0x24, 0x50, 0x33, 0xdb, 0x4c, 0x89, 0x6c, 0x24, 0x48, 0x4c,\n\t  0x8d, 0x2d, 0x2a, 0x5a, 0x3d, 0x00, 0x4d, 0x8b, 0xe0, 0x8b, 0xfa, 0x48,\n\t  0x8b, 0xe9, 0x89, 0x5c, 0x24, 0x30, 0x4c, 0x8d, 0x0c, 0x9b, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x30, 0x33, 0xc0, 0xf0, 0x4b, 0x0f, 0xb1, 0x4c, 0xcd, 0x18,\n\t  0x74, 0x14, 0x8b, 0x5c, 0x24, 0x30, 0xff, 0xc3, 0x81, 0xfb, 0x50, 0xc3,\n\t  0x00, 0x00, 0x89, 0x5c, 0x24, 0x30, 0x72, 0xda, 0xeb, 0x04, 0x8b, 0x5c,\n\t  0x24, 0x30, 0x44, 0x8b, 0xc2, 0x48, 0x8d, 0x0d, 0x58, 0x2b, 0x00, 0x00,\n\t  0x8b, 0xd3, 0xe8, 0xb1, 0xfe, 0xff, 0xff, 0x48, 0x8d, 0x0d, 0x0a, 0x2b,\n\t  0x00, 0x00, 0xba, 0x00, 0x9e, 0xff, 0x01, 0xe8, 0xa0, 0xfe, 0xff, 0xff,\n\t  0x81, 0xfb, 0x50, 0xc3, 0x00, 0x00, 0x0f, 0x83, 0xdb, 0x00, 0x00, 0x00,\n\t  0x48, 0x8d, 0x0d, 0xad, 0x2a, 0x00, 0x00, 0x48, 0x8b, 0xd5, 0xe8, 0x85,\n\t  0xfe, 0xff, 0xff, 0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0, 0x8b, 0xd7, 0x48,\n\t  0x8b, 0xcd, 0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff,\n\t  0x15, 0xd3, 0x3f, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x48, 0x8b, 0xf8, 0x0f,\n\t  0x84, 0x9a, 0x00, 0x00, 0x00, 0x48, 0x8b, 0xc8, 0x48, 0x89, 0x74, 0x24,\n\t  0x70, 0xff, 0x15, 0xb1, 0x3f, 0x00, 0x00, 0xb2, 0x01, 0x48, 0x8b, 0xcf,\n\t  0xff, 0x15, 0x9e, 0x3f, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x48, 0x8b, 0xf0,\n\t  0x75, 0x3b, 0x48, 0x8d, 0x0d, 0x17, 0x2a, 0x00, 0x00, 0xe8, 0x32, 0xfe,\n\t  0xff, 0xff, 0x48, 0x8b, 0xcf, 0xff, 0x15, 0x79, 0x3f, 0x00, 0x00, 0x48,\n\t  0x8b, 0xc6, 0x48, 0x8b, 0x74, 0x24, 0x70, 0x4c, 0x8b, 0x6c, 0x24, 0x48,\n\t  0x4c, 0x8b, 0x64, 0x24, 0x50, 0x48, 0x8b, 0x7c, 0x24, 0x78, 0x48, 0x8b,\n\t  0x6c, 0x24, 0x68, 0x48, 0x8b, 0x5c, 0x24, 0x60, 0x48, 0x83, 0xc4, 0x58,\n\t  0xc3, 0x48, 0x8d, 0x0d, 0xac, 0x29, 0x00, 0x00, 0x48, 0x8b, 0xd0, 0xe8,\n\t  0xf4, 0xfd, 0xff, 0xff, 0x44, 0x8b, 0xdb, 0x4b, 0x8d, 0x0c, 0x9b, 0x49,\n\t  0x89, 0x74, 0xcd, 0x18, 0x49, 0x89, 0x7c, 0xcd, 0x10, 0x49, 0x89, 0x6c,\n\t  0xcd, 0x08, 0x4d, 0x89, 0x64, 0xcd, 0x20, 0x8b, 0x47, 0x2c, 0x48, 0x81,\n\t  0xe6, 0x00, 0xf0, 0xff, 0xff, 0x48, 0x03, 0xc6, 0x49, 0x89, 0x44, 0xcd,\n\t  0x00, 0xeb, 0x9f, 0x48, 0x8d, 0x0d, 0x3e, 0x29, 0x00, 0x00, 0xe8, 0xb9,\n\t  0xfd, 0xff, 0xff, 0x33, 0xc0, 0xeb, 0x94, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x28, 0x48, 0x85, 0xc9, 0x48,\n\t  0x89, 0x5c, 0x24, 0x48, 0x48, 0x89, 0x7c, 0x24, 0x20, 0x48, 0x8b, 0xf9,\n\t  0x41, 0x8b, 0xd8, 0x74, 0x23, 0x45, 0x85, 0xc0, 0x74, 0x1e, 0x48, 0x8b,\n\t  0xd1, 0x48, 0x8d, 0x0d, 0x68, 0x2a, 0x00, 0x00, 0x44, 0x8b, 0xc3, 0xe8,\n\t  0x70, 0xfd, 0xff, 0xff, 0x48, 0x8b, 0xd3, 0x48, 0x8b, 0xcf, 0xff, 0x15,\n\t  0xd4, 0x3e, 0x00, 0x00, 0x48, 0x8b, 0x7c, 0x24, 0x20, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x48, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x8b, 0xc4, 0x48, 0x83, 0xec, 0x58, 0x48,\n\t  0x85, 0xc9, 0x48, 0x89, 0x68, 0xf0, 0x48, 0x89, 0x70, 0xe8, 0x4c, 0x89,\n\t  0x60, 0xd8, 0x49, 0x8b, 0xe9, 0x48, 0x8b, 0xf1, 0x45, 0x8b, 0xe0, 0x0f,\n\t  0x84, 0x5c, 0x01, 0x00, 0x00, 0x45, 0x85, 0xc0, 0x0f, 0x84, 0x53, 0x01,\n\t  0x00, 0x00, 0x48, 0x89, 0x58, 0xf8, 0x48, 0x89, 0x78, 0xe0, 0x48, 0x8b,\n\t  0xd1, 0x4c, 0x89, 0x68, 0xd0, 0x48, 0x8d, 0x0d, 0x1c, 0x2c, 0x00, 0x00,\n\t  0x45, 0x8b, 0xc4, 0x4c, 0x89, 0x70, 0xc8, 0xe8, 0xf0, 0xfc, 0xff, 0xff,\n\t  0x4c, 0x8d, 0x2d, 0x19, 0x58, 0x3d, 0x00, 0x45, 0x33, 0xf6, 0x49, 0x8b,\n\t  0xdd, 0x41, 0x8b, 0xfe, 0x4c, 0x8b, 0x03, 0x48, 0x8d, 0x0d, 0xa6, 0x2b,\n\t  0x00, 0x00, 0x4c, 0x8b, 0xce, 0x8b, 0xd7, 0xe8, 0xcc, 0xfc, 0xff, 0xff,\n\t  0x48, 0x3b, 0x6b, 0x20, 0x75, 0x05, 0x48, 0x3b, 0x33, 0x74, 0x13, 0xff,\n\t  0xc7, 0x48, 0x83, 0xc3, 0x28, 0x81, 0xff, 0x50, 0xc3, 0x00, 0x00, 0x72,\n\t  0xd3, 0xe9, 0xaa, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x47, 0x2b, 0x00,\n\t  0x00, 0x8b, 0xd7, 0xe8, 0xa0, 0xfc, 0xff, 0xff, 0x44, 0x8b, 0xdf, 0x4b,\n\t  0x8d, 0x1c, 0x9b, 0x4d, 0x39, 0x74, 0xdd, 0x10, 0x74, 0x30, 0x4d, 0x39,\n\t  0x74, 0xdd, 0x18, 0x74, 0x29, 0x48, 0x8d, 0x0d, 0xf4, 0x2a, 0x00, 0x00,\n\t  0xe8, 0x7f, 0xfc, 0xff, 0xff, 0x49, 0x8b, 0x54, 0xdd, 0x10, 0x49, 0x8b,\n\t  0x4c, 0xdd, 0x18, 0xff, 0x15, 0xe7, 0x3d, 0x00, 0x00, 0x49, 0x8b, 0x4c,\n\t  0xdd, 0x10, 0xff, 0x15, 0xb4, 0x3d, 0x00, 0x00, 0xeb, 0x0c, 0x48, 0x8d,\n\t  0x0d, 0x7b, 0x2a, 0x00, 0x00, 0xe8, 0x56, 0xfc, 0xff, 0xff, 0x4d, 0x39,\n\t  0x74, 0xdd, 0x08, 0x74, 0x1a, 0x48, 0x8d, 0x0d, 0x28, 0x2a, 0x00, 0x00,\n\t  0xe8, 0x43, 0xfc, 0xff, 0xff, 0x49, 0x8b, 0x4c, 0xdd, 0x08, 0x49, 0x8b,\n\t  0xd4, 0xff, 0x15, 0xa5, 0x3d, 0x00, 0x00, 0x49, 0x8b, 0x44, 0xdd, 0x18,\n\t  0x4d, 0x89, 0x74, 0xdd, 0x10, 0x4d, 0x89, 0x74, 0xdd, 0x08, 0x4d, 0x89,\n\t  0x74, 0xdd, 0x00, 0x4d, 0x89, 0x74, 0xdd, 0x20, 0xf0, 0x4d, 0x0f, 0xb1,\n\t  0x74, 0xdd, 0x18, 0x49, 0x8b, 0x54, 0xdd, 0x18, 0x48, 0x8d, 0x0d, 0x99,\n\t  0x29, 0x00, 0x00, 0xe8, 0x04, 0xfc, 0xff, 0xff, 0x4c, 0x8b, 0x6c, 0x24,\n\t  0x28, 0x48, 0x8b, 0x5c, 0x24, 0x50, 0x81, 0xff, 0x50, 0xc3, 0x00, 0x00,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x38, 0x75, 0x12, 0x48, 0x8d, 0x0d, 0x26, 0x29,\n\t  0x00, 0x00, 0x45, 0x8b, 0xc4, 0x48, 0x8b, 0xd6, 0xe8, 0xdb, 0xfb, 0xff,\n\t  0xff, 0x41, 0x8b, 0xc6, 0x4c, 0x8b, 0x74, 0x24, 0x20, 0x4c, 0x8b, 0x64,\n\t  0x24, 0x30, 0x48, 0x8b, 0x74, 0x24, 0x40, 0x48, 0x8b, 0x6c, 0x24, 0x48,\n\t  0x48, 0x83, 0xc4, 0x58, 0xc3, 0x4c, 0x8b, 0x64, 0x24, 0x30, 0x48, 0x8b,\n\t  0x74, 0x24, 0x40, 0x48, 0x8b, 0x6c, 0x24, 0x48, 0xb8, 0x01, 0x00, 0x00,\n\t  0x00, 0x48, 0x83, 0xc4, 0x58, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x38, 0x48, 0x89, 0x6c, 0x24, 0x48, 0x48, 0x89, 0x74,\n\t  0x24, 0x50, 0x4c, 0x89, 0x64, 0x24, 0x30, 0xb8, 0x1f, 0x85, 0xeb, 0x51,\n\t  0x48, 0x89, 0x5c, 0x24, 0x40, 0x44, 0x8b, 0xe1, 0xbe, 0xe8, 0x03, 0x00,\n\t  0x00, 0x48, 0x89, 0x7c, 0x24, 0x58, 0xf7, 0xe1, 0x8b, 0xea, 0xc1, 0xed,\n\t  0x04, 0x85, 0xed, 0x41, 0x8b, 0xdc, 0x74, 0x1b, 0x8b, 0xfd, 0x66, 0x66,\n\t  0x90, 0x66, 0x66, 0x90, 0xb9, 0x32, 0x00, 0x00, 0x00, 0xff, 0x15, 0x45,\n\t  0x3c, 0x00, 0x00, 0x83, 0xc3, 0xce, 0x48, 0xff, 0xcf, 0x75, 0xed, 0x85,\n\t  0xdb, 0x74, 0x08, 0x8b, 0xcb, 0xff, 0x15, 0x31, 0x3c, 0x00, 0x00, 0x48,\n\t  0xff, 0xce, 0x75, 0xcd, 0x4c, 0x8b, 0x64, 0x24, 0x30, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0x74, 0x24, 0x50, 0x48, 0x8b, 0x6c, 0x24, 0x48,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x40, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x28, 0x48, 0x8b, 0x05, 0x25, 0x4d, 0x00, 0x00, 0x48,\n\t  0x85, 0xc0, 0x0f, 0x85, 0xa6, 0x00, 0x00, 0x00, 0x33, 0xc9, 0x48, 0x89,\n\t  0x6c, 0x24, 0x38, 0x48, 0x89, 0x74, 0x24, 0x40, 0xff, 0x15, 0xe2, 0x3b,\n\t  0x00, 0x00, 0x33, 0xc9, 0xff, 0x15, 0xda, 0x3b, 0x00, 0x00, 0x48, 0x89,\n\t  0x5c, 0x24, 0x30, 0xbe, 0xe8, 0x03, 0x00, 0x00, 0x48, 0x8b, 0xe8, 0x48,\n\t  0x89, 0x7c, 0x24, 0x48, 0xbb, 0x64, 0x00, 0x00, 0x00, 0x8d, 0x7b, 0x9e,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0xb9, 0x32, 0x00, 0x00,\n\t  0x00, 0xff, 0x15, 0xa5, 0x3b, 0x00, 0x00, 0x83, 0xc3, 0xce, 0x48, 0xff,\n\t  0xcf, 0x75, 0xed, 0x85, 0xdb, 0x74, 0x08, 0x8b, 0xcb, 0xff, 0x15, 0x91,\n\t  0x3b, 0x00, 0x00, 0x48, 0xff, 0xce, 0x75, 0xcc, 0x33, 0xc9, 0xff, 0x15,\n\t  0x8c, 0x3b, 0x00, 0x00, 0x48, 0x8b, 0x7c, 0x24, 0x48, 0x48, 0x8b, 0x74,\n\t  0x24, 0x40, 0x48, 0x8b, 0x5c, 0x24, 0x30, 0x4c, 0x8b, 0xd8, 0x48, 0xb8,\n\t  0x47, 0x08, 0x8f, 0x36, 0x8e, 0x58, 0x8b, 0x4f, 0x4c, 0x2b, 0xdd, 0x48,\n\t  0x8b, 0x6c, 0x24, 0x38, 0x49, 0xf7, 0xe3, 0x4c, 0x2b, 0xda, 0x49, 0xd1,\n\t  0xeb, 0x4c, 0x03, 0xda, 0x49, 0xc1, 0xeb, 0x10, 0x4c, 0x89, 0x1d, 0x79,\n\t  0x4c, 0x00, 0x00, 0x49, 0x8b, 0xc3, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x58, 0x48, 0x89, 0x5c, 0x24,\n\t  0x60, 0x48, 0x89, 0x6c, 0x24, 0x68, 0x4c, 0x89, 0x6c, 0x24, 0x48, 0x4c,\n\t  0x89, 0x74, 0x24, 0x40, 0x4d, 0x8b, 0xe9, 0x45, 0x33, 0xc9, 0x4c, 0x89,\n\t  0x7c, 0x24, 0x38, 0x8b, 0xea, 0x44, 0x8b, 0xf9, 0x45, 0x8d, 0x51, 0x01,\n\t  0x4d, 0x8b, 0xf0, 0x41, 0x8b, 0xd9, 0xba, 0xff, 0xff, 0xff, 0xff, 0x48,\n\t  0x8d, 0x0d, 0x32, 0x4c, 0x00, 0x00, 0x66, 0x90, 0x8b, 0xc3, 0x4c, 0x8d,\n\t  0x04, 0x80, 0x4d, 0x03, 0xc0, 0x33, 0xc0, 0xf0, 0x46, 0x0f, 0xb1, 0x14,\n\t  0xc1, 0x74, 0x12, 0xff, 0xc3, 0x81, 0xfb, 0x50, 0xc3, 0x00, 0x00, 0x72,\n\t  0xe3, 0x49, 0x8b, 0xc1, 0xe9, 0xa7, 0x01, 0x00, 0x00, 0x81, 0xfb, 0x50,\n\t  0xc3, 0x00, 0x00, 0x73, 0xf0, 0x48, 0x89, 0x74, 0x24, 0x70, 0x48, 0x89,\n\t  0x7c, 0x24, 0x78, 0x4c, 0x89, 0x64, 0x24, 0x50, 0x45, 0x8d, 0x24, 0x2f,\n\t  0x41, 0x8b, 0xcc, 0x41, 0x8b, 0xfc, 0xff, 0x15, 0x34, 0x3b, 0x00, 0x00,\n\t  0x48, 0x85, 0xc0, 0x48, 0x8b, 0xf0, 0x0f, 0x84, 0x36, 0x01, 0x00, 0x00,\n\t  0x4c, 0x8b, 0xc7, 0x33, 0xd2, 0x48, 0x8b, 0xc8, 0xe8, 0x1b, 0x20, 0x00,\n\t  0x00, 0x44, 0x8b, 0xdb, 0x48, 0x8d, 0x1d, 0xc1, 0x4b, 0x00, 0x00, 0x4b,\n\t  0x8d, 0x3c, 0x9b, 0x48, 0x8b, 0xce, 0x48, 0x03, 0xff, 0x48, 0x89, 0x74,\n\t  0xfb, 0x08, 0x44, 0x89, 0x64, 0xfb, 0x2c, 0x89, 0x6c, 0xfb, 0x28, 0xff,\n\t  0x15, 0xa3, 0x3a, 0x00, 0x00, 0x85, 0xed, 0x4c, 0x8b, 0xd8, 0x48, 0x89,\n\t  0x44, 0xfb, 0x20, 0x74, 0x2c, 0x33, 0xd2, 0x48, 0xf7, 0xf5, 0x85, 0xd2,\n\t  0x74, 0x23, 0x48, 0x8b, 0x74, 0xfb, 0x08, 0x2b, 0xea, 0x48, 0x8d, 0x54,\n\t  0xfb, 0x18, 0x8b, 0xcd, 0x4a, 0x8d, 0x44, 0x1d, 0x00, 0x48, 0x03, 0xf1,\n\t  0x48, 0x8d, 0x4c, 0xfb, 0x10, 0x48, 0x89, 0x02, 0x48, 0x89, 0x31, 0xeb,\n\t  0x15, 0x48, 0x8b, 0x44, 0xfb, 0x08, 0x48, 0x8d, 0x54, 0xfb, 0x18, 0x48,\n\t  0x8d, 0x4c, 0xfb, 0x10, 0x4c, 0x89, 0x1a, 0x48, 0x89, 0x01, 0x4d, 0x85,\n\t  0xed, 0x74, 0x07, 0x48, 0x8b, 0x02, 0x49, 0x89, 0x45, 0x00, 0x4d, 0x85,\n\t  0xf6, 0x0f, 0x84, 0xcb, 0x00, 0x00, 0x00, 0x48, 0x8b, 0x09, 0x33, 0xed,\n\t  0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0, 0x41, 0x8b, 0xd7, 0x48, 0x89, 0x6c,\n\t  0x24, 0x20, 0xff, 0x15, 0x60, 0x3a, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x48,\n\t  0x89, 0x44, 0xfb, 0x30, 0x0f, 0x84, 0xa4, 0x00, 0x00, 0x00, 0x48, 0x8b,\n\t  0xc8, 0xff, 0x15, 0x41, 0x3a, 0x00, 0x00, 0x48, 0x8b, 0x4c, 0xfb, 0x30,\n\t  0xb2, 0x01, 0xff, 0x15, 0x2c, 0x3a, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x4c,\n\t  0x8b, 0xd8, 0x48, 0x89, 0x44, 0xfb, 0x38, 0x75, 0x1e, 0x48, 0x8d, 0x0d,\n\t  0xb0, 0x28, 0x00, 0x00, 0xe8, 0xbb, 0xf8, 0xff, 0xff, 0x48, 0x8b, 0x4c,\n\t  0xfb, 0x30, 0xff, 0x15, 0x00, 0x3a, 0x00, 0x00, 0x48, 0x89, 0x6c, 0xfb,\n\t  0x30, 0xeb, 0x63, 0x48, 0x8b, 0x44, 0xfb, 0x30, 0x4c, 0x89, 0x74, 0xfb,\n\t  0x48, 0x49, 0x81, 0xe3, 0x00, 0xf0, 0xff, 0xff, 0x8b, 0x58, 0x2c, 0x48,\n\t  0x8d, 0x05, 0xbe, 0x4a, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x37, 0x28, 0x00,\n\t  0x00, 0x49, 0x03, 0xdb, 0x48, 0x8b, 0xd3, 0x48, 0x89, 0x5c, 0xf8, 0x40,\n\t  0xe8, 0x77, 0xf8, 0xff, 0xff, 0x48, 0x8b, 0xc3, 0xeb, 0x2f, 0x48, 0x8d,\n\t  0x0d, 0xdb, 0x27, 0x00, 0x00, 0xe8, 0x66, 0xf8, 0xff, 0xff, 0x48, 0x8d,\n\t  0x05, 0x8f, 0x4a, 0x00, 0x00, 0x44, 0x8b, 0xdb, 0x4b, 0x8d, 0x0c, 0x9b,\n\t  0x48, 0xc1, 0xe1, 0x04, 0x48, 0x03, 0xc8, 0xb8, 0x01, 0x00, 0x00, 0x00,\n\t  0x33, 0xed, 0xf0, 0x0f, 0xb1, 0x29, 0x48, 0x8b, 0xc6, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x78, 0x48, 0x8b, 0x74, 0x24, 0x70, 0x4c, 0x8b, 0x64, 0x24, 0x50,\n\t  0x4c, 0x8b, 0x7c, 0x24, 0x38, 0x4c, 0x8b, 0x74, 0x24, 0x40, 0x4c, 0x8b,\n\t  0x6c, 0x24, 0x48, 0x48, 0x8b, 0x6c, 0x24, 0x68, 0x48, 0x8b, 0x5c, 0x24,\n\t  0x60, 0x48, 0x83, 0xc4, 0x58, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x38, 0x48, 0x85, 0xc9, 0x4c, 0x8b, 0xca, 0x48, 0x8b,\n\t  0xd1, 0x74, 0x4c, 0x4d, 0x85, 0xc9, 0x48, 0x89, 0x7c, 0x24, 0x20, 0x75,\n\t  0x47, 0x33, 0xff, 0x4c, 0x8d, 0x05, 0x2e, 0x4a, 0x00, 0x00, 0x8b, 0xc7,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90,\n\t  0x41, 0x0f, 0x18, 0x88, 0xc0, 0x03, 0x00, 0x00, 0x49, 0x3b, 0x08, 0x74,\n\t  0x54, 0xff, 0xc0, 0x49, 0x83, 0xc0, 0x50, 0x3d, 0x50, 0xc3, 0x00, 0x00,\n\t  0x72, 0xe6, 0x48, 0x8d, 0x0d, 0xff, 0x27, 0x00, 0x00, 0xe8, 0xba, 0xf7,\n\t  0xff, 0xff, 0x48, 0x8b, 0x7c, 0x24, 0x20, 0x48, 0x83, 0xc4, 0x38, 0xc3,\n\t  0x33, 0xff, 0x48, 0x8d, 0x0d, 0x1f, 0x4a, 0x00, 0x00, 0x8b, 0xc7, 0x66,\n\t  0x90, 0x66, 0x66, 0x90, 0x0f, 0x18, 0x89, 0xc0, 0x03, 0x00, 0x00, 0x4c,\n\t  0x3b, 0x09, 0x75, 0x06, 0x48, 0x3b, 0x51, 0xf8, 0x74, 0x0f, 0xff, 0xc0,\n\t  0x48, 0x83, 0xc1, 0x50, 0x3d, 0x50, 0xc3, 0x00, 0x00, 0x72, 0xe1, 0xeb,\n\t  0xb9, 0x3d, 0x50, 0xc3, 0x00, 0x00, 0x73, 0xb2, 0x48, 0x89, 0x5c, 0x24,\n\t  0x30, 0x48, 0x8d, 0x1c, 0x80, 0x48, 0x89, 0x74, 0x24, 0x28, 0x48, 0x8d,\n\t  0x35, 0x93, 0x49, 0x00, 0x00, 0x48, 0x03, 0xdb, 0x48, 0x83, 0x7c, 0xde,\n\t  0x08, 0x00, 0x74, 0x30, 0x4d, 0x85, 0xc9, 0x74, 0x20, 0x48, 0x8b, 0x54,\n\t  0xde, 0x30, 0x48, 0x85, 0xd2, 0x74, 0x16, 0x48, 0x8b, 0x4c, 0xde, 0x38,\n\t  0xff, 0x15, 0xb6, 0x38, 0x00, 0x00, 0x48, 0x8b, 0x4c, 0xde, 0x30, 0xff,\n\t  0x15, 0x83, 0x38, 0x00, 0x00, 0x48, 0x8b, 0x4c, 0xde, 0x08, 0xff, 0x15,\n\t  0xb0, 0x38, 0x00, 0x00, 0x48, 0x89, 0x7c, 0xde, 0x18, 0x48, 0x89, 0x7c,\n\t  0xde, 0x10, 0x89, 0x7c, 0xde, 0x28, 0x89, 0x7c, 0xde, 0x2c, 0x48, 0x89,\n\t  0x7c, 0xde, 0x20, 0x48, 0x89, 0x7c, 0xde, 0x08, 0x48, 0x89, 0x7c, 0xde,\n\t  0x30, 0x48, 0x89, 0x7c, 0xde, 0x38, 0x48, 0x89, 0x7c, 0xde, 0x40, 0x48,\n\t  0x89, 0x7c, 0xde, 0x48, 0xb8, 0x01, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0xb1,\n\t  0x3c, 0xde, 0x48, 0x8b, 0x74, 0x24, 0x28, 0x48, 0x8b, 0x5c, 0x24, 0x30,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x20, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x38,\n\t  0x8b, 0x44, 0x24, 0x60, 0x89, 0x44, 0x24, 0x28, 0x4c, 0x89, 0x4c, 0x24,\n\t  0x20, 0x4d, 0x8b, 0xc8, 0x45, 0x33, 0xc0, 0xe8, 0x74, 0xfc, 0xff, 0xff,\n\t  0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x38,\n\t  0x48, 0x85, 0xc9, 0x74, 0x45, 0x48, 0x89, 0x7c, 0x24, 0x28, 0x33, 0xff,\n\t  0x48, 0x8d, 0x05, 0xc9, 0x48, 0x00, 0x00, 0x8b, 0xd7, 0x66, 0x66, 0x90,\n\t  0x66, 0x66, 0x66, 0x90, 0x0f, 0x18, 0x88, 0xc0, 0x03, 0x00, 0x00, 0x48,\n\t  0x3b, 0x08, 0x74, 0x27, 0xff, 0xc2, 0x48, 0x83, 0xc0, 0x50, 0x81, 0xfa,\n\t  0x50, 0xc3, 0x00, 0x00, 0x72, 0xe6, 0x48, 0x8b, 0xd1, 0x48, 0x8d, 0x0d,\n\t  0x9c, 0x26, 0x00, 0x00, 0xe8, 0x57, 0xf6, 0xff, 0xff, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x28, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0x81, 0xfa, 0x50, 0xc3, 0x00,\n\t  0x00, 0x73, 0xdf, 0x48, 0x89, 0x5c, 0x24, 0x58, 0x8b, 0xc2, 0x48, 0x89,\n\t  0x74, 0x24, 0x30, 0x48, 0x8d, 0x1c, 0x80, 0x48, 0x8d, 0x35, 0x5e, 0x48,\n\t  0x00, 0x00, 0x48, 0x03, 0xdb, 0x48, 0x8b, 0x4c, 0xde, 0x08, 0x48, 0x85,\n\t  0xc9, 0x74, 0x06, 0xff, 0x15, 0xa3, 0x37, 0x00, 0x00, 0x48, 0x89, 0x7c,\n\t  0xde, 0x18, 0x48, 0x89, 0x7c, 0xde, 0x10, 0x89, 0x7c, 0xde, 0x28, 0x89,\n\t  0x7c, 0xde, 0x2c, 0x48, 0x89, 0x7c, 0xde, 0x20, 0x48, 0x89, 0x7c, 0xde,\n\t  0x08, 0x48, 0x89, 0x7c, 0xde, 0x30, 0x48, 0x89, 0x7c, 0xde, 0x38, 0x48,\n\t  0x89, 0x7c, 0xde, 0x40, 0x48, 0x89, 0x7c, 0xde, 0x48, 0xb8, 0x01, 0x00,\n\t  0x00, 0x00, 0xf0, 0x0f, 0xb1, 0x3c, 0xde, 0x48, 0x8b, 0x74, 0x24, 0x30,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x58, 0x48, 0x8b, 0x7c, 0x24, 0x28, 0x48, 0x83,\n\t  0xc4, 0x38, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x28, 0x48, 0x85, 0xc9, 0x48,\n\t  0x89, 0x6c, 0x24, 0x38, 0x48, 0x89, 0x7c, 0x24, 0x48, 0x4c, 0x89, 0x64,\n\t  0x24, 0x20, 0x4d, 0x8b, 0xe1, 0x49, 0x8b, 0xe8, 0x4c, 0x8b, 0xca, 0x48,\n\t  0x8b, 0xf9, 0x0f, 0x84, 0xae, 0x00, 0x00, 0x00, 0x4d, 0x85, 0xc0, 0x0f,\n\t  0x84, 0xa5, 0x00, 0x00, 0x00, 0x41, 0x8b, 0x00, 0x48, 0x89, 0x5c, 0x24,\n\t  0x30, 0xbb, 0x04, 0x80, 0x6a, 0xc8, 0x85, 0xc0, 0x0f, 0x84, 0x8c, 0x00,\n\t  0x00, 0x00, 0x48, 0x8b, 0xd0, 0x45, 0x33, 0xc0, 0x49, 0x8b, 0xc9, 0x48,\n\t  0x89, 0x74, 0x24, 0x40, 0xff, 0x15, 0x86, 0x37, 0x00, 0x00, 0x48, 0x8d,\n\t  0x0d, 0x8f, 0x26, 0x00, 0x00, 0x48, 0x8b, 0xd0, 0x48, 0x8b, 0xf0, 0xe8,\n\t  0x54, 0xf5, 0xff, 0xff, 0x48, 0x85, 0xf6, 0x74, 0x41, 0x4d, 0x85, 0xe4,\n\t  0x75, 0x14, 0x48, 0x8d, 0x0d, 0x33, 0x26, 0x00, 0x00, 0x48, 0x8b, 0xd6,\n\t  0x48, 0x89, 0x37, 0xe8, 0x38, 0xf5, 0xff, 0xff, 0xeb, 0x20, 0x8b, 0x55,\n\t  0x00, 0x4d, 0x8b, 0xc4, 0x48, 0x8b, 0xce, 0xe8, 0x08, 0xf6, 0xff, 0xff,\n\t  0x48, 0x8d, 0x0d, 0xd1, 0x25, 0x00, 0x00, 0x48, 0x8b, 0xd0, 0x48, 0x89,\n\t  0x07, 0xe8, 0x16, 0xf5, 0xff, 0xff, 0x33, 0xc0, 0x48, 0x39, 0x07, 0x0f,\n\t  0x45, 0xd8, 0x48, 0x8b, 0x74, 0x24, 0x40, 0x8b, 0xc3, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x30, 0x4c, 0x8b, 0x64, 0x24, 0x20, 0x48, 0x8b, 0x7c, 0x24, 0x48,\n\t  0x48, 0x8b, 0x6c, 0x24, 0x38, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0x8b, 0xc3,\n\t  0xeb, 0xe3, 0x4c, 0x8b, 0x64, 0x24, 0x20, 0x48, 0x8b, 0x7c, 0x24, 0x48,\n\t  0x48, 0x8b, 0x6c, 0x24, 0x38, 0xb8, 0x01, 0x00, 0x00, 0x00, 0x48, 0x83,\n\t  0xc4, 0x28, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x28,\n\t  0x48, 0x85, 0xc9, 0x48, 0x89, 0x7c, 0x24, 0x48, 0x4c, 0x8b, 0xca, 0x48,\n\t  0x8b, 0xf9, 0x0f, 0x84, 0x82, 0x00, 0x00, 0x00, 0x4d, 0x85, 0xc0, 0x74,\n\t  0x7d, 0x41, 0x8b, 0x00, 0x48, 0x89, 0x5c, 0x24, 0x38, 0xbb, 0x04, 0x80,\n\t  0x6a, 0xc8, 0x85, 0xc0, 0x74, 0x5b, 0x48, 0x8b, 0xd0, 0x45, 0x33, 0xc0,\n\t  0x49, 0x8b, 0xc9, 0x48, 0x89, 0x74, 0x24, 0x40, 0xff, 0x15, 0x9e, 0x36,\n\t  0x00, 0x00, 0x48, 0x8d, 0x0d, 0xa7, 0x25, 0x00, 0x00, 0x48, 0x8b, 0xd0,\n\t  0x48, 0x8b, 0xf0, 0xe8, 0x6c, 0xf4, 0xff, 0xff, 0x48, 0x85, 0xf6, 0x74,\n\t  0x1a, 0x48, 0x8d, 0x0d, 0x50, 0x25, 0x00, 0x00, 0x48, 0x8b, 0xd6, 0x48,\n\t  0x89, 0x37, 0xe8, 0x55, 0xf4, 0xff, 0xff, 0x33, 0xc0, 0x48, 0x39, 0x07,\n\t  0x0f, 0x45, 0xd8, 0x48, 0x8b, 0x74, 0x24, 0x40, 0x8b, 0xc3, 0x48, 0x8b,\n\t  0x5c, 0x24, 0x38, 0x48, 0x8b, 0x7c, 0x24, 0x48, 0x48, 0x83, 0xc4, 0x28,\n\t  0xc3, 0x8b, 0xc3, 0x48, 0x8b, 0x5c, 0x24, 0x38, 0x48, 0x8b, 0x7c, 0x24,\n\t  0x48, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xb8, 0x01, 0x00, 0x00, 0x00, 0x48,\n\t  0x8b, 0x7c, 0x24, 0x48, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x8b, 0xc4, 0x48, 0x83, 0xec, 0x78, 0x48,\n\t  0x89, 0x58, 0x18, 0x48, 0x8b, 0xda, 0x33, 0xd2, 0x48, 0x89, 0x78, 0x20,\n\t  0x48, 0x8b, 0xf9, 0x44, 0x8d, 0x42, 0x40, 0x48, 0x8b, 0xcb, 0xe8, 0x6d,\n\t  0x1a, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x50, 0x45, 0x33, 0xc0, 0x33,\n\t  0xd2, 0x66, 0xc7, 0x03, 0x40, 0x00, 0x66, 0xc7, 0x43, 0x02, 0x01, 0x00,\n\t  0xc7, 0x43, 0x08, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x43, 0x0c, 0xff, 0xff,\n\t  0xff, 0xff, 0xff, 0x15, 0x7c, 0x35, 0x00, 0x00, 0x45, 0x33, 0xc9, 0x4c,\n\t  0x8d, 0x5c, 0x24, 0x40, 0x48, 0x8d, 0x44, 0x24, 0x50, 0x4c, 0x89, 0x5c,\n\t  0x24, 0x30, 0x48, 0x89, 0x44, 0x24, 0x28, 0x41, 0x8d, 0x49, 0x1b, 0x45,\n\t  0x33, 0xc0, 0x48, 0x8b, 0xd7, 0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00,\n\t  0x00, 0x00, 0xff, 0x15, 0x44, 0x35, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x74,\n\t  0x4f, 0x48, 0x8b, 0x88, 0xb8, 0x00, 0x00, 0x00, 0xc7, 0x40, 0x30, 0xbb,\n\t  0x00, 0x00, 0xc0, 0x48, 0x8b, 0xd0, 0xc6, 0x41, 0xb8, 0x1b, 0xc6, 0x41,\n\t  0xb9, 0x09, 0x48, 0x89, 0x59, 0xc0, 0x48, 0x8b, 0xcf, 0xff, 0x15, 0x11,\n\t  0x35, 0x00, 0x00, 0x3d, 0x03, 0x01, 0x00, 0x00, 0x75, 0x1c, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x50, 0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0, 0x33, 0xd2, 0x48,\n\t  0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0x15, 0xe6, 0x34,\n\t  0x00, 0x00, 0x8b, 0x44, 0x24, 0x40, 0xeb, 0x05, 0xb8, 0x9a, 0x00, 0x00,\n\t  0xc0, 0x48, 0x8b, 0xbc, 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, 0x8b, 0x9c,\n\t  0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x83, 0xc4, 0x78, 0xc3, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x8b, 0xc4, 0x48, 0x81, 0xec, 0x98, 0x00,\n\t  0x00, 0x00, 0x48, 0x89, 0x58, 0xf8, 0x48, 0x89, 0x68, 0xf0, 0x48, 0x89,\n\t  0x70, 0xe8, 0x48, 0x8b, 0xd9, 0x41, 0x0f, 0xb6, 0xf0, 0x48, 0x8b, 0xea,\n\t  0x48, 0x89, 0x78, 0xe0, 0x48, 0x8d, 0x48, 0xc0, 0x45, 0x33, 0xc0, 0x33,\n\t  0xd2, 0x41, 0x8b, 0xf9, 0xff, 0x15, 0xa2, 0x34, 0x00, 0x00, 0x45, 0x33,\n\t  0xc9, 0x4c, 0x8d, 0x5c, 0x24, 0x48, 0x4c, 0x89, 0x5c, 0x24, 0x30, 0x48,\n\t  0x8d, 0x44, 0x24, 0x58, 0x41, 0x8d, 0x49, 0x1b, 0x48, 0x89, 0x44, 0x24,\n\t  0x28, 0x45, 0x33, 0xc0, 0x48, 0x8b, 0xd3, 0x48, 0xc7, 0x44, 0x24, 0x20,\n\t  0x00, 0x00, 0x00, 0x00, 0xff, 0x15, 0x6a, 0x34, 0x00, 0x00, 0x48, 0x85,\n\t  0xc0, 0x74, 0x68, 0x48, 0x8b, 0x90, 0xb8, 0x00, 0x00, 0x00, 0x48, 0x83,\n\t  0xea, 0x48, 0x74, 0x5b, 0x8b, 0x8c, 0x24, 0xc0, 0x00, 0x00, 0x00, 0xc7,\n\t  0x40, 0x30, 0xbb, 0x00, 0x00, 0xc0, 0xc6, 0x02, 0x1b, 0x89, 0x4a, 0x20,\n\t  0x40, 0x88, 0x72, 0x01, 0x48, 0x89, 0x6a, 0x10, 0xc7, 0x42, 0x08, 0x00,\n\t  0x00, 0x00, 0x00, 0x89, 0x7a, 0x18, 0x48, 0x8b, 0xcb, 0x48, 0x8b, 0xd0,\n\t  0xff, 0x15, 0x1e, 0x34, 0x00, 0x00, 0x3d, 0x03, 0x01, 0x00, 0x00, 0x75,\n\t  0x26, 0x48, 0x8d, 0x4c, 0x24, 0x58, 0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0,\n\t  0x33, 0xd2, 0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff,\n\t  0x15, 0xf3, 0x33, 0x00, 0x00, 0x8b, 0x44, 0x24, 0x48, 0xeb, 0x04, 0x8b,\n\t  0x44, 0x24, 0x40, 0x48, 0x8b, 0x7c, 0x24, 0x78, 0x48, 0x8b, 0xb4, 0x24,\n\t  0x80, 0x00, 0x00, 0x00, 0x48, 0x8b, 0xac, 0x24, 0x88, 0x00, 0x00, 0x00,\n\t  0x48, 0x8b, 0x9c, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x81, 0xc4, 0x98,\n\t  0x00, 0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4c, 0x8b, 0xdc, 0x48, 0x81, 0xec, 0x18, 0x02, 0x00, 0x00, 0x48, 0x8b,\n\t  0x05, 0xf7, 0x43, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0xe0, 0x01, 0x00,\n\t  0x00, 0x49, 0x89, 0x5b, 0x10, 0x49, 0x89, 0x6b, 0x18, 0x49, 0x89, 0x7b,\n\t  0xf8, 0x48, 0x8b, 0x79, 0x38, 0x4d, 0x89, 0x63, 0xf0, 0x48, 0x8b, 0xd9,\n\t  0x4d, 0x89, 0x73, 0xe0, 0x45, 0x33, 0xf6, 0x49, 0x8d, 0x8b, 0x88, 0xfe,\n\t  0xff, 0xff, 0x45, 0x33, 0xc0, 0x33, 0xd2, 0x40, 0x32, 0xed, 0x45, 0x8b,\n\t  0xe6, 0x45, 0x89, 0xb3, 0xd8, 0xfe, 0xff, 0xff, 0xff, 0x15, 0x72, 0x33,\n\t  0x00, 0x00, 0x4c, 0x8d, 0x9c, 0x24, 0xc8, 0x00, 0x00, 0x00, 0x48, 0x8d,\n\t  0x84, 0x24, 0xa0, 0x00, 0x00, 0x00, 0x41, 0x8d, 0x4e, 0x1b, 0x4c, 0x89,\n\t  0x5c, 0x24, 0x30, 0x48, 0x89, 0x44, 0x24, 0x28, 0x45, 0x33, 0xc9, 0x45,\n\t  0x33, 0xc0, 0x48, 0x8b, 0xd7, 0x4c, 0x89, 0x74, 0x24, 0x20, 0xff, 0x15,\n\t  0x38, 0x33, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x74, 0x64, 0x48, 0x8b, 0x90,\n\t  0xb8, 0x00, 0x00, 0x00, 0x48, 0x83, 0xea, 0x48, 0x74, 0x57, 0xc7, 0x40,\n\t  0x30, 0xbb, 0x00, 0x00, 0xc0, 0x48, 0x8d, 0x8c, 0x24, 0xe0, 0x00, 0x00,\n\t  0x00, 0xc6, 0x02, 0x1b, 0x48, 0x89, 0x4a, 0x10, 0xc6, 0x42, 0x01, 0x0f,\n\t  0xc7, 0x42, 0x20, 0x40, 0x00, 0x00, 0x00, 0x44, 0x89, 0x72, 0x08, 0x44,\n\t  0x89, 0x72, 0x18, 0x48, 0x8b, 0xcf, 0x48, 0x8b, 0xd0, 0xff, 0x15, 0xe9,\n\t  0x32, 0x00, 0x00, 0x3d, 0x03, 0x01, 0x00, 0x00, 0x75, 0x1b, 0x48, 0x8d,\n\t  0x8c, 0x24, 0xa0, 0x00, 0x00, 0x00, 0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0,\n\t  0x33, 0xd2, 0x4c, 0x89, 0x74, 0x24, 0x20, 0xff, 0x15, 0xbf, 0x32, 0x00,\n\t  0x00, 0x48, 0x8d, 0x15, 0x98, 0x22, 0x00, 0x00, 0x48, 0x8d, 0x8c, 0x24,\n\t  0xb8, 0x00, 0x00, 0x00, 0x4c, 0x89, 0xac, 0x24, 0x00, 0x02, 0x00, 0x00,\n\t  0xff, 0x15, 0x92, 0x32, 0x00, 0x00, 0x48, 0x8d, 0x84, 0x24, 0xb8, 0x00,\n\t  0x00, 0x00, 0x4c, 0x8d, 0x44, 0x24, 0x60, 0x48, 0x8d, 0x4c, 0x24, 0x48,\n\t  0xba, 0x19, 0x00, 0x02, 0x00, 0x48, 0x89, 0x44, 0x24, 0x70, 0xc7, 0x44,\n\t  0x24, 0x60, 0x30, 0x00, 0x00, 0x00, 0x4c, 0x89, 0x74, 0x24, 0x68, 0xc7,\n\t  0x44, 0x24, 0x78, 0x40, 0x00, 0x00, 0x00, 0x4c, 0x89, 0xb4, 0x24, 0x80,\n\t  0x00, 0x00, 0x00, 0x4c, 0x89, 0xb4, 0x24, 0x88, 0x00, 0x00, 0x00, 0xff,\n\t  0x15, 0xa3, 0x32, 0x00, 0x00, 0x85, 0xc0, 0x44, 0x8b, 0xe8, 0x0f, 0x88,\n\t  0xc7, 0x01, 0x00, 0x00, 0x4c, 0x89, 0xbc, 0x24, 0xf0, 0x01, 0x00, 0x00,\n\t  0x41, 0xbf, 0x01, 0x00, 0x00, 0x00, 0x48, 0x89, 0xb4, 0x24, 0x38, 0x02,\n\t  0x00, 0x00, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90,\n\t  0x48, 0x8b, 0x4c, 0x24, 0x48, 0x48, 0x8d, 0x44, 0x24, 0x40, 0x45, 0x33,\n\t  0xc9, 0x48, 0x89, 0x44, 0x24, 0x28, 0x45, 0x8b, 0xc7, 0x41, 0x8b, 0xd4,\n\t  0x44, 0x89, 0x74, 0x24, 0x20, 0x40, 0x32, 0xff, 0xff, 0x15, 0x4a, 0x32,\n\t  0x00, 0x00, 0x8b, 0x54, 0x24, 0x40, 0x41, 0xb8, 0x44, 0x64, 0x6b, 0x20,\n\t  0x41, 0x8b, 0xcf, 0x48, 0x83, 0xc2, 0x08, 0xff, 0x15, 0x73, 0x31, 0x00,\n\t  0x00, 0x8b, 0x4c, 0x24, 0x40, 0x45, 0x8b, 0xc7, 0x48, 0x8b, 0xf0, 0x48,\n\t  0x8d, 0x44, 0x24, 0x40, 0x41, 0x8b, 0xd4, 0x48, 0x89, 0x44, 0x24, 0x28,\n\t  0x89, 0x4c, 0x24, 0x20, 0x48, 0x8b, 0x4c, 0x24, 0x48, 0x4c, 0x8b, 0xce,\n\t  0xff, 0x15, 0x0a, 0x32, 0x00, 0x00, 0x85, 0xc0, 0x44, 0x8b, 0xe8, 0x79,\n\t  0x09, 0x41, 0x0f, 0xb6, 0xef, 0xe9, 0x08, 0x01, 0x00, 0x00, 0x40, 0x84,\n\t  0xed, 0x0f, 0x85, 0xff, 0x00, 0x00, 0x00, 0x83, 0x7e, 0x04, 0x08, 0x0f,\n\t  0x85, 0xf5, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x56, 0x14, 0x48, 0x8d, 0x8c,\n\t  0x24, 0x90, 0x00, 0x00, 0x00, 0xff, 0x15, 0x85, 0x31, 0x00, 0x00, 0x48,\n\t  0x8d, 0x94, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x50,\n\t  0x45, 0x0f, 0xb6, 0xc7, 0xff, 0x15, 0xb6, 0x31, 0x00, 0x00, 0x48, 0x8b,\n\t  0x4c, 0x24, 0x58, 0x48, 0x8d, 0x15, 0x42, 0x21, 0x00, 0x00, 0xff, 0x15,\n\t  0x9c, 0x31, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x0f, 0x84, 0xa3, 0x00, 0x00,\n\t  0x00, 0x48, 0x8b, 0x4c, 0x24, 0x58, 0x48, 0x8d, 0x15, 0x17, 0x21, 0x00,\n\t  0x00, 0xff, 0x15, 0x81, 0x31, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x0f, 0x84,\n\t  0x88, 0x00, 0x00, 0x00, 0x44, 0x8b, 0x46, 0x08, 0x4c, 0x03, 0xc6, 0x41,\n\t  0x83, 0x78, 0x04, 0x05, 0x75, 0x7a, 0x45, 0x8b, 0x50, 0x10, 0x45, 0x85,\n\t  0xd2, 0x74, 0x71, 0x44, 0x8b, 0x8c, 0x24, 0xf0, 0x00, 0x00, 0x00, 0x49,\n\t  0x8d, 0x48, 0x14, 0x49, 0x8b, 0xd2, 0x66, 0x90, 0x80, 0x39, 0x03, 0x75,\n\t  0x14, 0x44, 0x39, 0x49, 0x04, 0x75, 0x0e, 0x40, 0x0f, 0xb6, 0xc7, 0x40,\n\t  0x84, 0xff, 0x41, 0x0f, 0x44, 0xc7, 0x0f, 0xb6, 0xf8, 0x48, 0x83, 0xc1,\n\t  0x14, 0x48, 0xff, 0xca, 0x75, 0xde, 0x41, 0x3a, 0xff, 0x75, 0x39, 0x45,\n\t  0x85, 0xd2, 0x41, 0x8b, 0xd6, 0x74, 0x2e, 0x49, 0x8d, 0x48, 0x18, 0x80,\n\t  0x79, 0xfc, 0x02, 0x75, 0x18, 0x8b, 0x41, 0x04, 0x89, 0x43, 0x0c, 0x0f,\n\t  0xb6, 0x01, 0x88, 0x43, 0x08, 0x48, 0x8b, 0x41, 0x08, 0x44, 0x89, 0x73,\n\t  0x18, 0x48, 0x89, 0x43, 0x10, 0xff, 0xc2, 0x48, 0x83, 0xc1, 0x14, 0x41,\n\t  0x3b, 0x50, 0x10, 0x72, 0xd6, 0x41, 0x8a, 0xef, 0x48, 0x8d, 0x4c, 0x24,\n\t  0x50, 0xff, 0x15, 0xdd, 0x30, 0x00, 0x00, 0x41, 0xff, 0xc4, 0x48, 0x85,\n\t  0xf6, 0x74, 0x0b, 0x33, 0xd2, 0x48, 0x8b, 0xce, 0xff, 0x15, 0x2a, 0x30,\n\t  0x00, 0x00, 0x40, 0x84, 0xed, 0x0f, 0x84, 0x69, 0xfe, 0xff, 0xff, 0x4c,\n\t  0x8b, 0xbc, 0x24, 0xf0, 0x01, 0x00, 0x00, 0x48, 0x8b, 0xb4, 0x24, 0x38,\n\t  0x02, 0x00, 0x00, 0x48, 0x8b, 0x4c, 0x24, 0x48, 0x4c, 0x8b, 0xb4, 0x24,\n\t  0xf8, 0x01, 0x00, 0x00, 0x4c, 0x8b, 0xa4, 0x24, 0x08, 0x02, 0x00, 0x00,\n\t  0x48, 0x85, 0xc9, 0x48, 0x8b, 0xbc, 0x24, 0x10, 0x02, 0x00, 0x00, 0x48,\n\t  0x8b, 0xac, 0x24, 0x30, 0x02, 0x00, 0x00, 0x48, 0x8b, 0x9c, 0x24, 0x28,\n\t  0x02, 0x00, 0x00, 0x74, 0x06, 0xff, 0x15, 0x71, 0x30, 0x00, 0x00, 0x41,\n\t  0x8b, 0xc5, 0x4c, 0x8b, 0xac, 0x24, 0x00, 0x02, 0x00, 0x00, 0x48, 0x8b,\n\t  0x8c, 0x24, 0xe0, 0x01, 0x00, 0x00, 0xe8, 0x29, 0x16, 0x00, 0x00, 0x48,\n\t  0x81, 0xc4, 0x18, 0x02, 0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x33, 0xc0, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4c, 0x8b, 0xdc, 0x48, 0x81, 0xec, 0x98, 0x00,\n\t  0x00, 0x00, 0x48, 0x8b, 0x05, 0x57, 0x40, 0x00, 0x00, 0x48, 0x89, 0x84,\n\t  0x24, 0x80, 0x00, 0x00, 0x00, 0x33, 0xc0, 0x49, 0x89, 0x5b, 0x18, 0x48,\n\t  0x8b, 0x59, 0x38, 0x49, 0x89, 0x7b, 0x20, 0x48, 0x8b, 0xf9, 0x49, 0x8d,\n\t  0x4b, 0xb8, 0x45, 0x33, 0xc0, 0x33, 0xd2, 0x89, 0x44, 0x24, 0x68, 0x89,\n\t  0x44, 0x24, 0x6c, 0x89, 0x44, 0x24, 0x70, 0x89, 0x44, 0x24, 0x74, 0x89,\n\t  0x44, 0x24, 0x78, 0x89, 0x44, 0x24, 0x7c, 0xff, 0x15, 0xd7, 0x2f, 0x00,\n\t  0x00, 0x45, 0x33, 0xc9, 0x4c, 0x8d, 0x5c, 0x24, 0x40, 0x48, 0x8d, 0x44,\n\t  0x24, 0x50, 0x4c, 0x89, 0x5c, 0x24, 0x30, 0x48, 0x89, 0x44, 0x24, 0x28,\n\t  0x41, 0x8d, 0x49, 0x1b, 0x45, 0x33, 0xc0, 0x48, 0x8b, 0xd3, 0x48, 0xc7,\n\t  0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0x15, 0x9f, 0x2f, 0x00,\n\t  0x00, 0x48, 0x85, 0xc0, 0x74, 0x6a, 0x48, 0x8b, 0x90, 0xb8, 0x00, 0x00,\n\t  0x00, 0xc7, 0x40, 0x30, 0xbb, 0x00, 0x00, 0xc0, 0x48, 0x8b, 0xcb, 0xc6,\n\t  0x42, 0xb8, 0x1b, 0xc6, 0x42, 0xb9, 0x15, 0x48, 0x8b, 0xd0, 0xff, 0x15,\n\t  0x70, 0x2f, 0x00, 0x00, 0x3d, 0x03, 0x01, 0x00, 0x00, 0x75, 0x22, 0x48,\n\t  0x8d, 0x4c, 0x24, 0x50, 0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0, 0x33, 0xd2,\n\t  0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0x15, 0x45,\n\t  0x2f, 0x00, 0x00, 0x8b, 0x44, 0x24, 0x40, 0xeb, 0x07, 0x85, 0xc0, 0x0f,\n\t  0x44, 0x44, 0x24, 0x40, 0x85, 0xc0, 0x78, 0x14, 0x48, 0x8b, 0x4c, 0x24,\n\t  0x48, 0x33, 0xd2, 0x8b, 0x41, 0x14, 0x89, 0x44, 0x24, 0x7c, 0xff, 0x15,\n\t  0xa8, 0x2e, 0x00, 0x00, 0xba, 0x40, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x44,\n\t  0x64, 0x6b, 0x20, 0x8d, 0x4a, 0xc1, 0xff, 0x15, 0x8c, 0x2e, 0x00, 0x00,\n\t  0x48, 0x85, 0xc0, 0x48, 0x8b, 0xd8, 0x74, 0x64, 0x33, 0xc0, 0x48, 0x8b,\n\t  0xd3, 0x48, 0x89, 0x03, 0x48, 0x89, 0x43, 0x08, 0x48, 0x89, 0x43, 0x10,\n\t  0x48, 0x89, 0x43, 0x18, 0x48, 0x89, 0x43, 0x20, 0x48, 0x89, 0x43, 0x28,\n\t  0x48, 0x89, 0x43, 0x30, 0x48, 0x89, 0x43, 0x38, 0x48, 0x8b, 0x4f, 0x38,\n\t  0xe8, 0x27, 0xf9, 0xff, 0xff, 0x44, 0x0f, 0xb6, 0x5c, 0x24, 0x7c, 0x33,\n\t  0xd2, 0x44, 0x88, 0x1f, 0x8b, 0x43, 0x08, 0xc1, 0xe8, 0x08, 0x33, 0x07,\n\t  0x25, 0x00, 0x1f, 0x00, 0x00, 0x31, 0x07, 0x8b, 0x4b, 0x08, 0x8b, 0x07,\n\t  0xc1, 0xe1, 0x0d, 0x33, 0xc8, 0x81, 0xe1, 0x00, 0xe0, 0x00, 0x00, 0x33,\n\t  0xc8, 0x89, 0x0f, 0x48, 0x8b, 0xcb, 0xff, 0x15, 0x28, 0x2e, 0x00, 0x00,\n\t  0x48, 0x8b, 0xbc, 0x24, 0xb8, 0x00, 0x00, 0x00, 0x48, 0x8b, 0x9c, 0x24,\n\t  0xb0, 0x00, 0x00, 0x00, 0x33, 0xc0, 0x48, 0x8b, 0x8c, 0x24, 0x80, 0x00,\n\t  0x00, 0x00, 0xe8, 0x71, 0x14, 0x00, 0x00, 0x48, 0x81, 0xc4, 0x98, 0x00,\n\t  0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4c, 0x8b, 0xdc, 0x48, 0x81, 0xec, 0x88, 0x00, 0x00, 0x00, 0x48, 0x8b,\n\t  0x05, 0xb7, 0x3e, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x58, 0x4d, 0x89,\n\t  0x6b, 0xe8, 0x4d, 0x89, 0x73, 0xe0, 0x45, 0x33, 0xf6, 0x4c, 0x8b, 0xe9,\n\t  0x4d, 0x8d, 0x4b, 0xa0, 0x45, 0x8d, 0x46, 0x01, 0x49, 0x8d, 0x4b, 0xc0,\n\t  0x33, 0xd2, 0xc7, 0x44, 0x24, 0x48, 0x44, 0x89, 0x49, 0xad, 0x66, 0xc7,\n\t  0x44, 0x24, 0x4c, 0x2f, 0x76, 0x66, 0xc7, 0x44, 0x24, 0x4e, 0xd0, 0x11,\n\t  0xc6, 0x44, 0x24, 0x50, 0x8d, 0xc6, 0x44, 0x24, 0x51, 0xcb, 0xc6, 0x44,\n\t  0x24, 0x52, 0x00, 0xc6, 0x44, 0x24, 0x53, 0xc0, 0xc6, 0x44, 0x24, 0x54,\n\t  0x4f, 0xc6, 0x44, 0x24, 0x55, 0xc3, 0xc6, 0x44, 0x24, 0x56, 0x35, 0xc6,\n\t  0x44, 0x24, 0x57, 0x8c, 0x4d, 0x89, 0x73, 0x98, 0x4d, 0x89, 0x73, 0xa8,\n\t  0x4d, 0x89, 0x73, 0xa0, 0xff, 0x15, 0x4e, 0x2e, 0x00, 0x00, 0x85, 0xc0,\n\t  0x0f, 0x88, 0xdd, 0x01, 0x00, 0x00, 0x48, 0x89, 0x9c, 0x24, 0x98, 0x00,\n\t  0x00, 0x00, 0x48, 0x8b, 0x5c, 0x24, 0x28, 0x48, 0x8d, 0x4c, 0x24, 0x38,\n\t  0x48, 0x8b, 0xd3, 0xff, 0x15, 0xbb, 0x2d, 0x00, 0x00, 0x44, 0x0f, 0xb7,\n\t  0x5c, 0x24, 0x38, 0x66, 0x45, 0x85, 0xdb, 0x0f, 0x84, 0x9d, 0x01, 0x00,\n\t  0x00, 0x48, 0x89, 0xac, 0x24, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x89, 0xb4,\n\t  0x24, 0xa8, 0x00, 0x00, 0x00, 0x48, 0x89, 0xbc, 0x24, 0x80, 0x00, 0x00,\n\t  0x00, 0x4c, 0x89, 0x64, 0x24, 0x78, 0x66, 0x41, 0x83, 0xfb, 0x04, 0x0f,\n\t  0x86, 0x2e, 0x01, 0x00, 0x00, 0x41, 0x0f, 0xb7, 0xd3, 0x66, 0x33, 0xc9,\n\t  0x83, 0xea, 0x04, 0x85, 0xd2, 0x0f, 0x8e, 0x1c, 0x01, 0x00, 0x00, 0x90,\n\t  0x66, 0x83, 0xf9, 0x14, 0x0f, 0x83, 0x11, 0x01, 0x00, 0x00, 0x0f, 0xb7,\n\t  0xc1, 0x66, 0x83, 0x3c, 0x43, 0x56, 0x75, 0x18, 0x66, 0x83, 0x7c, 0x43,\n\t  0x02, 0x45, 0x75, 0x10, 0x66, 0x83, 0x7c, 0x43, 0x04, 0x4e, 0x75, 0x08,\n\t  0x66, 0x83, 0x7c, 0x43, 0x06, 0x5f, 0x74, 0x0f, 0x66, 0xff, 0xc1, 0x0f,\n\t  0xb7, 0xc1, 0x3b, 0xc2, 0x7c, 0xca, 0xe9, 0xe0, 0x00, 0x00, 0x00, 0x4c,\n\t  0x8d, 0x4c, 0x24, 0x30, 0x4c, 0x8d, 0x44, 0x24, 0x20, 0x48, 0x8d, 0x4c,\n\t  0x24, 0x38, 0xba, 0xff, 0x01, 0x1f, 0x00, 0xff, 0x15, 0x83, 0x2d, 0x00,\n\t  0x00, 0x85, 0xc0, 0x0f, 0x88, 0xb4, 0x00, 0x00, 0x00, 0x48, 0x8b, 0x6c,\n\t  0x24, 0x20, 0x49, 0x8b, 0x7d, 0x00, 0x48, 0x85, 0xff, 0x4c, 0x8b, 0x65,\n\t  0x08, 0x75, 0x25, 0xba, 0x50, 0x02, 0x00, 0x00, 0x33, 0xc9, 0x41, 0xb8,\n\t  0x44, 0x64, 0x6b, 0x20, 0xff, 0x15, 0x7e, 0x2c, 0x00, 0x00, 0x48, 0x85,\n\t  0xc0, 0x48, 0x8b, 0xf0, 0x0f, 0x84, 0x83, 0x00, 0x00, 0x00, 0x49, 0x89,\n\t  0x45, 0x00, 0xeb, 0x42, 0xba, 0x50, 0x02, 0x00, 0x00, 0x33, 0xc9, 0x41,\n\t  0xb8, 0x44, 0x64, 0x6b, 0x20, 0xff, 0x15, 0x59, 0x2c, 0x00, 0x00, 0x48,\n\t  0x8b, 0xf0, 0x48, 0x8d, 0x87, 0x48, 0x02, 0x00, 0x00, 0x4c, 0x39, 0x30,\n\t  0x74, 0x19, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90,\n\t  0x48, 0x8b, 0x38, 0x48, 0x8d, 0x87, 0x48, 0x02, 0x00, 0x00, 0x4c, 0x39,\n\t  0x30, 0x75, 0xf1, 0x48, 0x89, 0xb7, 0x48, 0x02, 0x00, 0x00, 0x48, 0x85,\n\t  0xf6, 0x74, 0x36, 0x48, 0x8b, 0xce, 0x4c, 0x89, 0x66, 0x38, 0x48, 0x89,\n\t  0x6e, 0x30, 0x4c, 0x89, 0xb6, 0x48, 0x02, 0x00, 0x00, 0xe8, 0x7e, 0xfc,\n\t  0xff, 0xff, 0x41, 0xff, 0x45, 0x08, 0x48, 0x8b, 0xce, 0xe8, 0xd2, 0xf8,\n\t  0xff, 0xff, 0x48, 0x8d, 0x4e, 0x40, 0x41, 0xb8, 0x03, 0x01, 0x00, 0x00,\n\t  0x48, 0x8b, 0xd3, 0xff, 0x15, 0xbf, 0x2c, 0x00, 0x00, 0x4c, 0x89, 0x74,\n\t  0x24, 0x20, 0x4c, 0x89, 0x74, 0x24, 0x30, 0x0f, 0xb7, 0x44, 0x24, 0x3a,\n\t  0x48, 0x8d, 0x4c, 0x24, 0x38, 0x48, 0xd1, 0xe8, 0x48, 0x8d, 0x1c, 0x43,\n\t  0x48, 0x8b, 0xd3, 0xff, 0x15, 0x3b, 0x2c, 0x00, 0x00, 0x66, 0x44, 0x8b,\n\t  0x5c, 0x24, 0x38, 0x66, 0x45, 0x85, 0xdb, 0x0f, 0x85, 0x9d, 0xfe, 0xff,\n\t  0xff, 0x4c, 0x8b, 0x64, 0x24, 0x78, 0x48, 0x8b, 0xbc, 0x24, 0x80, 0x00,\n\t  0x00, 0x00, 0x48, 0x8b, 0xb4, 0x24, 0xa8, 0x00, 0x00, 0x00, 0x48, 0x8b,\n\t  0xac, 0x24, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x8b, 0x4c, 0x24, 0x28, 0x33,\n\t  0xd2, 0xff, 0x15, 0x99, 0x2b, 0x00, 0x00, 0x48, 0x8b, 0x9c, 0x24, 0x98,\n\t  0x00, 0x00, 0x00, 0x4c, 0x8b, 0x74, 0x24, 0x68, 0x4c, 0x8b, 0x6c, 0x24,\n\t  0x70, 0x48, 0x8b, 0x4c, 0x24, 0x58, 0xe8, 0xe5, 0x11, 0x00, 0x00, 0x48,\n\t  0x81, 0xc4, 0x88, 0x00, 0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x8b, 0xc4, 0x48,\n\t  0x83, 0xec, 0x38, 0x48, 0x89, 0x58, 0x08, 0x48, 0x89, 0x68, 0x10, 0x48,\n\t  0x89, 0x70, 0x18, 0x48, 0x8b, 0xe9, 0x33, 0xf6, 0x48, 0x8d, 0x48, 0xe8,\n\t  0x48, 0x89, 0x78, 0x20, 0x48, 0x89, 0x70, 0xe8, 0x89, 0x70, 0xf0, 0xe8,\n\t  0x44, 0xfd, 0xff, 0xff, 0x48, 0x85, 0xed, 0x48, 0x8b, 0x7c, 0x24, 0x20,\n\t  0x48, 0x8b, 0xdf, 0x74, 0x71, 0x8b, 0x45, 0x00, 0x48, 0x8d, 0x0d, 0xfd,\n\t  0x1b, 0x00, 0x00, 0x44, 0x8b, 0xc8, 0x44, 0x8b, 0xc0, 0x0f, 0xb6, 0xd0,\n\t  0x41, 0xc1, 0xe9, 0x0d, 0x41, 0xc1, 0xe8, 0x08, 0x41, 0x83, 0xe1, 0x07,\n\t  0x41, 0x83, 0xe0, 0x1f, 0xe8, 0xdf, 0xe9, 0xff, 0xff, 0x44, 0x8b, 0x44,\n\t  0x24, 0x28, 0x44, 0x8b, 0xde, 0x45, 0x85, 0xc0, 0x74, 0x3c, 0x66, 0x90,\n\t  0x48, 0x85, 0xdb, 0x74, 0x35, 0x8b, 0x0b, 0x8b, 0x55, 0x00, 0x8b, 0xc1,\n\t  0x33, 0xc2, 0x84, 0xc0, 0x75, 0x19, 0x8b, 0xc1, 0x33, 0xc2, 0xa9, 0x00,\n\t  0x1f, 0x00, 0x00, 0x75, 0x0e, 0x33, 0xca, 0xf7, 0xc1, 0x00, 0xe0, 0x00,\n\t  0x00, 0x75, 0x04, 0x48, 0x8b, 0x73, 0x38, 0x48, 0x8b, 0x9b, 0x48, 0x02,\n\t  0x00, 0x00, 0x41, 0xff, 0xc3, 0x45, 0x3b, 0xd8, 0x72, 0xc6, 0x48, 0x85,\n\t  0xff, 0x48, 0x8b, 0x6c, 0x24, 0x48, 0x74, 0x24, 0x48, 0x8b, 0x4f, 0x30,\n\t  0xff, 0x15, 0x1a, 0x2b, 0x00, 0x00, 0x48, 0x8b, 0x9f, 0x48, 0x02, 0x00,\n\t  0x00, 0x33, 0xd2, 0x48, 0x8b, 0xcf, 0xff, 0x15, 0x98, 0x2a, 0x00, 0x00,\n\t  0x48, 0x85, 0xdb, 0x48, 0x8b, 0xfb, 0x75, 0xdc, 0x48, 0x8b, 0x7c, 0x24,\n\t  0x58, 0x48, 0x8b, 0x5c, 0x24, 0x40, 0x48, 0x8b, 0xc6, 0x48, 0x8b, 0x74,\n\t  0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x8b, 0xc4, 0x48, 0x83, 0xec, 0x38, 0x48, 0x89, 0x58, 0x08, 0x48,\n\t  0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x8b, 0xd9, 0x48, 0x8d,\n\t  0x48, 0xe8, 0x48, 0x89, 0x78, 0x20, 0x48, 0x8b, 0xea, 0x48, 0xc7, 0x40,\n\t  0xe8, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x40, 0xf0, 0x00, 0x00, 0x00, 0x00,\n\t  0xbe, 0x02, 0x40, 0x6a, 0xc8, 0xe8, 0x36, 0xfc, 0xff, 0xff, 0x48, 0x85,\n\t  0xdb, 0x48, 0x8b, 0x7c, 0x24, 0x20, 0x48, 0x8b, 0xd7, 0x74, 0x6d, 0x44,\n\t  0x8b, 0x54, 0x24, 0x28, 0x45, 0x33, 0xc0, 0x45, 0x85, 0xd2, 0x74, 0x60,\n\t  0x48, 0x85, 0xd2, 0x74, 0x5b, 0x8b, 0x0a, 0x44, 0x8b, 0x0b, 0x8b, 0xc1,\n\t  0x41, 0x33, 0xc1, 0x84, 0xc0, 0x75, 0x17, 0x8b, 0xc1, 0x41, 0x33, 0xc1,\n\t  0xa9, 0x00, 0x1f, 0x00, 0x00, 0x75, 0x0b, 0x41, 0x33, 0xc9, 0xf7, 0xc1,\n\t  0x00, 0xe0, 0x00, 0x00, 0x74, 0x11, 0x48, 0x8b, 0x92, 0x48, 0x02, 0x00,\n\t  0x00, 0x41, 0xff, 0xc0, 0x45, 0x3b, 0xc2, 0x72, 0xc7, 0xeb, 0x25, 0x48,\n\t  0x8b, 0xcd, 0x41, 0xb8, 0x50, 0x02, 0x00, 0x00, 0xe8, 0xd3, 0x0b, 0x00,\n\t  0x00, 0x48, 0x8b, 0x4d, 0x30, 0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0, 0xba,\n\t  0xff, 0x01, 0x1f, 0x00, 0xff, 0x15, 0x96, 0x2a, 0x00, 0x00, 0x33, 0xf6,\n\t  0x48, 0x85, 0xff, 0x48, 0x8b, 0x6c, 0x24, 0x48, 0x74, 0x26, 0x66, 0x90,\n\t  0x48, 0x8b, 0x4f, 0x30, 0xff, 0x15, 0x0e, 0x2a, 0x00, 0x00, 0x48, 0x8b,\n\t  0x9f, 0x48, 0x02, 0x00, 0x00, 0x33, 0xd2, 0x48, 0x8b, 0xcf, 0xff, 0x15,\n\t  0x8c, 0x29, 0x00, 0x00, 0x48, 0x85, 0xdb, 0x48, 0x8b, 0xfb, 0x75, 0xdc,\n\t  0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c, 0x24, 0x40, 0x8b, 0xc6,\n\t  0x48, 0x8b, 0x74, 0x24, 0x50, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x38, 0x33, 0xc0, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x20, 0x48, 0x89, 0x7c, 0x24, 0x58, 0x48, 0x89, 0x44, 0x24,\n\t  0x20, 0x89, 0x44, 0x24, 0x28, 0xe8, 0x52, 0xfb, 0xff, 0xff, 0x0f, 0xb7,\n\t  0x54, 0x24, 0x28, 0x44, 0x8b, 0x44, 0x24, 0x28, 0x48, 0x8d, 0x0d, 0x31,\n\t  0x1a, 0x00, 0x00, 0xe8, 0x0c, 0xe8, 0xff, 0xff, 0x48, 0x8b, 0x7c, 0x24,\n\t  0x20, 0x48, 0x85, 0xff, 0x74, 0x2e, 0x48, 0x89, 0x5c, 0x24, 0x50, 0x48,\n\t  0x8b, 0x4f, 0x30, 0xff, 0x15, 0x8b, 0x29, 0x00, 0x00, 0x48, 0x8b, 0x9f,\n\t  0x48, 0x02, 0x00, 0x00, 0x33, 0xd2, 0x48, 0x8b, 0xcf, 0xff, 0x15, 0x09,\n\t  0x29, 0x00, 0x00, 0x48, 0x85, 0xdb, 0x48, 0x8b, 0xfb, 0x75, 0xdc, 0x48,\n\t  0x8b, 0x5c, 0x24, 0x50, 0x66, 0x8b, 0x44, 0x24, 0x28, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x58, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x38, 0x48, 0x89, 0x5c, 0x24,\n\t  0x40, 0x33, 0xc0, 0x48, 0x89, 0x6c, 0x24, 0x48, 0x48, 0x8b, 0xd9, 0x48,\n\t  0x8d, 0x4c, 0x24, 0x20, 0x48, 0x89, 0x74, 0x24, 0x50, 0x48, 0x89, 0x7c,\n\t  0x24, 0x58, 0x48, 0x8b, 0xea, 0x48, 0x89, 0x44, 0x24, 0x20, 0x89, 0x44,\n\t  0x24, 0x28, 0xe8, 0xad, 0xfa, 0xff, 0xff, 0x48, 0x8b, 0x7c, 0x24, 0x20,\n\t  0x66, 0x33, 0xf6, 0x4c, 0x8b, 0xc7, 0x66, 0x39, 0x75, 0x00, 0x76, 0x47,\n\t  0x4d, 0x85, 0xc0, 0x74, 0x42, 0x41, 0x0f, 0xb6, 0x00, 0x0f, 0xb7, 0xd6,\n\t  0x66, 0xff, 0xc6, 0x48, 0x69, 0xd2, 0x08, 0x01, 0x00, 0x00, 0x88, 0x04,\n\t  0x1a, 0x8b, 0x04, 0x1a, 0x41, 0x33, 0x00, 0x25, 0x00, 0x1f, 0x00, 0x00,\n\t  0x31, 0x04, 0x1a, 0x8b, 0x04, 0x1a, 0x8b, 0xc8, 0x41, 0x33, 0x08, 0x81,\n\t  0xe1, 0x00, 0xe0, 0x00, 0x00, 0x33, 0xc8, 0x89, 0x0c, 0x1a, 0x66, 0x3b,\n\t  0x75, 0x00, 0x4d, 0x8b, 0x80, 0x48, 0x02, 0x00, 0x00, 0x72, 0xb9, 0x48,\n\t  0x85, 0xff, 0x74, 0x24, 0x48, 0x8b, 0x4f, 0x30, 0xff, 0x15, 0xae, 0x28,\n\t  0x00, 0x00, 0x48, 0x8b, 0x9f, 0x48, 0x02, 0x00, 0x00, 0x33, 0xd2, 0x48,\n\t  0x8b, 0xcf, 0xff, 0x15, 0x2c, 0x28, 0x00, 0x00, 0x48, 0x85, 0xdb, 0x48,\n\t  0x8b, 0xfb, 0x75, 0xdc, 0x48, 0x8b, 0x7c, 0x24, 0x58, 0x48, 0x8b, 0x5c,\n\t  0x24, 0x40, 0x66, 0x89, 0x75, 0x00, 0x48, 0x8b, 0x74, 0x24, 0x50, 0x48,\n\t  0x8b, 0x6c, 0x24, 0x48, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x58, 0x48, 0x89, 0x5c, 0x24, 0x78, 0x48, 0x89, 0x6c,\n\t  0x24, 0x50, 0x48, 0x89, 0x74, 0x24, 0x48, 0x48, 0x8b, 0xea, 0x48, 0x8b,\n\t  0xf1, 0x48, 0x89, 0x7c, 0x24, 0x40, 0x4c, 0x89, 0x64, 0x24, 0x38, 0x45,\n\t  0x8b, 0xe0, 0x41, 0xb8, 0x44, 0x64, 0x6b, 0x20, 0xba, 0x00, 0x01, 0x00,\n\t  0x00, 0x33, 0xc9, 0xbb, 0x02, 0x80, 0x6a, 0xc8, 0xff, 0x15, 0xb2, 0x27,\n\t  0x00, 0x00, 0x48, 0x85, 0xed, 0x48, 0x8b, 0xf8, 0x74, 0x3f, 0x48, 0x85,\n\t  0xc0, 0x74, 0x54, 0x48, 0x8b, 0xce, 0xe8, 0x3d, 0xfc, 0xff, 0xff, 0x48,\n\t  0x85, 0xc0, 0x74, 0x2d, 0x45, 0x33, 0xc9, 0x41, 0xb0, 0x0f, 0x48, 0x8b,\n\t  0xd7, 0x48, 0x8b, 0xc8, 0xc7, 0x44, 0x24, 0x20, 0x40, 0x00, 0x00, 0x00,\n\t  0xe8, 0x3f, 0xf3, 0xff, 0xff, 0x4d, 0x8b, 0xc4, 0x48, 0x8b, 0xd7, 0x49,\n\t  0xc1, 0xe0, 0x02, 0x48, 0x8b, 0xcd, 0xe8, 0x7d, 0x09, 0x00, 0x00, 0x33,\n\t  0xdb, 0x48, 0x85, 0xff, 0x74, 0x15, 0x48, 0x8d, 0x15, 0x8f, 0x18, 0x00,\n\t  0x00, 0x41, 0xb8, 0xee, 0x00, 0x00, 0x00, 0x48, 0x8b, 0xcf, 0xe8, 0xc1,\n\t  0xe4, 0xff, 0xff, 0x4c, 0x8b, 0x64, 0x24, 0x38, 0x48, 0x8b, 0x7c, 0x24,\n\t  0x40, 0x48, 0x8b, 0x74, 0x24, 0x48, 0x48, 0x8b, 0x6c, 0x24, 0x50, 0x8b,\n\t  0xc3, 0x48, 0x8b, 0x5c, 0x24, 0x78, 0x48, 0x83, 0xc4, 0x58, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x83, 0xec, 0x38, 0x4d, 0x85, 0xc0, 0x48,\n\t  0x89, 0x5c, 0x24, 0x58, 0x48, 0x89, 0x7c, 0x24, 0x30, 0x8b, 0xfa, 0x49,\n\t  0x8b, 0xd8, 0x74, 0x45, 0xe8, 0xa3, 0xfb, 0xff, 0xff, 0x48, 0x85, 0xc0,\n\t  0x74, 0x3b, 0x44, 0x8d, 0x0c, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x41, 0xb0,\n\t  0x0f, 0x48, 0x8b, 0xd3, 0x48, 0x8b, 0xc8, 0xc7, 0x44, 0x24, 0x20, 0x04,\n\t  0x00, 0x00, 0x00, 0xe8, 0xa0, 0xf2, 0xff, 0xff, 0x33, 0xd2, 0xb9, 0x09,\n\t  0x40, 0x6a, 0xc8, 0x85, 0xc0, 0x0f, 0x49, 0xca, 0x8b, 0xc1, 0x48, 0x8b,\n\t  0x7c, 0x24, 0x30, 0x48, 0x8b, 0x5c, 0x24, 0x58, 0x48, 0x83, 0xc4, 0x38,\n\t  0xc3, 0x48, 0x8b, 0x7c, 0x24, 0x30, 0x48, 0x8b, 0x5c, 0x24, 0x58, 0xb8,\n\t  0x02, 0x40, 0x6a, 0xc8, 0x48, 0x83, 0xc4, 0x38, 0xc3, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x44, 0x89, 0x44, 0x24, 0x18, 0x48, 0x81, 0xec, 0x88, 0x00, 0x00, 0x00,\n\t  0x48, 0x89, 0x9c, 0x24, 0xa8, 0x00, 0x00, 0x00, 0x48, 0x89, 0x7c, 0x24,\n\t  0x78, 0x8b, 0xfa, 0xe8, 0x20, 0xfb, 0xff, 0xff, 0x48, 0x85, 0xc0, 0x48,\n\t  0x8b, 0xd8, 0x0f, 0x84, 0xd4, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24,\n\t  0x58, 0x45, 0x33, 0xc0, 0x33, 0xd2, 0x48, 0x89, 0xb4, 0x24, 0x80, 0x00,\n\t  0x00, 0x00, 0xff, 0x15, 0xf4, 0x26, 0x00, 0x00, 0x33, 0xf6, 0x4c, 0x8d,\n\t  0x5c, 0x24, 0x48, 0x48, 0x8d, 0x44, 0x24, 0x58, 0x8d, 0x4e, 0x1b, 0x4c,\n\t  0x89, 0x5c, 0x24, 0x30, 0x48, 0x89, 0x44, 0x24, 0x28, 0x45, 0x33, 0xc9,\n\t  0x45, 0x33, 0xc0, 0x48, 0x8b, 0xd3, 0x48, 0x89, 0x74, 0x24, 0x20, 0xff,\n\t  0x15, 0xbf, 0x26, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x48, 0x8b, 0xd0, 0x74,\n\t  0x6d, 0x48, 0x8b, 0x88, 0xb8, 0x00, 0x00, 0x00, 0x48, 0x83, 0xe9, 0x48,\n\t  0x74, 0x60, 0xc7, 0x40, 0x30, 0xbb, 0x00, 0x00, 0xc0, 0x48, 0x8d, 0x84,\n\t  0x24, 0xa0, 0x00, 0x00, 0x00, 0xc6, 0x01, 0x1b, 0x48, 0x89, 0x41, 0x10,\n\t  0x8d, 0x04, 0xbd, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x41, 0x01, 0x10, 0xc7,\n\t  0x41, 0x20, 0x04, 0x00, 0x00, 0x00, 0x89, 0x71, 0x08, 0x89, 0x41, 0x18,\n\t  0x48, 0x8b, 0xcb, 0xff, 0x15, 0x6b, 0x26, 0x00, 0x00, 0x3d, 0x03, 0x01,\n\t  0x00, 0x00, 0x44, 0x8b, 0xd8, 0x75, 0x24, 0x48, 0x8d, 0x4c, 0x24, 0x58,\n\t  0x45, 0x33, 0xc9, 0x45, 0x33, 0xc0, 0x33, 0xd2, 0x48, 0x89, 0x74, 0x24,\n\t  0x20, 0xff, 0x15, 0x41, 0x26, 0x00, 0x00, 0x44, 0x8b, 0x5c, 0x24, 0x48,\n\t  0xeb, 0x05, 0x44, 0x8b, 0x5c, 0x24, 0x40, 0xb8, 0x09, 0x40, 0x6a, 0xc8,\n\t  0x45, 0x85, 0xdb, 0x0f, 0x49, 0xc6, 0x48, 0x8b, 0xb4, 0x24, 0x80, 0x00,\n\t  0x00, 0x00, 0xeb, 0x05, 0xb8, 0x02, 0x40, 0x6a, 0xc8, 0x48, 0x8b, 0x7c,\n\t  0x24, 0x78, 0x48, 0x8b, 0x9c, 0x24, 0xa8, 0x00, 0x00, 0x00, 0x48, 0x81,\n\t  0xc4, 0x88, 0x00, 0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x8b, 0xc4, 0x48, 0x81, 0xec, 0x88, 0x01, 0x00, 0x00, 0x48, 0x89,\n\t  0x58, 0xf8, 0x48, 0x89, 0x68, 0xf0, 0x48, 0x89, 0x70, 0xe8, 0x48, 0x89,\n\t  0x78, 0xe0, 0x4c, 0x89, 0x60, 0xd8, 0x4c, 0x89, 0x68, 0xd0, 0x4c, 0x8b,\n\t  0xe9, 0x41, 0x8b, 0xf9, 0x41, 0x0f, 0xb6, 0xd8, 0x8b, 0xf2, 0x41, 0xbc,\n\t  0x02, 0x40, 0x6a, 0xc8, 0xc7, 0x44, 0x24, 0x30, 0x00, 0x00, 0x00, 0x00,\n\t  0xe8, 0xdf, 0xf9, 0xff, 0xff, 0x48, 0x85, 0xc0, 0x48, 0x8b, 0xe8, 0x0f,\n\t  0x84, 0x50, 0x01, 0x00, 0x00, 0x45, 0x33, 0xe4, 0x80, 0xfb, 0x0f, 0x75,\n\t  0x27, 0x48, 0x8d, 0x4c, 0x24, 0x40, 0x49, 0x8b, 0xd5, 0x41, 0xb8, 0x08,\n\t  0x01, 0x00, 0x00, 0xe8, 0x28, 0x07, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24,\n\t  0x40, 0x44, 0x8b, 0xc7, 0x8b, 0xd6, 0xe8, 0x69, 0xfe, 0xff, 0xff, 0xe9,\n\t  0x24, 0x01, 0x00, 0x00, 0x80, 0xfb, 0x03, 0x75, 0x2e, 0x0f, 0xb7, 0xc7,\n\t  0x44, 0x8d, 0x0c, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x54, 0x24,\n\t  0x30, 0x41, 0xb0, 0x10, 0x48, 0x8b, 0xcd, 0xc7, 0x44, 0x24, 0x20, 0x02,\n\t  0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x30, 0xe8, 0x98, 0xf0, 0xff, 0xff,\n\t  0x33, 0xc0, 0xe9, 0xf1, 0x00, 0x00, 0x00, 0x80, 0xfb, 0x0c, 0x75, 0x2e,\n\t  0x44, 0x8d, 0x0c, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x54, 0x24,\n\t  0x30, 0xc1, 0xef, 0x10, 0x41, 0xb0, 0x10, 0x48, 0x8b, 0xc8, 0xc7, 0x44,\n\t  0x24, 0x20, 0x02, 0x00, 0x00, 0x00, 0x89, 0x7c, 0x24, 0x30, 0xe8, 0x65,\n\t  0xf0, 0xff, 0xff, 0x33, 0xc0, 0xe9, 0xbe, 0x00, 0x00, 0x00, 0xf6, 0xc3,\n\t  0x01, 0x74, 0x28, 0x40, 0x0f, 0xb6, 0xc7, 0x44, 0x8d, 0x0c, 0xb5, 0x00,\n\t  0x00, 0x00, 0x00, 0x48, 0x8d, 0x54, 0x24, 0x30, 0x41, 0xb0, 0x10, 0x48,\n\t  0x8b, 0xcd, 0xc7, 0x44, 0x24, 0x20, 0x01, 0x00, 0x00, 0x00, 0x89, 0x44,\n\t  0x24, 0x30, 0xe8, 0x31, 0xf0, 0xff, 0xff, 0xf6, 0xc3, 0x02, 0x74, 0x2c,\n\t  0x8b, 0xc7, 0x44, 0x8d, 0x0c, 0xb5, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8d,\n\t  0x54, 0x24, 0x30, 0xc1, 0xe8, 0x08, 0x41, 0xb0, 0x10, 0x48, 0x8b, 0xcd,\n\t  0x0f, 0xb6, 0xc0, 0xc7, 0x44, 0x24, 0x20, 0x01, 0x00, 0x00, 0x00, 0x89,\n\t  0x44, 0x24, 0x30, 0xe8, 0x00, 0xf0, 0xff, 0xff, 0xf6, 0xc3, 0x04, 0x74,\n\t  0x2c, 0x8b, 0xc7, 0x44, 0x8d, 0x0c, 0xb5, 0x02, 0x00, 0x00, 0x00, 0x48,\n\t  0x8d, 0x54, 0x24, 0x30, 0xc1, 0xe8, 0x10, 0x41, 0xb0, 0x10, 0x48, 0x8b,\n\t  0xcd, 0x0f, 0xb6, 0xc0, 0xc7, 0x44, 0x24, 0x20, 0x01, 0x00, 0x00, 0x00,\n\t  0x89, 0x44, 0x24, 0x30, 0xe8, 0xcf, 0xef, 0xff, 0xff, 0xf6, 0xc3, 0x08,\n\t  0x74, 0x27, 0xc1, 0xef, 0x18, 0x44, 0x8d, 0x0c, 0xb5, 0x03, 0x00, 0x00,\n\t  0x00, 0x48, 0x8d, 0x54, 0x24, 0x30, 0x41, 0xb0, 0x10, 0x48, 0x8b, 0xcd,\n\t  0xc7, 0x44, 0x24, 0x20, 0x01, 0x00, 0x00, 0x00, 0x89, 0x7c, 0x24, 0x30,\n\t  0xe8, 0xa3, 0xef, 0xff, 0xff, 0x41, 0x8b, 0xc4, 0x4c, 0x8b, 0xac, 0x24,\n\t  0x58, 0x01, 0x00, 0x00, 0x4c, 0x8b, 0xa4, 0x24, 0x60, 0x01, 0x00, 0x00,\n\t  0x48, 0x8b, 0xbc, 0x24, 0x68, 0x01, 0x00, 0x00, 0x48, 0x8b, 0xb4, 0x24,\n\t  0x70, 0x01, 0x00, 0x00, 0x48, 0x8b, 0xac, 0x24, 0x78, 0x01, 0x00, 0x00,\n\t  0x48, 0x8b, 0x9c, 0x24, 0x80, 0x01, 0x00, 0x00, 0x48, 0x81, 0xc4, 0x88,\n\t  0x01, 0x00, 0x00, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x28, 0x48, 0x85, 0xc9, 0x48, 0x89, 0x5c, 0x24, 0x40,\n\t  0x48, 0x89, 0x7c, 0x24, 0x48, 0x48, 0x8b, 0xf9, 0x48, 0x8b, 0xda, 0x0f,\n\t  0x84, 0xb9, 0x00, 0x00, 0x00, 0x48, 0x85, 0xd2, 0x0f, 0x84, 0xb0, 0x00,\n\t  0x00, 0x00, 0x48, 0x8d, 0x4a, 0x08, 0x48, 0x8d, 0x57, 0x08, 0x41, 0xb8,\n\t  0x08, 0x01, 0x00, 0x00, 0xe8, 0x77, 0x05, 0x00, 0x00, 0x44, 0x0f, 0xb6,\n\t  0x9f, 0x28, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0xc8, 0x14, 0x00, 0x00,\n\t  0x44, 0x88, 0x9b, 0x28, 0x01, 0x00, 0x00, 0x48, 0x8b, 0x07, 0x48, 0x89,\n\t  0x03, 0x48, 0x8b, 0x87, 0x10, 0x01, 0x00, 0x00, 0x48, 0x89, 0x83, 0x10,\n\t  0x01, 0x00, 0x00, 0x48, 0x8b, 0x87, 0x20, 0x01, 0x00, 0x00, 0x48, 0x89,\n\t  0x83, 0x20, 0x01, 0x00, 0x00, 0x48, 0x8b, 0x87, 0x18, 0x01, 0x00, 0x00,\n\t  0xc6, 0x83, 0x50, 0x01, 0x00, 0x00, 0x00, 0x48, 0x89, 0x83, 0x18, 0x01,\n\t  0x00, 0x00, 0x8b, 0x83, 0x70, 0x01, 0x00, 0x00, 0x48, 0x8b, 0x93, 0x18,\n\t  0x01, 0x00, 0x00, 0x89, 0x83, 0x40, 0x01, 0x00, 0x00, 0x8b, 0x83, 0x64,\n\t  0x01, 0x00, 0x00, 0x89, 0x83, 0x34, 0x01, 0x00, 0x00, 0x0f, 0xb6, 0x83,\n\t  0x60, 0x01, 0x00, 0x00, 0x88, 0x83, 0x30, 0x01, 0x00, 0x00, 0x48, 0x8b,\n\t  0x83, 0x68, 0x01, 0x00, 0x00, 0x48, 0x89, 0x83, 0x38, 0x01, 0x00, 0x00,\n\t  0xe8, 0xbb, 0xe1, 0xff, 0xff, 0x33, 0xc0, 0x48, 0x8b, 0x7c, 0x24, 0x48,\n\t  0x48, 0x8b, 0x5c, 0x24, 0x40, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0x48, 0x8b,\n\t  0x7c, 0x24, 0x48, 0x48, 0x8b, 0x5c, 0x24, 0x40, 0xb8, 0x01, 0x00, 0x00,\n\t  0x00, 0x48, 0x83, 0xc4, 0x28, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xb8, 0x03, 0x00, 0x6a, 0xc8, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83, 0xec, 0x20, 0x48, 0x85,\n\t  0xc9, 0x48, 0x8b, 0xd9, 0x74, 0x39, 0x80, 0xb9, 0x29, 0x01, 0x00, 0x00,\n\t  0x00, 0x48, 0x8d, 0x05, 0x64, 0x14, 0x00, 0x00, 0x48, 0x8d, 0x15, 0x4d,\n\t  0x14, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x16, 0x14, 0x00, 0x00, 0x48, 0x0f,\n\t  0x45, 0xd0, 0xe8, 0x4d, 0xe1, 0xff, 0xff, 0x0f, 0xb6, 0x83, 0x29, 0x01,\n\t  0x00, 0x00, 0xc6, 0x83, 0x29, 0x01, 0x00, 0x00, 0x00, 0x48, 0x83, 0xc4,\n\t  0x20, 0x5b, 0xc3, 0x32, 0xc0, 0x48, 0x83, 0xc4, 0x20, 0x5b, 0xc3, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x53, 0x48, 0x83, 0xec, 0x20, 0xba, 0x30,\n\t  0x06, 0x00, 0x00, 0x33, 0xc9, 0x41, 0xb8, 0x44, 0x64, 0x6b, 0x20, 0xff,\n\t  0x15, 0x27, 0x22, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x48, 0x8b, 0xd8, 0x74,\n\t  0x13, 0x33, 0xd2, 0x41, 0xb8, 0x30, 0x06, 0x00, 0x00, 0x48, 0x8b, 0xc8,\n\t  0xe8, 0x6f, 0x07, 0x00, 0x00, 0x48, 0x8b, 0xc3, 0x48, 0x83, 0xc4, 0x20,\n\t  0x5b, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x74,\n\t  0x3e, 0x53, 0x48, 0x83, 0xec, 0x20, 0x83, 0xb9, 0xa8, 0x03, 0x00, 0x00,\n\t  0x00, 0x48, 0x8b, 0xd9, 0x74, 0x14, 0x48, 0x8b, 0x89, 0x88, 0x01, 0x00,\n\t  0x00, 0xff, 0x15, 0x55, 0x22, 0x00, 0x00, 0x83, 0x83, 0xa8, 0x03, 0x00,\n\t  0x00, 0xff, 0x83, 0xbb, 0xa8, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0b, 0x33,\n\t  0xd2, 0x48, 0x8b, 0xcb, 0xff, 0x15, 0xca, 0x21, 0x00, 0x00, 0x48, 0x83,\n\t  0xc4, 0x20, 0x5b, 0xc2, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x85, 0xc9, 0x0f, 0x84, 0x92, 0x00, 0x00,\n\t  0x00, 0x53, 0x48, 0x83, 0xec, 0x40, 0x48, 0x8b, 0xda, 0x48, 0x8d, 0x91,\n\t  0x98, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24, 0x30, 0xff, 0x15, 0xfd,\n\t  0x21, 0x00, 0x00, 0xba, 0x04, 0x01, 0x00, 0x00, 0x41, 0xb8, 0x44, 0x64,\n\t  0x6b, 0x20, 0xb9, 0x01, 0x00, 0x00, 0x00, 0x66, 0xc7, 0x44, 0x24, 0x20,\n\t  0x04, 0x01, 0x66, 0xc7, 0x44, 0x24, 0x22, 0x04, 0x01, 0xff, 0x15, 0x69,\n\t  0x21, 0x00, 0x00, 0x48, 0x85, 0xc0, 0x48, 0x89, 0x44, 0x24, 0x28, 0x74,\n\t  0x45, 0x48, 0x8d, 0x54, 0x24, 0x30, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0x45,\n\t  0x33, 0xc0, 0xff, 0x15, 0x04, 0x22, 0x00, 0x00, 0x48, 0x8b, 0x4c, 0x24,\n\t  0x28, 0x85, 0xc0, 0x78, 0x21, 0x48, 0x8b, 0xd1, 0x48, 0x2b, 0xd9, 0x90,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90,\n\t  0x0f, 0xb6, 0x02, 0x48, 0xff, 0xc2, 0x84, 0xc0, 0x88, 0x44, 0x13, 0xff,\n\t  0x75, 0xf2, 0x33, 0xd2, 0xff, 0x15, 0x22, 0x21, 0x00, 0x00, 0x48, 0x83,\n\t  0xc4, 0x40, 0x5b, 0xc2, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4c, 0x8b, 0xdc, 0x48, 0x81, 0xec, 0xf8, 0x04, 0x00, 0x00, 0x48, 0x8b,\n\t  0x05, 0xc7, 0x31, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0xe0, 0x04, 0x00,\n\t  0x00, 0x48, 0x85, 0xc9, 0x49, 0x89, 0x5b, 0x18, 0x49, 0x89, 0x7b, 0x20,\n\t  0x48, 0x8b, 0xf9, 0xbb, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x84, 0x49, 0x02,\n\t  0x00, 0x00, 0x48, 0x8b, 0x11, 0x48, 0x8d, 0x0d, 0xb4, 0x15, 0x00, 0x00,\n\t  0xe8, 0x9f, 0xdf, 0xff, 0xff, 0x48, 0x8b, 0x17, 0x48, 0x8d, 0x42, 0xff,\n\t  0x48, 0x83, 0xf8, 0x07, 0x0f, 0x87, 0x18, 0x02, 0x00, 0x00, 0x48, 0x8d,\n\t  0x0d, 0x77, 0xc0, 0xff, 0xff, 0x8b, 0x84, 0x81, 0xd4, 0x41, 0x00, 0x00,\n\t  0x48, 0x03, 0xc1, 0xff, 0xe0, 0x48, 0x83, 0xc7, 0x10, 0x74, 0x35, 0x48,\n\t  0x8d, 0x4c, 0x24, 0x20, 0x48, 0x8d, 0x57, 0x08, 0x41, 0xb8, 0x08, 0x01,\n\t  0x00, 0x00, 0xe8, 0x91, 0x02, 0x00, 0x00, 0x48, 0x8b, 0x1f, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x20, 0x48, 0x8d, 0x93, 0x58, 0x01, 0x00, 0x00, 0xe8, 0x0d,\n\t  0xf6, 0xff, 0xff, 0xff, 0x83, 0xa8, 0x03, 0x00, 0x00, 0x33, 0xdb, 0xe9,\n\t  0xdb, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0xf9, 0x14, 0x00, 0x00, 0xe8,\n\t  0x34, 0xdf, 0xff, 0xff, 0xe9, 0xca, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4f,\n\t  0x10, 0x48, 0x85, 0xc9, 0x74, 0x13, 0x48, 0x8d, 0x51, 0x08, 0x48, 0x8b,\n\t  0x09, 0xe8, 0x8a, 0xfe, 0xff, 0xff, 0x33, 0xdb, 0xe9, 0xae, 0x01, 0x00,\n\t  0x00, 0x48, 0x8d, 0x0d, 0x6c, 0x14, 0x00, 0x00, 0xe8, 0x07, 0xdf, 0xff,\n\t  0xff, 0xe9, 0x9d, 0x01, 0x00, 0x00, 0x48, 0x83, 0xc7, 0x10, 0x74, 0x0f,\n\t  0xe8, 0xd7, 0xfd, 0xff, 0xff, 0x33, 0xdb, 0x48, 0x89, 0x07, 0xe9, 0x88,\n\t  0x01, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0xe6, 0x13, 0x00, 0x00, 0xe8, 0xe1,\n\t  0xde, 0xff, 0xff, 0xe9, 0x77, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4f, 0x10,\n\t  0x48, 0x85, 0xc9, 0x74, 0x0f, 0x48, 0x8b, 0x09, 0xe8, 0xeb, 0xfd, 0xff,\n\t  0xff, 0x33, 0xdb, 0xe9, 0x5f, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x5d,\n\t  0x13, 0x00, 0x00, 0xe8, 0xb8, 0xde, 0xff, 0xff, 0xe9, 0x4e, 0x01, 0x00,\n\t  0x00, 0x48, 0x83, 0xc7, 0x10, 0x0f, 0x84, 0x80, 0x00, 0x00, 0x00, 0x48,\n\t  0x8d, 0x8c, 0x24, 0x38, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x57, 0x08, 0x41,\n\t  0xb8, 0x08, 0x01, 0x00, 0x00, 0xe8, 0xc2, 0x01, 0x00, 0x00, 0x48, 0x8b,\n\t  0x07, 0x44, 0x0f, 0xb6, 0x9f, 0x28, 0x01, 0x00, 0x00, 0x48, 0x8b, 0x97,\n\t  0x30, 0x01, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0x30, 0x01, 0x00, 0x00,\n\t  0x48, 0x8b, 0x87, 0x10, 0x01, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0x40,\n\t  0x02, 0x00, 0x00, 0x48, 0x8b, 0x87, 0x20, 0x01, 0x00, 0x00, 0x48, 0x8d,\n\t  0x8c, 0x24, 0x30, 0x01, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0x50, 0x02,\n\t  0x00, 0x00, 0x48, 0x8b, 0x87, 0x18, 0x01, 0x00, 0x00, 0x44, 0x88, 0x9c,\n\t  0x24, 0x58, 0x02, 0x00, 0x00, 0x48, 0x89, 0x84, 0x24, 0x48, 0x02, 0x00,\n\t  0x00, 0xe8, 0xb6, 0xfb, 0xff, 0xff, 0x33, 0xdb, 0x89, 0x87, 0x38, 0x01,\n\t  0x00, 0x00, 0xe9, 0xc4, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0x72, 0x12,\n\t  0x00, 0x00, 0xe8, 0x1d, 0xde, 0xff, 0xff, 0xe9, 0xb3, 0x00, 0x00, 0x00,\n\t  0x48, 0x83, 0xc7, 0x10, 0x74, 0x0e, 0xe8, 0xed, 0xd0, 0xff, 0xff, 0x33,\n\t  0xdb, 0x89, 0x07, 0xe9, 0x9f, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x0d, 0xed,\n\t  0x11, 0x00, 0x00, 0xe8, 0xf8, 0xdd, 0xff, 0xff, 0xe9, 0x8e, 0x00, 0x00,\n\t  0x00, 0x48, 0x83, 0xc7, 0x10, 0x74, 0x2e, 0x48, 0x8d, 0x4c, 0x24, 0x20,\n\t  0x48, 0x8b, 0xd7, 0x41, 0xb8, 0x08, 0x01, 0x00, 0x00, 0xe8, 0x0a, 0x01,\n\t  0x00, 0x00, 0x0f, 0xb6, 0x97, 0x09, 0x01, 0x00, 0x00, 0x48, 0x8d, 0x4c,\n\t  0x24, 0x20, 0xe8, 0xb9, 0xd0, 0xff, 0xff, 0x33, 0xdb, 0x88, 0x87, 0x08,\n\t  0x01, 0x00, 0x00, 0xeb, 0x5a, 0x48, 0x8d, 0x0d, 0x58, 0x11, 0x00, 0x00,\n\t  0xe8, 0xb3, 0xdd, 0xff, 0xff, 0xeb, 0x4c, 0x48, 0x83, 0xc7, 0x10, 0x74,\n\t  0x27, 0x48, 0x8d, 0x4c, 0x24, 0x20, 0x48, 0x8b, 0xd7, 0x41, 0xb8, 0x08,\n\t  0x01, 0x00, 0x00, 0xe8, 0xc8, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x4c, 0x24,\n\t  0x20, 0xe8, 0x4e, 0xd1, 0xff, 0xff, 0x33, 0xdb, 0x88, 0x87, 0x08, 0x01,\n\t  0x00, 0x00, 0xeb, 0x1f, 0x48, 0x8d, 0x0d, 0xbd, 0x10, 0x00, 0x00, 0xe8,\n\t  0x78, 0xdd, 0xff, 0xff, 0xeb, 0x11, 0x48, 0x8d, 0x0d, 0x7f, 0x10, 0x00,\n\t  0x00, 0xe8, 0x6a, 0xdd, 0xff, 0xff, 0xbb, 0x18, 0x20, 0x6a, 0xc8, 0x48,\n\t  0x8b, 0xbc, 0x24, 0x18, 0x05, 0x00, 0x00, 0x8b, 0xc3, 0x48, 0x8b, 0x9c,\n\t  0x24, 0x10, 0x05, 0x00, 0x00, 0x48, 0x8b, 0x8c, 0x24, 0xe0, 0x04, 0x00,\n\t  0x00, 0xe8, 0xd6, 0x04, 0x00, 0x00, 0x48, 0x81, 0xc4, 0xf8, 0x04, 0x00,\n\t  0x00, 0xc3, 0x66, 0x90, 0x95, 0x3f, 0x00, 0x00, 0xe1, 0x3f, 0x00, 0x00,\n\t  0x0e, 0x40, 0x00, 0x00, 0x34, 0x40, 0x00, 0x00, 0x5d, 0x40, 0x00, 0x00,\n\t  0xf8, 0x40, 0x00, 0x00, 0x1d, 0x41, 0x00, 0x00, 0x5f, 0x41, 0x00, 0x00,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x48, 0x83, 0xec, 0x38, 0x4c, 0x8b, 0x0d, 0xf5, 0x2e, 0x00, 0x00, 0x4c,\n\t  0x8b, 0x05, 0xf6, 0x2e, 0x00, 0x00, 0x48, 0x8b, 0xd1, 0xb9, 0xf7, 0x00,\n\t  0x00, 0x00, 0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff,\n\t  0x15, 0xf7, 0x1e, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66,\n\t  0x66, 0x90, 0x66, 0x90, 0x4c, 0x8b, 0xd9, 0x48, 0x2b, 0xd1, 0x0f, 0x86,\n\t  0x9c, 0x01, 0x00, 0x00, 0x49, 0x83, 0xf8, 0x08, 0x72, 0x62, 0xf6, 0xc1,\n\t  0x07, 0x74, 0x37, 0xf6, 0xc1, 0x01, 0x74, 0x0c, 0x8a, 0x04, 0x0a, 0x49,\n\t  0xff, 0xc8, 0x88, 0x01, 0x48, 0x83, 0xc1, 0x01, 0xf6, 0xc1, 0x02, 0x74,\n\t  0x0f, 0x66, 0x8b, 0x04, 0x0a, 0x49, 0x83, 0xe8, 0x02, 0x66, 0x89, 0x01,\n\t  0x48, 0x83, 0xc1, 0x02, 0xf6, 0xc1, 0x04, 0x74, 0x0d, 0x8b, 0x04, 0x0a,\n\t  0x49, 0x83, 0xe8, 0x04, 0x89, 0x01, 0x48, 0x83, 0xc1, 0x04, 0x4d, 0x8b,\n\t  0xc8, 0x49, 0xc1, 0xe9, 0x05, 0x75, 0x50, 0x4d, 0x8b, 0xc8, 0x49, 0xc1,\n\t  0xe9, 0x03, 0x74, 0x14, 0x48, 0x8b, 0x04, 0x0a, 0x48, 0x89, 0x01, 0x48,\n\t  0x83, 0xc1, 0x08, 0x49, 0xff, 0xc9, 0x75, 0xf0, 0x49, 0x83, 0xe0, 0x07,\n\t  0x4d, 0x85, 0xc0, 0x75, 0x07, 0x49, 0x8b, 0xc3, 0xc3, 0x66, 0x66, 0x90,\n\t  0x8a, 0x04, 0x0a, 0x88, 0x01, 0x48, 0xff, 0xc1, 0x49, 0xff, 0xc8, 0x75,\n\t  0xf3, 0x49, 0x8b, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66,\n\t  0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90,\n\t  0x66, 0x66, 0x90, 0x49, 0x81, 0xf9, 0x00, 0x08, 0x00, 0x00, 0x73, 0x42,\n\t  0x48, 0x8b, 0x04, 0x0a, 0x4c, 0x8b, 0x54, 0x0a, 0x08, 0x48, 0x83, 0xc1,\n\t  0x20, 0x48, 0x89, 0x41, 0xe0, 0x4c, 0x89, 0x51, 0xe8, 0x48, 0x8b, 0x44,\n\t  0x0a, 0xf0, 0x4c, 0x8b, 0x54, 0x0a, 0xf8, 0x49, 0xff, 0xc9, 0x48, 0x89,\n\t  0x41, 0xf0, 0x4c, 0x89, 0x51, 0xf8, 0x75, 0xd4, 0x49, 0x83, 0xe0, 0x1f,\n\t  0xe9, 0x72, 0xff, 0xff, 0xff, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66,\n\t  0x90, 0x66, 0x66, 0x90, 0x66, 0x90, 0x48, 0x81, 0xfa, 0x00, 0x10, 0x00,\n\t  0x00, 0x72, 0xb5, 0xb8, 0x20, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x04, 0x0a,\n\t  0x0f, 0x18, 0x44, 0x0a, 0x40, 0x48, 0x81, 0xc1, 0x80, 0x00, 0x00, 0x00,\n\t  0xff, 0xc8, 0x75, 0xec, 0x48, 0x81, 0xe9, 0x00, 0x10, 0x00, 0x00, 0xb8,\n\t  0x40, 0x00, 0x00, 0x00, 0x4c, 0x8b, 0x0c, 0x0a, 0x4c, 0x8b, 0x54, 0x0a,\n\t  0x08, 0x4c, 0x0f, 0xc3, 0x09, 0x4c, 0x0f, 0xc3, 0x51, 0x08, 0x4c, 0x8b,\n\t  0x4c, 0x0a, 0x10, 0x4c, 0x8b, 0x54, 0x0a, 0x18, 0x4c, 0x0f, 0xc3, 0x49,\n\t  0x10, 0x4c, 0x0f, 0xc3, 0x51, 0x18, 0x4c, 0x8b, 0x4c, 0x0a, 0x20, 0x4c,\n\t  0x8b, 0x54, 0x0a, 0x28, 0x48, 0x83, 0xc1, 0x40, 0x4c, 0x0f, 0xc3, 0x49,\n\t  0xe0, 0x4c, 0x0f, 0xc3, 0x51, 0xe8, 0x4c, 0x8b, 0x4c, 0x0a, 0xf0, 0x4c,\n\t  0x8b, 0x54, 0x0a, 0xf8, 0xff, 0xc8, 0x4c, 0x0f, 0xc3, 0x49, 0xf0, 0x4c,\n\t  0x0f, 0xc3, 0x51, 0xf8, 0x75, 0xaa, 0x49, 0x81, 0xe8, 0x00, 0x10, 0x00,\n\t  0x00, 0x49, 0x81, 0xf8, 0x00, 0x10, 0x00, 0x00, 0x0f, 0x83, 0x71, 0xff,\n\t  0xff, 0xff, 0xf0, 0x80, 0x0c, 0x24, 0x00, 0xe9, 0xba, 0xfe, 0xff, 0xff,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x74, 0x6f, 0x49, 0x03,\n\t  0xc8, 0x49, 0x83, 0xf8, 0x08, 0x72, 0x61, 0xf6, 0xc1, 0x07, 0x74, 0x36,\n\t  0xf6, 0xc1, 0x01, 0x74, 0x0b, 0x48, 0xff, 0xc9, 0x8a, 0x04, 0x0a, 0x49,\n\t  0xff, 0xc8, 0x88, 0x01, 0xf6, 0xc1, 0x02, 0x74, 0x0f, 0x48, 0x83, 0xe9,\n\t  0x02, 0x66, 0x8b, 0x04, 0x0a, 0x49, 0x83, 0xe8, 0x02, 0x66, 0x89, 0x01,\n\t  0xf6, 0xc1, 0x04, 0x74, 0x0d, 0x48, 0x83, 0xe9, 0x04, 0x8b, 0x04, 0x0a,\n\t  0x49, 0x83, 0xe8, 0x04, 0x89, 0x01, 0x4d, 0x8b, 0xc8, 0x49, 0xc1, 0xe9,\n\t  0x05, 0x75, 0x50, 0x4d, 0x8b, 0xc8, 0x49, 0xc1, 0xe9, 0x03, 0x74, 0x14,\n\t  0x48, 0x83, 0xe9, 0x08, 0x48, 0x8b, 0x04, 0x0a, 0x49, 0xff, 0xc9, 0x48,\n\t  0x89, 0x01, 0x75, 0xf0, 0x49, 0x83, 0xe0, 0x07, 0x4d, 0x85, 0xc0, 0x75,\n\t  0x07, 0x49, 0x8b, 0xc3, 0xc3, 0x66, 0x66, 0x90, 0x48, 0xff, 0xc9, 0x8a,\n\t  0x04, 0x0a, 0x49, 0xff, 0xc8, 0x88, 0x01, 0x75, 0xf3, 0x49, 0x8b, 0xc3,\n\t  0xc3, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66,\n\t  0x90, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x49,\n\t  0x81, 0xf9, 0x00, 0x08, 0x00, 0x00, 0x73, 0x42, 0x48, 0x8b, 0x44, 0x0a,\n\t  0xf8, 0x4c, 0x8b, 0x54, 0x0a, 0xf0, 0x48, 0x83, 0xe9, 0x20, 0x48, 0x89,\n\t  0x41, 0x18, 0x4c, 0x89, 0x51, 0x10, 0x48, 0x8b, 0x44, 0x0a, 0x08, 0x4c,\n\t  0x8b, 0x14, 0x0a, 0x49, 0xff, 0xc9, 0x48, 0x89, 0x41, 0x08, 0x4c, 0x89,\n\t  0x11, 0x75, 0xd5, 0x49, 0x83, 0xe0, 0x1f, 0xe9, 0x73, 0xff, 0xff, 0xff,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90,\n\t  0x66, 0x90, 0x48, 0x81, 0xfa, 0x00, 0xf0, 0xff, 0xff, 0x77, 0xb5, 0xb8,\n\t  0x20, 0x00, 0x00, 0x00, 0x48, 0x81, 0xe9, 0x80, 0x00, 0x00, 0x00, 0x0f,\n\t  0x18, 0x04, 0x0a, 0x0f, 0x18, 0x44, 0x0a, 0x40, 0xff, 0xc8, 0x75, 0xec,\n\t  0x48, 0x81, 0xc1, 0x00, 0x10, 0x00, 0x00, 0xb8, 0x40, 0x00, 0x00, 0x00,\n\t  0x4c, 0x8b, 0x4c, 0x0a, 0xf8, 0x4c, 0x8b, 0x54, 0x0a, 0xf0, 0x4c, 0x0f,\n\t  0xc3, 0x49, 0xf8, 0x4c, 0x0f, 0xc3, 0x51, 0xf0, 0x4c, 0x8b, 0x4c, 0x0a,\n\t  0xe8, 0x4c, 0x8b, 0x54, 0x0a, 0xe0, 0x4c, 0x0f, 0xc3, 0x49, 0xe8, 0x4c,\n\t  0x0f, 0xc3, 0x51, 0xe0, 0x4c, 0x8b, 0x4c, 0x0a, 0xd8, 0x4c, 0x8b, 0x54,\n\t  0x0a, 0xd0, 0x48, 0x83, 0xe9, 0x40, 0x4c, 0x0f, 0xc3, 0x49, 0x18, 0x4c,\n\t  0x0f, 0xc3, 0x51, 0x10, 0x4c, 0x8b, 0x4c, 0x0a, 0x08, 0x4c, 0x8b, 0x14,\n\t  0x0a, 0xff, 0xc8, 0x4c, 0x0f, 0xc3, 0x49, 0x08, 0x4c, 0x0f, 0xc3, 0x11,\n\t  0x75, 0xaa, 0x49, 0x81, 0xe8, 0x00, 0x10, 0x00, 0x00, 0x49, 0x81, 0xf8,\n\t  0x00, 0x10, 0x00, 0x00, 0x0f, 0x83, 0x71, 0xff, 0xff, 0xff, 0xf0, 0x80,\n\t  0x0c, 0x24, 0x00, 0xe9, 0xba, 0xfe, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x90,\n\t  0x48, 0x8b, 0xc1, 0x49, 0x83, 0xf8, 0x08, 0x72, 0x53, 0x0f, 0xb6, 0xd2,\n\t  0x49, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x49, 0x0f,\n\t  0xaf, 0xd1, 0x49, 0x83, 0xf8, 0x40, 0x72, 0x1e, 0x48, 0xf7, 0xd9, 0x83,\n\t  0xe1, 0x07, 0x74, 0x06, 0x4c, 0x2b, 0xc1, 0x48, 0x89, 0x10, 0x48, 0x03,\n\t  0xc8, 0x4d, 0x8b, 0xc8, 0x49, 0x83, 0xe0, 0x3f, 0x49, 0xc1, 0xe9, 0x06,\n\t  0x75, 0x39, 0x4d, 0x8b, 0xc8, 0x49, 0x83, 0xe0, 0x07, 0x49, 0xc1, 0xe9,\n\t  0x03, 0x74, 0x11, 0x66, 0x66, 0x66, 0x90, 0x90, 0x48, 0x89, 0x11, 0x48,\n\t  0x83, 0xc1, 0x08, 0x49, 0xff, 0xc9, 0x75, 0xf4, 0x4d, 0x85, 0xc0, 0x74,\n\t  0x0a, 0x88, 0x11, 0x48, 0xff, 0xc1, 0x49, 0xff, 0xc8, 0x75, 0xf6, 0xc3,\n\t  0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x49,\n\t  0x81, 0xf9, 0x00, 0x04, 0x00, 0x00, 0x73, 0x30, 0x48, 0x89, 0x11, 0x48,\n\t  0x89, 0x51, 0x08, 0x48, 0x89, 0x51, 0x10, 0x48, 0x83, 0xc1, 0x40, 0x48,\n\t  0x89, 0x51, 0xd8, 0x48, 0x89, 0x51, 0xe0, 0x49, 0xff, 0xc9, 0x48, 0x89,\n\t  0x51, 0xe8, 0x48, 0x89, 0x51, 0xf0, 0x48, 0x89, 0x51, 0xf8, 0x75, 0xd8,\n\t  0xeb, 0x94, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x48, 0x0f, 0xc3, 0x11,\n\t  0x48, 0x0f, 0xc3, 0x51, 0x08, 0x48, 0x0f, 0xc3, 0x51, 0x10, 0x48, 0x83,\n\t  0xc1, 0x40, 0x48, 0x0f, 0xc3, 0x51, 0xd8, 0x48, 0x0f, 0xc3, 0x51, 0xe0,\n\t  0x49, 0xff, 0xc9, 0x48, 0x0f, 0xc3, 0x51, 0xe8, 0x48, 0x0f, 0xc3, 0x51,\n\t  0xf0, 0x48, 0x0f, 0xc3, 0x51, 0xf8, 0x75, 0xd0, 0xf0, 0x80, 0x0c, 0x24,\n\t  0x00, 0xe9, 0x54, 0xff, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xff, 0x25, 0xc2, 0x19, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x66, 0x66,\n\t  0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x90, 0x48, 0x3b, 0x0d, 0x61,\n\t  0x2a, 0x00, 0x00, 0x75, 0x10, 0x48, 0xc1, 0xc1, 0x10, 0x66, 0xf7, 0xc1,\n\t  0xff, 0xff, 0x75, 0x01, 0xc3, 0x48, 0xc1, 0xc9, 0x10, 0xe9, 0x42, 0xfb,\n\t  0xff, 0xff, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20, 0x57, 0x69, 0x6e, 0x64,\n\t  0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x20, 0x55,\n\t  0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x20, 0x4c, 0x65, 0x61, 0x76, 0x69,\n\t  0x6e, 0x67, 0x2e, 0x2e, 0x2e, 0x20, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x5c, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x5c, 0x00,\n\t  0x4e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x20, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x20, 0x53,\n\t  0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x0a, 0x00, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x3a,\n\t  0x20, 0x64, 0x6f, 0x6e, 0x65, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x49, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79,\n\t  0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x66,\n\t  0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, 0x20, 0x20, 0x53, 0x74, 0x61, 0x74,\n\t  0x75, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0xcc,\n\t  0x5c, 0x00, 0x44, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x44, 0x00, 0x65, 0x00,\n\t  0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5c, 0x00,\n\t  0x4e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x49, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65,\n\t  0x76, 0x69, 0x63, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e,\n\t  0x20, 0x20, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x3d, 0x20, 0x30,\n\t  0x78, 0x25, 0x30, 0x78, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x5c, 0x00, 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00,\n\t  0x65, 0x00, 0x5c, 0x00, 0x4e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x00, 0x00,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x3a,\n\t  0x20, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x20, 0x4c, 0x65,\n\t  0x61, 0x76, 0x69, 0x6e, 0x67, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x20, 0x53, 0x74,\n\t  0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x3a, 0x20, 0x4c, 0x65, 0x61,\n\t  0x76, 0x69, 0x6e, 0x67, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x3a, 0x20, 0x53, 0x74, 0x61,\n\t  0x72, 0x74, 0x69, 0x6e, 0x67, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x44,\n\t  0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,\n\t  0x3a, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65,\n\t  0x72, 0x20, 0x77, 0x61, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74,\n\t  0x72, 0x6f, 0x6c, 0x3a, 0x20, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,\n\t  0x20, 0x49, 0x4f, 0x43, 0x54, 0x4c, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20,\n\t  0x30, 0x78, 0x25, 0x30, 0x78, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44,\n\t  0x45, 0x42, 0x55, 0x47, 0x5f, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x46,\n\t  0x55, 0x4e, 0x43, 0x49, 0x44, 0x3a, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74,\n\t  0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x4e,\n\t  0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x41, 0x4c, 0x5f, 0x4b, 0x4b, 0x4d, 0x45,\n\t  0x4d, 0x43, 0x50, 0x59, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x49, 0x44, 0x3a,\n\t  0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,\n\t  0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x77, 0x61, 0x73, 0x20,\n\t  0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x41, 0x4c, 0x5f,\n\t  0x4b, 0x55, 0x4d, 0x45, 0x4d, 0x43, 0x50, 0x59, 0x5f, 0x46, 0x55, 0x4e,\n\t  0x43, 0x49, 0x44, 0x3a, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20,\n\t  0x74, 0x68, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20,\n\t  0x77, 0x61, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x41, 0x4c, 0x5f, 0x4b, 0x4d, 0x45, 0x4d, 0x53, 0x45, 0x54, 0x5f,\n\t  0x46, 0x55, 0x4e, 0x43, 0x49, 0x44, 0x3a, 0x20, 0x4f, 0x6e, 0x65, 0x20,\n\t  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65,\n\t  0x72, 0x73, 0x20, 0x77, 0x61, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a,\n\t  0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x3a, 0x20,\n\t  0x25, 0x73, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x5f, 0x4e, 0x61, 0x6c,\n\t  0x57, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x55, 0x6e, 0x61, 0x62, 0x6c,\n\t  0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74,\n\t  0x65, 0x20, 0x4d, 0x44, 0x4c, 0x0a, 0x00, 0xcc, 0x5f, 0x4e, 0x61, 0x6c,\n\t  0x57, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x41, 0x64, 0x64, 0x72, 0x65,\n\t  0x73, 0x73, 0x20, 0x54, 0x6f, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20, 0x3d,\n\t  0x20, 0x30, 0x78, 0x25, 0x70, 0x0a, 0x00, 0xcc, 0x5f, 0x4e, 0x61, 0x6c,\n\t  0x57, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x4d, 0x6d, 0x4d, 0x61, 0x70,\n\t  0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x20,\n\t  0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, 0x20, 0x46, 0x72, 0x65, 0x65,\n\t  0x69, 0x6e, 0x67, 0x20, 0x4d, 0x44, 0x4c, 0x0a, 0x00, 0xcc, 0xcc, 0xcc,\n\t  0x5f, 0x4e, 0x61, 0x6c, 0x57, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73,\n\t  0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x4b,\n\t  0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x70,\n\t  0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x49, 0x5a,\n\t  0x45, 0x20, 0x2a, 0x20, 0x28, 0x36, 0x35, 0x35, 0x33, 0x35, 0x20, 0x2d,\n\t  0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4d, 0x44, 0x4c, 0x29,\n\t  0x29, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x55,\n\t  0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x50, 0x54, 0x52, 0x29, 0x20, 0x3d, 0x20,\n\t  0x25, 0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x5f, 0x4e, 0x61, 0x6c,\n\t  0x57, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x55, 0x73, 0x69, 0x6e, 0x67,\n\t  0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x6d, 0x61, 0x70, 0x20,\n\t  0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x73, 0x6c, 0x6f, 0x74, 0x20, 0x25,\n\t  0x64, 0x20, 0x2d, 0x20, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x25,\n\t  0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70,\n\t  0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x55, 0x6e, 0x6d,\n\t  0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x75,\n\t  0x73, 0x65, 0x72, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70,\n\t  0x65, 0x64, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x30,\n\t  0x78, 0x25, 0x70, 0x2c, 0x20, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20,\n\t  0x25, 0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72,\n\t  0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x41, 0x64, 0x64, 0x72, 0x65,\n\t  0x73, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64,\n\t  0x20, 0x69, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x2d, 0x20,\n\t  0x6e, 0x6f, 0x74, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e,\n\t  0x67, 0x20, 0x30, 0x78, 0x25, 0x70, 0x2c, 0x20, 0x4c, 0x65, 0x6e, 0x67,\n\t  0x74, 0x68, 0x20, 0x25, 0x64, 0x0a, 0x00, 0xcc, 0x4e, 0x61, 0x6c, 0x55,\n\t  0x6e, 0x6d, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45,\n\t  0x78, 0x3a, 0x20, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x57, 0x69,\n\t  0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x54, 0x61,\n\t  0x62, 0x6c, 0x65, 0x5b, 0x69, 0x5d, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65,\n\t  0x73, 0x73, 0x54, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x20, 0x3d, 0x20, 0x25,\n\t  0x70, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70,\n\t  0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x55,\n\t  0x6e, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x4f, 0x72, 0x69,\n\t  0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d,\n\t  0x61, 0x70, 0x70, 0x65, 0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x55,\n\t  0x6e, 0x6d, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45,\n\t  0x78, 0x3a, 0x20, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x20, 0x4d,\n\t  0x6d, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64,\n\t  0x50, 0x61, 0x67, 0x65, 0x73, 0x20, 0x2d, 0x20, 0x41, 0x64, 0x64, 0x72,\n\t  0x65, 0x73, 0x73, 0x54, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x72,\n\t  0x20, 0x4d, 0x64, 0x6c, 0x20, 0x77, 0x61, 0x73, 0x20, 0x4e, 0x55, 0x4c,\n\t  0x4c, 0x0a, 0x00, 0xcc, 0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70,\n\t  0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x43,\n\t  0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x4d, 0x6d, 0x55, 0x6e, 0x6d,\n\t  0x61, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65,\n\t  0x73, 0x0a, 0x00, 0xcc, 0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70,\n\t  0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x53,\n\t  0x6c, 0x6f, 0x74, 0x20, 0x25, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68,\n\t  0x65, 0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70,\n\t  0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x47,\n\t  0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x57, 0x69, 0x6e, 0x4d, 0x65, 0x6d,\n\t  0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x5b,\n\t  0x25, 0x64, 0x5d, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x70,\n\t  0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x70, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0x4e, 0x61, 0x6c, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72,\n\t  0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x4c, 0x6f, 0x6f, 0x6b, 0x69,\n\t  0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x20,\n\t  0x30, 0x78, 0x25, 0x70, 0x2c, 0x20, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,\n\t  0x20, 0x25, 0x64, 0x2c, 0x20, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,\n\t  0x49, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x5f, 0x4e, 0x61, 0x6c,\n\t  0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f,\n\t  0x72, 0x79, 0x4e, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x64, 0x20, 0x2d,\n\t  0x20, 0x4d, 0x6d, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x43,\n\t  0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x4d, 0x65, 0x6d,\n\t  0x6f, 0x72, 0x79, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x0a, 0x00,\n\t  0x5f, 0x4e, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65,\n\t  0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x6e, 0x50, 0x61, 0x67,\n\t  0x65, 0x64, 0x20, 0x2d, 0x20, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c,\n\t  0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x78,\n\t  0x25, 0x70, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x5f, 0x4e, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x6f,\n\t  0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e, 0x6f,\n\t  0x6e, 0x50, 0x61, 0x67, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x4d, 0x6d, 0x4d,\n\t  0x61, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65,\n\t  0x73, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, 0x20, 0x46, 0x72,\n\t  0x65, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x4d, 0x44, 0x4c, 0x0a, 0x00, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x5f, 0x4e, 0x61, 0x6c, 0x46, 0x72, 0x65, 0x65, 0x4d, 0x65, 0x6d, 0x6f,\n\t  0x72, 0x79, 0x4e, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x64, 0x45, 0x78,\n\t  0x3a, 0x20, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x65, 0x6e, 0x74,\n\t  0x72, 0x79, 0x20, 0x30, 0x78, 0x25, 0x70, 0x20, 0x69, 0x73, 0x20, 0x6e,\n\t  0x6f, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x69,\n\t  0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x62, 0x6c,\n\t  0x65, 0x2e, 0x20, 0x4e, 0x6f, 0x74, 0x20, 0x66, 0x72, 0x65, 0x65, 0x69,\n\t  0x6e, 0x67, 0x20, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e,\n\t  0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x4d, 0x6d, 0x61, 0x70, 0x41,\n\t  0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x2a, 0x56,\n\t  0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,\n\t  0x73, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x70, 0x20, 0x28, 0x6d, 0x61,\n\t  0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x72,\n\t  0x29, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x4d,\n\t  0x6d, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x45, 0x78,\n\t  0x3a, 0x20, 0x2a, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x64,\n\t  0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x70,\n\t  0x20, 0x28, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64,\n\t  0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x72, 0x29, 0x0a, 0x00, 0xcc,\n\t  0x4e, 0x61, 0x6c, 0x4d, 0x6d, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65,\n\t  0x73, 0x73, 0x45, 0x78, 0x3a, 0x20, 0x56, 0x61, 0x64, 0x64, 0x72, 0x65,\n\t  0x73, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x25, 0x70, 0x0a, 0x00, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x54, 0x50, 0x4e, 0x50, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,\n\t  0x65, 0x64, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x5c, 0x00, 0x52, 0x00,\n\t  0x45, 0x00, 0x47, 0x00, 0x49, 0x00, 0x53, 0x00, 0x54, 0x00, 0x52, 0x00,\n\t  0x59, 0x00, 0x5c, 0x00, 0x4d, 0x00, 0x41, 0x00, 0x43, 0x00, 0x48, 0x00,\n\t  0x49, 0x00, 0x4e, 0x00, 0x45, 0x00, 0x5c, 0x00, 0x48, 0x00, 0x41, 0x00,\n\t  0x52, 0x00, 0x44, 0x00, 0x57, 0x00, 0x41, 0x00, 0x52, 0x00, 0x45, 0x00,\n\t  0x5c, 0x00, 0x52, 0x00, 0x45, 0x00, 0x53, 0x00, 0x4f, 0x00, 0x55, 0x00,\n\t  0x52, 0x00, 0x43, 0x00, 0x45, 0x00, 0x4d, 0x00, 0x41, 0x00, 0x50, 0x00,\n\t  0x5c, 0x00, 0x50, 0x00, 0x6e, 0x00, 0x50, 0x00, 0x20, 0x00, 0x4d, 0x00,\n\t  0x61, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x67, 0x00, 0x65, 0x00, 0x72, 0x00,\n\t  0x5c, 0x00, 0x50, 0x00, 0x6e, 0x00, 0x70, 0x00, 0x4d, 0x00, 0x61, 0x00,\n\t  0x6e, 0x00, 0x61, 0x00, 0x67, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20,\n\t  0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x66, 0x6f,\n\t  0x72, 0x20, 0x25, 0x64, 0x2f, 0x25, 0x64, 0x2f, 0x25, 0x64, 0x0a, 0x00,\n\t  0x5f, 0x4e, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x50, 0x63, 0x69, 0x44,\n\t  0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x66,\n\t  0x6f, 0x75, 0x6e, 0x64, 0x20, 0x25, 0x64, 0x20, 0x64, 0x65, 0x76, 0x69,\n\t  0x63, 0x65, 0x73, 0x20, 0x28, 0x25, 0x64, 0x29, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0x64, 0x3a, 0x5c, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5c, 0x31,\n\t  0x35, 0x34, 0x31, 0x36, 0x37, 0x5c, 0x73, 0x64, 0x6b, 0x5c, 0x6e, 0x61,\n\t  0x6c, 0x5c, 0x73, 0x72, 0x63, 0x5c, 0x77, 0x69, 0x6e, 0x6e, 0x74, 0x5f,\n\t  0x77, 0x64, 0x6d, 0x5c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5c, 0x77,\n\t  0x69, 0x6e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x70, 0x63, 0x69, 0x5f,\n\t  0x69, 0x2e, 0x63, 0x00, 0x46, 0x69, 0x6c, 0x6c, 0x4b, 0x65, 0x72, 0x6e,\n\t  0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3a, 0x20, 0x56,\n\t  0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,\n\t  0x73, 0x3a, 0x20, 0x25, 0x70, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x5f, 0x4e, 0x61, 0x6c, 0x48, 0x61, 0x73, 0x49,\n\t  0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x4f, 0x63, 0x63, 0x75,\n\t  0x72, 0x72, 0x65, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69,\n\t  0x6e, 0x67, 0x20, 0x25, 0x73, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x00, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x54, 0x52, 0x55, 0x45,\n\t  0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4f, 0x73,\n\t  0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x49, 0x6f, 0x63, 0x74,\n\t  0x6c, 0x3a, 0x20, 0x46, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,\n\t  0x20, 0x3d, 0x20, 0x25, 0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4f, 0x73,\n\t  0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x49, 0x6f, 0x63, 0x74,\n\t  0x6c, 0x3a, 0x20, 0x4e, 0x41, 0x4c, 0x5f, 0x57, 0x49, 0x4e, 0x5f, 0x49,\n\t  0x53, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x4e,\n\t  0x5f, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x49, 0x44, 0x20,\n\t  0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61,\n\t  0x20, 0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4f, 0x73,\n\t  0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x49, 0x6f, 0x63, 0x74,\n\t  0x6c, 0x3a, 0x20, 0x4e, 0x41, 0x4c, 0x5f, 0x57, 0x49, 0x4e, 0x5f, 0x41,\n\t  0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x53,\n\t  0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x49, 0x44, 0x20, 0x46, 0x75, 0x6e,\n\t  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73,\n\t  0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0x4e, 0x61, 0x6c, 0x52,\n\t  0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63,\n\t  0x69, 0x66, 0x69, 0x63, 0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x4e,\n\t  0x41, 0x4c, 0x5f, 0x57, 0x49, 0x4e, 0x5f, 0x44, 0x52, 0x49, 0x56, 0x45,\n\t  0x52, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x46, 0x5f, 0x43, 0x4f,\n\t  0x55, 0x4e, 0x54, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x49, 0x44, 0x20, 0x46,\n\t  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20,\n\t  0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x52,\n\t  0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63,\n\t  0x69, 0x66, 0x69, 0x63, 0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x4e,\n\t  0x41, 0x4c, 0x5f, 0x57, 0x49, 0x4e, 0x5f, 0x4f, 0x53, 0x5f, 0x44, 0x45,\n\t  0x56, 0x49, 0x43, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x49, 0x44, 0x20,\n\t  0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61,\n\t  0x20, 0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c,\n\t  0x76, 0x65, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\n\t  0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x4e, 0x41, 0x4c, 0x5f, 0x57,\n\t  0x49, 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x44, 0x45, 0x56, 0x5f,\n\t  0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x46, 0x55, 0x4e, 0x43,\n\t  0x49, 0x44, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,\n\t  0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a,\n\t  0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c,\n\t  0x76, 0x65, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\n\t  0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x4e, 0x41, 0x4c, 0x5f, 0x57,\n\t  0x49, 0x4e, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x5f, 0x44, 0x45, 0x56,\n\t  0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x46, 0x55, 0x4e,\n\t  0x43, 0x49, 0x44, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,\n\t  0x44, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c,\n\t  0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c,\n\t  0x76, 0x65, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\n\t  0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x4e, 0x41, 0x4c, 0x5f, 0x57,\n\t  0x49, 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x59, 0x4d, 0x42, 0x4f,\n\t  0x4c, 0x49, 0x43, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x4e,\n\t  0x43, 0x49, 0x44, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,\n\t  0x44, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c,\n\t  0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c,\n\t  0x76, 0x65, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\n\t  0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x4e, 0x41, 0x4c, 0x5f, 0x57,\n\t  0x49, 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x50, 0x44, 0x4f, 0x5f, 0x50,\n\t  0x4f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x49,\n\t  0x44, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61,\n\t  0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x0a, 0x00,\n\t  0x4e, 0x61, 0x6c, 0x4f, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,\n\t  0x63, 0x49, 0x6f, 0x63, 0x74, 0x6c, 0x3a, 0x20, 0x46, 0x75, 0x6e, 0x63,\n\t  0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x20, 0x3d, 0x20, 0x25, 0x64, 0x0a,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x27, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x78, 0x27, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa2, 0x24, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xba, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xcc, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x24, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xfa, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x0e, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x32, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x3c, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x54, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x68, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x94, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xa6, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xda, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x8a, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x1c, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x34, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x64, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x78, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x96, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xa0, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xd6, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xe2, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x08, 0x27, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x20, 0x27, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x27, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x72, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xf4, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x24, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xc4, 0x70, 0x76, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,\n\t  0x6b, 0x00, 0x00, 0x00, 0x6c, 0x61, 0x00, 0x00, 0x6c, 0x4b, 0x00, 0x00,\n\t  0x52, 0x53, 0x44, 0x53, 0x81, 0x05, 0x31, 0xf5, 0xa9, 0xba, 0x80, 0x49,\n\t  0xa9, 0xcc, 0x67, 0x19, 0x55, 0x15, 0x68, 0xff, 0x01, 0x00, 0x00, 0x00,\n\t  0x64, 0x3a, 0x5c, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5c, 0x31,\n\t  0x35, 0x34, 0x31, 0x36, 0x37, 0x5c, 0x73, 0x64, 0x6b, 0x5c, 0x6e, 0x61,\n\t  0x6c, 0x5c, 0x73, 0x72, 0x63, 0x5c, 0x77, 0x69, 0x6e, 0x6e, 0x74, 0x5f,\n\t  0x77, 0x64, 0x6d, 0x5c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5c, 0x6f,\n\t  0x62, 0x6a, 0x66, 0x72, 0x65, 0x5f, 0x77, 0x6e, 0x65, 0x74, 0x5f, 0x41,\n\t  0x4d, 0x44, 0x36, 0x34, 0x5c, 0x61, 0x6d, 0x64, 0x36, 0x34, 0x5c, 0x69,\n\t  0x71, 0x76, 0x77, 0x36, 0x34, 0x65, 0x2e, 0x70, 0x64, 0x62, 0x00, 0x00,\n\t  0x01, 0x06, 0x02, 0x00, 0x06, 0x52, 0x02, 0x30, 0x01, 0x06, 0x02, 0x00,\n\t  0x06, 0x32, 0x02, 0x30, 0x01, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x30,\n\t  0x01, 0x15, 0x05, 0x00, 0x15, 0x74, 0x09, 0x00, 0x10, 0x34, 0x08, 0x00,\n\t  0x04, 0x42, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x30, 0x00, 0x00,\n\t  0x21, 0x00, 0x00, 0x00, 0x10, 0x20, 0x5d, 0x00, 0x33, 0x20, 0x5d, 0x00,\n\t  0x2c, 0x62, 0x00, 0x00, 0x21, 0x04, 0x02, 0x00, 0x04, 0x74, 0x11, 0x00,\n\t  0x10, 0x20, 0x5d, 0x00, 0x33, 0x20, 0x5d, 0x00, 0x2c, 0x62, 0x00, 0x00,\n\t  0x01, 0x0b, 0x03, 0x00, 0x0b, 0x34, 0x10, 0x00, 0x07, 0xc2, 0x00, 0x00,\n\t  0x01, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x30, 0x01, 0x11, 0x05, 0x00,\n\t  0x11, 0x74, 0x0b, 0x00, 0x0c, 0x34, 0x0a, 0x00, 0x04, 0x62, 0x00, 0x00,\n\t  0x01, 0x09, 0x03, 0x00, 0x09, 0x01, 0x26, 0x00, 0x02, 0x30, 0x00, 0x00,\n\t  0x21, 0x00, 0x00, 0x00, 0x30, 0x1d, 0x00, 0x00, 0x47, 0x1d, 0x00, 0x00,\n\t  0x80, 0x62, 0x00, 0x00, 0x21, 0x05, 0x02, 0x00, 0x05, 0x74, 0x09, 0x00,\n\t  0x30, 0x1d, 0x00, 0x00, 0x47, 0x1d, 0x00, 0x00, 0x80, 0x62, 0x00, 0x00,\n\t  0x01, 0x0e, 0x03, 0x00, 0x0e, 0x34, 0x08, 0x00, 0x04, 0x42, 0x00, 0x00,\n\t  0x01, 0x04, 0x01, 0x00, 0x04, 0x42, 0x00, 0x00, 0x01, 0x06, 0x02, 0x00,\n\t  0x06, 0x32, 0x02, 0x30, 0x01, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x30,\n\t  0x01, 0x2a, 0x02, 0x00, 0x1b, 0x01, 0x87, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0xf0, 0x1f, 0x00, 0x00, 0xb4, 0x20, 0x00, 0x00, 0xf4, 0x62, 0x00, 0x00,\n\t  0x21, 0x00, 0x02, 0x00, 0x00, 0x64, 0x0e, 0x00, 0xf0, 0x1f, 0x00, 0x00,\n\t  0xb4, 0x20, 0x00, 0x00, 0xf4, 0x62, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0xf0, 0x1f, 0x00, 0x00, 0xb4, 0x20, 0x00, 0x00, 0xf4, 0x62, 0x00, 0x00,\n\t  0x21, 0x05, 0x02, 0x00, 0x05, 0x64, 0x0e, 0x00, 0xf0, 0x1f, 0x00, 0x00,\n\t  0xb4, 0x20, 0x00, 0x00, 0xf4, 0x62, 0x00, 0x00, 0x01, 0x1f, 0x0b, 0x00,\n\t  0x1f, 0xd4, 0x09, 0x00, 0x18, 0xc4, 0x0a, 0x00, 0x13, 0x74, 0x0f, 0x00,\n\t  0x0e, 0x54, 0x0d, 0x00, 0x09, 0x34, 0x0c, 0x00, 0x04, 0xa2, 0x00, 0x00,\n\t  0x01, 0x11, 0x05, 0x00, 0x11, 0x74, 0x04, 0x00, 0x0c, 0x34, 0x09, 0x00,\n\t  0x04, 0x42, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xd0, 0x21, 0x00, 0x00,\n\t  0xfe, 0x21, 0x00, 0x00, 0x64, 0x63, 0x00, 0x00, 0x21, 0x00, 0x02, 0x00,\n\t  0x00, 0xe4, 0x04, 0x00, 0xd0, 0x21, 0x00, 0x00, 0xfe, 0x21, 0x00, 0x00,\n\t  0x64, 0x63, 0x00, 0x00, 0x21, 0x1d, 0x08, 0x00, 0x1d, 0xe4, 0x04, 0x00,\n\t  0x0f, 0xd4, 0x05, 0x00, 0x08, 0x74, 0x07, 0x00, 0x04, 0x34, 0x0a, 0x00,\n\t  0xd0, 0x21, 0x00, 0x00, 0xfe, 0x21, 0x00, 0x00, 0x64, 0x63, 0x00, 0x00,\n\t  0x01, 0x16, 0x07, 0x00, 0x16, 0xc4, 0x06, 0x00, 0x12, 0x64, 0x08, 0x00,\n\t  0x0e, 0x54, 0x09, 0x00, 0x07, 0xa2, 0x00, 0x00, 0x01, 0x2a, 0x0b, 0x00,\n\t  0x2a, 0x74, 0x0b, 0x00, 0x1d, 0x34, 0x08, 0x00, 0x13, 0xc4, 0x06, 0x00,\n\t  0x0e, 0x64, 0x0a, 0x00, 0x09, 0x54, 0x09, 0x00, 0x04, 0x62, 0x00, 0x00,\n\t  0x21, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x16, 0x24, 0x00, 0x00,\n\t  0xc4, 0x63, 0x00, 0x00, 0x21, 0x2a, 0x08, 0x00, 0x2a, 0x74, 0x09, 0x00,\n\t  0x1d, 0x34, 0x06, 0x00, 0x0a, 0x64, 0x08, 0x00, 0x05, 0x54, 0x07, 0x00,\n\t  0x00, 0x24, 0x00, 0x00, 0x16, 0x24, 0x00, 0x00, 0xc4, 0x63, 0x00, 0x00,\n\t  0x01, 0x04, 0x01, 0x00, 0x04, 0x42, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0xd0, 0x24, 0x00, 0x00, 0x3d, 0x25, 0x00, 0x00, 0xf8, 0x63, 0x00, 0x00,\n\t  0x21, 0x0f, 0x06, 0x00, 0x0f, 0xc4, 0x0a, 0x00, 0x0a, 0x74, 0x0f, 0x00,\n\t  0x05, 0x64, 0x0e, 0x00, 0xd0, 0x24, 0x00, 0x00, 0x3d, 0x25, 0x00, 0x00,\n\t  0xf8, 0x63, 0x00, 0x00, 0x01, 0x23, 0x0b, 0x00, 0x23, 0xf4, 0x07, 0x00,\n\t  0x18, 0xe4, 0x08, 0x00, 0x13, 0xd4, 0x09, 0x00, 0x0e, 0x54, 0x0d, 0x00,\n\t  0x09, 0x34, 0x0c, 0x00, 0x04, 0xa2, 0x00, 0x00, 0x21, 0x46, 0x06, 0x00,\n\t  0x46, 0x64, 0x05, 0x00, 0x3d, 0x34, 0x06, 0x00, 0x00, 0x74, 0x04, 0x00,\n\t  0x00, 0x27, 0x00, 0x00, 0x12, 0x27, 0x00, 0x00, 0x54, 0x64, 0x00, 0x00,\n\t  0x21, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x12, 0x27, 0x00, 0x00,\n\t  0x54, 0x64, 0x00, 0x00, 0x21, 0x05, 0x02, 0x00, 0x05, 0x74, 0x04, 0x00,\n\t  0x00, 0x27, 0x00, 0x00, 0x12, 0x27, 0x00, 0x00, 0x54, 0x64, 0x00, 0x00,\n\t  0x01, 0x04, 0x01, 0x00, 0x04, 0x62, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00,\n\t  0x04, 0x62, 0x00, 0x00, 0x21, 0x14, 0x06, 0x00, 0x14, 0x64, 0x06, 0x00,\n\t  0x0d, 0x34, 0x0b, 0x00, 0x00, 0x74, 0x05, 0x00, 0x70, 0x28, 0x00, 0x00,\n\t  0x79, 0x28, 0x00, 0x00, 0xa4, 0x64, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0x70, 0x28, 0x00, 0x00, 0x79, 0x28, 0x00, 0x00, 0xa4, 0x64, 0x00, 0x00,\n\t  0x21, 0x05, 0x02, 0x00, 0x05, 0x74, 0x05, 0x00, 0x70, 0x28, 0x00, 0x00,\n\t  0x79, 0x28, 0x00, 0x00, 0xa4, 0x64, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00,\n\t  0x04, 0x62, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x50, 0x29, 0x00, 0x00,\n\t  0x84, 0x29, 0x00, 0x00, 0x08, 0x65, 0x00, 0x00, 0x21, 0x00, 0x02, 0x00,\n\t  0x00, 0x34, 0x06, 0x00, 0x50, 0x29, 0x00, 0x00, 0x84, 0x29, 0x00, 0x00,\n\t  0x08, 0x65, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x84, 0x29, 0x00, 0x00,\n\t  0x9f, 0x29, 0x00, 0x00, 0xf4, 0x64, 0x00, 0x00, 0x21, 0x05, 0x02, 0x00,\n\t  0x05, 0x64, 0x08, 0x00, 0x84, 0x29, 0x00, 0x00, 0x9f, 0x29, 0x00, 0x00,\n\t  0xf4, 0x64, 0x00, 0x00, 0x21, 0x05, 0x02, 0x00, 0x05, 0x34, 0x06, 0x00,\n\t  0x50, 0x29, 0x00, 0x00, 0x84, 0x29, 0x00, 0x00, 0x08, 0x65, 0x00, 0x00,\n\t  0x01, 0x16, 0x07, 0x00, 0x16, 0xc4, 0x04, 0x00, 0x11, 0x74, 0x09, 0x00,\n\t  0x0c, 0x54, 0x07, 0x00, 0x04, 0x42, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0x50, 0x2a, 0x00, 0x00, 0x70, 0x2a, 0x00, 0x00, 0x58, 0x65, 0x00, 0x00,\n\t  0x21, 0x00, 0x02, 0x00, 0x00, 0x34, 0x07, 0x00, 0x50, 0x2a, 0x00, 0x00,\n\t  0x70, 0x2a, 0x00, 0x00, 0x58, 0x65, 0x00, 0x00, 0x21, 0x1c, 0x04, 0x00,\n\t  0x1c, 0x64, 0x08, 0x00, 0x05, 0x34, 0x07, 0x00, 0x50, 0x2a, 0x00, 0x00,\n\t  0x70, 0x2a, 0x00, 0x00, 0x58, 0x65, 0x00, 0x00, 0x01, 0x0c, 0x03, 0x00,\n\t  0x0c, 0x74, 0x09, 0x00, 0x04, 0x42, 0x00, 0x00, 0x01, 0x14, 0x05, 0x00,\n\t  0x14, 0x74, 0x13, 0x00, 0x0b, 0x34, 0x12, 0x00, 0x07, 0xe2, 0x00, 0x00,\n\t  0x01, 0x24, 0x0a, 0x00, 0x24, 0x74, 0x0f, 0x00, 0x16, 0x64, 0x10, 0x00,\n\t  0x12, 0x54, 0x11, 0x00, 0x0e, 0x34, 0x12, 0x00, 0x0a, 0x01, 0x13, 0x00,\n\t  0x21, 0x00, 0x02, 0x00, 0x00, 0xd4, 0x40, 0x00, 0x00, 0x2d, 0x00, 0x00,\n\t  0x19, 0x2d, 0x00, 0x00, 0xf0, 0x65, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0x19, 0x2d, 0x00, 0x00, 0x60, 0x2e, 0x00, 0x00, 0xc8, 0x65, 0x00, 0x00,\n\t  0x21, 0x16, 0x04, 0x00, 0x16, 0x64, 0x47, 0x00, 0x08, 0xf4, 0x3e, 0x00,\n\t  0x19, 0x2d, 0x00, 0x00, 0x60, 0x2e, 0x00, 0x00, 0xc8, 0x65, 0x00, 0x00,\n\t  0x21, 0xef, 0x0c, 0x00, 0xef, 0xd4, 0x40, 0x00, 0x1b, 0xe4, 0x3f, 0x00,\n\t  0x14, 0xc4, 0x41, 0x00, 0x0c, 0x74, 0x42, 0x00, 0x08, 0x54, 0x46, 0x00,\n\t  0x04, 0x34, 0x45, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x19, 0x2d, 0x00, 0x00,\n\t  0xf0, 0x65, 0x00, 0x00, 0x01, 0x19, 0x02, 0x00, 0x0a, 0x01, 0x43, 0x00,\n\t  0x01, 0x27, 0x06, 0x00, 0x27, 0x74, 0x17, 0x00, 0x1f, 0x34, 0x16, 0x00,\n\t  0x0a, 0x01, 0x13, 0x00, 0x21, 0x00, 0x00, 0x00, 0x40, 0x32, 0x00, 0x00,\n\t  0xca, 0x32, 0x00, 0x00, 0x5c, 0x66, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,\n\t  0xca, 0x32, 0x00, 0x00, 0xf5, 0x32, 0x00, 0x00, 0x48, 0x66, 0x00, 0x00,\n\t  0x21, 0x1d, 0x08, 0x00, 0x1d, 0xc4, 0x0f, 0x00, 0x18, 0x74, 0x10, 0x00,\n\t  0x10, 0x64, 0x15, 0x00, 0x08, 0x54, 0x14, 0x00, 0xca, 0x32, 0x00, 0x00,\n\t  0xf5, 0x32, 0x00, 0x00, 0x48, 0x66, 0x00, 0x00, 0x21, 0x08, 0x02, 0x00,\n\t  0x08, 0x34, 0x13, 0x00, 0x40, 0x32, 0x00, 0x00, 0xca, 0x32, 0x00, 0x00,\n\t  0x5c, 0x66, 0x00, 0x00, 0x01, 0x1e, 0x06, 0x00, 0x1e, 0xe4, 0x0d, 0x00,\n\t  0x1a, 0xd4, 0x0e, 0x00, 0x0a, 0x01, 0x11, 0x00, 0x21, 0x00, 0x04, 0x00,\n\t  0x00, 0x74, 0x0b, 0x00, 0x00, 0x64, 0x0a, 0x00, 0xd0, 0x34, 0x00, 0x00,\n\t  0xdb, 0x34, 0x00, 0x00, 0xa0, 0x66, 0x00, 0x00, 0x21, 0x15, 0x06, 0x00,\n\t  0x15, 0x74, 0x0b, 0x00, 0x08, 0x64, 0x0a, 0x00, 0x04, 0x54, 0x09, 0x00,\n\t  0xd0, 0x34, 0x00, 0x00, 0xdb, 0x34, 0x00, 0x00, 0xa0, 0x66, 0x00, 0x00,\n\t  0x01, 0x0b, 0x03, 0x00, 0x0b, 0x34, 0x08, 0x00, 0x07, 0x62, 0x00, 0x00,\n\t  0x21, 0x00, 0x04, 0x00, 0x00, 0x74, 0x0b, 0x00, 0x00, 0x64, 0x0a, 0x00,\n\t  0xd0, 0x35, 0x00, 0x00, 0xdb, 0x35, 0x00, 0x00, 0xe0, 0x66, 0x00, 0x00,\n\t  0x21, 0x13, 0x06, 0x00, 0x13, 0x74, 0x0b, 0x00, 0x08, 0x64, 0x0a, 0x00,\n\t  0x04, 0x54, 0x09, 0x00, 0xd0, 0x35, 0x00, 0x00, 0xdb, 0x35, 0x00, 0x00,\n\t  0xe0, 0x66, 0x00, 0x00, 0x01, 0x0b, 0x03, 0x00, 0x0b, 0x34, 0x08, 0x00,\n\t  0x07, 0x62, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xd0, 0x36, 0x00, 0x00,\n\t  0x0e, 0x37, 0x00, 0x00, 0x10, 0x67, 0x00, 0x00, 0x21, 0x05, 0x02, 0x00,\n\t  0x05, 0x34, 0x0a, 0x00, 0xd0, 0x36, 0x00, 0x00, 0x0e, 0x37, 0x00, 0x00,\n\t  0x10, 0x67, 0x00, 0x00, 0x01, 0x10, 0x03, 0x00, 0x10, 0x74, 0x0b, 0x00,\n\t  0x04, 0x62, 0x00, 0x00, 0x01, 0x22, 0x09, 0x00, 0x22, 0x74, 0x0b, 0x00,\n\t  0x1d, 0x64, 0x0a, 0x00, 0x10, 0x54, 0x09, 0x00, 0x09, 0x34, 0x08, 0x00,\n\t  0x04, 0x62, 0x00, 0x00, 0x01, 0x23, 0x0b, 0x00, 0x23, 0xc4, 0x07, 0x00,\n\t  0x1e, 0x74, 0x08, 0x00, 0x13, 0x64, 0x09, 0x00, 0x0e, 0x54, 0x0a, 0x00,\n\t  0x09, 0x34, 0x0f, 0x00, 0x04, 0xa2, 0x00, 0x00, 0x01, 0x11, 0x05, 0x00,\n\t  0x11, 0x74, 0x06, 0x00, 0x0c, 0x34, 0x0b, 0x00, 0x04, 0x62, 0x00, 0x00,\n\t  0x21, 0x00, 0x00, 0x00, 0x90, 0x39, 0x00, 0x00, 0xc6, 0x39, 0x00, 0x00,\n\t  0x84, 0x67, 0x00, 0x00, 0x21, 0x08, 0x02, 0x00, 0x08, 0x64, 0x10, 0x00,\n\t  0x90, 0x39, 0x00, 0x00, 0xc6, 0x39, 0x00, 0x00, 0x84, 0x67, 0x00, 0x00,\n\t  0x01, 0x19, 0x06, 0x00, 0x19, 0x74, 0x0f, 0x00, 0x14, 0x34, 0x15, 0x00,\n\t  0x0c, 0x01, 0x11, 0x00, 0x01, 0x22, 0x0e, 0x00, 0x22, 0xd4, 0x2b, 0x00,\n\t  0x1e, 0xc4, 0x2c, 0x00, 0x1a, 0x74, 0x2d, 0x00, 0x16, 0x64, 0x2e, 0x00,\n\t  0x12, 0x54, 0x2f, 0x00, 0x0e, 0x34, 0x30, 0x00, 0x0a, 0x01, 0x31, 0x00,\n\t  0x01, 0x11, 0x05, 0x00, 0x11, 0x74, 0x09, 0x00, 0x0c, 0x34, 0x08, 0x00,\n\t  0x04, 0x42, 0x00, 0x00, 0x01, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x30,\n\t  0x01, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x30, 0x01, 0x0a, 0x02, 0x00,\n\t  0x0a, 0x32, 0x06, 0x30, 0x01, 0x0e, 0x02, 0x00, 0x0e, 0x72, 0x0a, 0x30,\n\t  0x01, 0x24, 0x06, 0x00, 0x24, 0x74, 0xa3, 0x00, 0x20, 0x34, 0xa2, 0x00,\n\t  0x0a, 0x01, 0x9f, 0x00, 0x01, 0x04, 0x01, 0x00, 0x04, 0x62, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x5d, 0x20, 0xd2,\n\t  0x66, 0xd4, 0xff, 0xff, 0x32, 0xa2, 0xdf, 0x2d, 0x99, 0x2b, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x10, 0x10, 0x00, 0x00, 0x6a, 0x10, 0x00, 0x00, 0xd8, 0x61, 0x00, 0x00,\n\t  0x70, 0x10, 0x00, 0x00, 0xbb, 0x10, 0x00, 0x00, 0xe0, 0x61, 0x00, 0x00,\n\t  0xd0, 0x10, 0x00, 0x00, 0x1b, 0x11, 0x00, 0x00, 0xe8, 0x61, 0x00, 0x00,\n\t  0x30, 0x11, 0x00, 0x00, 0xe3, 0x11, 0x00, 0x00, 0xf0, 0x61, 0x00, 0x00,\n\t  0x00, 0x12, 0x00, 0x00, 0xc0, 0x12, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00,\n\t  0x10, 0x13, 0x00, 0x00, 0x98, 0x13, 0x00, 0x00, 0x38, 0x62, 0x00, 0x00,\n\t  0xa0, 0x13, 0x00, 0x00, 0x34, 0x1a, 0x00, 0x00, 0x40, 0x62, 0x00, 0x00,\n\t  0x40, 0x1a, 0x00, 0x00, 0xf0, 0x1b, 0x00, 0x00, 0x50, 0x62, 0x00, 0x00,\n\t  0x30, 0x1d, 0x00, 0x00, 0x47, 0x1d, 0x00, 0x00, 0x80, 0x62, 0x00, 0x00,\n\t  0x47, 0x1d, 0x00, 0x00, 0x68, 0x1d, 0x00, 0x00, 0x6c, 0x62, 0x00, 0x00,\n\t  0x68, 0x1d, 0x00, 0x00, 0x7e, 0x1d, 0x00, 0x00, 0x5c, 0x62, 0x00, 0x00,\n\t  0xa0, 0x1d, 0x00, 0x00, 0xb6, 0x1d, 0x00, 0x00, 0x8c, 0x62, 0x00, 0x00,\n\t  0x50, 0x1e, 0x00, 0x00, 0x72, 0x1e, 0x00, 0x00, 0x94, 0x62, 0x00, 0x00,\n\t  0x80, 0x1e, 0x00, 0x00, 0x9f, 0x1e, 0x00, 0x00, 0x9c, 0x62, 0x00, 0x00,\n\t  0x10, 0x1f, 0x00, 0x00, 0xb6, 0x1f, 0x00, 0x00, 0xa4, 0x62, 0x00, 0x00,\n\t  0xf0, 0x1f, 0x00, 0x00, 0xb4, 0x20, 0x00, 0x00, 0xf4, 0x62, 0x00, 0x00,\n\t  0xb4, 0x20, 0x00, 0x00, 0xef, 0x20, 0x00, 0x00, 0xe0, 0x62, 0x00, 0x00,\n\t  0xef, 0x20, 0x00, 0x00, 0x0d, 0x21, 0x00, 0x00, 0xd0, 0x62, 0x00, 0x00,\n\t  0x0d, 0x21, 0x00, 0x00, 0x4b, 0x21, 0x00, 0x00, 0xbc, 0x62, 0x00, 0x00,\n\t  0x4b, 0x21, 0x00, 0x00, 0x5b, 0x21, 0x00, 0x00, 0xac, 0x62, 0x00, 0x00,\n\t  0x70, 0x21, 0x00, 0x00, 0xbd, 0x21, 0x00, 0x00, 0x10, 0x63, 0x00, 0x00,\n\t  0xd0, 0x21, 0x00, 0x00, 0xfe, 0x21, 0x00, 0x00, 0x64, 0x63, 0x00, 0x00,\n\t  0xfe, 0x21, 0x00, 0x00, 0x23, 0x23, 0x00, 0x00, 0x44, 0x63, 0x00, 0x00,\n\t  0x23, 0x23, 0x00, 0x00, 0x51, 0x23, 0x00, 0x00, 0x30, 0x63, 0x00, 0x00,\n\t  0x51, 0x23, 0x00, 0x00, 0x6a, 0x23, 0x00, 0x00, 0x20, 0x63, 0x00, 0x00,\n\t  0x70, 0x23, 0x00, 0x00, 0xf2, 0x23, 0x00, 0x00, 0x78, 0x63, 0x00, 0x00,\n\t  0x00, 0x24, 0x00, 0x00, 0x16, 0x24, 0x00, 0x00, 0xc4, 0x63, 0x00, 0x00,\n\t  0x16, 0x24, 0x00, 0x00, 0xba, 0x24, 0x00, 0x00, 0xa4, 0x63, 0x00, 0x00,\n\t  0xba, 0x24, 0x00, 0x00, 0xbf, 0x24, 0x00, 0x00, 0x94, 0x63, 0x00, 0x00,\n\t  0xd0, 0x24, 0x00, 0x00, 0x3d, 0x25, 0x00, 0x00, 0xf8, 0x63, 0x00, 0x00,\n\t  0x3d, 0x25, 0x00, 0x00, 0xdc, 0x26, 0x00, 0x00, 0xdc, 0x63, 0x00, 0x00,\n\t  0xdc, 0x26, 0x00, 0x00, 0xfa, 0x26, 0x00, 0x00, 0xcc, 0x63, 0x00, 0x00,\n\t  0x00, 0x27, 0x00, 0x00, 0x12, 0x27, 0x00, 0x00, 0x54, 0x64, 0x00, 0x00,\n\t  0x12, 0x27, 0x00, 0x00, 0x5b, 0x27, 0x00, 0x00, 0x40, 0x64, 0x00, 0x00,\n\t  0x5b, 0x27, 0x00, 0x00, 0x60, 0x27, 0x00, 0x00, 0x30, 0x64, 0x00, 0x00,\n\t  0x60, 0x27, 0x00, 0x00, 0x36, 0x28, 0x00, 0x00, 0x14, 0x64, 0x00, 0x00,\n\t  0x40, 0x28, 0x00, 0x00, 0x61, 0x28, 0x00, 0x00, 0x5c, 0x64, 0x00, 0x00,\n\t  0x70, 0x28, 0x00, 0x00, 0x79, 0x28, 0x00, 0x00, 0xa4, 0x64, 0x00, 0x00,\n\t  0x79, 0x28, 0x00, 0x00, 0xbe, 0x28, 0x00, 0x00, 0x90, 0x64, 0x00, 0x00,\n\t  0xbe, 0x28, 0x00, 0x00, 0xc3, 0x28, 0x00, 0x00, 0x80, 0x64, 0x00, 0x00,\n\t  0xc3, 0x28, 0x00, 0x00, 0x43, 0x29, 0x00, 0x00, 0x64, 0x64, 0x00, 0x00,\n\t  0x50, 0x29, 0x00, 0x00, 0x84, 0x29, 0x00, 0x00, 0x08, 0x65, 0x00, 0x00,\n\t  0x84, 0x29, 0x00, 0x00, 0x9f, 0x29, 0x00, 0x00, 0xf4, 0x64, 0x00, 0x00,\n\t  0x9f, 0x29, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x00, 0xe0, 0x64, 0x00, 0x00,\n\t  0x09, 0x2a, 0x00, 0x00, 0x22, 0x2a, 0x00, 0x00, 0xd0, 0x64, 0x00, 0x00,\n\t  0x22, 0x2a, 0x00, 0x00, 0x26, 0x2a, 0x00, 0x00, 0xbc, 0x64, 0x00, 0x00,\n\t  0x26, 0x2a, 0x00, 0x00, 0x3f, 0x2a, 0x00, 0x00, 0xac, 0x64, 0x00, 0x00,\n\t  0x50, 0x2a, 0x00, 0x00, 0x70, 0x2a, 0x00, 0x00, 0x58, 0x65, 0x00, 0x00,\n\t  0x70, 0x2a, 0x00, 0x00, 0xd9, 0x2a, 0x00, 0x00, 0x40, 0x65, 0x00, 0x00,\n\t  0xd9, 0x2a, 0x00, 0x00, 0xea, 0x2a, 0x00, 0x00, 0x2c, 0x65, 0x00, 0x00,\n\t  0xea, 0x2a, 0x00, 0x00, 0xf9, 0x2a, 0x00, 0x00, 0x1c, 0x65, 0x00, 0x00,\n\t  0x00, 0x2b, 0x00, 0x00, 0xea, 0x2b, 0x00, 0x00, 0x64, 0x65, 0x00, 0x00,\n\t  0xf0, 0x2b, 0x00, 0x00, 0xec, 0x2c, 0x00, 0x00, 0x74, 0x65, 0x00, 0x00,\n\t  0x00, 0x2d, 0x00, 0x00, 0x19, 0x2d, 0x00, 0x00, 0xf0, 0x65, 0x00, 0x00,\n\t  0x19, 0x2d, 0x00, 0x00, 0x60, 0x2e, 0x00, 0x00, 0xc8, 0x65, 0x00, 0x00,\n\t  0x60, 0x2e, 0x00, 0x00, 0x27, 0x30, 0x00, 0x00, 0xb0, 0x65, 0x00, 0x00,\n\t  0x27, 0x30, 0x00, 0x00, 0x59, 0x30, 0x00, 0x00, 0xa0, 0x65, 0x00, 0x00,\n\t  0x59, 0x30, 0x00, 0x00, 0x7f, 0x30, 0x00, 0x00, 0x8c, 0x65, 0x00, 0x00,\n\t  0xa0, 0x30, 0x00, 0x00, 0x37, 0x32, 0x00, 0x00, 0xf8, 0x65, 0x00, 0x00,\n\t  0x40, 0x32, 0x00, 0x00, 0xca, 0x32, 0x00, 0x00, 0x5c, 0x66, 0x00, 0x00,\n\t  0xca, 0x32, 0x00, 0x00, 0xf5, 0x32, 0x00, 0x00, 0x48, 0x66, 0x00, 0x00,\n\t  0xf5, 0x32, 0x00, 0x00, 0x92, 0x34, 0x00, 0x00, 0x28, 0x66, 0x00, 0x00,\n\t  0x92, 0x34, 0x00, 0x00, 0xa7, 0x34, 0x00, 0x00, 0x18, 0x66, 0x00, 0x00,\n\t  0xa7, 0x34, 0x00, 0x00, 0xc3, 0x34, 0x00, 0x00, 0x08, 0x66, 0x00, 0x00,\n\t  0xd0, 0x34, 0x00, 0x00, 0xdb, 0x34, 0x00, 0x00, 0xa0, 0x66, 0x00, 0x00,\n\t  0xdb, 0x34, 0x00, 0x00, 0x84, 0x35, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00,\n\t  0x84, 0x35, 0x00, 0x00, 0xbf, 0x35, 0x00, 0x00, 0x6c, 0x66, 0x00, 0x00,\n\t  0xd0, 0x35, 0x00, 0x00, 0xdb, 0x35, 0x00, 0x00, 0xe0, 0x66, 0x00, 0x00,\n\t  0xdb, 0x35, 0x00, 0x00, 0x90, 0x36, 0x00, 0x00, 0xc4, 0x66, 0x00, 0x00,\n\t  0x90, 0x36, 0x00, 0x00, 0xca, 0x36, 0x00, 0x00, 0xac, 0x66, 0x00, 0x00,\n\t  0xd0, 0x36, 0x00, 0x00, 0x0e, 0x37, 0x00, 0x00, 0x10, 0x67, 0x00, 0x00,\n\t  0x0e, 0x37, 0x00, 0x00, 0x3c, 0x37, 0x00, 0x00, 0xfc, 0x66, 0x00, 0x00,\n\t  0x3c, 0x37, 0x00, 0x00, 0x4b, 0x37, 0x00, 0x00, 0xec, 0x66, 0x00, 0x00,\n\t  0x60, 0x37, 0x00, 0x00, 0x33, 0x38, 0x00, 0x00, 0x1c, 0x67, 0x00, 0x00,\n\t  0x40, 0x38, 0x00, 0x00, 0xff, 0x38, 0x00, 0x00, 0x34, 0x67, 0x00, 0x00,\n\t  0x10, 0x39, 0x00, 0x00, 0x81, 0x39, 0x00, 0x00, 0x50, 0x67, 0x00, 0x00,\n\t  0x90, 0x39, 0x00, 0x00, 0xc6, 0x39, 0x00, 0x00, 0x84, 0x67, 0x00, 0x00,\n\t  0xc6, 0x39, 0x00, 0x00, 0x90, 0x3a, 0x00, 0x00, 0x70, 0x67, 0x00, 0x00,\n\t  0x90, 0x3a, 0x00, 0x00, 0xaa, 0x3a, 0x00, 0x00, 0x60, 0x67, 0x00, 0x00,\n\t  0xb0, 0x3a, 0x00, 0x00, 0x88, 0x3c, 0x00, 0x00, 0x94, 0x67, 0x00, 0x00,\n\t  0x90, 0x3c, 0x00, 0x00, 0x7a, 0x3d, 0x00, 0x00, 0xb4, 0x67, 0x00, 0x00,\n\t  0x90, 0x3d, 0x00, 0x00, 0xdf, 0x3d, 0x00, 0x00, 0xc4, 0x67, 0x00, 0x00,\n\t  0xf0, 0x3d, 0x00, 0x00, 0x2a, 0x3e, 0x00, 0x00, 0xcc, 0x67, 0x00, 0x00,\n\t  0x30, 0x3e, 0x00, 0x00, 0x76, 0x3e, 0x00, 0x00, 0xd4, 0x67, 0x00, 0x00,\n\t  0x80, 0x3e, 0x00, 0x00, 0x1e, 0x3f, 0x00, 0x00, 0xdc, 0x67, 0x00, 0x00,\n\t  0x30, 0x3f, 0x00, 0x00, 0xf4, 0x41, 0x00, 0x00, 0xe4, 0x67, 0x00, 0x00,\n\t  0x00, 0x42, 0x00, 0x00, 0x2a, 0x42, 0x00, 0x00, 0xf4, 0x67, 0x00, 0x00,\n\t  0x10, 0x20, 0x5d, 0x00, 0x33, 0x20, 0x5d, 0x00, 0x2c, 0x62, 0x00, 0x00,\n\t  0x33, 0x20, 0x5d, 0x00, 0x4e, 0x21, 0x5d, 0x00, 0x18, 0x62, 0x00, 0x00,\n\t  0x4e, 0x21, 0x5d, 0x00, 0xf9, 0x21, 0x5d, 0x00, 0x08, 0x62, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x48, 0x8b, 0xc4, 0x48, 0x83, 0xec, 0x68, 0x48,\n\t  0x89, 0x58, 0x18, 0x48, 0x8b, 0xd9, 0x4c, 0x8d, 0x05, 0xab, 0x02, 0x00,\n\t  0x00, 0x48, 0x8d, 0x0d, 0x74, 0x02, 0x00, 0x00, 0x48, 0x8d, 0x15, 0x5d,\n\t  0x02, 0x00, 0x00, 0x48, 0x89, 0x78, 0x20, 0xe8, 0xd4, 0xfe, 0xa2, 0xff,\n\t  0x33, 0xff, 0x48, 0x8d, 0x05, 0x7b, 0xde, 0xfe, 0xff, 0x89, 0x3d, 0xd5,\n\t  0x50, 0xa3, 0xff, 0xba, 0x00, 0x01, 0x00, 0x00, 0x40, 0x88, 0xb8, 0x08,\n\t  0x01, 0x00, 0x00, 0x48, 0x89, 0x38, 0x48, 0x05, 0x10, 0x01, 0x00, 0x00,\n\t  0x48, 0xff, 0xca, 0x75, 0xeb, 0x48, 0x8d, 0x05, 0x04, 0xf0, 0xa2, 0xff,\n\t  0x48, 0x8d, 0x0d, 0xdd, 0x59, 0xe0, 0xff, 0xba, 0x50, 0xc3, 0x00, 0x00,\n\t  0x48, 0x89, 0x43, 0x70, 0x48, 0x8d, 0x05, 0x4d, 0xf0, 0xa2, 0xff, 0x48,\n\t  0x89, 0x83, 0x80, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x05, 0x9f, 0xf0, 0xa2,\n\t  0xff, 0x48, 0x89, 0x83, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x8d, 0x05, 0x71,\n\t  0xef, 0xa2, 0xff, 0x48, 0x89, 0x43, 0x68, 0x48, 0x8d, 0x05, 0x9e, 0x50,\n\t  0xa3, 0xff, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x89, 0x78, 0xf8, 0x48,\n\t  0x89, 0x38, 0x48, 0x89, 0x78, 0x10, 0x48, 0x89, 0x78, 0x08, 0x89, 0x78,\n\t  0x20, 0x89, 0x78, 0x24, 0x48, 0x89, 0x78, 0x18, 0x48, 0x89, 0x78, 0x28,\n\t  0x48, 0x89, 0x78, 0x30, 0x48, 0x89, 0x78, 0x38, 0x48, 0x89, 0x78, 0x40,\n\t  0x48, 0x89, 0x79, 0x08, 0x48, 0x89, 0x39, 0x48, 0x89, 0x79, 0xf0, 0x48,\n\t  0x89, 0x79, 0xf8, 0x48, 0x89, 0x79, 0x10, 0x48, 0x83, 0xc0, 0x50, 0x48,\n\t  0x83, 0xc1, 0x28, 0x48, 0xff, 0xca, 0x75, 0xb8, 0x48, 0x8d, 0x0d, 0x21,\n\t  0x27, 0xa3, 0xff, 0xe8, 0x0c, 0xfe, 0xa2, 0xff, 0x48, 0x8d, 0x15, 0xf5,\n\t  0x26, 0xa3, 0xff, 0x48, 0x8d, 0x4c, 0x24, 0x40, 0xff, 0x15, 0x8a, 0x3f,\n\t  0xa3, 0xff, 0x4c, 0x8d, 0x5c, 0x24, 0x70, 0x4c, 0x8d, 0x44, 0x24, 0x40,\n\t  0x4c, 0x89, 0x5c, 0x24, 0x30, 0x41, 0xb9, 0x86, 0x80, 0x00, 0x00, 0xba,\n\t  0x18, 0x00, 0x00, 0x00, 0x48, 0x8b, 0xcb, 0x40, 0x88, 0x7c, 0x24, 0x28,\n\t  0x89, 0x7c, 0x24, 0x20, 0xff, 0x15, 0xde, 0x3e, 0xa3, 0xff, 0x48, 0x8b,\n\t  0xbc, 0x24, 0x88, 0x00, 0x00, 0x00, 0x85, 0xc0, 0x79, 0x15, 0x48, 0x8d,\n\t  0x0d, 0x6b, 0x26, 0xa3, 0xff, 0x8b, 0xd0, 0xe8, 0xb4, 0xfd, 0xa2, 0xff,\n\t  0xb8, 0x01, 0x00, 0x00, 0xc0, 0xeb, 0x36, 0x48, 0x8b, 0x44, 0x24, 0x70,\n\t  0x48, 0x8d, 0x15, 0x31, 0x26, 0xa3, 0xff, 0x48, 0x8d, 0x4c, 0x24, 0x50,\n\t  0x48, 0x89, 0x43, 0x08, 0x48, 0x8b, 0x58, 0x40, 0x48, 0x89, 0x03, 0xff,\n\t  0x15, 0x1b, 0x3f, 0xa3, 0xff, 0x48, 0x8d, 0x54, 0x24, 0x40, 0x48, 0x8d,\n\t  0x4c, 0x24, 0x50, 0xff, 0x15, 0x83, 0x3e, 0xa3, 0xff, 0x85, 0xc0, 0x79,\n\t  0x1b, 0x48, 0x8d, 0x0d, 0xc0, 0x25, 0xa3, 0xff, 0x8b, 0xd0, 0xe8, 0x69,\n\t  0xfd, 0xa2, 0xff, 0x48, 0x8b, 0x4c, 0x24, 0x70, 0xff, 0x15, 0x86, 0x3f,\n\t  0xa3, 0xff, 0xeb, 0x1e, 0x48, 0x8b, 0x44, 0x24, 0x70, 0x83, 0x48, 0x30,\n\t  0x04, 0x48, 0x8b, 0x44, 0x24, 0x70, 0x81, 0x60, 0x30, 0x7f, 0xff, 0xff,\n\t  0xff, 0x48, 0x8b, 0x44, 0x24, 0x70, 0x48, 0x89, 0x43, 0x08, 0x48, 0x8d,\n\t  0x0d, 0x57, 0x25, 0xa3, 0xff, 0xe8, 0x32, 0xfd, 0xa2, 0xff, 0x48, 0x8d,\n\t  0x0d, 0x7b, 0x00, 0x00, 0x00, 0xe8, 0x26, 0xfd, 0xa2, 0xff, 0x48, 0x8b,\n\t  0x9c, 0x24, 0x80, 0x00, 0x00, 0x00, 0x33, 0xc0, 0x48, 0x83, 0xc4, 0x68,\n\t  0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x48, 0x8b, 0x05, 0x01,\n\t  0x4f, 0xa3, 0xff, 0x49, 0xb9, 0x32, 0xa2, 0xdf, 0x2d, 0x99, 0x2b, 0x00,\n\t  0x00, 0x48, 0x85, 0xc0, 0x74, 0x05, 0x49, 0x3b, 0xc1, 0x75, 0x2f, 0x4c,\n\t  0x8d, 0x05, 0xe6, 0x4e, 0xa3, 0xff, 0x48, 0xb8, 0x20, 0x03, 0x00, 0x00,\n\t  0x80, 0xf7, 0xff, 0xff, 0x48, 0x8b, 0x00, 0x49, 0x33, 0xc0, 0x49, 0xb8,\n\t  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x49, 0x23, 0xc0, 0x49,\n\t  0x0f, 0x44, 0xc1, 0x48, 0x89, 0x05, 0xbe, 0x4e, 0xa3, 0xff, 0x48, 0xf7,\n\t  0xd0, 0x48, 0x89, 0x05, 0xac, 0x4e, 0xa3, 0xff, 0xe9, 0xb7, 0xfd, 0xff,\n\t  0xff, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x4e, 0x61, 0x6c, 0x20,\n\t  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x44, 0x72, 0x69, 0x76,\n\t  0x65, 0x72, 0x20, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x74,\n\t  0x72, 0x79, 0x3a, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,\n\t  0x64, 0x0a, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x41, 0x75, 0x67, 0x20,\n\t  0x32, 0x36, 0x20, 0x32, 0x30, 0x31, 0x30, 0x00, 0xcc, 0xcc, 0xcc, 0xcc,\n\t  0x0a, 0x4e, 0x61, 0x6c, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73,\n\t  0x20, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x20, 0x4c, 0x6f, 0x61, 0x64,\n\t  0x65, 0x64, 0x20, 0x2d, 0x2d, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c,\n\t  0x65, 0x64, 0x20, 0x25, 0x73, 0x20, 0x25, 0x73, 0x0a, 0x00, 0xcc, 0xcc,\n\t  0x30, 0x36, 0x3a, 0x34, 0x38, 0x3a, 0x34, 0x39, 0x00, 0xcc, 0xcc, 0xcc,\n\t  0x30, 0x23, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x4e, 0x27, 0x5d, 0x00, 0x18, 0x60, 0x00, 0x00, 0x18, 0x23, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x27, 0x5d, 0x00,\n\t  0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x5c, 0x27, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x27, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xa2, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0x24, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xcc, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xe2, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x24, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x0e, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x26, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x3c, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x48, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x68, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x84, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xa6, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xbc, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x25, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x8a, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x04, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x34, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x44, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x78, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x82, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xa0, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xc0, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6, 0x26, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xe2, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xec, 0x26, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x27, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x20, 0x27, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x3e, 0x27, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x24, 0x5d, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xf4, 0x25, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x60, 0x24, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x5f, 0x01, 0x49, 0x6f, 0x44, 0x65, 0x6c, 0x65,\n\t  0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, 0x61, 0x01,\n\t  0x49, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62,\n\t  0x6f, 0x6c, 0x69, 0x63, 0x4c, 0x69, 0x6e, 0x6b, 0x00, 0x00, 0x3e, 0x04,\n\t  0x52, 0x74, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x63, 0x6f,\n\t  0x64, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x00, 0x00, 0x55, 0x01,\n\t  0x49, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62,\n\t  0x6f, 0x6c, 0x69, 0x63, 0x4c, 0x69, 0x6e, 0x6b, 0x00, 0x00, 0x4c, 0x01,\n\t  0x49, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69,\n\t  0x63, 0x65, 0x00, 0x00, 0xf6, 0x01, 0x49, 0x6f, 0x66, 0x43, 0x6f, 0x6d,\n\t  0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,\n\t  0x00, 0x00, 0x46, 0x00, 0x45, 0x78, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61,\n\t  0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x61,\n\t  0x67, 0x00, 0x58, 0x00, 0x45, 0x78, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f,\n\t  0x6f, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0xc0, 0x02,\n\t  0x4d, 0x6d, 0x47, 0x65, 0x74, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61,\n\t  0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x00, 0x31, 0x00,\n\t  0x44, 0x62, 0x67, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x00, 0x00, 0xc2, 0x05,\n\t  0x73, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x00, 0xd6, 0x05, 0x76, 0x73,\n\t  0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x00, 0x00, 0x72, 0x01, 0x49, 0x6f,\n\t  0x46, 0x72, 0x65, 0x65, 0x4d, 0x64, 0x6c, 0x00, 0xd1, 0x02, 0x4d, 0x6d,\n\t  0x4d, 0x61, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x67,\n\t  0x65, 0x73, 0x00, 0x00, 0xb2, 0x02, 0x4d, 0x6d, 0x42, 0x75, 0x69, 0x6c,\n\t  0x64, 0x4d, 0x64, 0x6c, 0x46, 0x6f, 0x72, 0x4e, 0x6f, 0x6e, 0x50, 0x61,\n\t  0x67, 0x65, 0x64, 0x50, 0x6f, 0x6f, 0x6c, 0x00, 0x33, 0x01, 0x49, 0x6f,\n\t  0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x64, 0x6c, 0x00,\n\t  0xee, 0x02, 0x4d, 0x6d, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x49, 0x6f, 0x53,\n\t  0x70, 0x61, 0x63, 0x65, 0x00, 0x00, 0xef, 0x02, 0x4d, 0x6d, 0x55, 0x6e,\n\t  0x6d, 0x61, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x67,\n\t  0x65, 0x73, 0x00, 0x00, 0xac, 0x02, 0x4d, 0x6d, 0x41, 0x6c, 0x6c, 0x6f,\n\t  0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f,\n\t  0x75, 0x73, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x00, 0x00, 0xbb, 0x02,\n\t  0x4d, 0x6d, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x67,\n\t  0x75, 0x6f, 0x75, 0x73, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x00, 0x00,\n\t  0xd0, 0x02, 0x4d, 0x6d, 0x4d, 0x61, 0x70, 0x49, 0x6f, 0x53, 0x70, 0x61,\n\t  0x63, 0x65, 0x00, 0x00, 0x52, 0x03, 0x4f, 0x62, 0x66, 0x44, 0x65, 0x72,\n\t  0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65,\n\t  0x63, 0x74, 0x00, 0x00, 0x95, 0x02, 0x4b, 0x65, 0x57, 0x61, 0x69, 0x74,\n\t  0x46, 0x6f, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, 0x6a,\n\t  0x65, 0x63, 0x74, 0x00, 0xf5, 0x01, 0x49, 0x6f, 0x66, 0x43, 0x61, 0x6c,\n\t  0x6c, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x00, 0x3e, 0x01, 0x49, 0x6f,\n\t  0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f,\n\t  0x6e, 0x6f, 0x75, 0x73, 0x46, 0x73, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,\n\t  0x73, 0x74, 0x00, 0x00, 0x2e, 0x02, 0x4b, 0x65, 0x49, 0x6e, 0x69, 0x74,\n\t  0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x00,\n\t  0x25, 0x05, 0x5a, 0x77, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x00, 0x21, 0x04,\n\t  0x52, 0x74, 0x6c, 0x46, 0x72, 0x65, 0x65, 0x41, 0x6e, 0x73, 0x69, 0x53,\n\t  0x74, 0x72, 0x69, 0x6e, 0x67, 0x00, 0xce, 0x05, 0x73, 0x74, 0x72, 0x73,\n\t  0x74, 0x72, 0x00, 0x00, 0xb2, 0x04, 0x52, 0x74, 0x6c, 0x55, 0x6e, 0x69,\n\t  0x63, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f,\n\t  0x41, 0x6e, 0x73, 0x69, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x00, 0x00,\n\t  0x3c, 0x05, 0x5a, 0x77, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74,\n\t  0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x00, 0x4f, 0x05,\n\t  0x5a, 0x77, 0x4f, 0x70, 0x65, 0x6e, 0x4b, 0x65, 0x79, 0x00, 0xdf, 0x05,\n\t  0x77, 0x63, 0x73, 0x6e, 0x63, 0x70, 0x79, 0x00, 0x7d, 0x01, 0x49, 0x6f,\n\t  0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a,\n\t  0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x00, 0x00,\n\t  0x7c, 0x01, 0x49, 0x6f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,\n\t  0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x00,\n\t  0x4c, 0x03, 0x4f, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,\n\t  0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x50, 0x6f, 0x69,\n\t  0x6e, 0x74, 0x65, 0x72, 0x00, 0x00, 0x13, 0x02, 0x4b, 0x65, 0x42, 0x75,\n\t  0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x78, 0x00, 0x00, 0x6e, 0x74,\n\t  0x6f, 0x73, 0x6b, 0x72, 0x6e, 0x6c, 0x2e, 0x65, 0x78, 0x65, 0x00, 0x00,\n\t  0x3b, 0x00, 0x4b, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x65,\n\t  0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,\n\t  0x73, 0x6f, 0x72, 0x00, 0x3a, 0x00, 0x4b, 0x65, 0x51, 0x75, 0x65, 0x72,\n\t  0x79, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,\n\t  0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x00, 0x48, 0x41, 0x4c, 0x2e,\n\t  0x64, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\n\t  0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\n\t  0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\n\t  0x09, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x60, 0x30, 0x5d, 0x00,\n\t  0x94, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x03, 0x34, 0x00,\n\t  0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5f, 0x00, 0x56, 0x00, 0x45, 0x00,\n\t  0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x5f, 0x00,\n\t  0x49, 0x00, 0x4e, 0x00, 0x46, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xbd, 0x04, 0xef, 0xfe, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00,\n\t  0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x26, 0x07, 0xce, 0x0e,\n\t  0x3f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,\n\t  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0xf2, 0x02, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00,\n\t  0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x46, 0x00,\n\t  0x69, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6e, 0x00, 0x66, 0x00,\n\t  0x6f, 0x00, 0x00, 0x00, 0xce, 0x02, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00,\n\t  0x34, 0x00, 0x30, 0x00, 0x39, 0x00, 0x30, 0x00, 0x34, 0x00, 0x42, 0x00,\n\t  0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x13, 0x00, 0x01, 0x00, 0x43, 0x00,\n\t  0x6f, 0x00, 0x6d, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00,\n\t  0x4e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x49, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x20, 0x00,\n\t  0x43, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x72, 0x00,\n\t  0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x2b, 0x00, 0x01, 0x00, 0x46, 0x00,\n\t  0x69, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00,\n\t  0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00,\n\t  0x6f, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x6e, 0x00,\n\t  0x74, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x28, 0x00, 0x52, 0x00, 0x29, 0x00,\n\t  0x20, 0x00, 0x4e, 0x00, 0x65, 0x00, 0x74, 0x00, 0x77, 0x00, 0x6f, 0x00,\n\t  0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x41, 0x00, 0x64, 0x00, 0x61, 0x00,\n\t  0x70, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00,\n\t  0x69, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x73, 0x00,\n\t  0x74, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x44, 0x00, 0x72, 0x00,\n\t  0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x54, 0x00, 0x1a, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6c, 0x00,\n\t  0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00,\n\t  0x6f, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2e, 0x00,\n\t  0x30, 0x00, 0x33, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x2e, 0x00, 0x34, 0x00,\n\t  0x20, 0x00, 0x62, 0x00, 0x75, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x74, 0x00,\n\t  0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x57, 0x00,\n\t  0x69, 0x00, 0x6e, 0x00, 0x44, 0x00, 0x44, 0x00, 0x4b, 0x00, 0x00, 0x00,\n\t  0x36, 0x00, 0x0b, 0x00, 0x01, 0x00, 0x49, 0x00, 0x6e, 0x00, 0x74, 0x00,\n\t  0x65, 0x00, 0x72, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x4e, 0x00,\n\t  0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x00, 0x69, 0x00, 0x51, 0x00,\n\t  0x56, 0x00, 0x57, 0x00, 0x36, 0x00, 0x34, 0x00, 0x2e, 0x00, 0x53, 0x00,\n\t  0x59, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x3f, 0x00,\n\t  0x01, 0x00, 0x4c, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6c, 0x00,\n\t  0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00,\n\t  0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x43, 0x00, 0x6f, 0x00,\n\t  0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00,\n\t  0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x43, 0x00, 0x29, 0x00, 0x20, 0x00,\n\t  0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x32, 0x00, 0x2d, 0x00, 0x32, 0x00,\n\t  0x30, 0x00, 0x30, 0x00, 0x36, 0x00, 0x20, 0x00, 0x49, 0x00, 0x6e, 0x00,\n\t  0x74, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00,\n\t  0x72, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00,\n\t  0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x41, 0x00, 0x6c, 0x00,\n\t  0x6c, 0x00, 0x20, 0x00, 0x52, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00,\n\t  0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x73, 0x00,\n\t  0x65, 0x00, 0x72, 0x00, 0x76, 0x00, 0x65, 0x00, 0x64, 0x00, 0x2e, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x0b, 0x00, 0x01, 0x00, 0x4f, 0x00,\n\t  0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x61, 0x00,\n\t  0x6c, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x6e, 0x00,\n\t  0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x00, 0x69, 0x00, 0x51, 0x00,\n\t  0x56, 0x00, 0x57, 0x00, 0x36, 0x00, 0x34, 0x00, 0x2e, 0x00, 0x53, 0x00,\n\t  0x59, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x14, 0x00,\n\t  0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x75, 0x00,\n\t  0x63, 0x00, 0x74, 0x00, 0x4e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00,\n\t  0x6c, 0x00, 0x28, 0x00, 0x52, 0x00, 0x29, 0x00, 0x20, 0x00, 0x69, 0x00,\n\t  0x51, 0x00, 0x56, 0x00, 0x57, 0x00, 0x36, 0x00, 0x34, 0x00, 0x2e, 0x00,\n\t  0x53, 0x00, 0x59, 0x00, 0x53, 0x00, 0x00, 0x00, 0x36, 0x00, 0x09, 0x00,\n\t  0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x75, 0x00,\n\t  0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00,\n\t  0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2e, 0x00,\n\t  0x30, 0x00, 0x33, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x2e, 0x00, 0x34, 0x00,\n\t  0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00,\n\t  0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x65, 0x00,\n\t  0x49, 0x00, 0x6e, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00,\n\t  0x6e, 0x00, 0x73, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00,\n\t  0x6f, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x04, 0xb0, 0x04,\n\t  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t  0xa8, 0x1a, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x30, 0x82, 0x1a, 0x97,\n\t  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0,\n\t  0x82, 0x1a, 0x88, 0x30, 0x82, 0x1a, 0x84, 0x02, 0x01, 0x01, 0x31, 0x0b,\n\t  0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x30,\n\t  0x68, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01,\n\t  0x04, 0xa0, 0x5a, 0x30, 0x58, 0x30, 0x33, 0x06, 0x0a, 0x2b, 0x06, 0x01,\n\t  0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0f, 0x30, 0x25, 0x03, 0x01, 0x00,\n\t  0xa0, 0x20, 0xa2, 0x1e, 0x80, 0x1c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c,\n\t  0x00, 0x4f, 0x00, 0x62, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x65,\n\t  0x00, 0x74, 0x00, 0x65, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x30, 0x21,\n\t  0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04,\n\t  0x14, 0x9d, 0xae, 0x30, 0x6e, 0xbc, 0x30, 0xa8, 0xc2, 0xf1, 0x60, 0xe3,\n\t  0xf6, 0xe7, 0x26, 0xfc, 0xd3, 0xe4, 0xf9, 0x22, 0x80, 0xa0, 0x82, 0x16,\n\t  0x5c, 0x30, 0x82, 0x03, 0x7a, 0x30, 0x82, 0x02, 0x62, 0xa0, 0x03, 0x02,\n\t  0x01, 0x02, 0x02, 0x10, 0x38, 0x25, 0xd7, 0xfa, 0xf8, 0x61, 0xaf, 0x9e,\n\t  0xf4, 0x90, 0xe7, 0x26, 0xb5, 0xd6, 0x5a, 0xd5, 0x30, 0x0d, 0x06, 0x09,\n\t  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,\n\t  0x53, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,\n\t  0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,\n\t  0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49,\n\t  0x6e, 0x63, 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03,\n\t  0x13, 0x22, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54,\n\t  0x69, 0x6d, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67,\n\t  0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x43, 0x41,\n\t  0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x36, 0x31, 0x35, 0x30, 0x30,\n\t  0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x36, 0x31,\n\t  0x34, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x5c, 0x31, 0x0b,\n\t  0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,\n\t  0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65,\n\t  0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e,\n\t  0x31, 0x34, 0x30, 0x32, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2b, 0x56,\n\t  0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65,\n\t  0x20, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x53, 0x65,\n\t  0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65,\n\t  0x72, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,\n\t  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,\n\t  0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc4,\n\t  0xb5, 0xf2, 0x52, 0x15, 0xbc, 0x88, 0x86, 0x60, 0x29, 0x16, 0x4a, 0x5b,\n\t  0x2f, 0x4b, 0x91, 0x6b, 0x87, 0x91, 0xf3, 0x35, 0x54, 0x58, 0x35, 0xea,\n\t  0xd1, 0x36, 0x5e, 0x62, 0x4d, 0x52, 0x51, 0x34, 0x71, 0xc2, 0x7b, 0x66,\n\t  0x1d, 0x89, 0xc8, 0xdd, 0x2a, 0xc4, 0x6a, 0x0a, 0xf6, 0x37, 0xd9, 0x98,\n\t  0x74, 0x91, 0xf6, 0x92, 0xae, 0xb0, 0xb5, 0x76, 0x96, 0xf1, 0xa9, 0x4a,\n\t  0x63, 0x45, 0x47, 0x2e, 0x6b, 0x0b, 0x92, 0x4e, 0x4b, 0x2b, 0x8c, 0xee,\n\t  0x58, 0x4a, 0x8b, 0xd4, 0x07, 0xe4, 0x1a, 0x2c, 0xf8, 0x82, 0xaa, 0x58,\n\t  0xd9, 0xcd, 0x42, 0xf3, 0x2d, 0xc0, 0x75, 0xde, 0x8d, 0xab, 0xc7, 0x8e,\n\t  0x1d, 0x9a, 0x6c, 0x4c, 0x08, 0x95, 0x1e, 0xde, 0xdb, 0xef, 0x67, 0xe1,\n\t  0x72, 0xc2, 0x49, 0xc2, 0x9e, 0x60, 0x3c, 0xe1, 0xe2, 0xbe, 0x16, 0xa3,\n\t  0x63, 0x78, 0x69, 0x14, 0x7b, 0xad, 0x2d, 0x02, 0x03, 0x01, 0x00, 0x01,\n\t  0xa3, 0x81, 0xc4, 0x30, 0x81, 0xc1, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06,\n\t  0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24,\n\t  0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18,\n\t  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e,\n\t  0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d,\n\t  0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02,\n\t  0x30, 0x00, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30,\n\t  0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, 0x22, 0x68, 0x74, 0x74,\n\t  0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69,\n\t  0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x73, 0x73,\n\t  0x2d, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x16, 0x06, 0x03, 0x55,\n\t  0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b,\n\t  0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x0e, 0x06, 0x03, 0x55,\n\t  0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x06, 0xc0, 0x30,\n\t  0x1e, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x17, 0x30, 0x15, 0xa4, 0x13,\n\t  0x30, 0x11, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,\n\t  0x06, 0x54, 0x53, 0x41, 0x31, 0x2d, 0x32, 0x30, 0x0d, 0x06, 0x09, 0x2a,\n\t  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,\n\t  0x01, 0x01, 0x00, 0x50, 0xc5, 0x4b, 0xc8, 0x24, 0x80, 0xdf, 0xe4, 0x0d,\n\t  0x24, 0xc2, 0xde, 0x1a, 0xb1, 0xa1, 0x02, 0xa1, 0xa6, 0x82, 0x2d, 0x0c,\n\t  0x83, 0x15, 0x81, 0x37, 0x0a, 0x82, 0x0e, 0x2c, 0xb0, 0x5a, 0x17, 0x61,\n\t  0xb5, 0xd8, 0x05, 0xfe, 0x88, 0xdb, 0xf1, 0x91, 0x91, 0xb3, 0x56, 0x1a,\n\t  0x40, 0xa6, 0xeb, 0x92, 0xbe, 0x38, 0x39, 0xb0, 0x75, 0x36, 0x74, 0x3a,\n\t  0x98, 0x4f, 0xe4, 0x37, 0xba, 0x99, 0x89, 0xca, 0x95, 0x42, 0x1d, 0xb0,\n\t  0xb9, 0xc7, 0xa0, 0x8d, 0x57, 0xe0, 0xfa, 0xd5, 0x64, 0x04, 0x42, 0x35,\n\t  0x4e, 0x01, 0xd1, 0x33, 0xa2, 0x17, 0xc8, 0x4d, 0xaa, 0x27, 0xc7, 0xf2,\n\t  0xe1, 0x86, 0x4c, 0x02, 0x38, 0x4d, 0x83, 0x78, 0xc6, 0xfc, 0x53, 0xe0,\n\t  0xeb, 0xe0, 0x06, 0x87, 0xdd, 0xa4, 0x96, 0x9e, 0x5e, 0x0c, 0x98, 0xe2,\n\t  0xa5, 0xbe, 0xbf, 0x82, 0x85, 0xc3, 0x60, 0xe1, 0xdf, 0xad, 0x28, 0xd8,\n\t  0xc7, 0xa5, 0x4b, 0x64, 0xda, 0xc7, 0x1b, 0x5b, 0xbd, 0xac, 0x39, 0x08,\n\t  0xd5, 0x38, 0x22, 0xa1, 0x33, 0x8b, 0x2f, 0x8a, 0x9a, 0xeb, 0xbc, 0x07,\n\t  0x21, 0x3f, 0x44, 0x41, 0x09, 0x07, 0xb5, 0x65, 0x1c, 0x24, 0xbc, 0x48,\n\t  0xd3, 0x44, 0x80, 0xeb, 0xa1, 0xcf, 0xc9, 0x02, 0xb4, 0x14, 0xcf, 0x54,\n\t  0xc7, 0x16, 0xa3, 0x80, 0x5c, 0xf9, 0x79, 0x3e, 0x5d, 0x72, 0x7d, 0x88,\n\t  0x17, 0x9e, 0x2c, 0x43, 0xa2, 0xca, 0x53, 0xce, 0x7d, 0x3d, 0xf6, 0x2a,\n\t  0x3a, 0xb8, 0x4f, 0x94, 0x00, 0xa5, 0x6d, 0x0a, 0x83, 0x5d, 0xf9, 0x5e,\n\t  0x53, 0xf4, 0x18, 0xb3, 0x57, 0x0f, 0x70, 0xc3, 0xfb, 0xf5, 0xad, 0x95,\n\t  0xa0, 0x0e, 0x17, 0xde, 0xc4, 0x16, 0x80, 0x60, 0xc9, 0x0f, 0x2b, 0x6e,\n\t  0x86, 0x04, 0xf1, 0xeb, 0xf4, 0x78, 0x27, 0xd1, 0x05, 0xc5, 0xee, 0x34,\n\t  0x5b, 0x5e, 0xb9, 0x49, 0x32, 0xf2, 0x33, 0x30, 0x82, 0x03, 0xc4, 0x30,\n\t  0x82, 0x03, 0x2d, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x47, 0xbf,\n\t  0x19, 0x95, 0xdf, 0x8d, 0x52, 0x46, 0x43, 0xf7, 0xdb, 0x6d, 0x48, 0x0d,\n\t  0x31, 0xa4, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,\n\t  0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x8b, 0x31, 0x0b, 0x30, 0x09,\n\t  0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41, 0x31, 0x15, 0x30,\n\t  0x13, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0c, 0x57, 0x65, 0x73, 0x74,\n\t  0x65, 0x72, 0x6e, 0x20, 0x43, 0x61, 0x70, 0x65, 0x31, 0x14, 0x30, 0x12,\n\t  0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0b, 0x44, 0x75, 0x72, 0x62, 0x61,\n\t  0x6e, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03,\n\t  0x55, 0x04, 0x0a, 0x13, 0x06, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x31,\n\t  0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x14, 0x54, 0x68,\n\t  0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,\n\t  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03,\n\t  0x55, 0x04, 0x03, 0x13, 0x16, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20,\n\t  0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67,\n\t  0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x33, 0x31, 0x32, 0x30,\n\t  0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x33,\n\t  0x31, 0x32, 0x30, 0x33, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30,\n\t  0x53, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,\n\t  0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,\n\t  0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49,\n\t  0x6e, 0x63, 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03,\n\t  0x13, 0x22, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54,\n\t  0x69, 0x6d, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67,\n\t  0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x43, 0x41,\n\t  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,\n\t  0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00,\n\t  0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa9, 0xca, 0xb2,\n\t  0xa4, 0xcc, 0xcd, 0x20, 0xaf, 0x0a, 0x7d, 0x89, 0xac, 0x87, 0x75, 0xf0,\n\t  0xb4, 0x4e, 0xf1, 0xdf, 0xc1, 0x0f, 0xbf, 0x67, 0x61, 0xbd, 0xa3, 0x64,\n\t  0x1c, 0xda, 0xbb, 0xf9, 0xca, 0x33, 0xab, 0x84, 0x30, 0x89, 0x58, 0x7e,\n\t  0x8c, 0xdb, 0x6b, 0xdd, 0x36, 0x9e, 0x0f, 0xbf, 0xd1, 0xec, 0x78, 0xf2,\n\t  0x77, 0xa6, 0x7e, 0x6f, 0x3c, 0xbf, 0x93, 0xaf, 0x0d, 0xba, 0x68, 0xf4,\n\t  0x6c, 0x94, 0xca, 0xbd, 0x52, 0x2d, 0xab, 0x48, 0x3d, 0xf5, 0xb6, 0xd5,\n\t  0x5d, 0x5f, 0x1b, 0x02, 0x9f, 0xfa, 0x2f, 0x6b, 0x1e, 0xa4, 0xf7, 0xa3,\n\t  0x9a, 0xa6, 0x1a, 0xc8, 0x02, 0xe1, 0x7f, 0x4c, 0x52, 0xe3, 0x0e, 0x60,\n\t  0xec, 0x40, 0x1c, 0x7e, 0xb9, 0x0d, 0xde, 0x3f, 0xc7, 0xb4, 0xdf, 0x87,\n\t  0xbd, 0x5f, 0x7a, 0x6a, 0x31, 0x2e, 0x03, 0x99, 0x81, 0x13, 0xa8, 0x47,\n\t  0x20, 0xce, 0x31, 0x73, 0x0d, 0x57, 0x2d, 0xcd, 0x78, 0x34, 0x33, 0x95,\n\t  0x12, 0x99, 0x12, 0xb9, 0xde, 0x68, 0x2f, 0xaa, 0xe6, 0xe3, 0xc2, 0x8a,\n\t  0x8c, 0x2a, 0xc3, 0x8b, 0x21, 0x87, 0x66, 0xbd, 0x83, 0x58, 0x57, 0x6f,\n\t  0x75, 0xbf, 0x3c, 0xaa, 0x26, 0x87, 0x5d, 0xca, 0x10, 0x15, 0x3c, 0x9f,\n\t  0x84, 0xea, 0x54, 0xc1, 0x0a, 0x6e, 0xc4, 0xfe, 0xc5, 0x4a, 0xdd, 0xb9,\n\t  0x07, 0x11, 0x97, 0x22, 0x7c, 0xdb, 0x3e, 0x27, 0xd1, 0x1e, 0x78, 0xec,\n\t  0x9f, 0x31, 0xc9, 0xf1, 0xe6, 0x22, 0x19, 0xdb, 0xc4, 0xb3, 0x47, 0x43,\n\t  0x9a, 0x1a, 0x5f, 0xa0, 0x1e, 0x90, 0xe4, 0x5e, 0xf5, 0xee, 0x7c, 0xf1,\n\t  0x7d, 0xab, 0x62, 0x01, 0x8f, 0xf5, 0x4d, 0x0b, 0xde, 0xd0, 0x22, 0x56,\n\t  0xa8, 0x95, 0xcd, 0xae, 0x88, 0x76, 0xae, 0xee, 0xba, 0x0d, 0xf3, 0xe4,\n\t  0x4d, 0xd9, 0xa0, 0xfb, 0x68, 0xa0, 0xae, 0x14, 0x3b, 0xb3, 0x87, 0xc1,\n\t  0xbb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xdb, 0x30, 0x81, 0xd8,\n\t  0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01,\n\t  0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,\n\t  0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,\n\t  0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69,\n\t  0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d,\n\t  0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02,\n\t  0x01, 0x00, 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x3a, 0x30,\n\t  0x38, 0x30, 0x36, 0xa0, 0x34, 0xa0, 0x32, 0x86, 0x30, 0x68, 0x74, 0x74,\n\t  0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69,\n\t  0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61,\n\t  0x77, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,\n\t  0x69, 0x6e, 0x67, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x13, 0x06,\n\t  0x03, 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06,\n\t  0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d,\n\t  0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x24,\n\t  0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x1d, 0x30, 0x1b, 0xa4, 0x19, 0x30,\n\t  0x17, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0c,\n\t  0x54, 0x53, 0x41, 0x32, 0x30, 0x34, 0x38, 0x2d, 0x31, 0x2d, 0x35, 0x33,\n\t  0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,\n\t  0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x4a, 0x6b, 0xf9, 0xea, 0x58,\n\t  0xc2, 0x44, 0x1c, 0x31, 0x89, 0x79, 0x99, 0x2b, 0x96, 0xbf, 0x82, 0xac,\n\t  0x01, 0xd6, 0x1c, 0x4c, 0xcd, 0xb0, 0x8a, 0x58, 0x6e, 0xdf, 0x08, 0x29,\n\t  0xa3, 0x5e, 0xc8, 0xca, 0x93, 0x13, 0xe7, 0x04, 0x52, 0x0d, 0xef, 0x47,\n\t  0x27, 0x2f, 0x00, 0x38, 0xb0, 0xe4, 0xc9, 0x93, 0x4e, 0x9a, 0xd4, 0x22,\n\t  0x62, 0x15, 0xf7, 0x3f, 0x37, 0x21, 0x4f, 0x70, 0x31, 0x80, 0xf1, 0x8b,\n\t  0x38, 0x87, 0xb3, 0xe8, 0xe8, 0x97, 0x00, 0xfe, 0xcf, 0x55, 0x96, 0x4e,\n\t  0x24, 0xd2, 0xa9, 0x27, 0x4e, 0x7a, 0xae, 0xb7, 0x61, 0x41, 0xf3, 0x2a,\n\t  0xce, 0xe7, 0xc9, 0xd9, 0x5e, 0xdd, 0xbb, 0x2b, 0x85, 0x3e, 0xb5, 0x9d,\n\t  0xb5, 0xd9, 0xe1, 0x57, 0xff, 0xbe, 0xb4, 0xc5, 0x7e, 0xf5, 0xcf, 0x0c,\n\t  0x9e, 0xf0, 0x97, 0xfe, 0x2b, 0xd3, 0x3b, 0x52, 0x1b, 0x1b, 0x38, 0x27,\n\t  0xf7, 0x3f, 0x4a, 0x30, 0x82, 0x04, 0xfc, 0x30, 0x82, 0x04, 0x65, 0xa0,\n\t  0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x65, 0x52, 0x26, 0xe1, 0xb2, 0x2e,\n\t  0x18, 0xe1, 0x59, 0x0f, 0x29, 0x85, 0xac, 0x22, 0xe7, 0x5c, 0x30, 0x0d,\n\t  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,\n\t  0x00, 0x30, 0x5f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,\n\t  0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,\n\t  0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c,\n\t  0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55,\n\t  0x04, 0x0b, 0x13, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20,\n\t  0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61,\n\t  0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,\n\t  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,\n\t  0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30, 0x35, 0x32, 0x31,\n\t  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x39, 0x30,\n\t  0x35, 0x32, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81,\n\t  0xb6, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,\n\t  0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,\n\t  0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49,\n\t  0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b,\n\t  0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54,\n\t  0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,\n\t  0x31, 0x3b, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54,\n\t  0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x20,\n\t  0x61, 0x74, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,\n\t  0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e,\n\t  0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x30,\n\t  0x39, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27,\n\t  0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61,\n\t  0x73, 0x73, 0x20, 0x33, 0x20, 0x43, 0x6f, 0x64, 0x65, 0x20, 0x53, 0x69,\n\t  0x67, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x32, 0x30, 0x30, 0x39, 0x2d, 0x32,\n\t  0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a,\n\t  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82,\n\t  0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00,\n\t  0xbe, 0x67, 0x1d, 0xb4, 0x60, 0xaa, 0x10, 0x49, 0x6f, 0x56, 0x17, 0x7c,\n\t  0x66, 0xc9, 0x5e, 0x86, 0x0d, 0xd5, 0xf1, 0xac, 0xa7, 0x71, 0x83, 0x8e,\n\t  0x8b, 0x89, 0xf8, 0x88, 0x04, 0x89, 0x15, 0x06, 0xba, 0x2d, 0x84, 0x21,\n\t  0x95, 0xe4, 0xd1, 0x9c, 0x50, 0x4c, 0xfb, 0xd2, 0x22, 0xbd, 0xda, 0xf2,\n\t  0xb2, 0x35, 0x3b, 0x1e, 0x8f, 0xc3, 0x09, 0xfb, 0xfc, 0x13, 0x2e, 0x5a,\n\t  0xbf, 0x89, 0x7c, 0x3d, 0x3b, 0x25, 0x1e, 0xf6, 0xf3, 0x58, 0x7b, 0x9c,\n\t  0xf4, 0x01, 0xb5, 0xc6, 0x0a, 0xb8, 0x80, 0xce, 0xbe, 0x27, 0x74, 0x61,\n\t  0x67, 0x27, 0x4d, 0x6a, 0xe5, 0xec, 0x81, 0x61, 0x58, 0x79, 0xa3, 0xe0,\n\t  0x17, 0x10, 0x12, 0x15, 0x27, 0xb0, 0xe1, 0x4d, 0x34, 0x7f, 0x2b, 0x47,\n\t  0x20, 0x44, 0xb9, 0xde, 0x66, 0x24, 0x66, 0x8a, 0xcd, 0x4f, 0xba, 0x1f,\n\t  0xc5, 0x38, 0xc8, 0x54, 0x90, 0xe1, 0x72, 0xf6, 0x19, 0x66, 0x75, 0x6a,\n\t  0xb9, 0x49, 0x68, 0xcf, 0x38, 0x79, 0x0d, 0xaa, 0x30, 0xa8, 0xdb, 0x2c,\n\t  0x60, 0x48, 0x9e, 0xd7, 0xaa, 0x14, 0x01, 0xa9, 0x83, 0xd7, 0x38, 0x91,\n\t  0x30, 0x39, 0x13, 0x96, 0x03, 0x3a, 0x7c, 0x40, 0x54, 0xb6, 0xad, 0xe0,\n\t  0x2f, 0x1b, 0x83, 0xdc, 0xa8, 0x11, 0x52, 0x3e, 0x02, 0xb3, 0xd7, 0x2b,\n\t  0xfd, 0x21, 0xb6, 0xa7, 0x5c, 0xa3, 0x0f, 0x0b, 0xa9, 0xa6, 0x10, 0x50,\n\t  0x0e, 0x34, 0x2e, 0x4d, 0xa7, 0xce, 0xc9, 0x5e, 0x25, 0xd4, 0x8c, 0xbc,\n\t  0xf3, 0x6e, 0x7c, 0x29, 0xbc, 0x01, 0x5d, 0xfc, 0x31, 0x87, 0x5a, 0xd5,\n\t  0x8c, 0x85, 0x67, 0x58, 0x88, 0x19, 0xa0, 0xbf, 0x35, 0xf0, 0xea, 0x2b,\n\t  0xa3, 0x21, 0xe7, 0x90, 0xf6, 0x83, 0xe5, 0xa8, 0xed, 0x60, 0x78, 0x5e,\n\t  0x7b, 0x60, 0x83, 0xfd, 0x57, 0x0b, 0x5d, 0x41, 0x0d, 0x63, 0x54, 0x60,\n\t  0xd6, 0x43, 0x21, 0xef, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01,\n\t  0xdb, 0x30, 0x82, 0x01, 0xd7, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13,\n\t  0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01,\n\t  0x00, 0x30, 0x70, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x69, 0x30, 0x67,\n\t  0x30, 0x65, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01,\n\t  0x07, 0x17, 0x03, 0x30, 0x56, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01,\n\t  0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73,\n\t  0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,\n\t  0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30,\n\t  0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30,\n\t  0x1e, 0x1a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,\n\t  0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e,\n\t  0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x0e, 0x06, 0x03, 0x55,\n\t  0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30,\n\t  0x6d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04,\n\t  0x61, 0x30, 0x5f, 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30,\n\t  0x55, 0x16, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66,\n\t  0x30, 0x21, 0x30, 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,\n\t  0x1a, 0x04, 0x14, 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b,\n\t  0xc3, 0xcf, 0x80, 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30,\n\t  0x25, 0x16, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f,\n\t  0x67, 0x6f, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e,\n\t  0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67,\n\t  0x69, 0x66, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30,\n\t  0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06,\n\t  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x34, 0x06,\n\t  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30,\n\t  0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,\n\t  0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63,\n\t  0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e,\n\t  0x63, 0x6f, 0x6d, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a,\n\t  0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74,\n\t  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72,\n\t  0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63,\n\t  0x61, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d,\n\t  0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30,\n\t  0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x43, 0x6c, 0x61, 0x73,\n\t  0x73, 0x33, 0x43, 0x41, 0x32, 0x30, 0x34, 0x38, 0x2d, 0x31, 0x2d, 0x35,\n\t  0x35, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14,\n\t  0x97, 0xd0, 0x6b, 0xa8, 0x26, 0x70, 0xc8, 0xa1, 0x3f, 0x94, 0x1f, 0x08,\n\t  0x2d, 0xc4, 0x35, 0x9b, 0xa4, 0xa1, 0x1e, 0xf2, 0x30, 0x0d, 0x06, 0x09,\n\t  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03,\n\t  0x81, 0x81, 0x00, 0x8b, 0x03, 0xc0, 0xdd, 0x94, 0xd8, 0x41, 0xa2, 0x61,\n\t  0x69, 0xb0, 0x15, 0xa8, 0x78, 0xc7, 0x30, 0xc6, 0x90, 0x3c, 0x7e, 0x42,\n\t  0xf7, 0x24, 0xb6, 0xe4, 0x83, 0x73, 0x17, 0x04, 0x7f, 0x04, 0x10, 0x9c,\n\t  0xa1, 0xe2, 0xfa, 0x81, 0x2f, 0xeb, 0xc0, 0xca, 0x44, 0xe7, 0x72, 0xe0,\n\t  0x50, 0xb6, 0x55, 0x10, 0x20, 0x83, 0x6e, 0x96, 0x92, 0xe4, 0x9a, 0x51,\n\t  0x6a, 0xb4, 0x37, 0x31, 0xdc, 0xa5, 0x2d, 0xeb, 0x8c, 0x00, 0xc7, 0x1d,\n\t  0x4f, 0xe7, 0x4d, 0x32, 0xba, 0x85, 0xf8, 0x4e, 0xbe, 0xfa, 0x67, 0x55,\n\t  0x65, 0xf0, 0x6a, 0xbe, 0x7a, 0xca, 0x64, 0x38, 0x1a, 0x10, 0x10, 0x78,\n\t  0x45, 0x76, 0x31, 0xf3, 0x86, 0x7a, 0x03, 0x0f, 0x60, 0xc2, 0xb3, 0x5d,\n\t  0x9d, 0xf6, 0x8b, 0x66, 0x76, 0x82, 0x1b, 0x59, 0xe1, 0x83, 0xe5, 0xbd,\n\t  0x49, 0xa5, 0x38, 0x56, 0xe5, 0xde, 0x41, 0x77, 0x0e, 0x58, 0x0f, 0x30,\n\t  0x82, 0x05, 0x03, 0x30, 0x82, 0x02, 0xeb, 0xa0, 0x03, 0x02, 0x01, 0x02,\n\t  0x02, 0x0a, 0x61, 0x0c, 0x12, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b,\n\t  0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,\n\t  0x05, 0x05, 0x00, 0x30, 0x7f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,\n\t  0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,\n\t  0x55, 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67,\n\t  0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07,\n\t  0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30,\n\t  0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72,\n\t  0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72,\n\t  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55,\n\t  0x04, 0x03, 0x13, 0x20, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66,\n\t  0x74, 0x20, 0x43, 0x6f, 0x64, 0x65, 0x20, 0x56, 0x65, 0x72, 0x69, 0x66,\n\t  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74,\n\t  0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x30, 0x35, 0x32, 0x33, 0x31, 0x37,\n\t  0x30, 0x31, 0x32, 0x39, 0x5a, 0x17, 0x0d, 0x31, 0x36, 0x30, 0x35, 0x32,\n\t  0x33, 0x31, 0x37, 0x31, 0x31, 0x32, 0x39, 0x5a, 0x30, 0x5f, 0x31, 0x0b,\n\t  0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,\n\t  0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65,\n\t  0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e,\n\t  0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2e, 0x43,\n\t  0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69,\n\t  0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65,\n\t  0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,\n\t  0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x81, 0x9f,\n\t  0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,\n\t  0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81,\n\t  0x81, 0x00, 0xc9, 0x5c, 0x59, 0x9e, 0xf2, 0x1b, 0x8a, 0x01, 0x14, 0xb4,\n\t  0x10, 0xdf, 0x04, 0x40, 0xdb, 0xe3, 0x57, 0xaf, 0x6a, 0x45, 0x40, 0x8f,\n\t  0x84, 0x0c, 0x0b, 0xd1, 0x33, 0xd9, 0xd9, 0x11, 0xcf, 0xee, 0x02, 0x58,\n\t  0x1f, 0x25, 0xf7, 0x2a, 0xa8, 0x44, 0x05, 0xaa, 0xec, 0x03, 0x1f, 0x78,\n\t  0x7f, 0x9e, 0x93, 0xb9, 0x9a, 0x00, 0xaa, 0x23, 0x7d, 0xd6, 0xac, 0x85,\n\t  0xa2, 0x63, 0x45, 0xc7, 0x72, 0x27, 0xcc, 0xf4, 0x4c, 0xc6, 0x75, 0x71,\n\t  0xd2, 0x39, 0xef, 0x4f, 0x42, 0xf0, 0x75, 0xdf, 0x0a, 0x90, 0xc6, 0x8e,\n\t  0x20, 0x6f, 0x98, 0x0f, 0xf8, 0xac, 0x23, 0x5f, 0x70, 0x29, 0x36, 0xa4,\n\t  0xc9, 0x86, 0xe7, 0xb1, 0x9a, 0x20, 0xcb, 0x53, 0xa5, 0x85, 0xe7, 0x3d,\n\t  0xbe, 0x7d, 0x9a, 0xfe, 0x24, 0x45, 0x33, 0xdc, 0x76, 0x15, 0xed, 0x0f,\n\t  0xa2, 0x71, 0x64, 0x4c, 0x65, 0x2e, 0x81, 0x68, 0x45, 0xa7, 0x02, 0x03,\n\t  0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x23, 0x30, 0x82, 0x01, 0x1f, 0x30,\n\t  0x11, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x0a, 0x30, 0x08, 0x30, 0x06,\n\t  0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x36, 0x06, 0x09, 0x2b, 0x06,\n\t  0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x07, 0x04, 0x29, 0x30, 0x27, 0x06,\n\t  0x1f, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x08, 0x8d, 0xe0,\n\t  0xd1, 0x89, 0x4e, 0x84, 0xd7, 0x9c, 0xc3, 0x07, 0x86, 0xa6, 0x86, 0xfb,\n\t  0x1c, 0x8f, 0xd3, 0xbf, 0xa6, 0x15, 0x01, 0x19, 0x02, 0x01, 0x6e, 0x02,\n\t  0x01, 0x00, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03,\n\t  0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01,\n\t  0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03,\n\t  0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xe2, 0x7f, 0x7b, 0xd8, 0x77,\n\t  0xd5, 0xdf, 0x9e, 0x0a, 0x3f, 0x9e, 0xb4, 0xcb, 0x0e, 0x2e, 0xa9, 0xef,\n\t  0xdb, 0x69, 0x77, 0x30, 0x1d, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01,\n\t  0x82, 0x37, 0x14, 0x02, 0x04, 0x10, 0x1e, 0x0e, 0x00, 0x43, 0x00, 0x72,\n\t  0x00, 0x6f, 0x00, 0x73, 0x00, 0x73, 0x00, 0x43, 0x00, 0x41, 0x30, 0x1f,\n\t  0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x62,\n\t  0xfb, 0x0a, 0x21, 0x5b, 0x7f, 0x43, 0x6e, 0x11, 0xda, 0x09, 0x54, 0x50,\n\t  0x6b, 0xf5, 0xd2, 0x96, 0x71, 0xf1, 0x9e, 0x30, 0x55, 0x06, 0x03, 0x55,\n\t  0x1d, 0x1f, 0x04, 0x4e, 0x30, 0x4c, 0x30, 0x4a, 0xa0, 0x48, 0xa0, 0x46,\n\t  0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c,\n\t  0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2e, 0x63,\n\t  0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x70,\n\t  0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x72,\n\t  0x6f, 0x73, 0x6f, 0x66, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72,\n\t  0x69, 0x66, 0x52, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0d,\n\t  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,\n\t  0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x01, 0xe4, 0x46, 0xb3, 0x3b, 0x45,\n\t  0x7f, 0x75, 0x13, 0x87, 0x7e, 0x5f, 0x43, 0xde, 0x46, 0x8e, 0xcb, 0x8a,\n\t  0xbd, 0xb6, 0x47, 0x41, 0xbc, 0xcc, 0xcc, 0x74, 0x91, 0xd8, 0xce, 0x39,\n\t  0x51, 0x95, 0xa4, 0xa6, 0xb5, 0x47, 0xc0, 0xef, 0xd2, 0xda, 0x7b, 0x8f,\n\t  0x57, 0x11, 0xf4, 0x32, 0x8c, 0x7c, 0xcd, 0x3f, 0xee, 0x42, 0xda, 0x04,\n\t  0x21, 0x4a, 0xf7, 0xc8, 0x43, 0x88, 0x4a, 0x6f, 0x5c, 0xca, 0x14, 0xfc,\n\t  0x4b, 0xd1, 0x9f, 0x4c, 0xbd, 0xd4, 0x55, 0x6e, 0xcc, 0x02, 0xbe, 0x0d,\n\t  0xa6, 0x88, 0x8f, 0x86, 0x09, 0xba, 0xa4, 0x25, 0xbd, 0xe8, 0xb0, 0xf0,\n\t  0xfa, 0x8b, 0x71, 0x4e, 0x67, 0xb0, 0xcb, 0x82, 0xa8, 0xd7, 0x8e, 0x55,\n\t  0xf7, 0x37, 0xeb, 0xf0, 0x3e, 0x88, 0xef, 0xe4, 0xe0, 0x8a, 0xfd, 0x1c,\n\t  0x6e, 0x2e, 0x61, 0x41, 0x48, 0x75, 0xb4, 0xb0, 0x2c, 0x1d, 0x28, 0xd8,\n\t  0x49, 0x0f, 0xd7, 0x15, 0xf0, 0x24, 0x73, 0x25, 0x3c, 0xcc, 0x88, 0x0c,\n\t  0xde, 0x28, 0x4c, 0x65, 0x54, 0xfe, 0x5e, 0xae, 0x8c, 0xea, 0x19, 0xad,\n\t  0x2c, 0x51, 0xb2, 0x9b, 0x3a, 0x47, 0xf5, 0x3c, 0x80, 0x35, 0x01, 0x17,\n\t  0xe2, 0x49, 0x87, 0xd6, 0x54, 0x4a, 0xfb, 0x4b, 0xab, 0x07, 0xbc, 0xbf,\n\t  0x7d, 0x79, 0xcf, 0xbf, 0x35, 0x00, 0x5c, 0xbb, 0x9e, 0xcf, 0xfc, 0x82,\n\t  0x89, 0x1b, 0x39, 0xa0, 0x51, 0x97, 0xb6, 0xde, 0xc0, 0xb3, 0x07, 0xff,\n\t  0x44, 0x96, 0x44, 0xc0, 0x34, 0x2a, 0x19, 0x5c, 0xab, 0xee, 0xf0, 0x3b,\n\t  0xec, 0x29, 0x4e, 0xb5, 0x13, 0xc5, 0x37, 0x85, 0x7e, 0x75, 0xd5, 0xb4,\n\t  0xd6, 0x0d, 0x06, 0x6e, 0xb5, 0xd2, 0x6c, 0x23, 0x71, 0x67, 0xea, 0xf1,\n\t  0x71, 0x8e, 0xaf, 0x4e, 0x74, 0xaa, 0x0c, 0xf9, 0xec, 0xbf, 0x4c, 0x58,\n\t  0xfa, 0x5e, 0x90, 0x9b, 0x6d, 0x39, 0xcb, 0x86, 0x88, 0x3f, 0x8b, 0x1c,\n\t  0xa8, 0x16, 0x32, 0xd5, 0xfe, 0x6d, 0xb9, 0xf1, 0xf8, 0xb3, 0xea, 0xd7,\n\t  0x91, 0xf6, 0x36, 0x47, 0x78, 0xc0, 0x27, 0x2a, 0x15, 0xc7, 0x68, 0xd6,\n\t  0xf4, 0xc5, 0xfc, 0x4f, 0x4e, 0xc8, 0x67, 0x3f, 0x10, 0x2d, 0x40, 0x9f,\n\t  0xf1, 0x1e, 0xc9, 0x61, 0x48, 0xe7, 0xa7, 0x03, 0xfc, 0x31, 0x73, 0x0c,\n\t  0xf0, 0x46, 0x88, 0xfe, 0x56, 0xda, 0x49, 0x29, 0x95, 0xef, 0x09, 0xda,\n\t  0xa3, 0xe5, 0xbe, 0xef, 0x60, 0xec, 0xd9, 0x54, 0xa0, 0x59, 0x9c, 0x28,\n\t  0xbd, 0x54, 0xef, 0x66, 0x15, 0x7f, 0x87, 0x4c, 0x84, 0xdb, 0xa6, 0x0e,\n\t  0x95, 0x67, 0x2e, 0x51, 0x7b, 0x34, 0x39, 0xb6, 0x41, 0xc2, 0x8c, 0x84,\n\t  0x68, 0x26, 0xdc, 0x24, 0x02, 0x09, 0xe7, 0x81, 0x8e, 0x0a, 0x97, 0x2d,\n\t  0xef, 0xee, 0xa7, 0xb9, 0x98, 0xa6, 0x0f, 0x81, 0x8d, 0xc7, 0x10, 0xb5,\n\t  0xe1, 0xed, 0x98, 0x2f, 0x48, 0x6f, 0x53, 0x85, 0x49, 0x64, 0x78, 0x9b,\n\t  0xec, 0x5d, 0xac, 0x97, 0x0b, 0x55, 0x26, 0xc3, 0xef, 0xba, 0x8d, 0xc8,\n\t  0xd1, 0xa5, 0x2f, 0x5a, 0x7f, 0x93, 0x6b, 0x61, 0x1a, 0x33, 0x9b, 0x18,\n\t  0xb8, 0xa2, 0x62, 0x10, 0xde, 0x24, 0xea, 0x76, 0xe1, 0x2f, 0x43, 0xeb,\n\t  0xec, 0xdd, 0x7c, 0x12, 0x34, 0x24, 0x89, 0xda, 0x28, 0x55, 0xae, 0xe5,\n\t  0x75, 0x4e, 0x31, 0x2b, 0x67, 0x63, 0xb6, 0xa8, 0xd7, 0xab, 0x73, 0x0a,\n\t  0x03, 0xce, 0xc5, 0xea, 0x59, 0x3f, 0xc7, 0xeb, 0x2a, 0x45, 0xae, 0xa8,\n\t  0x62, 0x5b, 0x2f, 0x00, 0x99, 0x39, 0xab, 0xb4, 0x5f, 0x73, 0xc3, 0x08,\n\t  0xec, 0x80, 0x11, 0x8f, 0x47, 0x0e, 0x8f, 0x2a, 0x13, 0x43, 0xe1, 0x91,\n\t  0x06, 0x62, 0x55, 0xbb, 0xff, 0xba, 0x3d, 0xa9, 0xa9, 0x3d, 0x26, 0x0f,\n\t  0xae, 0xca, 0x7d, 0x62, 0x8b, 0x15, 0x55, 0x89, 0xd6, 0x94, 0x34, 0x4d,\n\t  0xd6, 0x65, 0x30, 0x82, 0x05, 0x0b, 0x30, 0x82, 0x03, 0xf3, 0xa0, 0x03,\n\t  0x02, 0x01, 0x02, 0x02, 0x10, 0x05, 0x82, 0x58, 0x57, 0x16, 0x70, 0xab,\n\t  0x2b, 0x1b, 0xac, 0x50, 0x67, 0x9c, 0xec, 0x49, 0xa1, 0x30, 0x0d, 0x06,\n\t  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,\n\t  0x30, 0x81, 0xb6, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,\n\t  0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,\n\t  0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c,\n\t  0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55,\n\t  0x04, 0x0b, 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e,\n\t  0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f,\n\t  0x72, 0x6b, 0x31, 0x3b, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,\n\t  0x32, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73,\n\t  0x65, 0x20, 0x61, 0x74, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,\n\t  0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67,\n\t  0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63,\n\t  0x29, 0x30, 0x39, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, 0x03,\n\t  0x13, 0x27, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43,\n\t  0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x43, 0x6f, 0x64, 0x65, 0x20,\n\t  0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x32, 0x30, 0x30, 0x39,\n\t  0x2d, 0x32, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30,\n\t  0x35, 0x32, 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d,\n\t  0x31, 0x32, 0x30, 0x35, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39,\n\t  0x5a, 0x30, 0x81, 0xc8, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,\n\t  0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55,\n\t  0x04, 0x08, 0x13, 0x06, 0x4f, 0x72, 0x65, 0x67, 0x6f, 0x6e, 0x31, 0x12,\n\t  0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, 0x48, 0x69, 0x6c,\n\t  0x6c, 0x73, 0x62, 0x6f, 0x72, 0x6f, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03,\n\t  0x55, 0x04, 0x0a, 0x14, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x6c, 0x20, 0x43,\n\t  0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3e,\n\t  0x30, 0x3c, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x35, 0x44, 0x69, 0x67,\n\t  0x69, 0x74, 0x61, 0x6c, 0x20, 0x49, 0x44, 0x20, 0x43, 0x6c, 0x61, 0x73,\n\t  0x73, 0x20, 0x33, 0x20, 0x2d, 0x20, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73,\n\t  0x6f, 0x66, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,\n\t  0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,\n\t  0x76, 0x32, 0x31, 0x1c, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x14,\n\t  0x13, 0x4c, 0x41, 0x4e, 0x20, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20,\n\t  0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x1a, 0x30, 0x18,\n\t  0x06, 0x03, 0x55, 0x04, 0x03, 0x14, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x6c,\n\t  0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,\n\t  0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,\n\t  0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,\n\t  0x89, 0x02, 0x81, 0x81, 0x00, 0xcd, 0x71, 0x9f, 0x6e, 0xe2, 0x35, 0xaa,\n\t  0xaf, 0x32, 0x20, 0xd8, 0xd3, 0x94, 0xe8, 0x7d, 0x47, 0xdc, 0x46, 0x25,\n\t  0xf3, 0xd4, 0x0e, 0x76, 0x14, 0xb1, 0x88, 0x61, 0x4d, 0xe5, 0x6b, 0x47,\n\t  0x5d, 0xf4, 0x01, 0x23, 0x15, 0x39, 0x8e, 0x33, 0xa8, 0x51, 0xfe, 0x3c,\n\t  0x4d, 0x75, 0x6b, 0x04, 0xcb, 0x15, 0x17, 0x7d, 0x24, 0xfa, 0x23, 0xdd,\n\t  0x96, 0x42, 0xe4, 0x3f, 0x26, 0x8d, 0xee, 0xfb, 0x68, 0x35, 0xde, 0x34,\n\t  0x45, 0xd8, 0xfb, 0xb2, 0x7c, 0xed, 0xb6, 0xe2, 0xc8, 0xbe, 0x7d, 0xd6,\n\t  0xde, 0x1f, 0xdd, 0x24, 0xbd, 0x6a, 0xf6, 0x92, 0xc1, 0x64, 0xad, 0x25,\n\t  0xef, 0x56, 0x81, 0x5c, 0x6a, 0x4c, 0x78, 0x4a, 0x42, 0x90, 0x66, 0x35,\n\t  0x9f, 0xac, 0x23, 0x2e, 0x17, 0x79, 0x6e, 0x53, 0x97, 0xde, 0x08, 0xdc,\n\t  0x8a, 0xce, 0xc5, 0x3a, 0x37, 0x07, 0xd4, 0x11, 0x71, 0x63, 0x7d, 0x03,\n\t  0xa7, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x83, 0x30, 0x82,\n\t  0x01, 0x7f, 0x30, 0x09, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30,\n\t  0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04,\n\t  0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1d, 0x1f,\n\t  0x04, 0x3d, 0x30, 0x3b, 0x30, 0x39, 0xa0, 0x37, 0xa0, 0x35, 0x86, 0x33,\n\t  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x73, 0x63, 0x33, 0x2d,\n\t  0x32, 0x30, 0x30, 0x39, 0x2d, 0x32, 0x2d, 0x63, 0x72, 0x6c, 0x2e, 0x76,\n\t  0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,\n\t  0x43, 0x53, 0x43, 0x33, 0x2d, 0x32, 0x30, 0x30, 0x39, 0x2d, 0x32, 0x2e,\n\t  0x63, 0x72, 0x6c, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3d,\n\t  0x30, 0x3b, 0x30, 0x39, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8,\n\t  0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b,\n\t  0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74,\n\t  0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72,\n\t  0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70,\n\t  0x61, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30, 0x0a,\n\t  0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x75,\n\t  0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x69,\n\t  0x30, 0x67, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,\n\t  0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f,\n\t  0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e,\n\t  0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x3f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,\n\t  0x05, 0x07, 0x30, 0x02, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,\n\t  0x2f, 0x63, 0x73, 0x63, 0x33, 0x2d, 0x32, 0x30, 0x30, 0x39, 0x2d, 0x32,\n\t  0x2d, 0x61, 0x69, 0x61, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67,\n\t  0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x53, 0x43, 0x33, 0x2d, 0x32,\n\t  0x30, 0x30, 0x39, 0x2d, 0x32, 0x2e, 0x63, 0x65, 0x72, 0x30, 0x1f, 0x06,\n\t  0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x97, 0xd0,\n\t  0x6b, 0xa8, 0x26, 0x70, 0xc8, 0xa1, 0x3f, 0x94, 0x1f, 0x08, 0x2d, 0xc4,\n\t  0x35, 0x9b, 0xa4, 0xa1, 0x1e, 0xf2, 0x30, 0x11, 0x06, 0x09, 0x60, 0x86,\n\t  0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x01, 0x04, 0x04, 0x03, 0x02, 0x04,\n\t  0x10, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37,\n\t  0x02, 0x01, 0x1b, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0x00, 0x01, 0x01,\n\t  0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,\n\t  0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x3d, 0x01, 0xe2,\n\t  0xc5, 0xa5, 0xf6, 0x20, 0x9e, 0x2b, 0x1c, 0xbf, 0x42, 0x2f, 0x38, 0xc1,\n\t  0x96, 0x77, 0xd0, 0xc3, 0xd1, 0x64, 0xd2, 0x9b, 0xcf, 0x4f, 0xda, 0x7a,\n\t  0xd1, 0x74, 0xd1, 0xbb, 0xd5, 0x75, 0x79, 0x51, 0x10, 0xe1, 0x3d, 0x1a,\n\t  0xf2, 0xfa, 0xd8, 0xfc, 0xf7, 0xa6, 0x83, 0x37, 0x4a, 0x11, 0x3b, 0x00,\n\t  0xb3, 0xb7, 0x96, 0x77, 0xf0, 0x45, 0x94, 0xc0, 0x35, 0x19, 0x4e, 0x9a,\n\t  0xb3, 0xd0, 0x16, 0x25, 0x91, 0x24, 0x79, 0x3b, 0xae, 0x17, 0x50, 0x08,\n\t  0x20, 0x11, 0x44, 0x7c, 0x5f, 0x3e, 0x5e, 0x46, 0xd4, 0xc8, 0x42, 0x3a,\n\t  0xff, 0xad, 0xd0, 0x1a, 0x84, 0xb4, 0x0b, 0xbb, 0x61, 0x43, 0xb2, 0x03,\n\t  0x0b, 0x67, 0x41, 0xf1, 0x7d, 0x9d, 0x9b, 0x31, 0x12, 0x48, 0x57, 0x58,\n\t  0x7c, 0x24, 0xf1, 0xb9, 0x87, 0x7f, 0x90, 0x1b, 0x86, 0x1a, 0x7e, 0x48,\n\t  0x7b, 0xb0, 0xba, 0x24, 0x95, 0x53, 0xfc, 0x7d, 0xec, 0xd2, 0x52, 0xdd,\n\t  0x7c, 0x15, 0xa2, 0xeb, 0xdd, 0xde, 0xc2, 0x5e, 0x84, 0xd4, 0xdc, 0x9e,\n\t  0x5d, 0x6b, 0xdf, 0x06, 0xcb, 0x35, 0xc9, 0x7b, 0x9a, 0x14, 0xc0, 0x49,\n\t  0x45, 0x76, 0x54, 0x31, 0xfb, 0x8b, 0xe9, 0x0e, 0x0b, 0x00, 0x7d, 0xaa,\n\t  0x66, 0x79, 0x72, 0x40, 0x99, 0x73, 0xdb, 0x8f, 0x48, 0x4b, 0x22, 0x83,\n\t  0x49, 0x2c, 0x62, 0xa7, 0x92, 0x32, 0x02, 0x79, 0x74, 0x28, 0x05, 0x4a,\n\t  0x80, 0x77, 0xcb, 0xab, 0xc1, 0xb1, 0xad, 0x48, 0x33, 0x4a, 0x75, 0x9a,\n\t  0x32, 0xc6, 0xc2, 0x65, 0x1b, 0x9e, 0xd1, 0x92, 0xf6, 0x7d, 0xd6, 0xd1,\n\t  0x47, 0x9d, 0xa1, 0xea, 0x6f, 0x0a, 0x3b, 0x24, 0xa0, 0x2c, 0x01, 0xb4,\n\t  0xac, 0x85, 0xd2, 0x93, 0xdc, 0x40, 0x15, 0x0f, 0x83, 0x18, 0x70, 0xb8,\n\t  0xaa, 0xa5, 0x6d, 0x72, 0x7e, 0xec, 0x6f, 0x55, 0xa0, 0xff, 0x68, 0x40,\n\t  0x2a, 0x31, 0x82, 0x03, 0xa6, 0x30, 0x82, 0x03, 0xa2, 0x02, 0x01, 0x01,\n\t  0x30, 0x81, 0xcb, 0x30, 0x81, 0xb6, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,\n\t  0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06,\n\t  0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69,\n\t  0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d,\n\t  0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53,\n\t  0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65,\n\t  0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30, 0x39, 0x06, 0x03, 0x55,\n\t  0x04, 0x0b, 0x13, 0x32, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66,\n\t  0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, 0x68, 0x74, 0x74, 0x70,\n\t  0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69,\n\t  0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61,\n\t  0x20, 0x28, 0x63, 0x29, 0x30, 0x39, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03,\n\t  0x55, 0x04, 0x03, 0x13, 0x27, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67,\n\t  0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x43, 0x6f,\n\t  0x64, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x32,\n\t  0x30, 0x30, 0x39, 0x2d, 0x32, 0x20, 0x43, 0x41, 0x02, 0x10, 0x05, 0x82,\n\t  0x58, 0x57, 0x16, 0x70, 0xab, 0x2b, 0x1b, 0xac, 0x50, 0x67, 0x9c, 0xec,\n\t  0x49, 0xa1, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,\n\t  0x00, 0xa0, 0x81, 0xae, 0x30, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,\n\t  0xf7, 0x0d, 0x01, 0x09, 0x03, 0x31, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01,\n\t  0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0x30, 0x1c, 0x06, 0x0a, 0x2b,\n\t  0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0b, 0x31, 0x0e, 0x30,\n\t  0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01,\n\t  0x15, 0x30, 0x23, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,\n\t  0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0xd7, 0x7b, 0x43, 0x72, 0x68, 0xb2,\n\t  0x2f, 0x91, 0xf6, 0x6a, 0xd8, 0x84, 0xe5, 0x9b, 0xff, 0xbf, 0x02, 0x30,\n\t  0x9d, 0x34, 0x30, 0x4e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82,\n\t  0x37, 0x02, 0x01, 0x0c, 0x31, 0x40, 0x30, 0x3e, 0xa0, 0x3c, 0x80, 0x3a,\n\t  0x00, 0x2e, 0x00, 0x2e, 0x00, 0x5c, 0x00, 0x64, 0x00, 0x72, 0x00, 0x69,\n\t  0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x5c, 0x00, 0x57,\n\t  0x00, 0x69, 0x00, 0x6e, 0x00, 0x36, 0x00, 0x34, 0x00, 0x65, 0x00, 0x5c,\n\t  0x00, 0x69, 0x00, 0x71, 0x00, 0x76, 0x00, 0x77, 0x00, 0x36, 0x00, 0x34,\n\t  0x00, 0x65, 0x00, 0x2e, 0x00, 0x53, 0x00, 0x59, 0x00, 0x53, 0x30, 0x0d,\n\t  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,\n\t  0x00, 0x04, 0x81, 0x80, 0x8c, 0x63, 0x2b, 0x7d, 0xd3, 0xdb, 0xf9, 0x28,\n\t  0xf2, 0xee, 0xeb, 0xd7, 0x18, 0x64, 0x7d, 0xc4, 0x5b, 0xec, 0xff, 0x58,\n\t  0xa0, 0xa1, 0x8d, 0xdb, 0x6d, 0x45, 0x11, 0xcb, 0xf9, 0x8b, 0xfa, 0x68,\n\t  0x27, 0x95, 0x3c, 0xbe, 0x4c, 0x0f, 0x20, 0xee, 0xf0, 0x3b, 0x02, 0x1c,\n\t  0xac, 0x2a, 0xe3, 0x84, 0xe8, 0x58, 0xf9, 0x47, 0xa4, 0xaa, 0x86, 0xd8,\n\t  0x0c, 0x6c, 0x21, 0x7d, 0x3a, 0xb7, 0xc8, 0xa1, 0x68, 0xbf, 0x6f, 0x2f,\n\t  0xcf, 0xd1, 0x5b, 0x67, 0xb6, 0x0d, 0xc4, 0xba, 0x8e, 0x50, 0x3e, 0x3b,\n\t  0x30, 0xfb, 0x1e, 0x0a, 0x56, 0xc4, 0xa7, 0x05, 0x34, 0xe9, 0x09, 0x6f,\n\t  0xce, 0xcc, 0xc9, 0xdd, 0xf6, 0xee, 0x6b, 0x36, 0x84, 0x0f, 0x64, 0x62,\n\t  0x47, 0xd3, 0x85, 0x6f, 0x0f, 0xdc, 0x9b, 0x41, 0xc5, 0x91, 0xb3, 0x59,\n\t  0x6e, 0x3e, 0x01, 0x55, 0xfe, 0xf4, 0xf8, 0xcc, 0x29, 0x1c, 0x75, 0xba,\n\t  0xa1, 0x82, 0x01, 0x7f, 0x30, 0x82, 0x01, 0x7b, 0x06, 0x09, 0x2a, 0x86,\n\t  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x06, 0x31, 0x82, 0x01, 0x6c, 0x30,\n\t  0x82, 0x01, 0x68, 0x02, 0x01, 0x01, 0x30, 0x67, 0x30, 0x53, 0x31, 0x0b,\n\t  0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,\n\t  0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65,\n\t  0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e,\n\t  0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x56,\n\t  0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65,\n\t  0x20, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x53, 0x65,\n\t  0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x43, 0x41, 0x02, 0x10, 0x38,\n\t  0x25, 0xd7, 0xfa, 0xf8, 0x61, 0xaf, 0x9e, 0xf4, 0x90, 0xe7, 0x26, 0xb5,\n\t  0xd6, 0x5a, 0xd5, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a,\n\t  0x05, 0x00, 0xa0, 0x5d, 0x30, 0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,\n\t  0xf7, 0x0d, 0x01, 0x09, 0x03, 0x31, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48,\n\t  0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86,\n\t  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d, 0x31,\n\t  0x30, 0x30, 0x38, 0x32, 0x36, 0x31, 0x33, 0x34, 0x38, 0x35, 0x33, 0x5a,\n\t  0x30, 0x23, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09,\n\t  0x04, 0x31, 0x16, 0x04, 0x14, 0xe2, 0xc7, 0xf3, 0x2f, 0x8b, 0xc8, 0xc0,\n\t  0x35, 0xe4, 0xe3, 0xc5, 0x6c, 0x3d, 0x32, 0x95, 0x35, 0xd6, 0xf2, 0xc6,\n\t  0xb6, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,\n\t  0x01, 0x01, 0x05, 0x00, 0x04, 0x81, 0x80, 0xbd, 0xf0, 0x6d, 0x36, 0x1f,\n\t  0xaf, 0xa2, 0xaf, 0x44, 0x0f, 0x22, 0x89, 0x34, 0x31, 0x85, 0x8e, 0xb6,\n\t  0xb6, 0xd5, 0xd4, 0x0a, 0xf3, 0xa2, 0x2d, 0xab, 0x56, 0xb0, 0xcf, 0xee,\n\t  0x9b, 0x92, 0xac, 0x34, 0x2b, 0xa2, 0xdf, 0x39, 0xa2, 0x16, 0x55, 0xe9,\n\t  0x77, 0x1c, 0xc6, 0xa0, 0x68, 0x14, 0xf4, 0x62, 0xf8, 0x50, 0x23, 0xc1,\n\t  0x7d, 0xca, 0x06, 0x79, 0xdf, 0x94, 0xb1, 0xda, 0xc1, 0xbb, 0x9e, 0x92,\n\t  0x42, 0x74, 0x7c, 0x41, 0x2d, 0xa6, 0xc4, 0xe3, 0x6e, 0xc7, 0x93, 0x24,\n\t  0x68, 0x53, 0x21, 0xff, 0xa0, 0x2c, 0x49, 0xd8, 0xb4, 0x4d, 0x4a, 0xd7,\n\t  0x72, 0xc6, 0xb0, 0xff, 0x83, 0x3d, 0x85, 0x16, 0x4d, 0xe0, 0x7d, 0xb8,\n\t  0x10, 0x31, 0x3f, 0xac, 0x47, 0x4e, 0xdb, 0x82, 0x0a, 0xda, 0x1a, 0x39,\n\t  0x24, 0xf9, 0x83, 0x78, 0x78, 0x20, 0x33, 0xcb, 0xc1, 0xb0, 0xdc, 0xdf,\n\t  0x6a, 0xd0, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00\n\t};\n\n\tinline unsigned int length = 32936;\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/intel_driver.cpp",
    "content": "#include \"../general.h\"\n\nULONG64 intel_driver::ntoskrnlAddr = 0;\nchar intel_driver::driver_name[100] = {};\nuintptr_t PiDDBLockPtr;\nuintptr_t PiDDBCacheTablePtr;\n\nstd::wstring intel_driver::GetDriverNameW()\n{\n\tProtectMutate();\n\tstd::string t(intel_driver::driver_name);\n\tstd::wstring name(t.begin(), t.end());\n\tProtectEnd();\n\treturn name;\n}\n\nstd::wstring intel_driver::GetDriverPath() {\n\n\tProtectMutate();\n\tstd::wstring temp = utils::GetFullTempPath();\n\tif (temp.empty()) {\n\t\treturn L\"\";\n\t}\n\tProtectEnd();\n\treturn temp + L\"\\\\\" + GetDriverNameW();\n}\n\nbool intel_driver::IsRunning() {\n\tProtectMutate();\n\tconst HANDLE file_handle = CreateFileW(EW(L\"\\\\\\\\.\\\\Nal\"), FILE_ANY_ACCESS, 0, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);\n\tif (file_handle != nullptr && file_handle != INVALID_HANDLE_VALUE)\n\t{\n\t\tCloseHandle(file_handle);\n\t\treturn true;\n\t}\n\tProtectEnd();\n\treturn false;\n}\n\nHANDLE intel_driver::Load()\n{\n\tProtectMutate();\n\tsrand(static_cast<unsigned>(time(nullptr)) * GetCurrentThreadId());\n\n\tif (intel_driver::IsRunning()) \n\t{\n\t\tconsole::Error(E(\"Device is already in use\"));\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tmemset(intel_driver::driver_name, 0, sizeof(intel_driver::driver_name));\n\tconst char* alphanum = E(\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n\tint len = rand() % 20 + 10;\n\tfor (int i = 0; i < len; ++i)\n\t\tintel_driver::driver_name[i] = alphanum[rand() % (53 - 1)]; // 53 = string length\n\n\tstd::wstring driver_path = GetDriverPath();\n\tif (driver_path.empty()) \n\t{\n\t\tconsole::Error(E(\"Failed to get temporary path\"));\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\t_wremove(driver_path.c_str());\n\n\tif (!utils::CreateFileFromMemory(driver_path, reinterpret_cast<const char*>(driver_resource::driverBuffer), sizeof(driver_resource::driverBuffer)))\n\t{\n\t\tconsole::Error(E(\"Failed to extract driver file\"));\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tif (!service::RegisterAndStart(driver_path)) \n\t{\n\t\tconsole::Error(E(\"Failed to register service\"));\n\t\t_wremove(driver_path.c_str());\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tHANDLE result = CreateFileW(EW(L\"\\\\\\\\.\\\\Nal\"), GENERIC_READ | GENERIC_WRITE, 0, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);\n\n\tif (!result || result == INVALID_HANDLE_VALUE)\n\t{\n\t\tconsole::Error(E(\"Failed to get driver handle\"));\n\t\tintel_driver::Unload(result);\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tntoskrnlAddr = utils::GetKernelModuleAddress(E(\"ntoskrnl.exe\"));\n\tif (ntoskrnlAddr == 0) \n\t{\n\t\tconsole::Error(E(\"Failed to get kernel base\"));\n\t\tintel_driver::Unload(result);\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tif (!intel_driver::ClearPiDDBCacheTable(result)) \n\t{\n\t\tconsole::Error(E(\"Failed to clear PiDDBCacheTable\"));\n\t\tintel_driver::Unload(result);\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tif (!intel_driver::ClearKernelHashBucketList(result)) \n\t{\n\t\tconsole::Error(E(\"Failed to clear KernelHashBucketList\"));\n\t\tintel_driver::Unload(result);\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tif (!intel_driver::ClearMmUnloadedDrivers(result)) \n\t{\n\t\tconsole::Error(E(\"Failed to clear MmUnloadedDrivers\"));\n\t\tintel_driver::Unload(result);\n\t\treturn INVALID_HANDLE_VALUE;\n\t}\n\n\tProtectEnd();\n\treturn result;\n}\n\nbool intel_driver::Unload(HANDLE device_handle)\n{\n\tProtectMutate();\n\tif (device_handle && device_handle != INVALID_HANDLE_VALUE) \n\t\tCloseHandle(device_handle);\n\n\tif (!service::StopAndRemove(GetDriverNameW()))\n\t\treturn false;\n\n\tstd::wstring driver_path = GetDriverPath();\n\n\t//Destroy disk information before unlink from disk to prevent any recover of the file\n\tstd::ofstream file_ofstream(driver_path.c_str(), std::ios_base::out | std::ios_base::binary);\n\tint newFileLen = sizeof(driver_resource::driverBuffer) + ((long long)rand() % 2348767 + 56725);\n\tBYTE* randomData = new BYTE[newFileLen];\n\tfor (size_t i = 0; i < newFileLen; i++) \n\t{\n\t\trandomData[i] = (BYTE)(rand() % 255);\n\t}\n\tfile_ofstream.write(reinterpret_cast<char*>(randomData), newFileLen);\n\tfile_ofstream.close();\n\tdelete[] randomData;\n\n\t//unlink the file\n\tif (_wremove(driver_path.c_str()) != 0)\n\t\treturn false;\n\n\tProtectEnd();\n\treturn true;\n}\n\nbool intel_driver::MemCopy(HANDLE device_handle, uint64_t destination, uint64_t source, uint64_t size) {\n\tProtectMutate();\n\tif (!destination || !source || !size)\n\t\treturn 0;\n\n\tCOPY_MEMORY_BUFFER_INFO copy_memory_buffer = { 0 };\n\n\tcopy_memory_buffer.case_number = 0x33;\n\tcopy_memory_buffer.source = source;\n\tcopy_memory_buffer.destination = destination;\n\tcopy_memory_buffer.length = size;\n\n\tDWORD bytes_returned = 0;\n\tProtectEnd();\n\treturn DeviceIoControl(device_handle, ioctl1, &copy_memory_buffer, sizeof(copy_memory_buffer), nullptr, 0, &bytes_returned, nullptr);\n}\n\nbool intel_driver::SetMemory(HANDLE device_handle, uint64_t address, uint32_t value, uint64_t size) {\n\tProtectMutate();\n\tif (!address || !size)\n\t\treturn 0;\n\n\tFILL_MEMORY_BUFFER_INFO fill_memory_buffer = { 0 };\n\n\tfill_memory_buffer.case_number = 0x30;\n\tfill_memory_buffer.destination = address;\n\tfill_memory_buffer.value = value;\n\tfill_memory_buffer.length = size;\n\n\tDWORD bytes_returned = 0;\n\tProtectEnd();\n\treturn DeviceIoControl(device_handle, ioctl1, &fill_memory_buffer, sizeof(fill_memory_buffer), nullptr, 0, &bytes_returned, nullptr);\n}\n\nbool intel_driver::GetPhysicalAddress(HANDLE device_handle, uint64_t address, uint64_t* out_physical_address) {\n\tProtectMutate();\n\tif (!address)\n\t\treturn 0;\n\n\tGET_PHYS_ADDRESS_BUFFER_INFO get_phys_address_buffer = { 0 };\n\n\tget_phys_address_buffer.case_number = 0x25;\n\tget_phys_address_buffer.address_to_translate = address;\n\n\tDWORD bytes_returned = 0;\n\n\tif (!DeviceIoControl(device_handle, ioctl1, &get_phys_address_buffer, sizeof(get_phys_address_buffer), nullptr, 0, &bytes_returned, nullptr))\n\t\treturn false;\n\n\t*out_physical_address = get_phys_address_buffer.return_physical_address;\n\tProtectEnd();\n\treturn true;\n}\n\nuint64_t intel_driver::MapIoSpace(HANDLE device_handle, uint64_t physical_address, uint32_t size) {\n\tProtectMutate();\n\tif (!physical_address || !size)\n\t\treturn 0;\n\n\tMAP_IO_SPACE_BUFFER_INFO map_io_space_buffer = { 0 };\n\n\tmap_io_space_buffer.case_number = 0x19;\n\tmap_io_space_buffer.physical_address_to_map = physical_address;\n\tmap_io_space_buffer.size = size;\n\n\tDWORD bytes_returned = 0;\n\n\tif (!DeviceIoControl(device_handle, ioctl1, &map_io_space_buffer, sizeof(map_io_space_buffer), nullptr, 0, &bytes_returned, nullptr))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn map_io_space_buffer.return_virtual_address;\n}\n\nbool intel_driver::UnmapIoSpace(HANDLE device_handle, uint64_t address, uint32_t size) {\n\tProtectMutate();\n\tif (!address || !size)\n\t\treturn false;\n\n\tUNMAP_IO_SPACE_BUFFER_INFO unmap_io_space_buffer = { 0 };\n\n\tunmap_io_space_buffer.case_number = 0x1A;\n\tunmap_io_space_buffer.virt_address = address;\n\tunmap_io_space_buffer.number_of_bytes = size;\n\n\tDWORD bytes_returned = 0;\n\n\tProtectEnd();\n\treturn DeviceIoControl(device_handle, ioctl1, &unmap_io_space_buffer, sizeof(unmap_io_space_buffer), nullptr, 0, &bytes_returned, nullptr);\n}\n\nbool intel_driver::ReadMemory(HANDLE device_handle, uint64_t address, void* buffer, uint64_t size) {\n\treturn MemCopy(device_handle, reinterpret_cast<uint64_t>(buffer), address, size);\n}\n\nbool intel_driver::WriteMemory(HANDLE device_handle, uint64_t address, void* buffer, uint64_t size) {\n\treturn MemCopy(device_handle, address, reinterpret_cast<uint64_t>(buffer), size);\n}\n\nbool intel_driver::WriteToReadOnlyMemory(HANDLE device_handle, uint64_t address, void* buffer, uint32_t size) {\n\tProtectMutate();\n\tif (!address || !buffer || !size)\n\t\treturn false;\n\n\tuint64_t physical_address = 0;\n\n\tif (!GetPhysicalAddress(device_handle, address, &physical_address))\n\t\treturn false;\n\n\tconst uint64_t mapped_physical_memory = MapIoSpace(device_handle, physical_address, size);\n\n\tif (!mapped_physical_memory)\n\t\treturn false;\n\n\tbool result = WriteMemory(device_handle, mapped_physical_memory, buffer, size);\n\n\tif (!UnmapIoSpace(device_handle, mapped_physical_memory, size))\n\t\tconsole::Error(E(\"Failed to unmap physical memory\"));\n\n\tProtectEnd();\n\treturn result;\n}\n\n/*added by psec*/\nuint64_t intel_driver::MmAllocatePagesForMdl(HANDLE device_handle, LARGE_INTEGER LowAddress, LARGE_INTEGER HighAddress, LARGE_INTEGER SkipBytes, SIZE_T TotalBytes)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_MmAllocatePagesForMdl = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"MmAllocatePagesForMdl\"));\n\n\tif (!kernel_MmAllocatePagesForMdl)\n\t{\n\t\tconsole::Error(E(\"Failed to find MmAllocatePagesForMdl\"));\n\t\treturn 0;\n\t}\n\n\tuint64_t allocated_pages = 0;\n\n\tif (!CallKernelFunction(device_handle, &allocated_pages, kernel_MmAllocatePagesForMdl, LowAddress, HighAddress, SkipBytes, TotalBytes))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn allocated_pages;\n}\n\nuint64_t intel_driver::MmMapLockedPagesSpecifyCache(HANDLE device_handle, uint64_t pmdl, nt::KPROCESSOR_MODE AccessMode, nt::MEMORY_CACHING_TYPE CacheType, uint64_t RequestedAddress, ULONG BugCheckOnFailure, ULONG Priority)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_MmMapLockedPagesSpecifyCache = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"MmMapLockedPagesSpecifyCache\"));\n\n\tif (!kernel_MmMapLockedPagesSpecifyCache)\n\t{\n\t\tconsole::Error(E(\"Failed to find MmMapLockedPagesSpecifyCache\"));\n\t\treturn 0;\n\t}\n\n\tuint64_t starting_address = 0;\n\n\tif (!CallKernelFunction(device_handle, &starting_address, kernel_MmMapLockedPagesSpecifyCache, pmdl, AccessMode, CacheType, RequestedAddress, BugCheckOnFailure, Priority))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn starting_address;\n}\n\nbool intel_driver::MmProtectMdlSystemAddress(HANDLE device_handle, uint64_t MemoryDescriptorList, ULONG NewProtect)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_MmProtectMdlSystemAddress = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"MmProtectMdlSystemAddress\"));\n\n\tif (!kernel_MmProtectMdlSystemAddress)\n\t{\n\t\tconsole::Error(E(\"Failed to find MmProtectMdlSystemAddress\"));\n\t\treturn 0;\n\t}\n\n\tNTSTATUS status;\n\n\tif (!CallKernelFunction(device_handle, &status, kernel_MmProtectMdlSystemAddress, MemoryDescriptorList, NewProtect))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn NT_SUCCESS(status);\n}\n\n\nbool intel_driver::MmUnmapLockedPages(HANDLE device_handle, uint64_t BaseAddress, uint64_t pmdl)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_MmUnmapLockedPages = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"MmUnmapLockedPages\"));\n\n\tif (!kernel_MmUnmapLockedPages)\n\t{\n\t\tconsole::Error(E(\"Failed to find MmUnmapLockedPages\"));\n\t\treturn 0;\n\t}\n\n\tvoid* result;\n\tProtectEnd();\n\treturn CallKernelFunction(device_handle, &result, kernel_MmUnmapLockedPages, BaseAddress, pmdl);\n}\n\nbool intel_driver::MmFreePagesFromMdl(HANDLE device_handle, uint64_t MemoryDescriptorList)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_MmFreePagesFromMdl = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"MmFreePagesFromMdl\"));\n\n\tif (!kernel_MmFreePagesFromMdl)\n\t{\n\t\tconsole::Error(E(\"Failed to find MmFreePagesFromMdl\"));\n\t\treturn 0;\n\t}\n\n\tvoid* result;\n\tProtectEnd();\n\treturn CallKernelFunction(device_handle, &result, kernel_MmFreePagesFromMdl, MemoryDescriptorList);\n}\n/**/\n\nuint64_t intel_driver::IoGetCurrentProcess(HANDLE device_handle)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_IoGetCurrentProcess = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"IoGetCurrentProcess\"));\n\n\tif (!kernel_IoGetCurrentProcess)\n\t{\n\t\tconsole::Error(E(\"Failed to find IoGetCurrentProcess\"));\n\t\treturn 0;\n\t}\n\n\tuint64_t output = 0;\n\n\tif (!CallKernelFunction(device_handle, &output, kernel_IoGetCurrentProcess))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn output;\n}\n\nuint64_t intel_driver::PsGetCurrentThread(HANDLE device_handle)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_PsGetCurrentThread = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"PsGetCurrentThread\"));\n\n\tif (!kernel_PsGetCurrentThread)\n\t{\n\t\tconsole::Error(E(\"Failed to find PsGetCurrentThread\"));\n\t\treturn 0;\n\t}\n\n\tuint64_t output = 0;\n\n\tif (!CallKernelFunction(device_handle, &output, kernel_PsGetCurrentThread))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn output;\n}\n\nNTSTATUS intel_driver::MmCopyVirtualMemory(HANDLE device_handle, uint64_t sourceProcess, PVOID sourceAddress, uint64_t targetProcess,\n\tPVOID targetAddress, SIZE_T bufferSize, nt::KPROCESSOR_MODE previousMode, PSIZE_T returnSize)\n{\n\tProtectMutate();\n\tstatic uint64_t kernel_MmCopyVirtualMemory = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"MmCopyVirtualMemory\"));\n\n\tif (!kernel_MmCopyVirtualMemory)\n\t{\n\t\tconsole::Error(E(\"Failed to find MmCopyVirtualMemory\"));\n\t\treturn 0;\n\t}\n\n\tuint64_t output = 0;\n\n\tif (!CallKernelFunction(device_handle, &output, kernel_MmCopyVirtualMemory, sourceProcess, sourceAddress, targetProcess, targetAddress, bufferSize, reinterpret_cast<PVOID>(previousMode), returnSize))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn static_cast<NTSTATUS>(output);\n}\n\nbool intel_driver::SafeCopy(HANDLE device_handle, uint64_t destination, uint64_t source, uint64_t size)\n{\n\tProtectMutate();\n\tuint64_t currentProcess = IoGetCurrentProcess(device_handle);\n\tif (!currentProcess)\n\t{\n\t\tconsole::Error(E(\"Failed to get current process\"));\n\t\treturn false;\n\t}\n\n\tSIZE_T dummy;\n\tNTSTATUS status = MmCopyVirtualMemory(device_handle, currentProcess, reinterpret_cast<PVOID>(source), currentProcess, reinterpret_cast<PVOID>(destination), size, nt::KernelMode, &dummy);\n\tif (status != 0)\n\t\treturn false;\n\n\tProtectEnd();\n\treturn true;\n}\n\nuint64_t intel_driver::AllocatePool(HANDLE device_handle, nt::POOL_TYPE pool_type, uint64_t size) {\n\tProtectMutate();\n\tif (!size)\n\t\treturn 0;\n\n\tstatic uint64_t kernel_ExAllocatePool = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"ExAllocatePoolWithTag\"));\n\n\tif (!kernel_ExAllocatePool) \n\t{\n\t\tconsole::Error(E(\"Failed to find ExAllocatePoolWithTag\"));\n\t\treturn 0;\n\t}\n\n\tuint64_t allocated_pool = 0;\n\n\tif (!CallKernelFunction(device_handle, &allocated_pool, kernel_ExAllocatePool, pool_type, size, 'ApcA'))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn allocated_pool;\n}\n\nbool intel_driver::FreePool(HANDLE device_handle, uint64_t address) {\n\tProtectMutate();\n\tif (!address)\n\t\treturn 0;\n\n\tstatic uint64_t kernel_ExFreePool = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"ExFreePool\"));\n\n\tif (!kernel_ExFreePool) \n\t{\n\t\tconsole::Error(E(\"Failed to find ExFreePool\"));\n\t\treturn 0;\n\t}\n\n\tProtectEnd();\n\treturn CallKernelFunction<void>(device_handle, nullptr, kernel_ExFreePool, address);\n}\n\nuint64_t intel_driver::GetKernelModuleExport(HANDLE device_handle, uint64_t kernel_module_base, const std::string& function_name) {\n\tProtectMutate();\n\tif (!kernel_module_base)\n\t\treturn 0;\n\n\tIMAGE_DOS_HEADER dos_header = { 0 };\n\tIMAGE_NT_HEADERS64 nt_headers = { 0 };\n\n\tif (!ReadMemory(device_handle, kernel_module_base, &dos_header, sizeof(dos_header)) || dos_header.e_magic != IMAGE_DOS_SIGNATURE ||\n\t\t!ReadMemory(device_handle, kernel_module_base + dos_header.e_lfanew, &nt_headers, sizeof(nt_headers)) || nt_headers.Signature != IMAGE_NT_SIGNATURE)\n\t\treturn 0;\n\n\tconst auto export_base = nt_headers.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress;\n\tconst auto export_base_size = nt_headers.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size;\n\n\tif (!export_base || !export_base_size)\n\t\treturn 0;\n\n\tconst auto export_data = reinterpret_cast<PIMAGE_EXPORT_DIRECTORY>(VirtualAlloc(nullptr, export_base_size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE));\n\n\tif (!ReadMemory(device_handle, kernel_module_base + export_base, export_data, export_base_size))\n\t{\n\t\tVirtualFree(export_data, 0, MEM_RELEASE);\n\t\treturn 0;\n\t}\n\n\tconst auto delta = reinterpret_cast<uint64_t>(export_data) - export_base;\n\n\tconst auto name_table = reinterpret_cast<uint32_t*>(export_data->AddressOfNames + delta);\n\tconst auto ordinal_table = reinterpret_cast<uint16_t*>(export_data->AddressOfNameOrdinals + delta);\n\tconst auto function_table = reinterpret_cast<uint32_t*>(export_data->AddressOfFunctions + delta);\n\n\tfor (auto i = 0u; i < export_data->NumberOfNames; ++i) \n\t{\n\t\tconst std::string current_function_name = std::string(reinterpret_cast<char*>(name_table[i] + delta));\n\n\t\tif (!_stricmp(current_function_name.c_str(), function_name.c_str())) \n\t\t{\n\t\t\tconst auto function_ordinal = ordinal_table[i];\n\t\t\tif (function_table[function_ordinal] <= 0x1000) \n\t\t\t{\n\t\t\t\t// Wrong function address?\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tconst auto function_address = kernel_module_base + function_table[function_ordinal];\n\n\t\t\tif (function_address >= kernel_module_base + export_base && function_address <= kernel_module_base + export_base + export_base_size) \n\t\t\t{\n\t\t\t\tVirtualFree(export_data, 0, MEM_RELEASE);\n\t\t\t\treturn 0; // No forwarded exports on 64bit?\n\t\t\t}\n\n\t\t\tVirtualFree(export_data, 0, MEM_RELEASE);\n\t\t\treturn function_address;\n\t\t}\n\t}\n\n\tProtectEnd();\n\tVirtualFree(export_data, 0, MEM_RELEASE);\n\treturn 0;\n}\n\nbool intel_driver::ClearMmUnloadedDrivers(HANDLE device_handle)\n{\n\tProtectMutate();\n\tULONG buffer_size = 0;\n\tvoid* buffer = nullptr;\n\n\tNTSTATUS status = NtQuerySystemInformation(static_cast<SYSTEM_INFORMATION_CLASS>(nt::SystemExtendedHandleInformation), buffer, buffer_size, &buffer_size);\n\n\twhile (status == nt::STATUS_INFO_LENGTH_MISMATCH)\n\t{\n\t\tVirtualFree(buffer, 0, MEM_RELEASE);\n\n\t\tbuffer = VirtualAlloc(nullptr, buffer_size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);\n\t\tstatus = NtQuerySystemInformation(static_cast<SYSTEM_INFORMATION_CLASS>(nt::SystemExtendedHandleInformation), buffer, buffer_size, &buffer_size);\n\t}\n\n\tif (!NT_SUCCESS(status) || buffer == 0)\n\t{\n\t\tif (buffer != 0)\n\t\t\tVirtualFree(buffer, 0, MEM_RELEASE);\n\t\treturn false;\n\t}\n\n\tuint64_t object = 0;\n\n\tauto system_handle_inforamtion = static_cast<nt::PSYSTEM_HANDLE_INFORMATION_EX>(buffer);\n\n\tfor (auto i = 0u; i < system_handle_inforamtion->HandleCount; ++i)\n\t{\n\t\tconst nt::SYSTEM_HANDLE current_system_handle = system_handle_inforamtion->Handles[i];\n\n\t\tif (current_system_handle.UniqueProcessId != reinterpret_cast<HANDLE>(static_cast<uint64_t>(GetCurrentProcessId())))\n\t\t\tcontinue;\n\n\t\tif (current_system_handle.HandleValue == device_handle)\n\t\t{\n\t\t\tobject = reinterpret_cast<uint64_t>(current_system_handle.Object);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tVirtualFree(buffer, 0, MEM_RELEASE);\n\n\tif (!object)\n\t\treturn false;\n\n\tuint64_t device_object = 0;\n\n\tif (!ReadMemory(device_handle, object + 0x8, &device_object, sizeof(device_object)) || !device_object) \n\t{\n\t\tconsole::Error(E(\"Failed to get device object\"));\n\t\treturn false;\n\t}\n\n\tuint64_t driver_object = 0;\n\n\tif (!ReadMemory(device_handle, device_object + 0x8, &driver_object, sizeof(driver_object)) || !driver_object) \n\t{\n\t\tconsole::Error(E(\"Failed to get driver object\"));\n\t\treturn false;\n\t}\n\n\tuint64_t driver_section = 0;\n\n\tif (!ReadMemory(device_handle, driver_object + 0x28, &driver_section, sizeof(driver_section)) || !driver_section) \n\t{\n\t\tconsole::Error(E(\"Failed to get driver section\"));\n\t\treturn false;\n\t}\n\n\tUNICODE_STRING us_driver_base_dll_name = { 0 };\n\n\tif (!ReadMemory(device_handle, driver_section + 0x58, &us_driver_base_dll_name, sizeof(us_driver_base_dll_name)) || us_driver_base_dll_name.Length == 0) \n\t{\n\t\tconsole::Error(E(\"Failed to get driver name\"));\n\t\treturn false;\n\t}\n\n\twchar_t* unloadedName = new wchar_t[(ULONG64)us_driver_base_dll_name.Length / 2ULL + 1ULL];\n\tmemset(unloadedName, 0, us_driver_base_dll_name.Length + sizeof(wchar_t));\n\n\tif (!ReadMemory(device_handle, (uintptr_t)us_driver_base_dll_name.Buffer, unloadedName, us_driver_base_dll_name.Length)) \n\t{\n\t\tconsole::Error(E(\"Failed to get driver path\"));\n\t\treturn false;\n\t}\n\n\tus_driver_base_dll_name.Length = 0; //MiRememberUnloadedDriver will check if the length > 0 to save the unloaded driver\n\n\tif (!WriteMemory(device_handle, driver_section + 0x58, &us_driver_base_dll_name, sizeof(us_driver_base_dll_name))) \n\t{\n\t\tconsole::Error(E(\"Failed to overwrite name length\"));\n\t\treturn false;\n\t}\n\n\tdelete[] unloadedName;\n\n\tProtectEnd();\n\treturn true;\n}\n\nPVOID intel_driver::ResolveRelativeAddress(HANDLE device_handle, _In_ PVOID Instruction, _In_ ULONG OffsetOffset, _In_ ULONG InstructionSize)\n{\n\tProtectMutate();\n\tULONG_PTR Instr = (ULONG_PTR)Instruction;\n\tLONG RipOffset = 0;\n\tif (!ReadMemory(device_handle, Instr + OffsetOffset, &RipOffset, sizeof(LONG))) \n\t\treturn nullptr;\n\n\tPVOID ResolvedAddr = (PVOID)(Instr + InstructionSize + RipOffset);\n\tProtectEnd();\n\treturn ResolvedAddr;\n}\n\nbool intel_driver::ExAcquireResourceExclusiveLite(HANDLE device_handle, PVOID Resource, BOOLEAN wait)\n{\n\tProtectMutate();\n\tif (!Resource)\n\t\treturn 0;\n\n\tstatic uint64_t kernel_ExAcquireResourceExclusiveLite = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"ExAcquireResourceExclusiveLite\"));\n\n\tif (!kernel_ExAcquireResourceExclusiveLite) \n\t{\n\t\tconsole::Error(E(\"Failed to find ExAcquireResourceExclusiveLite\"));\n\t\treturn 0;\n\t}\n\n\tBOOLEAN out;\n\n\tProtectEnd();\n\treturn (CallKernelFunction(device_handle, &out, kernel_ExAcquireResourceExclusiveLite, Resource, wait) && out);\n}\n\nbool intel_driver::ExReleaseResourceLite(HANDLE device_handle, PVOID Resource)\n{\n\tProtectMutate();\n\tif (!Resource)\n\t\treturn false;\n\n\tstatic uint64_t kernel_ExReleaseResourceLite = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"ExReleaseResourceLite\"));\n\n\tif (!kernel_ExReleaseResourceLite) \n\t{\n\t\tconsole::Error(E(\"Failed to find ExReleaseResourceLite\"));\n\t\treturn false;\n\t}\n\n\tProtectEnd();\n\treturn CallKernelFunction<void>(device_handle, nullptr, kernel_ExReleaseResourceLite, Resource);\n}\n\nBOOLEAN intel_driver::RtlDeleteElementGenericTableAvl(HANDLE device_handle, PVOID Table, PVOID Buffer)\n{\n\tProtectMutate();\n\tif (!Table)\n\t\treturn false;\n\n\tstatic uint64_t kernel_RtlDeleteElementGenericTableAvl = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"RtlDeleteElementGenericTableAvl\"));\n\n\tif (!kernel_RtlDeleteElementGenericTableAvl) \n\t{\n\t\tconsole::Error(E(\"Failed to find RtlDeleteElementGenericTableAvl\"));\n\t\treturn false;\n\t}\n\n\tBOOLEAN out;\n\n\tProtectEnd();\n\treturn (CallKernelFunction(device_handle, &out, kernel_RtlDeleteElementGenericTableAvl, Table, Buffer) && out);\n}\n\nPVOID intel_driver::RtlLookupElementGenericTableAvl(HANDLE device_handle, PRTL_AVL_TABLE Table, PVOID Buffer)\n{\n\tProtectMutate();\n\tif (!Table)\n\t\treturn nullptr;\n\n\tstatic uint64_t kernel_RtlDeleteElementGenericTableAvl = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"RtlLookupElementGenericTableAvl\"));\n\n\tif (!kernel_RtlDeleteElementGenericTableAvl) \n\t{\n\t\tconsole::Error(E(\"Failed to find RtlLookupElementGenericTableAvl\"));\n\t\treturn nullptr;\n\t}\n\n\tPVOID out;\n\n\tif (!CallKernelFunction(device_handle, &out, kernel_RtlDeleteElementGenericTableAvl, Table, Buffer))\n\t\treturn 0;\n\n\tProtectEnd();\n\treturn out;\n}\n\n\nintel_driver::PiDDBCacheEntry* intel_driver::LookupEntry(HANDLE device_handle, PRTL_AVL_TABLE PiDDBCacheTable, ULONG timestamp, const wchar_t* name)\n{\n\tPiDDBCacheEntry localentry{};\n\tlocalentry.TimeDateStamp = timestamp;\n\tlocalentry.DriverName.Buffer = (PWSTR)name;\n\tlocalentry.DriverName.Length = (USHORT)(wcslen(name) * 2);\n\tlocalentry.DriverName.MaximumLength = localentry.DriverName.Length + 2;\n\n\treturn (PiDDBCacheEntry*)RtlLookupElementGenericTableAvl(device_handle, PiDDBCacheTable, (PVOID)&localentry);\n}\n\nbool intel_driver::ClearPiDDBCacheTable(HANDLE device_handle)\n{\n\tProtectMutate();\n\tPiDDBLockPtr = FindPatternInSectionAtKernel(device_handle, (char*)E(\"PAGE\"), intel_driver::ntoskrnlAddr, (PUCHAR)E(\"\\x8B\\xD8\\x85\\xC0\\x0F\\x88\\x00\\x00\\x00\\x00\\x65\\x48\\x8B\\x04\\x25\\x00\\x00\\x00\\x00\\x66\\xFF\\x88\\x00\\x00\\x00\\x00\\xB2\\x01\\x48\\x8D\\x0D\\x00\\x00\\x00\\x00\\xE8\\x00\\x00\\x00\\x00\\x4C\\x8B\\x00\\x24\"), (char*)E(\"xxxxxx????xxxxx????xxx????xxxxx????x????xx?x\")); // 8B D8 85 C0 0F 88 ? ? ? ? 65 48 8B 04 25 ? ? ? ? 66 FF 88 ? ? ? ? B2 01 48 8D 0D ? ? ? ? E8 ? ? ? ? 4C 8B ? 24 update for build 22000.132\n\tPiDDBCacheTablePtr = FindPatternInSectionAtKernel(device_handle, (char*)E(\"PAGE\"), intel_driver::ntoskrnlAddr, (PUCHAR)E(\"\\x66\\x03\\xD2\\x48\\x8D\\x0D\"), (char*)\"xxxxxx\"); // 66 03 D2 48 8D 0D\n\n\tif (PiDDBLockPtr == NULL) { // PiDDBLock pattern changes a lot from version 1607 of windows and we will need a second pattern if we want to keep simple as posible\n\t\tPiDDBLockPtr = FindPatternInSectionAtKernel(device_handle, (char*)E(\"PAGE\"), intel_driver::ntoskrnlAddr, (PUCHAR)E(\"\\x48\\x8B\\x0D\\x00\\x00\\x00\\x00\\x48\\x85\\xC9\\x0F\\x85\\x00\\x00\\x00\\x00\\x48\\x8D\\x0D\\x00\\x00\\x00\\x00\\xE8\\x00\\x00\\x00\\x00\\xE8\"), (char*)E(\"xxx????xxxxx????xxx????x????x\")); // 48 8B 0D ? ? ? ? 48 85 C9 0F 85 ? ? ? ? 48 8D 0D ? ? ? ? E8 ? ? ? ? E8 build 22449+ (pattern can be improved but just fine for now)\n\t\tif (PiDDBLockPtr == NULL) \n\t\t{\n\t\t\tconsole::Warning(E(\"Failed to find PiDDBLock\"));\n\t\t\treturn false;\n\t\t}\n\t\tPiDDBLockPtr += 16; //second pattern offset\n\t}\n\telse {\n\t\tPiDDBLockPtr += 28; //first pattern offset\n\t}\n\n\tif (PiDDBCacheTablePtr == NULL) \n\t{\n\t\tconsole::Warning(E(\"Failed to find PiDDBCacheTable\"));\n\t\treturn false;\n\t}\n\n\tPVOID PiDDBLock = ResolveRelativeAddress(device_handle, (PVOID)PiDDBLockPtr, 3, 7);\n\tPRTL_AVL_TABLE PiDDBCacheTable = (PRTL_AVL_TABLE)ResolveRelativeAddress(device_handle, (PVOID)PiDDBCacheTablePtr, 6, 10);\n\n\t//context part is not used by lookup, lock or delete why we should use it?\n\n\tif (!ExAcquireResourceExclusiveLite(device_handle, PiDDBLock, true)) \n\t{\n\t\tconsole::Error(E(\"Failed to lock PiDDBCacheTable\"));\n\t\treturn false;\n\t}\n\n\tauto n = GetDriverNameW();\n\n\t// search our entry in the table\n\tPiDDBCacheEntry* pFoundEntry = (PiDDBCacheEntry*)LookupEntry(device_handle, PiDDBCacheTable, iqvw64e_timestamp, n.c_str());\n\tif (pFoundEntry == nullptr) \n\t{\n\t\tconsole::Error(E(\"Driver not found in PiDDBCacheTable\"));\n\t\tExReleaseResourceLite(device_handle, PiDDBLock);\n\t\treturn false;\n\t}\n\n\t// first, unlink from the list\n\tPLIST_ENTRY prev;\n\tif (!ReadMemory(device_handle, (uintptr_t)pFoundEntry + (offsetof(struct _PiDDBCacheEntry, List.Blink)), &prev, sizeof(_LIST_ENTRY*))) \n\t{\n\t\tconsole::Error(E(\"Failed to get blink\"));\n\t\tExReleaseResourceLite(device_handle, PiDDBLock);\n\t\treturn false;\n\t}\n\n\tPLIST_ENTRY next;\n\tif (!ReadMemory(device_handle, (uintptr_t)pFoundEntry + (offsetof(struct _PiDDBCacheEntry, List.Flink)), &next, sizeof(_LIST_ENTRY*))) \n\t{\n\t\tconsole::Error(E(\"Failed to get flink\"));\n\t\tExReleaseResourceLite(device_handle, PiDDBLock);\n\t\treturn false;\n\t}\n\n\n\tif (!WriteMemory(device_handle, (uintptr_t)prev + (offsetof(struct _LIST_ENTRY, Flink)), &next, sizeof(_LIST_ENTRY*))) \n\t{\n\t\tconsole::Error(E(\"Failed to get flink\"));\n\t\tExReleaseResourceLite(device_handle, PiDDBLock);\n\t\treturn false;\n\t}\n\n\tif (!WriteMemory(device_handle, (uintptr_t)next + (offsetof(struct _LIST_ENTRY, Blink)), &prev, sizeof(_LIST_ENTRY*))) \n\t{\n\t\tconsole::Error(E(\"Failed to set blink\"));\n\t\tExReleaseResourceLite(device_handle, PiDDBLock);\n\t\treturn false;\n\t}\n\n\t// then delete the element from the avl table\n\tif (!RtlDeleteElementGenericTableAvl(device_handle, PiDDBCacheTable, pFoundEntry)) \n\t{\n\t\tconsole::Error(E(\"Failed to delete from PiDDBCacheTable\"));\n\t\tExReleaseResourceLite(device_handle, PiDDBLock);\n\t\treturn false;\n\t}\n\n\t//Decrement delete count\n\tULONG cacheDeleteCount = 0;\n\tReadMemory(device_handle, (uintptr_t)PiDDBCacheTable + (offsetof(struct _RTL_AVL_TABLE, DeleteCount)), &cacheDeleteCount, sizeof(ULONG));\n\tif (cacheDeleteCount > 0) \n\t{\n\t\tcacheDeleteCount--;\n\t\tWriteMemory(device_handle, (uintptr_t)PiDDBCacheTable + (offsetof(struct _RTL_AVL_TABLE, DeleteCount)), &cacheDeleteCount, sizeof(ULONG));\n\t}\n\n\t// release the ddb resource lock\n\tExReleaseResourceLite(device_handle, PiDDBLock);\n\n\tProtectEnd();\n\treturn true;\n}\n\nuintptr_t intel_driver::FindPatternAtKernel(HANDLE device_handle, uintptr_t dwAddress, uintptr_t dwLen, BYTE* bMask, char* szMask)\n{\n\tProtectMutate();\n\tif (!dwAddress) \n\t{\n\t\tconsole::Error(E(\"Invalid address\"));\n\t\treturn 0;\n\t}\n\n\tif (dwLen > 1024 * 1024 * 1024) \n\t{\n\t\tconsole::Error(E(\"Section too big\"));\n\t\treturn 0;\n\t}\n\n\tBYTE* sectionData = new BYTE[dwLen];\n\tif (!ReadMemory(device_handle, dwAddress, sectionData, dwLen)) \n\t{\n\t\tconsole::Error(E(\"Failed to read section\"));\n\t\treturn 0;\n\t}\n\n\tauto result = utils::FindPattern((uintptr_t)sectionData, dwLen, bMask, szMask);\n\n\tif (result <= 0) \n\t{\n\t\tconsole::Error(E(\"Pattern not found\"));\n\t\tdelete[] sectionData;\n\t\treturn 0;\n\t}\n\tresult = dwAddress - (uintptr_t)sectionData + result;\n\tdelete[] sectionData;\n\tProtectEnd();\n\treturn result;\n}\n\nuintptr_t intel_driver::FindSectionAtKernel(HANDLE device_handle, char* sectionName, uintptr_t modulePtr, PULONG size) {\n\tProtectMutate();\n\tif (!modulePtr)\n\t\treturn 0;\n\tBYTE headers[0x1000];\n\tif (!ReadMemory(device_handle, modulePtr, headers, 0x1000)) {\n\t\tconsole::Error(E(\"Failed to read module header\"));\n\t\treturn 0;\n\t}\n\tULONG sectionSize = 0;\n\tuintptr_t section = (uintptr_t)utils::FindSection(sectionName, (uintptr_t)headers, &sectionSize);\n\tif (!section || !sectionSize) {\n\t\tconsole::Error(E(\"Failed to find section\"));\n\t\treturn 0;\n\t}\n\tif (size)\n\t\t*size = sectionSize;\n\tProtectEnd();\n\treturn section - (uintptr_t)headers + modulePtr;\n}\n\nuintptr_t intel_driver::FindPatternInSectionAtKernel(HANDLE device_handle, char* sectionName, uintptr_t modulePtr, BYTE* bMask, char* szMask) {\n\tULONG sectionSize = 0;\n\tuintptr_t section = FindSectionAtKernel(device_handle, sectionName, modulePtr, &sectionSize);\n\treturn FindPatternAtKernel(device_handle, section, sectionSize, bMask, szMask);\n}\n\nbool intel_driver::ClearKernelHashBucketList(HANDLE device_handle) {\n\tProtectMutate();\n\tuint64_t ci = utils::GetKernelModuleAddress(E(\"ci.dll\"));\n\tif (!ci) {\n\t\tconsole::Error(E(\"Failed to get ci.dll base\"));\n\t\treturn false;\n\t}\n\n\t//Thanks @KDIo3 and @Swiftik from UnknownCheats\n\tauto sig = FindPatternInSectionAtKernel(device_handle, (char*)E(\"PAGE\"), ci, PUCHAR(E(\"\\x48\\x8B\\x1D\\x00\\x00\\x00\\x00\\xEB\\x00\\xF7\\x43\\x40\\x00\\x20\\x00\\x00\")), (char*)E(\"xxx????x?xxxxxxx\"));\n\tif (!sig) \n\t{\n\t\tconsole::Error(E(\"Failed to find g_KernelHashBucketList\"));\n\t\treturn false;\n\t}\n\n\tauto sig2 = FindPatternAtKernel(device_handle, (uintptr_t)sig - 50, 50, PUCHAR(E(\"\\x48\\x8D\\x0D\")), (char*)E(\"xxx\"));\n\tif (!sig2) \n\t{\n\t\tconsole::Error(E(\"Failed to find g_HashCacheLock\"));\n\t\treturn false;\n\t}\n\n\tconst auto g_KernelHashBucketList = ResolveRelativeAddress(device_handle, (PVOID)sig, 3, 7);\n\tconst auto g_HashCacheLock = ResolveRelativeAddress(device_handle, (PVOID)sig2, 3, 7);\n\tif (!g_KernelHashBucketList || !g_HashCacheLock)\n\t{\n\t\tconsole::Error(E(\"Failed to resolve g_HashCacheLock\"));\n\t\treturn false;\n\t}\n\n\n\tif (!ExAcquireResourceExclusiveLite(device_handle, g_HashCacheLock, true)) \n\t{\n\t\tconsole::Error(E(\"Failed to lock g_HashCacheLock\"));\n\t\treturn false;\n\t}\n\n\tHashBucketEntry* prev = (HashBucketEntry*)g_KernelHashBucketList;\n\tHashBucketEntry* entry = 0;\n\tif (!ReadMemory(device_handle, (uintptr_t)prev, &entry, sizeof(entry))) {\n\t\tconsole::Error(E(\"Failed to read first g_KernelHashBucketList\"));\n\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t}\n\t\treturn false;\n\t}\n\tif (!entry) {\n\t\tconsole::Error(E(\"g_KernelHashBucketList is empty\"));\n\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t}\n\t\treturn true;\n\t}\n\n\tstd::wstring wdname = GetDriverNameW();\n\tstd::wstring search_path = GetDriverPath();\n\tSIZE_T expected_len = (search_path.length() - 2) * 2;\n\n\twhile (entry) {\n\n\t\tUSHORT wsNameLen = 0;\n\t\tif (!ReadMemory(device_handle, (uintptr_t)entry + offsetof(HashBucketEntry, DriverName.Length), &wsNameLen, sizeof(wsNameLen)) || wsNameLen == 0) {\n\t\t\tconsole::Error(E(\"Failed to read g_KernelHashBucketList entry text length\"));\n\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\tif (expected_len == wsNameLen) {\n\t\t\twchar_t* wsNamePtr = 0;\n\t\t\tif (!ReadMemory(device_handle, (uintptr_t)entry + offsetof(HashBucketEntry, DriverName.Buffer), &wsNamePtr, sizeof(wsNamePtr)) || !wsNamePtr) {\n\t\t\t\tconsole::Error(E(\"Failed to read g_KernelHashBucketList entry text pointer\"));\n\t\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\twchar_t* wsName = new wchar_t[(ULONG64)wsNameLen / 2ULL + 1ULL];\n\t\t\tmemset(wsName, 0, wsNameLen + sizeof(wchar_t));\n\n\t\t\tif (!ReadMemory(device_handle, (uintptr_t)wsNamePtr, wsName, wsNameLen)) {\n\t\t\t\tconsole::Error(E(\"Failed to read g_KernelHashBucketList entry text\"));\n\t\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsize_t find_result = std::wstring(wsName).find(wdname);\n\t\t\tif (find_result != std::wstring::npos) {\n\t\t\t\tHashBucketEntry* Next = 0;\n\t\t\t\tif (!ReadMemory(device_handle, (uintptr_t)entry, &Next, sizeof(Next))) {\n\t\t\t\t\tconsole::Error(E(\"Failed to read g_KernelHashBucketList next entry pointer\"));\n\t\t\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (!WriteMemory(device_handle, (uintptr_t)prev, &Next, sizeof(Next))) {\n\t\t\t\t\tconsole::Error(E(\"Failed to write g_KernelHashBucketList prev entry pointer\"));\n\t\t\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (!FreePool(device_handle, (uintptr_t)entry)) {\n\t\t\t\t\tconsole::Error(E(\"Failed to write clear g_KernelHashBucketList entry pool\"));\n\t\t\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tdelete[] wsName;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tdelete[] wsName;\n\t\t}\n\t\tprev = entry;\n\t\t//read next\n\t\tif (!ReadMemory(device_handle, (uintptr_t)entry, &entry, sizeof(entry))) {\n\t\t\tconsole::Error(E(\"Failed to read g_KernelHashBucketList next entry\"));\n\t\t\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\t\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (!ExReleaseResourceLite(device_handle, g_HashCacheLock)) {\n\t\tconsole::Error(E(\"Failed to unlock g_KernelHashBucketList\"));\n\t}\n\tProtectEnd();\n\treturn false;\n}"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/intel_driver.h",
    "content": "#ifndef INTEL_DRIVER_H\n#define INTEL_DRIVER_H\n\nnamespace intel_driver\n{\n\textern char driver_name[100]; //\"iqvw64e.sys\"\n\tconstexpr uint32_t ioctl1 = 0x80862007;\n\tconstexpr DWORD iqvw64e_timestamp = 0x5284EAC3;\n\textern ULONG64 ntoskrnlAddr;\n\n\ttypedef struct _COPY_MEMORY_BUFFER_INFO\n\t{\n\t\tuint64_t case_number;\n\t\tuint64_t reserved;\n\t\tuint64_t source;\n\t\tuint64_t destination;\n\t\tuint64_t length;\n\t}COPY_MEMORY_BUFFER_INFO, * PCOPY_MEMORY_BUFFER_INFO;\n\n\ttypedef struct _FILL_MEMORY_BUFFER_INFO\n\t{\n\t\tuint64_t case_number;\n\t\tuint64_t reserved1;\n\t\tuint32_t value;\n\t\tuint32_t reserved2;\n\t\tuint64_t destination;\n\t\tuint64_t length;\n\t}FILL_MEMORY_BUFFER_INFO, * PFILL_MEMORY_BUFFER_INFO;\n\n\ttypedef struct _GET_PHYS_ADDRESS_BUFFER_INFO\n\t{\n\t\tuint64_t case_number;\n\t\tuint64_t reserved;\n\t\tuint64_t return_physical_address;\n\t\tuint64_t address_to_translate;\n\t}GET_PHYS_ADDRESS_BUFFER_INFO, * PGET_PHYS_ADDRESS_BUFFER_INFO;\n\n\ttypedef struct _MAP_IO_SPACE_BUFFER_INFO\n\t{\n\t\tuint64_t case_number;\n\t\tuint64_t reserved;\n\t\tuint64_t return_value;\n\t\tuint64_t return_virtual_address;\n\t\tuint64_t physical_address_to_map;\n\t\tuint32_t size;\n\t}MAP_IO_SPACE_BUFFER_INFO, * PMAP_IO_SPACE_BUFFER_INFO;\n\n\ttypedef struct _UNMAP_IO_SPACE_BUFFER_INFO\n\t{\n\t\tuint64_t case_number;\n\t\tuint64_t reserved1;\n\t\tuint64_t reserved2;\n\t\tuint64_t virt_address;\n\t\tuint64_t reserved3;\n\t\tuint32_t number_of_bytes;\n\t}UNMAP_IO_SPACE_BUFFER_INFO, * PUNMAP_IO_SPACE_BUFFER_INFO;\n\n\ttypedef struct _RTL_BALANCED_LINKS {\n\t\tstruct _RTL_BALANCED_LINKS* Parent;\n\t\tstruct _RTL_BALANCED_LINKS* LeftChild;\n\t\tstruct _RTL_BALANCED_LINKS* RightChild;\n\t\tCHAR Balance;\n\t\tUCHAR Reserved[3];\n\t} RTL_BALANCED_LINKS;\n\ttypedef RTL_BALANCED_LINKS* PRTL_BALANCED_LINKS;\n\n\ttypedef struct _RTL_AVL_TABLE {\n\t\tRTL_BALANCED_LINKS BalancedRoot;\n\t\tPVOID OrderedPointer;\n\t\tULONG WhichOrderedElement;\n\t\tULONG NumberGenericTableElements;\n\t\tULONG DepthOfTree;\n\t\tPVOID RestartKey;\n\t\tULONG DeleteCount;\n\t\tPVOID CompareRoutine;\n\t\tPVOID AllocateRoutine;\n\t\tPVOID FreeRoutine;\n\t\tPVOID TableContext;\n\t} RTL_AVL_TABLE;\n\ttypedef RTL_AVL_TABLE* PRTL_AVL_TABLE;\n\n\ttypedef struct _PiDDBCacheEntry\n\t{\n\t\tLIST_ENTRY\t\tList;\n\t\tUNICODE_STRING\tDriverName;\n\t\tULONG\t\t\tTimeDateStamp;\n\t\tNTSTATUS\t\tLoadStatus;\n\t\tchar\t\t\t_0x0028[16]; \n\t} PiDDBCacheEntry, * NPiDDBCacheEntry;\n\n\ttypedef struct _HashBucketEntry\n\t{\n\t\tstruct _HashBucketEntry* Next;\n\t\tUNICODE_STRING DriverName;\n\t\tULONG CertHash[5];\n\t} HashBucketEntry, * PHashBucketEntry;\n\n\tbool ClearPiDDBCacheTable(HANDLE device_handle);\n\tbool ExAcquireResourceExclusiveLite(HANDLE device_handle, PVOID Resource, BOOLEAN wait);\n\tbool ExReleaseResourceLite(HANDLE device_handle, PVOID Resource);\n\tBOOLEAN RtlDeleteElementGenericTableAvl(HANDLE device_handle, PVOID Table, PVOID Buffer);\n\tPVOID RtlLookupElementGenericTableAvl(HANDLE device_handle, PRTL_AVL_TABLE Table, PVOID Buffer);\n\tPiDDBCacheEntry* LookupEntry(HANDLE device_handle, PRTL_AVL_TABLE PiDDBCacheTable, ULONG timestamp, const wchar_t* name);\n\tPVOID ResolveRelativeAddress(HANDLE device_handle, _In_ PVOID Instruction, _In_ ULONG OffsetOffset, _In_ ULONG InstructionSize);\n\n\tuintptr_t FindPatternAtKernel(HANDLE device_handle, uintptr_t dwAddress, uintptr_t dwLen, BYTE* bMask, char* szMask);\n\tuintptr_t FindSectionAtKernel(HANDLE device_handle, char* sectionName, uintptr_t modulePtr, PULONG size);\n\tuintptr_t FindPatternInSectionAtKernel(HANDLE device_handle, char* sectionName, uintptr_t modulePtr, BYTE* bMask, char* szMask);\n\n\tbool ClearKernelHashBucketList(HANDLE device_handle);\n\n\tbool IsRunning();\n\tHANDLE Load();\n\tbool Unload(HANDLE device_handle);\n\n\tbool MemCopy(HANDLE device_handle, uint64_t destination, uint64_t source, uint64_t size);\n\tbool SetMemory(HANDLE device_handle, uint64_t address, uint32_t value, uint64_t size);\n\tbool GetPhysicalAddress(HANDLE device_handle, uint64_t address, uint64_t* out_physical_address);\n\tuint64_t MapIoSpace(HANDLE device_handle, uint64_t physical_address, uint32_t size);\n\tbool UnmapIoSpace(HANDLE device_handle, uint64_t address, uint32_t size);\n\tbool ReadMemory(HANDLE device_handle, uint64_t address, void* buffer, uint64_t size);\n\tbool WriteMemory(HANDLE device_handle, uint64_t address, void* buffer, uint64_t size);\n\tbool WriteToReadOnlyMemory(HANDLE device_handle, uint64_t address, void* buffer, uint32_t size);\n\tuint64_t AllocatePool(HANDLE device_handle, nt::POOL_TYPE pool_type, uint64_t size);\n\t/*added by psec*/\n\tuint64_t MmAllocatePagesForMdl(HANDLE device_handle, LARGE_INTEGER LowAddress, LARGE_INTEGER HighAddress, LARGE_INTEGER SkipBytes, SIZE_T TotalBytes);\n\tuint64_t MmMapLockedPagesSpecifyCache(HANDLE device_handle, uint64_t pmdl, nt::KPROCESSOR_MODE AccessMode, nt::MEMORY_CACHING_TYPE CacheType, uint64_t RequestedAddress, ULONG BugCheckOnFailure, ULONG Priority);\n\tbool MmProtectMdlSystemAddress(HANDLE device_handle, uint64_t MemoryDescriptorList, ULONG NewProtect);\n\tbool MmUnmapLockedPages(HANDLE device_handle, uint64_t BaseAddress, uint64_t pmdl);\n\tbool MmFreePagesFromMdl(HANDLE device_handle, uint64_t MemoryDescriptorList);\n\tuint64_t IoGetCurrentProcess(HANDLE device_handle);\n\tuint64_t PsGetCurrentThread(HANDLE device_handle);\n\tNTSTATUS MmCopyVirtualMemory(HANDLE device_handle, uint64_t sourceProcess, PVOID sourceAddress, uint64_t targetProcess, PVOID targetAddress, SIZE_T bufferSize, nt::KPROCESSOR_MODE previousMode, PSIZE_T returnSize);\n\tbool SafeCopy(HANDLE device_handle, uint64_t destination, uint64_t source, uint64_t size);\n\t/**/\n\n\tbool FreePool(HANDLE device_handle, uint64_t address);\n\tuint64_t GetKernelModuleExport(HANDLE device_handle, uint64_t kernel_module_base, const std::string& function_name);\n\tbool ClearMmUnloadedDrivers(HANDLE device_handle);\n\tstd::wstring GetDriverNameW();\n\tstd::wstring GetDriverPath();\n\n\ttemplate<typename T, typename ...A>\n\tbool CallKernelFunction(HANDLE device_handle, T* out_result, uint64_t kernel_function_address, const A ...arguments)\n\t{\n\t\tconstexpr auto call_void = std::is_same_v<T, void>;\n\n\t\tif constexpr (!call_void) {\n\t\t\tif (!out_result)\n\t\t\t\treturn false;\n\t\t}\n\t\telse {\n\t\t\tUNREFERENCED_PARAMETER(out_result);\n\t\t}\n\n\t\tif (!kernel_function_address)\n\t\t\treturn false;\n\n\t\tHMODULE ntdll = GetModuleHandleA(E(\"ntdll.dll\"));\n\t\tif (!ntdll)\n\t\t\treturn false;\n\n\t\tconst auto NtAddAtom = reinterpret_cast<void*>(GetProcAddress(ntdll, E(\"NtAddAtom\")));\n\t\tif (!NtAddAtom)\n\t\t{\n\t\t\tconsole::Error(E(\"NtAddAtom in ntdll not found\"));\n\t\t\treturn false;\n\t\t}\n\n\t\tuint8_t kernel_injected_jmp[] = { 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0 };\n\t\tuint8_t original_kernel_function[sizeof(kernel_injected_jmp)];\n\t\t*reinterpret_cast<uint64_t*>(&kernel_injected_jmp[2]) = kernel_function_address;\n\n\t\tstatic uint64_t kernel_NtAddAtom = GetKernelModuleExport(device_handle, intel_driver::ntoskrnlAddr, E(\"NtAddAtom\"));\n\t\tif (!kernel_NtAddAtom) \n\t\t{\n\t\t\tconsole::Error(E(\"NtAddAtom in ntoskrnl not found\"));\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!ReadMemory(device_handle, kernel_NtAddAtom, &original_kernel_function, sizeof(kernel_injected_jmp)))\n\t\t\treturn false;\n\n\t\tif (original_kernel_function[0] == kernel_injected_jmp[0] &&\n\t\t\toriginal_kernel_function[1] == kernel_injected_jmp[1] &&\n\t\t\toriginal_kernel_function[sizeof(kernel_injected_jmp) - 2] == kernel_injected_jmp[sizeof(kernel_injected_jmp) - 2] &&\n\t\t\toriginal_kernel_function[sizeof(kernel_injected_jmp) - 1] == kernel_injected_jmp[sizeof(kernel_injected_jmp) - 1]) {\n\t\t\tconsole::Error(E(\"Code hooked already\"));\n\t\t\treturn false;\n\t\t}\n\n\t\t// Overwrite the pointer with kernel_function_address\n\t\tif (!WriteToReadOnlyMemory(device_handle, kernel_NtAddAtom, &kernel_injected_jmp, sizeof(kernel_injected_jmp)))\n\t\t\treturn false;\n\n\t\t// Call function\n\t\tif constexpr (!call_void)\n\t\t{\n\t\t\tusing FunctionFn = T(__stdcall*)(A...);\n\t\t\tconst auto Function = reinterpret_cast<FunctionFn>(NtAddAtom);\n\n\t\t\t*out_result = Function(arguments...);\n\t\t}\n\t\telse {\n\t\t\tusing FunctionFn = void(__stdcall*)(A...);\n\t\t\tconst auto Function = reinterpret_cast<FunctionFn>(NtAddAtom);\n\n\t\t\tFunction(arguments...);\n\t\t}\n\n\t\t// Restore the pointer/jmp\n\t\tWriteToReadOnlyMemory(device_handle, kernel_NtAddAtom, original_kernel_function, sizeof(kernel_injected_jmp));\n\t\treturn true;\n\t}\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/magic.cpp",
    "content": "#include \"../general.h\"\n\n// KTHREAD -> PreviousMode\nconst uint64_t OffsetPreviousMode = 0x232;\n// KTHREAD -> MiscFlags\nconst uint64_t OffsetMiscFlags = 0x74;\n\nHANDLE deviceHandle;\nvolatile uint64_t currentProcess;\nvolatile uint64_t currentThread;\n\ntypedef struct _Flags\n{\n    union\n    {\n        struct\n        {\n            ULONG AutoBoostActive : 1;                                        //0x74\n            ULONG ReadyTransition : 1;                                        //0x74\n            ULONG WaitNext : 1;                                               //0x74\n            ULONG SystemAffinityActive : 1;                                   //0x74\n            ULONG Alertable : 1;                                              //0x74\n            ULONG UserStackWalkActive : 1;                                    //0x74\n            ULONG ApcInterruptRequest : 1;                                    //0x74\n            ULONG QuantumEndMigrate : 1;                                      //0x74\n            ULONG Spare1 : 1;                                                 //0x74\n            ULONG TimerActive : 1;                                            //0x74\n            ULONG SystemThread : 1;                                           //0x74\n            ULONG ProcessDetachActive : 1;                                    //0x74\n            ULONG CalloutActive : 1;                                          //0x74\n            ULONG ScbReadyQueue : 1;                                          //0x74\n            ULONG ApcQueueable : 1;                                           //0x74\n            ULONG ReservedStackInUse : 1;                                     //0x74\n            ULONG Spare2 : 1;                                                 //0x74\n            ULONG TimerSuspended : 1;                                         //0x74\n            ULONG SuspendedWaitMode : 1;                                      //0x74\n            ULONG SuspendSchedulerApcWait : 1;                                //0x74\n            ULONG CetUserShadowStack : 1;                                     //0x74\n            ULONG BypassProcessFreeze : 1;                                    //0x74\n            ULONG CetKernelShadowStack : 1;                                   //0x74\n            ULONG StateSaveAreaDecoupled : 1;                                 //0x74\n            ULONG IsolationWidth : 1;                                         //0x74\n            ULONG Reserved : 7;                                               //0x74\n        } BitFields;\n        LONG MiscFlags;                                                     //0x74\n    } Internal;\n} Flags;\n\nDWORD WINAPI MagicThread(LPVOID dummy)\n{\n    ProtectMutate();\n\tUNREFERENCED_PARAMETER(dummy);\n\n    currentProcess = intel_driver::IoGetCurrentProcess(deviceHandle);\n    currentThread = intel_driver::PsGetCurrentThread(deviceHandle);\n\n    memory::Loop();\n\n    ProtectEnd();\n\treturn 0;\n}\n\nbool magic::Run()\n{\n    ProtectUltra();\n\tconsole::Info(E(\"Loading vulnerable driver\"));\n\tdeviceHandle = intel_driver::Load();\n\tif (deviceHandle == INVALID_HANDLE_VALUE)\n\t\treturn false;\n\n\tconsole::Success(E(\"Vulnerable driver loaded\"));\n\n\tconsole::Info(E(\"Modifying current process\"));\n    CreateThread(nullptr, 0, MagicThread, nullptr, 0, nullptr);\n\n    while (!currentThread)\n        Sleep(1);\n\n    Sleep(500);\n\n    if (!(currentThread && currentProcess))\n    {\n        console::Error(E(\"Failed to get current process and thread\"));\n        goto exit;\n    }\n\n    console::Debug(E(\"EPROCESS: 0x%p\"), currentProcess);\n    console::Debug(E(\"ETHREAD: 0x%p\"), currentThread);\n\n    bool status = false;\n\n    char mode = 0; // KernelMode\n    if (!intel_driver::WriteMemory(deviceHandle, currentThread + OffsetPreviousMode, &mode, sizeof(char)))\n    {\n        console::Error(E(\"Failed to write kernel structures\"));\n        goto exit;\n    }\n\n    Flags flags;\n    if (!intel_driver::ReadMemory(deviceHandle, currentThread + OffsetMiscFlags, &flags, sizeof(Flags)))\n    {\n        console::Error(E(\"Failed to read kernel structures\"));\n        goto exit;\n    }\n\n    flags.Internal.BitFields.ApcQueueable = false;\n\n    if (!intel_driver::WriteMemory(deviceHandle, currentThread + OffsetMiscFlags, &flags, sizeof(Flags)))\n    {\n        console::Error(E(\"Failed to write kernel structures\"));\n        goto exit;\n    }\n\n    status = true;\n    console::Success(E(\"Modification successful\"));\n\nexit:\n    console::Info(E(\"Unloading vulnerable driver\"));\n    if (!intel_driver::Unload(deviceHandle))\n    {\n        console::Error(E(\"Failed to unload vulnerable driver\"));\n        return false;\n    }\n\n    console::Success(E(\"Vulnerable driver unloaded\"));\n\n    console::Info(E(\"Cleaning driver buffer\"));\n    memset(driver_resource::driverBuffer, 0, sizeof(driver_resource::driverBuffer));\n    console::Success(E(\"Driver buffer cleaned\"));\n    ProtectEnd();\n    return status;\n}\n"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/magic.h",
    "content": "#ifndef MAGIC_H\n#define MAGIC_H\n\nnamespace magic\n{\n\tbool Run();\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/memory.cpp",
    "content": "#include \"../general.h\"\n\nHANDLE targetProcess = nullptr;\n\nvolatile memory::ControlData controlData;\nstd::mutex actionMutex;\n\nvoid memory::HandleOpenProcess(volatile ControlData* data)\n{\n    ProtectMutate();\n\tDWORD processId = static_cast<DWORD>(data->Data[0]);\n\ttargetProcess = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, false, processId);\n    if (!targetProcess || targetProcess == INVALID_HANDLE_VALUE)\n    {\n        data->Status = StatusError;\n        return;\n    }\n\n    data->Status = StatusDone;\n    ProtectEnd();\n}\n\nvoid memory::HandleReadMemory(volatile ControlData* data)\n{\n    ProtectMutate();\n\tLPCVOID address = reinterpret_cast<LPCVOID>(data->Data[0]);\n    LPVOID buffer = reinterpret_cast<LPVOID>(data->Data[1]);\n    SIZE_T size = data->Data[2];\n    SIZE_T* outputSize = const_cast<SIZE_T*>(&data->Data[3]);\n    bool status = ReadProcessMemory(targetProcess, address, buffer, size, outputSize);\n    if (!status)\n    {\n        data->Status = StatusError;\n        return;\n    }\n\n    data->Status = StatusDone;\n    ProtectEnd();\n}\n\nvoid memory::HandleWriteMemory(volatile ControlData* data)\n{\n    ProtectMutate();\n\tLPVOID address = reinterpret_cast<LPVOID>(data->Data[0]);\n    LPVOID buffer = reinterpret_cast<LPVOID>(data->Data[1]);\n    SIZE_T size = data->Data[2];\n    SIZE_T* outputSize = const_cast<SIZE_T*>(&data->Data[3]);\n    bool status = WriteProcessMemory(targetProcess, address, buffer, size, outputSize);\n    if (!status)\n    {\n        data->Status = StatusError;\n        return;\n    }\n\n    data->Status = StatusDone;\n    ProtectEnd();\n}\n\nvoid memory::HandleModuleQuery(volatile ControlData* data)\n{\n    ProtectMutate();\n    wchar_t* moduleName = reinterpret_cast<wchar_t*>(data->Data[0]);\n    uint64_t modBaseAddr = 0;\n    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, memory_helper::targetPid);\n    if (snapshot != INVALID_HANDLE_VALUE)\n    {\n        MODULEENTRY32W modEntry;\n        modEntry.dwSize = sizeof(modEntry);\n        if (Module32FirstW(snapshot, &modEntry))\n        {\n            do\n            {\n                if (!_wcsicmp(modEntry.szModule, moduleName))\n                {\n                    modBaseAddr = reinterpret_cast<uint64_t>(modEntry.modBaseAddr);\n                    break;\n                }\n            } while (Module32NextW(snapshot, &modEntry));\n        }\n    }\n    CloseHandle(snapshot);\n\n    *reinterpret_cast<uint64_t*>(data->Data[1]) = modBaseAddr;\n    if (!modBaseAddr)\n    {\n        data->Status = StatusError;\n        return;\n    }\n\n    data->Status = StatusDone;\n    ProtectEnd();\n}\n\nmemory::ActionStatus memory::PerformAction(ActionType type, uint64_t data1, uint64_t data2, uint64_t data3,\n\tuint64_t data4, uint64_t data5)\n{\n    ProtectMutate();\n\tactionMutex.lock();\n\tmemset((void*)&controlData, 0, sizeof(ControlData));\n\n    controlData.Action = type;\n    controlData.Data[0] = data1;\n    controlData.Data[1] = data2;\n    controlData.Data[2] = data3;\n    controlData.Data[3] = data4;\n    controlData.Data[4] = data5;\n\n\tcontrolData.Status = StatusPending;\n    while (controlData.Status == StatusPending) { }\n\n\tactionMutex.unlock();\n    return controlData.Status;\n    ProtectEnd();\n}\n\nvoid memory::Loop()\n{\n    ProtectMutate();\n\twhile (!global::ShouldExit)\n    {\n        if (controlData.Status != StatusPending)\n            continue;\n\n        switch (controlData.Action)\n        {\n        case ActionOpenProcess:\n            HandleOpenProcess(&controlData);\n            break;\n        case ActionReadMemory:\n            HandleReadMemory(&controlData);\n            break;\n        case ActionWriteMemory:\n            HandleWriteMemory(&controlData);\n            break;\n        case ActionModuleQuery:\n            HandleModuleQuery(&controlData);\n            break;\n        default:\n            break;\n        }\n    }\n    ProtectEnd();\n}\n\nDWORD memory_helper::GetProcessPID(const wchar_t* processName)\n{\n    ProtectMutate();\n\tPROCESSENTRY32W processInfo;\n    processInfo.dwSize = sizeof(processInfo);\n\n    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);\n    if (snapshot == INVALID_HANDLE_VALUE)\n        return 0;\n\n    Process32FirstW(snapshot, &processInfo);\n    if (!wcscmp(processName, processInfo.szExeFile))\n    {\n        CloseHandle(snapshot);\n        return processInfo.th32ProcessID;\n    }\n\n    while (Process32NextW(snapshot, &processInfo))\n    {\n        if (!wcscmp(processName, processInfo.szExeFile))\n        {\n            CloseHandle(snapshot);\n            return processInfo.th32ProcessID;\n        }\n    }\n\n    CloseHandle(snapshot);\n    ProtectEnd();\n    return 0;\n}\n\nuint64_t memory_helper::GetModuleAddress(const wchar_t* moduleName)\n{\n    ProtectMutate();\n    console::Info(E(\"Getting module info\"));\n\tuint64_t moduleBaseAddress = 0;\n    memory::ActionStatus status = memory::PerformAction(memory::ActionModuleQuery, reinterpret_cast<uint64_t>(moduleName), reinterpret_cast<uint64_t>(&moduleBaseAddress));\n    if (status != memory::StatusDone || !moduleBaseAddress)\n    {\n        console::Error(E(\"Failed to get module info\"));\n        global::ExitLoop();\n    }\n\n    console::Success(E(\"Base: 0x%p\"), moduleBaseAddress);\n    ProtectEnd();\n    return moduleBaseAddress;\n}\n\nvoid memory_helper::WaitAndOpenProcess(const wchar_t* processName)\n{\n    ProtectMutate();\n\tconsole::Info(E(\"Waiting for process to open\"));\n    while (!targetPid)\n        targetPid = GetProcessPID(processName);\n\n    Sleep(5000);\n\n    targetPid = GetProcessPID(processName);\n    if (!targetPid)\n    {\n        console::Error(E(\"Process exited\"));\n        global::ExitLoop();\n    }\n\n    memory::ActionStatus status = memory::PerformAction(memory::ActionOpenProcess, targetPid);\n    if (status != memory::StatusDone)\n    {\n        console::Error(E(\"Failed to open target process\"));\n        global::ExitLoop();\n    }\n\n    console::Success(E(\"Handle: 0x%p\"), targetProcess);\n    ProtectEnd();\n}\n\nbool memory_helper::ReadMemory(uint64_t address, void* buffer, size_t size)\n{\n    memory::ActionStatus status = memory::PerformAction(memory::ActionReadMemory, address, reinterpret_cast<uint64_t>(buffer), size);\n    return status == memory::StatusDone;\n}\n\nbool memory_helper::WriteMemory(uint64_t address, void* buffer, size_t size)\n{\n    memory::ActionStatus status = memory::PerformAction(memory::ActionWriteMemory, address, reinterpret_cast<uint64_t>(buffer), size);\n    return status == memory::StatusDone;\n}"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/memory.h",
    "content": "#ifndef MEMORY_H\n#define MEMORY_H\n\nnamespace memory\n{\n\tenum ActionType\n\t{\n\t\tActionUnknown,\n\t\tActionOpenProcess,\n\t\tActionReadMemory,\n\t\tActionWriteMemory,\n\t\tActionModuleQuery\n\t};\n\n\tenum ActionStatus\n\t{\n\t\tStatusInvalid,\n\t\tStatusPending,\n\t\tStatusError,\n\t\tStatusDone\n\t};\n\n\ttypedef struct _ControlData\n\t{\n\t\tActionType Action;\n\t\tActionStatus Status;\n\t\tuint64_t Data[5];\n\t} ControlData;\n\n\tvoid HandleOpenProcess(volatile ControlData* data);\n\tvoid HandleReadMemory(volatile ControlData* data);\n\tvoid HandleWriteMemory(volatile ControlData* data);\n\tvoid HandleModuleQuery(volatile ControlData* data);\n\tActionStatus PerformAction(ActionType type, uint64_t data1 = 0, uint64_t data2 = 0, uint64_t data3 = 0, uint64_t data4 = 0, uint64_t data5 = 0);\n\tvoid Loop();\n}\n\nnamespace memory_helper\n{\n\tinline DWORD targetPid = 0;\n\n\tDWORD GetProcessPID(const wchar_t* processName);\n\tuint64_t GetModuleAddress(const wchar_t* moduleName);\n\tvoid WaitAndOpenProcess(const wchar_t* processName);\n\tbool ReadMemory(uint64_t address, void* buffer, size_t size);\n\tbool WriteMemory(uint64_t address, void* buffer, size_t size);\n\n\ttemplate<typename T>\n\tT Read(uint64_t address)\n\t{\n\t\tT val = T();\n\t\tReadMemory(address, &val, sizeof(T));\n\t\treturn val;\n\t}\n\n\ttemplate<typename T>\n\tvoid Write(DWORD64 address, T value)\n\t{\n\t\tWriteMemory(address, &value, sizeof(T));\n\t}\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/nt.h",
    "content": "#ifndef CUSTOM_NT_H\n#define CUSTOM_NT_H\n\nnamespace nt\n{\n\tconstexpr auto PAGE_SIZE = 0x1000;\n\tconstexpr auto STATUS_INFO_LENGTH_MISMATCH = 0xC0000004;\n\n\tconstexpr auto SystemModuleInformation = 11;\n\tconstexpr auto SystemHandleInformation = 16;\n\tconstexpr auto SystemExtendedHandleInformation = 64;\n\n\ttypedef NTSTATUS(*NtLoadDriver)(PUNICODE_STRING DriverServiceName);\n\ttypedef NTSTATUS(*NtUnloadDriver)(PUNICODE_STRING DriverServiceName);\n\ttypedef NTSTATUS(*RtlAdjustPrivilege)(_In_ ULONG Privilege, _In_ BOOLEAN Enable, _In_ BOOLEAN Client, _Out_ PBOOLEAN WasEnabled);\n\n\ttypedef struct _SYSTEM_HANDLE\n\t{\n\t\tPVOID Object;\n\t\tHANDLE UniqueProcessId;\n\t\tHANDLE HandleValue;\n\t\tULONG GrantedAccess;\n\t\tUSHORT CreatorBackTraceIndex;\n\t\tUSHORT ObjectTypeIndex;\n\t\tULONG HandleAttributes;\n\t\tULONG Reserved;\n\t} SYSTEM_HANDLE, * PSYSTEM_HANDLE;\n\n\ttypedef struct _SYSTEM_HANDLE_INFORMATION_EX\n\t{\n\t\tULONG_PTR HandleCount;\n\t\tULONG_PTR Reserved;\n\t\tSYSTEM_HANDLE Handles[1];\n\t} SYSTEM_HANDLE_INFORMATION_EX, * PSYSTEM_HANDLE_INFORMATION_EX;\n\n\ttypedef enum class _POOL_TYPE\n\t{\n\t\tNonPagedPool,\n\t\tNonPagedPoolExecute = NonPagedPool,\n\t\tPagedPool,\n\t\tNonPagedPoolMustSucceed = NonPagedPool + 2,\n\t\tDontUseThisType,\n\t\tNonPagedPoolCacheAligned = NonPagedPool + 4,\n\t\tPagedPoolCacheAligned,\n\t\tNonPagedPoolCacheAlignedMustS = NonPagedPool + 6,\n\t\tMaxPoolType,\n\t\tNonPagedPoolBase = 0,\n\t\tNonPagedPoolBaseMustSucceed = NonPagedPoolBase + 2,\n\t\tNonPagedPoolBaseCacheAligned = NonPagedPoolBase + 4,\n\t\tNonPagedPoolBaseCacheAlignedMustS = NonPagedPoolBase + 6,\n\t\tNonPagedPoolSession = 32,\n\t\tPagedPoolSession = NonPagedPoolSession + 1,\n\t\tNonPagedPoolMustSucceedSession = PagedPoolSession + 1,\n\t\tDontUseThisTypeSession = NonPagedPoolMustSucceedSession + 1,\n\t\tNonPagedPoolCacheAlignedSession = DontUseThisTypeSession + 1,\n\t\tPagedPoolCacheAlignedSession = NonPagedPoolCacheAlignedSession + 1,\n\t\tNonPagedPoolCacheAlignedMustSSession = PagedPoolCacheAlignedSession + 1,\n\t\tNonPagedPoolNx = 512,\n\t\tNonPagedPoolNxCacheAligned = NonPagedPoolNx + 4,\n\t\tNonPagedPoolSessionNx = NonPagedPoolNx + 32,\n\t} POOL_TYPE;\n\n\ttypedef struct _RTL_PROCESS_MODULE_INFORMATION\n\t{\n\t\tHANDLE Section;\n\t\tPVOID MappedBase;\n\t\tPVOID ImageBase;\n\t\tULONG ImageSize;\n\t\tULONG Flags;\n\t\tUSHORT LoadOrderIndex;\n\t\tUSHORT InitOrderIndex;\n\t\tUSHORT LoadCount;\n\t\tUSHORT OffsetToFileName;\n\t\tUCHAR FullPathName[256];\n\t} RTL_PROCESS_MODULE_INFORMATION, * PRTL_PROCESS_MODULE_INFORMATION;\n\n\ttypedef struct _RTL_PROCESS_MODULES\n\t{\n\t\tULONG NumberOfModules;\n\t\tRTL_PROCESS_MODULE_INFORMATION Modules[1];\n\t} RTL_PROCESS_MODULES, * PRTL_PROCESS_MODULES;\n\n\t/*added by psec*/\n\ttypedef enum _MEMORY_CACHING_TYPE_ORIG\n\t{\n\t\tMmFrameBufferCached = 2\n\t} MEMORY_CACHING_TYPE_ORIG;\n\n\ttypedef enum _MEMORY_CACHING_TYPE\n\t{\n\t\tMmNonCached = FALSE,\n\t\tMmCached = TRUE,\n\t\tMmWriteCombined = MmFrameBufferCached,\n\t\tMmHardwareCoherentCached,\n\t\tMmNonCachedUnordered,       // IA64\n\t\tMmUSWCCached,\n\t\tMmMaximumCacheType,\n\t\tMmNotMapped = -1\n\t} MEMORY_CACHING_TYPE;\n\n\ttypedef CCHAR KPROCESSOR_MODE;\n\n\ttypedef enum _MODE\n\t{\n\t\tKernelMode,\n\t\tUserMode,\n\t\tMaximumMode\n\t} MODE;\n\n\ttypedef enum _MM_PAGE_PRIORITY\n\t{\n\t\tLowPagePriority,\n\t\tNormalPagePriority = 16,\n\t\tHighPagePriority = 32\n\t} MM_PAGE_PRIORITY;\n\t/**/\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/service.cpp",
    "content": "#include \"../general.h\"\n\nbool service::RegisterAndStart(const std::wstring& driver_path)\n{\n\tProtectUltra();\n\tconst static DWORD ServiceTypeKernel = 1;\n\tconst std::wstring driver_name = intel_driver::GetDriverNameW();\n\tconst std::wstring servicesPath = EW(L\"SYSTEM\\\\CurrentControlSet\\\\Services\\\\\") + driver_name;\n\tconst std::wstring nPath = EW(L\"\\\\??\\\\\") + driver_path;\n\n\tHKEY dservice;\n\tLSTATUS status = RegCreateKeyW(HKEY_LOCAL_MACHINE, servicesPath.c_str(), &dservice); //Returns Ok if already exists\n\tif (status != ERROR_SUCCESS) \n\t\treturn false;\n\n\tstatus = RegSetKeyValueW(dservice, NULL, EW(L\"ImagePath\"), REG_EXPAND_SZ, nPath.c_str(), (DWORD)(nPath.size() * sizeof(wchar_t)));\n\tif (status != ERROR_SUCCESS) \n\t{\n\t\tRegCloseKey(dservice);\n\t\treturn false;\n\t}\n\n\tstatus = RegSetKeyValueW(dservice, NULL, EW(L\"Type\"), REG_DWORD, &ServiceTypeKernel, sizeof(DWORD));\n\tif (status != ERROR_SUCCESS) {\n\t\tRegCloseKey(dservice);\n\t\treturn false;\n\t}\n\n\tRegCloseKey(dservice);\n\n\tHMODULE ntdll = GetModuleHandleA(EW(\"ntdll.dll\"));\n\tif (!ntdll)\n\t\treturn false;\n\n\tauto RtlAdjustPrivilege = (nt::RtlAdjustPrivilege)GetProcAddress(ntdll, E(\"RtlAdjustPrivilege\"));\n\tauto NtLoadDriver = (nt::NtLoadDriver)GetProcAddress(ntdll, E(\"NtLoadDriver\"));\n\n\tULONG SE_LOAD_DRIVER_PRIVILEGE = 10UL;\n\tBOOLEAN SeLoadDriverWasEnabled;\n\tNTSTATUS Status = RtlAdjustPrivilege(SE_LOAD_DRIVER_PRIVILEGE, TRUE, FALSE, &SeLoadDriverWasEnabled);\n\tif (!NT_SUCCESS(Status)) \n\t{\n\t\tconsole::Error(E(\"Unable to set SE_LOAD_DRIVER_PRIVILEGE. Make sure you are running as administrator.\"));\n\t\treturn false;\n\t}\n\n\tstd::wstring wdriver_reg_path = L\"\\\\Registry\\\\Machine\\\\System\\\\CurrentControlSet\\\\Services\\\\\" + driver_name;\n\tUNICODE_STRING serviceStr;\n\tRtlInitUnicodeString(&serviceStr, wdriver_reg_path.c_str());\n\n\tStatus = NtLoadDriver(&serviceStr);\n\n\tif (Status == 0xC000010E)\n\t\treturn true;\n\n\tProtectEnd();\n\treturn NT_SUCCESS(Status);\n}\n\nbool service::StopAndRemove(const std::wstring& driver_name)\n{\n\tProtectUltra();\n\tHMODULE ntdll = GetModuleHandleA(E(\"ntdll.dll\"));\n\tif (!ntdll)\n\t\treturn false;\n\n\tstd::wstring wdriver_reg_path = EW(L\"\\\\Registry\\\\Machine\\\\System\\\\CurrentControlSet\\\\Services\\\\\") + driver_name;\n\tUNICODE_STRING serviceStr;\n\tRtlInitUnicodeString(&serviceStr, wdriver_reg_path.c_str());\n\n\tHKEY driver_service;\n\tstd::wstring servicesPath = EW(L\"SYSTEM\\\\CurrentControlSet\\\\Services\\\\\") + driver_name;\n\tLSTATUS status = RegOpenKeyW(HKEY_LOCAL_MACHINE, servicesPath.c_str(), &driver_service);\n\tif (status != ERROR_SUCCESS) \n\t{\n\t\tif (status == ERROR_FILE_NOT_FOUND) \n\t\t\treturn true;\n\n\t\treturn false;\n\t}\n\n\tRegCloseKey(driver_service);\n\n\tauto NtUnloadDriver = (nt::NtUnloadDriver)GetProcAddress(ntdll, E(\"NtUnloadDriver\"));\n\tNTSTATUS st = NtUnloadDriver(&serviceStr);\n\tif (st != 0x0) \n\t{\n\t\tRegDeleteKeyW(HKEY_LOCAL_MACHINE, servicesPath.c_str());\n\t\treturn false;\n\t}\n\n\tstatus = RegDeleteKeyW(HKEY_LOCAL_MACHINE, servicesPath.c_str());\n\tif (status != ERROR_SUCCESS)\n\t\treturn false;\n\n\tProtectEnd();\n\treturn true;\n}\n"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/service.h",
    "content": "#ifndef SERVICE_H\n#define SERVICE_H\n\nnamespace service\n{\n\tbool RegisterAndStart(const std::wstring& driver_path);\n\tbool StopAndRemove(const std::wstring& driver_name);\n};\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/utils.cpp",
    "content": "#include \"../general.h\"\n\nstd::wstring utils::GetFullTempPath()\n{\n\tProtectMutate();\n\twchar_t temp_directory[MAX_PATH + 1] = { 0 };\n\tconst uint32_t get_temp_path_ret = GetTempPathW(sizeof(temp_directory) / 2, temp_directory);\n\tif (!get_temp_path_ret || get_temp_path_ret > MAX_PATH + 1) {\n\t\tconsole::Error(E(\"Failed to get temporary path\"));\n\t\treturn L\"\";\n\t}\n\tif (temp_directory[wcslen(temp_directory) - 1] == L'\\\\')\n\t\ttemp_directory[wcslen(temp_directory) - 1] = 0x0;\n\n\tProtectEnd();\n\treturn std::wstring(temp_directory);\n}\n\nbool utils::ReadFileToMemory(const std::wstring& file_path, std::vector<uint8_t>* out_buffer)\n{\n\tProtectMutate();\n\tstd::ifstream file_ifstream(file_path, std::ios::binary);\n\n\tif (!file_ifstream)\n\t\treturn false;\n\n\tout_buffer->assign((std::istreambuf_iterator<char>(file_ifstream)), std::istreambuf_iterator<char>());\n\tfile_ifstream.close();\n\n\tProtectEnd();\n\treturn true;\n}\n\nbool utils::CreateFileFromMemory(const std::wstring& desired_file_path, const char* address, size_t size)\n{\n\tProtectMutate();\n\tstd::ofstream file_ofstream(desired_file_path.c_str(), std::ios_base::out | std::ios_base::binary);\n\n\tif (!file_ofstream.write(address, size)) \n\t{\n\t\tfile_ofstream.close();\n\t\treturn false;\n\t}\n\n\tfile_ofstream.close();\n\tProtectEnd();\n\treturn true;\n}\n\nuint64_t utils::GetKernelModuleAddress(const std::string& module_name)\n{\n\tProtectMutate();\n\tvoid* buffer = nullptr;\n\tDWORD buffer_size = 0;\n\n\tNTSTATUS status = NtQuerySystemInformation(static_cast<SYSTEM_INFORMATION_CLASS>(nt::SystemModuleInformation), buffer, buffer_size, &buffer_size);\n\n\twhile (status == nt::STATUS_INFO_LENGTH_MISMATCH) \n\t{\n\t\tif (buffer != nullptr)\n\t\t\tVirtualFree(buffer, 0, MEM_RELEASE);\n\n\t\tbuffer = VirtualAlloc(nullptr, buffer_size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);\n\t\tstatus = NtQuerySystemInformation(static_cast<SYSTEM_INFORMATION_CLASS>(nt::SystemModuleInformation), buffer, buffer_size, &buffer_size);\n\t}\n\n\tif (!NT_SUCCESS(status)) \n\t{\n\t\tif (buffer != nullptr)\n\t\t\tVirtualFree(buffer, 0, MEM_RELEASE);\n\t\treturn 0;\n\t}\n\n\tconst auto modules = static_cast<nt::PRTL_PROCESS_MODULES>(buffer);\n\tif (!modules)\n\t\treturn 0;\n\n\tfor (auto i = 0u; i < modules->NumberOfModules; ++i) \n\t{\n\t\tconst std::string current_module_name = std::string(reinterpret_cast<char*>(modules->Modules[i].FullPathName) + modules->Modules[i].OffsetToFileName);\n\n\t\tif (!_stricmp(current_module_name.c_str(), module_name.c_str()))\n\t\t{\n\t\t\tconst uint64_t result = reinterpret_cast<uint64_t>(modules->Modules[i].ImageBase);\n\n\t\t\tVirtualFree(buffer, 0, MEM_RELEASE);\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tVirtualFree(buffer, 0, MEM_RELEASE);\n\tProtectEnd();\n\treturn 0;\n}\n\nBOOLEAN utils::bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)\n{\n\tfor (; *szMask; ++szMask, ++pData, ++bMask)\n\t\tif (*szMask == 'x' && *pData != *bMask)\n\t\t\treturn 0;\n\treturn (*szMask) == 0;\n}\n\nuintptr_t utils::FindPattern(uintptr_t dwAddress, uintptr_t dwLen, BYTE* bMask, char* szMask)\n{\n\tsize_t max_len = dwLen - strlen(szMask);\n\tfor (uintptr_t i = 0; i < max_len; i++)\n\t\tif (bDataCompare((BYTE*)(dwAddress + i), bMask, szMask))\n\t\t\treturn (uintptr_t)(dwAddress + i);\n\treturn 0;\n}\n\nPVOID utils::FindSection(char* sectionName, uintptr_t modulePtr, PULONG size)\n{\n\tProtectMutate();\n\tsize_t namelength = strlen(sectionName);\n\tPIMAGE_NT_HEADERS headers = (PIMAGE_NT_HEADERS)(modulePtr + ((PIMAGE_DOS_HEADER)modulePtr)->e_lfanew);\n\tPIMAGE_SECTION_HEADER sections = IMAGE_FIRST_SECTION(headers);\n\n\tfor (DWORD i = 0; i < headers->FileHeader.NumberOfSections; ++i) \n\t{\n\t\tPIMAGE_SECTION_HEADER section = &sections[i];\n\t\tif (memcmp(section->Name, sectionName, namelength) == 0 &&\n\t\t\tnamelength == strlen((char*)section->Name))\n\t\t{\n\t\t\tif (!section->VirtualAddress) \n\t\t\t\treturn 0;\n\n\t\t\tif (size)\n\t\t\t\t*size = section->Misc.VirtualSize;\n\n\t\t\treturn (PVOID)(modulePtr + section->VirtualAddress);\n\t\t}\n\t}\n\n\tProtectEnd();\n\treturn 0;\n}\n\nconst wchar_t* utils::GetWidechar(const char* input)\n{\n\tconst size_t size = strlen(input) + 1;\n\twchar_t* wc = new wchar_t[size];\n\tmbstowcs(wc, input, size);\n\treturn wc;\n}"
  },
  {
    "path": "RwxMeme/RwxMeme/src/driver/utils.h",
    "content": "#ifndef UTILS_H\n#define UTILS_H\n\nnamespace utils\n{\n\tstd::wstring GetFullTempPath();\n\tbool ReadFileToMemory(const std::wstring& file_path, std::vector<uint8_t>* out_buffer);\n\tbool CreateFileFromMemory(const std::wstring& desired_file_path, const char* address, size_t size);\n\tuint64_t GetKernelModuleAddress(const std::string& module_name);\n\tBOOLEAN bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask);\n\tuintptr_t FindPattern(uintptr_t dwAddress, uintptr_t dwLen, BYTE* bMask, char* szMask);\n\tPVOID FindSection(char* sectionName, uintptr_t modulePtr, PULONG size);\n\tconst wchar_t* GetWidechar(const char* input);\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/entry.cpp",
    "content": "#include \"general.h\"\n\n#define SIGNED_RWX_DLL_NAME E(\"cpprest.dll\")\n\nvoid MapDll(HMODULE rwxDll, DWORD tid, uint64_t targetSectionBase, DWORD targetSectionSize, PIMAGE_DOS_HEADER dosHeader, PIMAGE_NT_HEADERS64 ntHeaders)\n{\n\tProtectUltra();\n\tconst int garbageSize = 0x1000; // has to be aligned\n\tconsole::Info(E(\"Copying random garbage\"));\n\tmemory_helper::WriteMemory(targetSectionBase, &NtQuerySystemTime, garbageSize);\n\ttargetSectionBase += garbageSize;\n\ttargetSectionSize -= garbageSize;\n\tconsole::Success(E(\"Garbage copied\"));\n\n\tif (targetSectionSize < ntHeaders->OptionalHeader.SizeOfImage)\n\t{\n\t\tconsole::Error(E(\"Not enough space for dll\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Info(E(\"Allocating local memory\"));\n\tvoid* localImageBase = malloc(ntHeaders->OptionalHeader.SizeOfImage);\n\tmemset(localImageBase, 0, ntHeaders->OptionalHeader.SizeOfImage);\n\tif (!localImageBase)\n\t{\n\t\tconsole::Error(E(\"Failed to allocate local memory\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"Local image base: 0x%p\"), localImageBase);\n\n\tconsole::Info(E(\"Copying headers\"));\n\tmemcpy(localImageBase, dosHeader, ntHeaders->OptionalHeader.SizeOfHeaders);\n\tconsole::Success(E(\"Headers copied\"));\n\n\tconsole::Info(E(\"Copying sections\"));\n\tconst PIMAGE_SECTION_HEADER currentImageSection = IMAGE_FIRST_SECTION(ntHeaders);\n\tfor (int i = 0; i < ntHeaders->FileHeader.NumberOfSections; ++i)\n\t{\n\t\tconsole::Debug(E(\"Section: 0x%p (%u)\"), currentImageSection[i].VirtualAddress, currentImageSection[i].SizeOfRawData);\n\t\tvoid* localSection = reinterpret_cast<void*>(reinterpret_cast<uint64_t>(localImageBase) + currentImageSection[i].VirtualAddress);\n\t\tmemcpy(localSection, reinterpret_cast<void*>(reinterpret_cast<uint64_t>(dosHeader) + currentImageSection[i].PointerToRawData), currentImageSection[i].SizeOfRawData);\n\t}\n\n\tconsole::Success(E(\"Sections copied\"));\n\n\tconsole::Info(E(\"Resolving relocations\"));\n\texecutable::VecRelocs relocations = executable::GetRelocs(localImageBase);\n\tuint64_t delta = targetSectionBase - ntHeaders->OptionalHeader.ImageBase;\n\tfor (const auto& currentReloc : relocations)\n\t{\n\t\tfor (auto i = 0u; i < currentReloc.count; ++i)\n\t\t{\n\t\t\tconst uint16_t type = currentReloc.item[i] >> 12;\n\t\t\tconst uint16_t offset = currentReloc.item[i] & 0xFFF;\n\n\t\t\tif (type == IMAGE_REL_BASED_DIR64)\n\t\t\t{\n\t\t\t\t//console::Debug(E(\"Offset: %x\"), static_cast<uint32_t>(offset));\n\t\t\t\t*reinterpret_cast<uint64_t*>(currentReloc.address + offset) += delta;\n\t\t\t}\n\t\t}\n\t}\n\n\tconsole::Success(E(\"Relocations resolved\"));\n\n\tconsole::Info(E(\"Resolving imports\"));\n\texecutable::VecImports imports = executable::GetImports(localImageBase);\n\tfor (const auto& currentImport : imports)\n\t{\n\t\tconst wchar_t* moduleName = utils::GetWidechar(currentImport.module_name.c_str());\n\t\tULONG64 moduleAddress = memory_helper::GetModuleAddress(moduleName);\n\t\tif (!moduleAddress)\n\t\t{\n\t\t\tconsole::Error(E(\"Module %s not found\"), currentImport.module_name.c_str());\n\t\t\tglobal::ExitLoop();\n\t\t}\n\n\t\tHMODULE targetModule = LoadLibraryExA(currentImport.module_name.c_str(), nullptr, DONT_RESOLVE_DLL_REFERENCES);\n\t\tif (!targetModule)\n\t\t{\n\t\t\tconsole::Error(E(\"Fail to load %s locally\"), currentImport.module_name.c_str());\n\t\t\tglobal::ExitLoop();\n\t\t}\n\n\t\tfor (auto& currentFunctionData : currentImport.function_datas)\n\t\t{\n\t\t\tFARPROC functionAddressLocal = GetProcAddress(targetModule, currentFunctionData.name.c_str());\n\t\t\tif (!functionAddressLocal)\n\t\t\t{\n\t\t\t\tconsole::Error(E(\"Failed to resolve %s locally\"), currentFunctionData.name.c_str());\n\t\t\t\tglobal::ExitLoop();\n\t\t\t}\n\n\t\t\tuint64_t functionAddress = moduleAddress + (reinterpret_cast<uint64_t>(functionAddressLocal) - reinterpret_cast<uint64_t>(targetModule));\n\t\t\tif (!functionAddress)\n\t\t\t{\n\t\t\t\tconsole::Error(E(\"Failed to resolve %s\"), currentFunctionData.name.c_str());\n\t\t\t\tglobal::ExitLoop();\n\t\t\t}\n\n\t\t\t*currentFunctionData.address = functionAddress;\n\t\t\tconsole::Debug(E(\"Module: %s name: %s address: 0x%p\"), currentImport.module_name.c_str(), currentFunctionData.name.c_str(), functionAddress);\n\t\t}\n\t}\n\n\tconsole::Success(E(\"Imports resolved\"));\n\n\t// TODO: clear headers (cache size first idiot)\n\n\tconsole::Info(E(\"Copying image\"));\n\tmemory_helper::WriteMemory(targetSectionBase, localImageBase, ntHeaders->OptionalHeader.SizeOfImage);\n\tconsole::Success(E(\"Image copied\"));\n\n\tconsole::Info(E(\"Verifying image integrity\"));\n\tvoid* localCopy = malloc(ntHeaders->OptionalHeader.SizeOfImage);\n\tmemory_helper::ReadMemory(targetSectionBase, localCopy, ntHeaders->OptionalHeader.SizeOfImage);\n\tif (memcmp(localImageBase, localCopy, ntHeaders->OptionalHeader.SizeOfImage) != 0)\n\t{\n\t\tconsole::Error(E(\"Failed to verify image\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Info(E(\"Wiping headers\"));\n\tmemory_helper::WriteMemory(targetSectionBase, &NtQuerySystemTime, ntHeaders->OptionalHeader.SizeOfHeaders);\n\tconsole::Success(E(\"Headers wiped\"));\n\n\tconsole::Success(E(\"Image integrity verified\"));\n\n\tconsole::Info(E(\"Copying shellcode\"));\n\tconst uint64_t addressOfEntryPoint = targetSectionBase + ntHeaders->OptionalHeader.AddressOfEntryPoint;\n\t/*\n\t\tlea rax, [rip]              # save next instruction address in rax\n\t\tmov rcx, [rax+100]          # save value of byte check\n\t\tcmp rcx, 0                  # check if byte is zero\n\t\tje  execute_dll             # if it is then call dll entry\n\t\tret                         # if not then return\n\t\texecute_dll:\n\t\tmov rcx, 1                  # set byte to disable double execution\n\t\tmov [rax+100], rcx          # move it to the correct offset\n\t\tmov rdx, 0x1                # reason for call\n\t\tmovabs rax,0xdeadfeeddead   # entry point address\n\t\tjmp    rax                  # let the fun begin\n\t */\n\tBYTE shellcode[] = \n\t{\n\t\t0x48, 0x8D, 0x05, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x48, 0x64, 0x48, 0x83, 0xF9,\n\t\t0x00, 0x74, 0x01, 0xC3, 0x48, 0xC7, 0xC1, 0x01, 0x00, 0x00, 0x00, 0x48, 0x89, 0x48,\n\t\t0x64, 0x48, 0xC7, 0xC2, 0x01, 0x00, 0x00, 0x00, 0x48, 0xB8, 0xAD, 0xDE, 0xED, 0xFE,\n\t\t0xAD, 0xDE, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n\t};\n\t*reinterpret_cast<uint64_t*>(&shellcode[38]) = addressOfEntryPoint;\n\tconst uint64_t targetShellcodeAddress = targetSectionBase - garbageSize / 2;\n\tmemory_helper::WriteMemory(targetShellcodeAddress, shellcode, sizeof(shellcode));\n\tconsole::Debug(E(\"Real entry: 0x%p\"), addressOfEntryPoint);\n\tconsole::Debug(E(\"Shellcode: 0x%p\"), targetShellcodeAddress);\n\tconsole::Success(E(\"Shellcode copied\"));\n\n\tconsole::Info(E(\"Setting window hook\"));\n\tHMODULE dummyModule = GetModuleHandleA(E(\"kernel32.dll\"));\n\tif (!dummyModule)\n\t{\n\t\tconsole::Error(E(\"kernel32.dll not loaded (???)\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\t//HHOOK handle = SetWindowsHookExA(WH_GETMESSAGE, reinterpret_cast<HOOKPROC>(targetShellcodeAddress), dummyModule, tid);\n\tHHOOK handle = SetWindowsHookExA(WH_KEYBOARD, reinterpret_cast<HOOKPROC>(targetShellcodeAddress), dummyModule, tid);\n\tif (!handle)\n\t{\n\t\tconsole::Error(E(\"Failed to set window hook\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"Window hook set\"));\n\n\t/*console::Info(E(\"Forcing hook call\"));\n\tPostThreadMessageA(tid, WM_NULL, NULL, NULL);\n\tconsole::Success(E(\"Hook called\"));*/\n\n\t//console::Info(E(\"Removing hook\"));\n\tconsole::Info(E(\"Press any key to unhook\"));\n\tgetchar();\n\tBOOL unhook = UnhookWindowsHookEx(handle);\n\tif (!unhook)\n\t{\n\t\tconsole::Error(E(\"Failed to remove window hook\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"Hook removed\"));\n\n\tconsole::Info(E(\"Cleaning console\"));\n\tSleep(1000);\n\tconsole::OverwriteClear();\n\n\tProtectEnd();\n}\n\nint main(int argc, char* argv[])\n{\n\tProtectUltra();\n\t//console::Clear();\n\t//console::Init();\n\tconsole::Title();\n\n\tif (argc != 4)\n\t{\n\t\tconsole::Error(E(\"Use this.exe <ProcessName> <WindowTitle> <DllPath>\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconst char* dllPath = argv[3];\n\tif (!std::filesystem::exists(dllPath))\n\t{\n\t\tconsole::Error(E(\"Invalid input dll path\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tif (!std::filesystem::exists(SIGNED_RWX_DLL_NAME))\n\t{\n\t\tconsole::Error(E(\"Cannot find dll %s\"), SIGNED_RWX_DLL_NAME);\n\t\tglobal::ExitLoop();\n\t}\n\n\tif (!magic::Run())\n\t\tglobal::ExitLoop();\n\n\tconst wchar_t* targetProcess = utils::GetWidechar(argv[1]);\n\tmemory_helper::WaitAndOpenProcess(targetProcess);\n\n\tconsole::Info(E(\"Waiting for process to initialize\"));\n\tSleep(10000);\n\tconsole::Success(E(\"Wait completed\"));\n\n\tconsole::Info(E(\"Reading dll\"));\n\tconst wchar_t* dllPathWide = utils::GetWidechar(dllPath);\n\tstd::vector<uint8_t> dllBuffer;\n\tif (!utils::ReadFileToMemory(dllPathWide, &dllBuffer))\n\t{\n\t\tconsole::Error(E(\"Failed to read dll file\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tPIMAGE_DOS_HEADER dosHeader = reinterpret_cast<PIMAGE_DOS_HEADER>(dllBuffer.data());\n\tif (dosHeader->e_magic != IMAGE_DOS_SIGNATURE)\n\t{\n\t\tconsole::Error(E(\"Invalid DOS header\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tPIMAGE_NT_HEADERS64 ntHeaders = reinterpret_cast<PIMAGE_NT_HEADERS64>(reinterpret_cast<uint64_t>(dllBuffer.data()) + dosHeader->e_lfanew);\n\tif (ntHeaders->Signature != IMAGE_NT_SIGNATURE)\n\t{\n\t\tconsole::Error(E(\"Invalid NT headers\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"Dll with size %u loaded\"), ntHeaders->OptionalHeader.SizeOfImage);\n\n\tconsole::Info(E(\"Searching for target window\"));\n\tconst char* windowName = argv[2];\n\tHWND hwnd = FindWindowA(NULL, windowName);\n\tif (!hwnd)\n\t{\n\t\tconsole::Error(E(\"Window does not seem to exist\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"HWND: 0x%p\"), hwnd);\n\n\tconsole::Info(E(\"Getting target thread\"));\n\tDWORD pid = 0;\n\tDWORD tid = GetWindowThreadProcessId(hwnd, &pid);\n\tif (!tid)\n\t{\n\t\tconsole::Error(E(\"Failed to get thread id\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tif (pid != memory_helper::targetPid)\n\t{\n\t\tconsole::Error(E(\"Window PID and process PID does not match\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"TID: %u\"), tid);\n\n\tconsole::Info(E(\"Loading rwx dll\"));\n\tHMODULE rwxDll = LoadLibraryExA(SIGNED_RWX_DLL_NAME, nullptr, DONT_RESOLVE_DLL_REFERENCES);\n\tif (!rwxDll)\n\t{\n\t\tconsole::Error(E(\"Failed to load rwx dll\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"HMODULE: 0x%p\"), rwxDll);\n\n\tconsole::Info(E(\"Getting dummy callback address\"));\n\tHMODULE kernel32Dll = GetModuleHandleA(E(\"kernel32.dll\"));\n\tif (!kernel32Dll)\n\t{\n\t\tconsole::Error(E(\"kernel32.dll not loaded (???)\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tHOOKPROC dummyFunction = (HOOKPROC)GetProcAddress(kernel32Dll, E(\"GetTickCount64\"));\n\tif (!dummyFunction)\n\t{\n\t\tconsole::Error(E(\"Cannot find dummy export\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"Callback: 0x%p\"), dummyFunction);\n\n\tconsole::Info(E(\"Setting window hook\"));\n\tHHOOK handle = SetWindowsHookExA(WH_GETMESSAGE, dummyFunction, rwxDll, tid);\n\tif (!handle)\n\t{\n\t\tconsole::Error(E(\"Failed to set window hook\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Success(E(\"Window hook set\"));\n\n\tconsole::Info(E(\"Forcing hook call\"));\n\tPostThreadMessageA(tid, WM_NULL, NULL, NULL);\n\tSleep(3000);\n\tconsole::Success(E(\"Hook called\"));\n\n\tconst wchar_t* rwxDllName = utils::GetWidechar(SIGNED_RWX_DLL_NAME);\n\tuint64_t rwxRemoteBase = memory_helper::GetModuleAddress(rwxDllName);\n\tif (!rwxRemoteBase)\n\t{\n\t\tconsole::Error(E(\"Module was not loaded\"));\n\t\tglobal::ExitLoop();\n\t}\n\n\tconsole::Info(E(\"Getting rwx section\"));\n\tIMAGE_DOS_HEADER remoteDosHeader = memory_helper::Read<IMAGE_DOS_HEADER>(rwxRemoteBase);\n\tconst uint64_t remoteNtHeadersBase = rwxRemoteBase + remoteDosHeader.e_lfanew;\n\tIMAGE_NT_HEADERS64 remoteNtHeaders = memory_helper::Read<IMAGE_NT_HEADERS64>(remoteNtHeadersBase);\n\tuint64_t sectionAddress = remoteNtHeadersBase + FIELD_OFFSET(IMAGE_NT_HEADERS64, OptionalHeader) + remoteNtHeaders.FileHeader.SizeOfOptionalHeader;\n\tfor (WORD i = 0; i < remoteNtHeaders.FileHeader.NumberOfSections; ++i)\n\t{\n\t\tIMAGE_SECTION_HEADER section = memory_helper::Read<IMAGE_SECTION_HEADER>(sectionAddress + sizeof(IMAGE_SECTION_HEADER) * i);\n\n\t\tbool executable = ((section.Characteristics & 0x20000000) == 0x20000000);\n\t\tbool readable = ((section.Characteristics & 0x40000000) == 0x40000000);\n\t\tbool writeable = ((section.Characteristics & 0x80000000) == 0x80000000);\n\n\t\tif (executable && readable && writeable)\n\t\t{\n\t\t\tuint64_t rwxSection = rwxRemoteBase + section.VirtualAddress;\n\t\t\tconsole::Success(E(\"Found rwx section at 0x%p\"), rwxSection);\n\t\t\tMapDll(rwxDll, tid, rwxSection, section.Misc.VirtualSize, dosHeader, ntHeaders);\n\t\t\tglobal::ExitLoop();\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tconsole::Error(E(\"Section not found\"));\n\n\tglobal::ExitLoop();\n\tProtectEnd();\n\treturn 0;\n}\n"
  },
  {
    "path": "RwxMeme/RwxMeme/src/general.h",
    "content": "#ifndef GENERAL_H\n#define GENERAL_H\n\n#include <Windows.h>\n#include <winternl.h>\n#include <TlHelp32.h>\n#include <winioctl.h>\n#include <iostream>\n#include <cstdarg>\n#include <filesystem>\n#include <fstream>\n#include <mutex>\n#include <dwmapi.h>\n#include <d3d11.h>\n#include <string>\n#include <sstream>\n#include <shlobj.h>\n\n#pragma comment(lib, \"ntdll.lib\")\n\n#include \"utils/xor.h\"\n#include \"utils/console.h\"\n#include \"utils/vmprotect.h\"\n#include \"utils/executable.h\"\n\n#include \"driver/driver_resource.h\"\n#include \"driver/service.h\"\n#include \"driver/nt.h\"\n#include \"driver/intel_driver.h\"\n#include \"driver/utils.h\"\n#include \"driver/magic.h\"\n#include \"driver/memory.h\"\n\nnamespace global\n{\n\tinline bool ShouldExit = false;\n\n\tinline void ExitLoop()\n\t{\n\t\tShouldExit = true;\n\t\twhile (true)\n\t\t\tSleep(10000);\n\t}\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/utils/console.cpp",
    "content": "#include \"../general.h\"\n\nvoid console::Base(Color color, const char* prefix, const char* text, va_list args)\n{\n\tProtectUltra();\n\ttime_t currentTime;\n\ttime(&currentTime);\n\tstruct tm* timeInfo = localtime(&currentTime);\n\tchar buffer[11];\n\tstrftime(buffer, 9, E(\"%H:%M:%S\"), timeInfo);\n\n\tHANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);\n\n\tSetConsoleTextAttribute(consoleHandle, static_cast<WORD>(Color::White));\n\tprintf(E(\"[%s]\"), buffer);\n\n\tSetConsoleTextAttribute(consoleHandle, static_cast<WORD>(color));\n\tprintf(E(\"[%s] \"), prefix);\n\n\tSetConsoleTextAttribute(consoleHandle, static_cast<WORD>(Color::DarkWhite));\n\tvprintf(text, args);\n\tprintf(E(\"\\n\"));\n\tProtectEnd();\n}\n\nvoid console::Info(const char* text, ...)\n{\n\tProtectUltra();\n\tva_list args;\n\tva_start(args, text);\n\tBase(Color::Cyan, E(\"i\"), text, args);\n\tva_end(args);\n\tProtectEnd();\n}\n\nvoid console::Warning(const char* text, ...)\n{\n\tProtectUltra();\n\tva_list args;\n\tva_start(args, text);\n\tBase(Color::Yellow, E(\"w\"), text, args);\n\tva_end(args);\n\tProtectEnd();\n}\n\nvoid console::Error(const char* text, ...)\n{\n\tProtectUltra();\n\tva_list args;\n\tva_start(args, text);\n\tBase(Color::Red, E(\"e\"), text, args);\n\tva_end(args);\n\tProtectEnd();\n}\n\nvoid console::Success(const char* text, ...)\n{\n\tProtectUltra();\n\tva_list args;\n\tva_start(args, text);\n\tBase(Color::Green, E(\"s\"), text, args);\n\tva_end(args);\n\tProtectEnd();\n}\n\nvoid console::Debug(const char* text, ...)\n{\n\tProtectUltra();\n\tva_list args;\n\tva_start(args, text);\n\tBase(Color::DarkGrey, E(\"d\"), text, args);\n\tva_end(args);\n\tProtectEnd();\n}\n\nvoid console::Clear()\n{\n\tsystem(E(\"cls\"));\n}\n\nvoid console::Init()\n{\n\tProtectUltra();\n\tCONSOLE_FONT_INFOEX cfi;\n\tcfi.cbSize = sizeof cfi;\n\tcfi.nFont = 0;\n\tcfi.dwFontSize.X = 0;\n\tcfi.dwFontSize.Y = 12;\n\tcfi.FontFamily = FF_DONTCARE;\n\tcfi.FontWeight = FW_NORMAL;\n\twcscpy(cfi.FaceName, E(L\"Lucida Console\"));\n\n\tHANDLE console_handle = GetStdHandle(STD_OUTPUT_HANDLE);\n\tSetCurrentConsoleFontEx(console_handle, FALSE, &cfi);\n\n\tHWND console_window = GetConsoleWindow();\n\tRECT r;\n\tGetWindowRect(console_window, &r);\n\tMoveWindow(console_window, r.left, r.top, 600, 600, TRUE);\n\n\tSetConsoleTitleA(E(\" \"));\n\tProtectEnd();\n}\n\nvoid console::Title()\n{\n\tProtectUltra();\n\tHANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);\n\n\tSetConsoleTextAttribute(consoleHandle, static_cast<WORD>(Color::Purple));\n\tprintf(E(\"RwxMeme\\n\"));\n\n\tSetConsoleTextAttribute(consoleHandle, static_cast<WORD>(Color::DarkWhite));\n\tprintf(E(\"build on %s | tulach.cc | github.com/SamuelTulach\\n\\n\"), __DATE__);\n\tProtectEnd();\n}\n\nvoid console::OverwriteClear()\n{\n\tProtectMutate();\n\tfor (int i = 0; i < 10000; i++)\n\t\tprintf(E(\"                                                                \\n\"));\n\tProtectEnd();\n}"
  },
  {
    "path": "RwxMeme/RwxMeme/src/utils/console.h",
    "content": "#ifndef CONSOLE_H\n#define CONSOLE_H\n\nnamespace console\n{\n\tenum class Color\n\t{\n\t\tDefault,\n\t\tDarkBlue,\n\t\tDarkGreen,\n\t\tDarkCyan,\n\t\tDarkRed,\n\t\tDarkPurple,\n\t\tDarkYellow,\n\t\tDarkWhite,\n\t\tDarkGrey,\n\t\tBlue,\n\t\tGreen,\n\t\tCyan,\n\t\tRed,\n\t\tPurple,\n\t\tYellow,\n\t\tWhite\n\t};\n\n\tvoid Base(Color color, const char* prefix, const char* text, va_list args);\n\tvoid Info(const char* text, ...);\n\tvoid Warning(const char* text, ...);\n\tvoid Error(const char* text, ...);\n\tvoid Success(const char* text, ...);\n\tvoid Debug(const char* text, ...);\n\tvoid Clear();\n\tvoid Init();\n\tvoid Title();\n\tvoid OverwriteClear();\n\tstd::string ReadInput(const char* text);\n}\n\n#endif"
  },
  {
    "path": "RwxMeme/RwxMeme/src/utils/executable.cpp",
    "content": "#include \"../general.h\"\n\nPIMAGE_NT_HEADERS64 executable::GetNtHeaders(void* imageBase)\n{\n\tProtectUltra();\n\tconst auto dosHeader = reinterpret_cast<PIMAGE_DOS_HEADER>(imageBase);\n\n\tif (dosHeader->e_magic != IMAGE_DOS_SIGNATURE)\n\t\treturn nullptr;\n\n\tconst auto ntHeaders = reinterpret_cast<PIMAGE_NT_HEADERS64>(reinterpret_cast<uint64_t>(imageBase) + dosHeader->e_lfanew);\n\n\tif (ntHeaders->Signature != IMAGE_NT_SIGNATURE)\n\t\treturn nullptr;\n\n\tProtectEnd();\n\treturn ntHeaders;\n}\n\nexecutable::VecRelocs executable::GetRelocs(void* imageBase)\n{\n\tProtectUltra();\n\tconst PIMAGE_NT_HEADERS64 ntHeaders = GetNtHeaders(imageBase);\n\n\tif (!ntHeaders)\n\t\treturn {};\n\n\tVecRelocs relocs;\n\tDWORD relocVa = ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress;\n\n\tif (!relocVa)\n\t\treturn {};\n\n\tauto currentBaseRelocation = reinterpret_cast<PIMAGE_BASE_RELOCATION>(reinterpret_cast<uint64_t>(imageBase) + relocVa);\n\tconst auto relocEnd = reinterpret_cast<PIMAGE_BASE_RELOCATION>(reinterpret_cast<uint64_t>(currentBaseRelocation) + ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].Size);\n\n\twhile (currentBaseRelocation < relocEnd && currentBaseRelocation->SizeOfBlock) \n\t{\n\t\tRelocInfo relocInfo;\n\n\t\trelocInfo.address = reinterpret_cast<uint64_t>(imageBase) + currentBaseRelocation->VirtualAddress;\n\t\trelocInfo.item = reinterpret_cast<uint16_t*>(reinterpret_cast<uint64_t>(currentBaseRelocation) + sizeof(IMAGE_BASE_RELOCATION));\n\t\trelocInfo.count = (currentBaseRelocation->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION)) / sizeof(uint16_t);\n\n\t\trelocs.push_back(relocInfo);\n\n\t\tcurrentBaseRelocation = reinterpret_cast<PIMAGE_BASE_RELOCATION>(reinterpret_cast<uint64_t>(currentBaseRelocation) + currentBaseRelocation->SizeOfBlock);\n\t}\n\n\tProtectEnd();\n\treturn relocs;\n}\n\nexecutable::VecImports executable::GetImports(void* imageBase)\n{\n\tProtectUltra();\n\tconst PIMAGE_NT_HEADERS64 ntHeaders = GetNtHeaders(imageBase);\n\n\tif (!ntHeaders)\n\t\treturn {};\n\n\tDWORD importVa = ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;\n\n\tif (!importVa)\n\t\treturn {};\n\n\tVecImports imports;\n\n\tauto currentImportDescriptor = reinterpret_cast<PIMAGE_IMPORT_DESCRIPTOR>(reinterpret_cast<uint64_t>(imageBase) + importVa);\n\n\twhile (currentImportDescriptor->FirstThunk) \n\t{\n\t\tImportInfo importInfo;\n\n\t\timportInfo.module_name = std::string(reinterpret_cast<char*>(reinterpret_cast<uint64_t>(imageBase) + currentImportDescriptor->Name));\n\n\t\tauto currentFirstThunk = reinterpret_cast<PIMAGE_THUNK_DATA64>(reinterpret_cast<uint64_t>(imageBase) + currentImportDescriptor->FirstThunk);\n\t\tauto currentOriginalFirstThunk = reinterpret_cast<PIMAGE_THUNK_DATA64>(reinterpret_cast<uint64_t>(imageBase) + currentImportDescriptor->OriginalFirstThunk);\n\n\t\twhile (currentOriginalFirstThunk->u1.Function) \n\t\t{\n\t\t\tImportFunctionInfo importFunctionData;\n\n\t\t\tauto thunkData = reinterpret_cast<PIMAGE_IMPORT_BY_NAME>(reinterpret_cast<uint64_t>(imageBase) + currentOriginalFirstThunk->u1.AddressOfData);\n\n\t\t\timportFunctionData.name = thunkData->Name;\n\t\t\timportFunctionData.address = &currentFirstThunk->u1.Function;\n\n\t\t\timportInfo.function_datas.push_back(importFunctionData);\n\n\t\t\t++currentOriginalFirstThunk;\n\t\t\t++currentFirstThunk;\n\t\t}\n\n\t\timports.push_back(importInfo);\n\t\t++currentImportDescriptor;\n\t}\n\n\tProtectEnd();\n\treturn imports;\n}"
  },
  {
    "path": "RwxMeme/RwxMeme/src/utils/executable.h",
    "content": "#pragma once\n\nnamespace executable\n{\n\tstruct RelocInfo\n\t{\n\t\tuint64_t address;\n\t\tuint16_t* item;\n\t\tuint32_t count;\n\t};\n\n\tstruct ImportFunctionInfo\n\t{\n\t\tstd::string name;\n\t\tuint64_t* address;\n\t};\n\n\tstruct ImportInfo\n\t{\n\t\tstd::string module_name;\n\t\tstd::vector<ImportFunctionInfo> function_datas;\n\t};\n\n\tusing VecSections = std::vector<IMAGE_SECTION_HEADER>;\n\tusing VecRelocs = std::vector<RelocInfo>;\n\tusing VecImports = std::vector<ImportInfo>;\n\n\tPIMAGE_NT_HEADERS64 GetNtHeaders(void* imageBase);\n\tVecRelocs GetRelocs(void* imageBase);\n\tVecImports GetImports(void* imageBase);\n}"
  },
  {
    "path": "RwxMeme/RwxMeme/src/utils/vmprotect.h",
    "content": "#pragma once\n\n#if defined(__APPLE__) || defined(__unix__)\n#define VMP_IMPORT\n#define VMP_API\n#define VMP_WCHAR unsigned short\n#else\n#define VMP_IMPORT __declspec(dllimport)\n#define VMP_API __stdcall\n#define VMP_WCHAR wchar_t\n#endif // __APPLE__ || __unix__\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n    // protection\n    VMP_IMPORT void VMP_API VMProtectBegin(const char*);\n    VMP_IMPORT void VMP_API VMProtectBeginVirtualization(const char*);\n    VMP_IMPORT void VMP_API VMProtectBeginMutation(const char*);\n    VMP_IMPORT void VMP_API VMProtectBeginUltra(const char*);\n    VMP_IMPORT void VMP_API VMProtectBeginVirtualizationLockByKey(const char*);\n    VMP_IMPORT void VMP_API VMProtectBeginUltraLockByKey(const char*);\n    VMP_IMPORT void VMP_API VMProtectEnd(void);\n\n    // utils\n    VMP_IMPORT bool VMP_API VMProtectIsProtected();\n    VMP_IMPORT bool VMP_API VMProtectIsDebuggerPresent(bool);\n    VMP_IMPORT bool VMP_API VMProtectIsVirtualMachinePresent(void);\n    VMP_IMPORT bool VMP_API VMProtectIsValidImageCRC(void);\n    VMP_IMPORT const char* VMP_API VMProtectDecryptStringA(const char* value);\n    VMP_IMPORT const VMP_WCHAR* VMP_API VMProtectDecryptStringW(const VMP_WCHAR* value);\n    VMP_IMPORT bool VMP_API VMProtectFreeString(const void* value);\n#define StrA(a) VMProtectDecryptStringA(a)\n#define StrW(a) VMProtectDecryptStringW(a)\n\n    // licensing\n    enum VMProtectSerialStateFlags\n    {\n        SERIAL_STATE_SUCCESS = 0,\n        SERIAL_STATE_FLAG_CORRUPTED = 0x00000001,\n        SERIAL_STATE_FLAG_INVALID = 0x00000002,\n        SERIAL_STATE_FLAG_BLACKLISTED = 0x00000004,\n        SERIAL_STATE_FLAG_DATE_EXPIRED = 0x00000008,\n        SERIAL_STATE_FLAG_RUNNING_TIME_OVER = 0x00000010,\n        SERIAL_STATE_FLAG_BAD_HWID = 0x00000020,\n        SERIAL_STATE_FLAG_MAX_BUILD_EXPIRED = 0x00000040,\n    };\n\n#pragma pack(push, 1)\n    typedef struct\n    {\n        unsigned short\twYear;\n        unsigned char\tbMonth;\n        unsigned char\tbDay;\n    } VMProtectDate;\n\n    typedef struct\n    {\n        int\t\t\t\tnState;\t\t\t\t// VMProtectSerialStateFlags\n        VMP_WCHAR\t\twUserName[256];\t\t// user name\n        VMP_WCHAR\t\twEMail[256];\t\t// email\n        VMProtectDate\tdtExpire;\t\t\t// date of serial number expiration\n        VMProtectDate\tdtMaxBuild;\t\t\t// max date of build, that will accept this key\n        int\t\t\t\tbRunningTime;\t\t// running time in minutes\n        unsigned char\tnUserDataLength;\t// length of user data in bUserData\n        unsigned char\tbUserData[255];\t\t// up to 255 bytes of user data\n    } VMProtectSerialNumberData;\n#pragma pack(pop)\n\n    VMP_IMPORT int VMP_API VMProtectSetSerialNumber(const char* serial);\n    VMP_IMPORT int VMP_API VMProtectGetSerialNumberState();\n    VMP_IMPORT bool VMP_API VMProtectGetSerialNumberData(VMProtectSerialNumberData* data, int size);\n    VMP_IMPORT int VMP_API VMProtectGetCurrentHWID(char* hwid, int size);\n\n    // activation\n    enum VMProtectActivationFlags\n    {\n        ACTIVATION_OK = 0,\n        ACTIVATION_SMALL_BUFFER,\n        ACTIVATION_NO_CONNECTION,\n        ACTIVATION_BAD_REPLY,\n        ACTIVATION_BANNED,\n        ACTIVATION_CORRUPTED,\n        ACTIVATION_BAD_CODE,\n        ACTIVATION_ALREADY_USED,\n        ACTIVATION_SERIAL_UNKNOWN,\n        ACTIVATION_EXPIRED,\n        ACTIVATION_NOT_AVAILABLE\n    };\n\n    VMP_IMPORT int VMP_API VMProtectActivateLicense(const char* code, char* serial, int size);\n    VMP_IMPORT int VMP_API VMProtectDeactivateLicense(const char* serial);\n    VMP_IMPORT int VMP_API VMProtectGetOfflineActivationString(const char* code, char* buf, int size);\n    VMP_IMPORT int VMP_API VMProtectGetOfflineDeactivationString(const char* serial, char* buf, int size);\n\n#ifdef __cplusplus\n}\n#endif\n\n#define ProtectUltra() VMProtectBeginUltra(nullptr)\n#define ProtectMutate() VMProtectBeginMutation(nullptr)\n#define ProtectEnd() VMProtectEnd()"
  },
  {
    "path": "RwxMeme/RwxMeme/src/utils/xor.h",
    "content": "/*\n * Copyright 2017 - 2020 Justas Masiulis\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n#ifndef JM_XORSTR_HPP\n#define JM_XORSTR_HPP\n\n#include <immintrin.h>\n#include <cstdint>\n#include <cstddef>\n#include <utility>\n\n#define xorstr(str)                                             \\\n    ::jm::make_xorstr(                                          \\\n        []() { return str; },                                   \\\n        std::make_index_sequence<sizeof(str) / sizeof(*str)>{}, \\\n        std::make_index_sequence<::jm::detail::_buffer_size<sizeof(str)>()>{})\n#define E(str) xorstr(str).crypt_get()\n#define EW(str) xorstr(str).crypt_get()\n\n#ifdef _MSC_VER\n#define XORSTR_FORCEINLINE __forceinline\n#else\n#define XORSTR_FORCEINLINE __attribute__((always_inline)) inline\n#endif\n\nnamespace jm\n{\n\n    namespace detail\n    {\n\n        template<std::size_t S>\n        struct unsigned_;\n\n        template<>\n        struct unsigned_<1>\n        {\n            using type = std::uint8_t;\n        };\n        template<>\n        struct unsigned_<2>\n        {\n            using type = std::uint16_t;\n        };\n        template<>\n        struct unsigned_<4>\n        {\n            using type = std::uint32_t;\n        };\n\n        template<auto C, auto...>\n        struct pack_value_type\n        {\n            using type = decltype(C);\n        };\n\n        template<std::size_t Size>\n        XORSTR_FORCEINLINE constexpr std::size_t _buffer_size()\n        {\n            return ((Size / 16) + (Size % 16 != 0)) * 2;\n        }\n\n        template<auto... Cs>\n        struct tstring_\n        {\n            using value_type = typename pack_value_type<Cs...>::type;\n            constexpr static std::size_t size = sizeof...(Cs);\n            constexpr static value_type  str[size] = { Cs... };\n\n            constexpr static std::size_t buffer_size = _buffer_size<sizeof(str)>();\n            constexpr static std::size_t buffer_align =\n#ifndef JM_XORSTR_DISABLE_AVX_INTRINSICS\n            ((sizeof(str) > 16) ? 32 : 16);\n#else\n                16;\n#endif\n        };\n\n        template<std::size_t I, std::uint64_t K>\n        struct _ki\n        {\n            constexpr static std::size_t   idx = I;\n            constexpr static std::uint64_t key = K;\n        };\n\n        template<std::uint32_t Seed>\n        XORSTR_FORCEINLINE constexpr std::uint32_t key4() noexcept\n        {\n            std::uint32_t value = Seed;\n            for (char c : __TIME__)\n                value = static_cast<std::uint32_t>((value ^ c) * 16777619ull);\n            return value;\n        }\n\n        template<std::size_t S>\n        XORSTR_FORCEINLINE constexpr std::uint64_t key8()\n        {\n            constexpr auto first_part = key4<2166136261 + S>();\n            constexpr auto second_part = key4<first_part>();\n            return (static_cast<std::uint64_t>(first_part) << 32) | second_part;\n        }\n\n        // loads up to 8 characters of string into uint64 and xors it with the key\n        template<class T>\n        XORSTR_FORCEINLINE constexpr std::uint64_t\n            load_xored_str8(std::uint64_t key, std::size_t idx) noexcept\n        {\n            using cast_type = typename unsigned_<sizeof(typename T::value_type)>::type;\n            constexpr auto value_size = sizeof(typename T::value_type);\n            constexpr auto idx_offset = 8 / value_size;\n\n            std::uint64_t value = key;\n            for (std::size_t i = 0; i < idx_offset && i + idx * idx_offset < T::size; ++i)\n                value ^=\n                (std::uint64_t{ static_cast<cast_type>(T::str[i + idx * idx_offset]) }\n            << ((i % idx_offset) * 8 * value_size));\n\n            return value;\n        }\n\n        // forces compiler to use registers instead of stuffing constants in rdata\n        XORSTR_FORCEINLINE std::uint64_t load_from_reg(std::uint64_t value) noexcept\n        {\n#if defined(__clang__) || defined(__GNUC__)\n            asm(\"\" : \"=r\"(value) : \"0\"(value) : );\n#endif\n            return value;\n        }\n\n        XORSTR_FORCEINLINE void xor128(std::uint64_t* value,\n            const std::uint64_t* key) noexcept\n        {\n            _mm_store_si128(\n                reinterpret_cast<__m128i*>(value),\n                _mm_xor_si128(_mm_load_si128(reinterpret_cast<const __m128i*>(value)),\n                    _mm_load_si128(reinterpret_cast<const __m128i*>(key))));\n        }\n\n        XORSTR_FORCEINLINE void xor256(std::uint64_t* value,\n            const std::uint64_t* key) noexcept\n        {\n            _mm256_store_si256(\n                reinterpret_cast<__m256i*>(value),\n                _mm256_xor_si256(\n                    _mm256_load_si256(reinterpret_cast<const __m256i*>(value)),\n                    _mm256_load_si256(reinterpret_cast<const __m256i*>(key))));\n        }\n\n        template<std::uint64_t V>\n        struct uint64_v\n        {\n            constexpr static std::uint64_t value = V;\n        };\n\n    } // namespace detail\n\n    template<class T, class... Keys>\n    class xor_string\n    {\n        alignas(T::buffer_align) std::uint64_t _storage[T::buffer_size];\n\n        template<std::size_t... Idxs>\n        XORSTR_FORCEINLINE void _crypt_256(const std::uint64_t* keys,\n            std::index_sequence<Idxs...>) noexcept\n        {\n            (detail::xor256(_storage + Idxs * 4, keys + Idxs * 4), ...);\n        }\n\n        template<std::size_t... Idxs>\n        XORSTR_FORCEINLINE void _crypt_128(const std::uint64_t* keys,\n            std::index_sequence<Idxs...>) noexcept\n        {\n            (detail::xor128(_storage + Idxs * 2, keys + Idxs * 2), ...);\n        }\n\n    public:\n        using value_type = typename T::value_type;\n        using size_type = std::size_t;\n        using pointer = value_type*;\n        using const_pointer = const value_type*;\n\n        XORSTR_FORCEINLINE xor_string() noexcept\n            : _storage{ detail::load_from_reg(detail::uint64_v<detail::load_xored_str8<T>(\n                                                  Keys::key, Keys::idx)>::value)... }\n        {\n        }\n\n        XORSTR_FORCEINLINE constexpr size_type size() const noexcept\n        {\n            return T::size - 1;\n        }\n\n        XORSTR_FORCEINLINE void crypt() noexcept\n        {\n#if defined(__clang__)\n            alignas(T::buffer_align)\n                std::uint64_t arr[sizeof...(Keys)]{ detail::load_from_reg(Keys::key)... };\n            std::uint64_t* keys =\n                (std::uint64_t*)detail::load_from_reg((std::uint64_t)arr);\n#else\n            alignas(T::buffer_align) std::uint64_t keys[sizeof...(Keys)]{\n                detail::load_from_reg(Keys::key)...\n            };\n#endif\n\n#ifndef JM_XORSTR_DISABLE_AVX_INTRINSICS\n            _crypt_256(keys, std::make_index_sequence<T::buffer_size / 4>{});\n            if constexpr (T::buffer_size % 4 != 0)\n                _crypt_128(keys, std::index_sequence<T::buffer_size / 2 - 1>{});\n#else\n            _crypt_128(keys, std::make_index_sequence<T::buffer_size / 2>{});\n#endif\n        }\n\n        XORSTR_FORCEINLINE const_pointer get() const noexcept\n        {\n            return reinterpret_cast<const_pointer>(_storage);\n        }\n\n        XORSTR_FORCEINLINE pointer get() noexcept\n        {\n            return reinterpret_cast<pointer>(_storage);\n        }\n\n        XORSTR_FORCEINLINE pointer crypt_get() noexcept\n        {\n            crypt();\n            return (pointer)(_storage);\n        }\n    };\n\n    template<class Tstr, std::size_t... StringIndices, std::size_t... KeyIndices>\n    XORSTR_FORCEINLINE constexpr auto\n        make_xorstr(Tstr str_lambda,\n            std::index_sequence<StringIndices...>,\n            std::index_sequence<KeyIndices...>) noexcept\n    {\n        return xor_string<detail::tstring_<str_lambda()[StringIndices]...>,\n            detail::_ki<KeyIndices, detail::key8<KeyIndices>()>...>{};\n    }\n\n} // namespace jm\n\n#endif // include guard\n"
  }
]