diff --git a/CMakeLists.txt b/CMakeLists.txt index 29ddccd..2820119 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,88 +16,67 @@ include_directories(${SOURCE_DIR}) file(GLOB_RECURSE SCRIPT_FILES "scripts/*.iss") file(GLOB_RECURSE LGUI2_FILES "lgui2/*.json") -foreach (FILE ${SCRIPT_FILES}) - get_filename_component(FILE_NAME ${FILE} NAME) - string(REGEX REPLACE "[^a-zA-Z0-9]" "_" FILE_IDENTIFIER ${FILE_NAME}) - set(HEADER_FILE "${CMAKE_CURRENT_SOURCE_DIR}/scripts/${FILE_NAME}.h") +function(create_resources dir output) + # Create empty output file + file(WRITE ${output} "") + # Collect input files + file(GLOB bins ${dir}/*) + # Iterate through input files + foreach(bin ${bins}) + # Get short filename + string(REGEX MATCH "([^/]+)$" filename ${bin}) + # Replace filename spaces & extension separator for C compatibility + string(REGEX REPLACE "\\.| |-" "_" filename ${filename}) + # Read hex data from file + file(READ ${bin} filedata HEX) + # Convert hex data for C compatibility + string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," filedata ${filedata}) + # Append data to output file + file(APPEND ${output} "const unsigned char ${filename}[] = {${filedata}};\nconst unsigned ${filename}_size = sizeof(${filename});\n") + endforeach() +endfunction() +create_resources(scripts/ ${SOURCE_DIR}/scripts.h) +create_resources(lgui2/ ${SOURCE_DIR}/lgui2.h) - add_custom_command( - OUTPUT ${HEADER_FILE} - COMMENT "Generating ${HEADER_FILE} from ${FILE}" - COMMAND xxd -i -n ${FILE_IDENTIFIER} ${FILE} ${HEADER_FILE} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${FILE} - ) +# foreach(FILE ${SCRIPT_FILES}) +# get_filename_component(FILE_NAME ${FILE} NAME) +# string(REGEX REPLACE "[^a-zA-Z0-9]" "_" FILE_IDENTIFIER ${FILE_NAME}) +# set(HEADER_FILE "${CMAKE_CURRENT_SOURCE_DIR}/scripts/${FILE_NAME}.h") - list(APPEND GENERATED_HEADERS ${HEADER_FILE}) -endforeach () +# add_custom_command( +# OUTPUT ${HEADER_FILE} +# COMMENT "Generating ${HEADER_FILE} from ${FILE}" +# COMMAND PowerShell -Command "$bytes = [System.IO.File]::ReadAllBytes('${FILE}'); $header = 'unsigned char ${FILE_IDENTIFIER}[] = {' + ($bytes -join ', ') + '}; unsigned int ${FILE_IDENTIFIER}_len = ' + $bytes.Length + ';' > ${HEADER_FILE}" +# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +# DEPENDS ${FILE} +# ) -foreach (FILE ${LGUI2_FILES}) - get_filename_component(FILE_NAME ${FILE} NAME) - string(REGEX REPLACE "[^a-zA-Z0-9]" "_" FILE_IDENTIFIER ${FILE_NAME}) - set(HEADER_FILE "${CMAKE_CURRENT_SOURCE_DIR}/lgui2/${FILE_NAME}.h") - file(TIMESTAMP "${FILE}" MODIFICATION_TIME "%Y-%m-%d %H:%M:%S") +# list(APPEND GENERATED_HEADERS ${HEADER_FILE}) +# endforeach() - add_custom_command( - OUTPUT ${HEADER_FILE} - COMMENT "Generating ${HEADER_FILE} from ${FILE}" - COMMAND ${CMAKE_COMMAND} -E remove ${HEADER_FILE} - COMMAND xxd -i -n ${FILE_IDENTIFIER} ${FILE} ${HEADER_FILE} - COMMAND ${CMAKE_COMMAND} -D IDENTIFIER:string="${FILE_IDENTIFIER}" -D HEADER_FILE:string="${HEADER_FILE}" -D MODIFICATION_TIME:string="${MODIFICATION_TIME}" -P ${CMAKE_CURRENT_SOURCE_DIR}/append_timestamp.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${FILE} - ) +# foreach(FILE ${LGUI2_FILES}) +# get_filename_component(FILE_NAME ${FILE} NAME) +# string(REGEX REPLACE "[^a-zA-Z0-9]" "_" FILE_IDENTIFIER ${FILE_NAME}) +# set(HEADER_FILE "${CMAKE_CURRENT_SOURCE_DIR}/lgui2/${FILE_NAME}.h") +# file(TIMESTAMP "${FILE}" MODIFICATION_TIME "%Y-%m-%d %H:%M:%S") +# add_custom_command( +# OUTPUT ${HEADER_FILE} +# COMMENT "Generating ${HEADER_FILE} from ${FILE}" +# COMMAND ${CMAKE_COMMAND} -E remove ${HEADER_FILE} +# COMMAND PowerShell -Command "$bytes = [System.IO.File]::ReadAllBytes('${FILE}'); $header = 'unsigned char ${FILE_IDENTIFIER}[] = {' + ($bytes -join ', ') + '}; unsigned int ${FILE_IDENTIFIER}_len = ' + $bytes.Length + ';' > ${HEADER_FILE}" +# COMMAND ${CMAKE_COMMAND} -D IDENTIFIER:string="${FILE_IDENTIFIER}" -D HEADER_FILE:string="${HEADER_FILE}" -D MODIFICATION_TIME:string="${MODIFICATION_TIME}" -P ${CMAKE_CURRENT_SOURCE_DIR}/append_timestamp.cmake +# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +# DEPENDS ${FILE} +# ) - list(APPEND GENERATED_HEADERS ${HEADER_FILE}) -endforeach () +# list(APPEND GENERATED_HEADERS ${HEADER_FILE}) +# endforeach() add_custom_target(GenerateHeaders ALL DEPENDS ${GENERATED_HEADERS}) -add_library(ISXMr SHARED ${SOURCE_DIR}/ISXMr.cpp - ${SOURCE_DIR}/Commands.cpp - ${SOURCE_DIR}/Services.cpp - ${SOURCE_DIR}/TopLevelObjects.cpp - ${SOURCE_DIR}/Commands.h - ${SOURCE_DIR}/DataTypeList.h - ${SOURCE_DIR}/ISXMr.h - ${SOURCE_DIR}/ISXMrServices.h - ${SOURCE_DIR}/Services.h - ${SOURCE_DIR}/TopLevelObjects.h - src/isxeq2/Character.cpp - src/isxeq2/Character.h - src/isxeq2/Actor.cpp - src/isxeq2/Actor.h - src/isxeq2/LSObject.h - src/isxeq2/Point3f.h - src/isxeq2/Ability.cpp - src/isxeq2/Ability.h - src/isxeq2/AbilityInfo.cpp - src/isxeq2/AbilityInfo.h - src/isxeq2/CharacterClass.h - src/isxeq2/AbilityEffect.h - src/Logger.h - src/Tasks/ExecutableTask.h - src/Tasks/ExportAbilitiesTask.cpp - src/Tasks/ExportAbilitiesTask.h - src/isxeq2/ExtensionTLOs.h - src/Tasks/TaskExecutor.cpp - src/Tasks/TaskExecutor.h - src/BotSettings/ExportedAbility.h - includes/argh/argh.h - src/isxeq2/EQ2.h - src/Api/ForWho.h - src/isxeq2/GroupMember.cpp - src/isxeq2/GroupMember.h - src/Api/MrBotApi.cpp - src/Api/MrBotApi.h - includes/json_struct/json_struct.h - includes/json_struct/json_struct_diff.h - src/Tasks/BotTask.cpp - src/Tasks/BotTask.h - src/ScopedEnumBitwiseOperators.h - lgui2/UpdateUIPackageFile.h -) +file(GLOB_RECURSE ISXMr_SOURCES ${SOURCE_DIR}/*.cpp ${SOURCE_DIR}/*.h) +add_library(ISXMr SHARED ${ISXMr_SOURCES}) IF (WIN32) cmake_host_system_information( @@ -113,7 +92,7 @@ IF (WIN32) add_custom_command(TARGET ISXMr POST_BUILD COMMENT "Copying isxmr.dll to ${NormalizedInnerspacePath}" - COMMAND ${CMAKE_COMMAND} -E copy $ "${NormalizedInnerspacePath}/ISXMr.dll" + COMMAND ${CMAKE_COMMAND} -E copy $ "${NormalizedInnerspacePath}/x64/Extensions/ISXDK35/ISXMr.dll" ) endif () endif () @@ -140,6 +119,4 @@ set_target_properties(ISXMr PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin ) -set_property(TARGET ISXMr PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") - - +set_property(TARGET ISXMr PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") \ No newline at end of file diff --git a/build/.cmake/api/v1/query/client-vscode/query.json b/build/.cmake/api/v1/query/client-vscode/query.json new file mode 100644 index 0000000..82bb964 --- /dev/null +++ b/build/.cmake/api/v1/query/client-vscode/query.json @@ -0,0 +1 @@ +{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]} \ No newline at end of file diff --git a/build/.cmake/api/v1/reply/cache-v2-c6c423c032e413457c43.json b/build/.cmake/api/v1/reply/cache-v2-c6c423c032e413457c43.json new file mode 100644 index 0000000..45bce55 --- /dev/null +++ b/build/.cmake/api/v1/reply/cache-v2-c6c423c032e413457c43.json @@ -0,0 +1,1075 @@ +{ + "entries" : + [ + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/lib.exe" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "d:/code/personal/ISXMr/build" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "28" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" + }, + { + "name" : "CMAKE_CONFIGURATION_TYPES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored." + } + ], + "type" : "STRING", + "value" : "Debug;Release;MinSizeRel;RelWithDebInfo" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "/DWIN32 /D_WINDOWS /EHsc" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "/Zi /Ob0 /Od /RTC1" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "/O1 /Ob1 /DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "/O2 /Ob2 /DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "/Zi /O2 /Ob1 /DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "Unknown" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "/machine:x64" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "/debug /INCREMENTAL" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "/INCREMENTAL:NO" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "/INCREMENTAL:NO" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "/debug /INCREMENTAL" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "BOOL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "D:/code/personal/ISXMr/build/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Visual Studio 17 2022" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "x64" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "host=x86" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "D:/code/personal/ISXMr" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "C:/Program Files/ISXMr" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/link.exe" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "/machine:x64" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "/debug /INCREMENTAL" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "/INCREMENTAL:NO" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "/INCREMENTAL:NO" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "/debug /INCREMENTAL" + }, + { + "name" : "CMAKE_MT", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/mt.exe" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ISXMr" + }, + { + "name" : "CMAKE_PROJECT_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "1.0.0" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MAJOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MINOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0" + }, + { + "name" : "CMAKE_PROJECT_VERSION_PATCH", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0" + }, + { + "name" : "CMAKE_PROJECT_VERSION_TWEAK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "noop for ranlib" + } + ], + "type" : "INTERNAL", + "value" : ":" + }, + { + "name" : "CMAKE_RC_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "RC compiler" + } + ], + "type" : "FILEPATH", + "value" : "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/rc.exe" + }, + { + "name" : "CMAKE_RC_COMPILER_WORKS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_RC_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during all build types." + } + ], + "type" : "STRING", + "value" : "-DWIN32" + }, + { + "name" : "CMAKE_RC_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-D_DEBUG" + }, + { + "name" : "CMAKE_RC_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "/machine:x64" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "/debug /INCREMENTAL" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "/INCREMENTAL:NO" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "/INCREMENTAL:NO" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "/debug /INCREMENTAL" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "/machine:x64" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "FETCHCONTENT_BASE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Directory under which to collect all populated content" + } + ], + "type" : "PATH", + "value" : "D:/code/personal/ISXMr/build/_deps" + }, + { + "name" : "FETCHCONTENT_FULLY_DISCONNECTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disables all attempts to download or update content and assumes source dirs already exist" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "FETCHCONTENT_QUIET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enables QUIET option for all content population" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "FETCHCONTENT_UPDATES_DISCONNECTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enables UPDATE_DISCONNECTED behavior for all content population" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "ISXMr_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "D:/code/personal/ISXMr/build" + }, + { + "name" : "ISXMr_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "ISXMr_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "D:/code/personal/ISXMr" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/cmakeFiles-v1-e3270b740c6fbebf9fed.json b/build/.cmake/api/v1/reply/cmakeFiles-v1-e3270b740c6fbebf9fed.json new file mode 100644 index 0000000..5ed4877 --- /dev/null +++ b/build/.cmake/api/v1/reply/cmakeFiles-v1-e3270b740c6fbebf9fed.json @@ -0,0 +1,121 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.0-msvc1/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Platform/Windows-Initialize.cmake" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.0-msvc1/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Platform/Windows.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Platform/WindowsPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Compiler/MSVC-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Compiler/MSVC.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Platform/Windows-MSVC-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/Platform/Windows-MSVC.cmake" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.0-msvc1/CMakeRCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeRCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/FetchContent.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/ExternalProject/shared_internal_commands.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "D:/code/personal/ISXMr/build", + "source" : "D:/code/personal/ISXMr" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/codemodel-v2-ffaaca604fe32ea15b03.json b/build/.cmake/api/v1/reply/codemodel-v2-ffaaca604fe32ea15b03.json new file mode 100644 index 0000000..99b32db --- /dev/null +++ b/build/.cmake/api/v1/reply/codemodel-v2-ffaaca604fe32ea15b03.json @@ -0,0 +1,300 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Debug-d0094a50bb2071803777.json", + "minimumCMakeVersion" : + { + "string" : "3.20" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "ISXMr", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ALL_BUILD-Debug-cbc59f6476b9b25d8f24.json", + "name" : "ALL_BUILD", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "jsonFile" : "target-GenerateHeaders-Debug-0c474f27547cbe2a8d0f.json", + "name" : "GenerateHeaders", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ISXMr-Debug-fc7ecdd39aafe77b4757.json", + "name" : "ISXMr", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ZERO_CHECK-Debug-eea6be4f08aaf5018797.json", + "name" : "ZERO_CHECK", + "projectIndex" : 0 + } + ] + }, + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Release-d0094a50bb2071803777.json", + "minimumCMakeVersion" : + { + "string" : "3.20" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "name" : "Release", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "ISXMr", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ALL_BUILD-Release-cbc59f6476b9b25d8f24.json", + "name" : "ALL_BUILD", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "jsonFile" : "target-GenerateHeaders-Release-0c474f27547cbe2a8d0f.json", + "name" : "GenerateHeaders", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ISXMr-Release-ca0f159dba96fb7c8fa1.json", + "name" : "ISXMr", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ZERO_CHECK-Release-eea6be4f08aaf5018797.json", + "name" : "ZERO_CHECK", + "projectIndex" : 0 + } + ] + }, + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-MinSizeRel-d0094a50bb2071803777.json", + "minimumCMakeVersion" : + { + "string" : "3.20" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "name" : "MinSizeRel", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "ISXMr", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ALL_BUILD-MinSizeRel-cbc59f6476b9b25d8f24.json", + "name" : "ALL_BUILD", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "jsonFile" : "target-GenerateHeaders-MinSizeRel-0c474f27547cbe2a8d0f.json", + "name" : "GenerateHeaders", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ISXMr-MinSizeRel-daf3846f0177a4293e3b.json", + "name" : "ISXMr", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ZERO_CHECK-MinSizeRel-eea6be4f08aaf5018797.json", + "name" : "ZERO_CHECK", + "projectIndex" : 0 + } + ] + }, + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-RelWithDebInfo-d0094a50bb2071803777.json", + "minimumCMakeVersion" : + { + "string" : "3.20" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "name" : "RelWithDebInfo", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "ISXMr", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ALL_BUILD-RelWithDebInfo-cbc59f6476b9b25d8f24.json", + "name" : "ALL_BUILD", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "jsonFile" : "target-GenerateHeaders-RelWithDebInfo-0c474f27547cbe2a8d0f.json", + "name" : "GenerateHeaders", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ISXMr-RelWithDebInfo-66c53597b8d2a2fc44ef.json", + "name" : "ISXMr", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ZERO_CHECK-RelWithDebInfo-eea6be4f08aaf5018797.json", + "name" : "ZERO_CHECK", + "projectIndex" : 0 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "D:/code/personal/ISXMr/build", + "source" : "D:/code/personal/ISXMr" + }, + "version" : + { + "major" : 2, + "minor" : 6 + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json b/build/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-MinSizeRel-d0094a50bb2071803777.json b/build/.cmake/api/v1/reply/directory-.-MinSizeRel-d0094a50bb2071803777.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-MinSizeRel-d0094a50bb2071803777.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-RelWithDebInfo-d0094a50bb2071803777.json b/build/.cmake/api/v1/reply/directory-.-RelWithDebInfo-d0094a50bb2071803777.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-RelWithDebInfo-d0094a50bb2071803777.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-Release-d0094a50bb2071803777.json b/build/.cmake/api/v1/reply/directory-.-Release-d0094a50bb2071803777.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-Release-d0094a50bb2071803777.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/index-2024-05-13T15-48-51-0001.json b/build/.cmake/api/v1/reply/index-2024-05-13T15-48-51-0001.json new file mode 100644 index 0000000..1c1020c --- /dev/null +++ b/build/.cmake/api/v1/reply/index-2024-05-13T15-48-51-0001.json @@ -0,0 +1,133 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : true, + "name" : "Visual Studio 17 2022", + "platform" : "x64" + }, + "paths" : + { + "cmake" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe", + "cpack" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe", + "ctest" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe", + "root" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 28, + "patch" : 0, + "string" : "3.28.0-msvc1", + "suffix" : "msvc1" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-ffaaca604fe32ea15b03.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 6 + } + }, + { + "jsonFile" : "cache-v2-c6c423c032e413457c43.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-e3270b740c6fbebf9fed.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-481607dd662cf3a9a482.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-vscode" : + { + "query.json" : + { + "requests" : + [ + { + "kind" : "cache", + "version" : 2 + }, + { + "kind" : "codemodel", + "version" : 2 + }, + { + "kind" : "toolchains", + "version" : 1 + }, + { + "kind" : "cmakeFiles", + "version" : 1 + } + ], + "responses" : + [ + { + "jsonFile" : "cache-v2-c6c423c032e413457c43.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "codemodel-v2-ffaaca604fe32ea15b03.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 6 + } + }, + { + "jsonFile" : "toolchains-v1-481607dd662cf3a9a482.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-e3270b740c6fbebf9fed.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ] + } + } + } +} diff --git a/build/.cmake/api/v1/reply/target-ALL_BUILD-Debug-cbc59f6476b9b25d8f24.json b/build/.cmake/api/v1/reply/target-ALL_BUILD-Debug-cbc59f6476b9b25d8f24.json new file mode 100644 index 0000000..bb652c9 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ALL_BUILD-Debug-cbc59f6476b9b25d8f24.json @@ -0,0 +1,39 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + }, + { + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df" + }, + { + "id" : "ISXMr::@6890427a1f51a3e7e1df" + } + ], + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ALL_BUILD", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ALL_BUILD-MinSizeRel-cbc59f6476b9b25d8f24.json b/build/.cmake/api/v1/reply/target-ALL_BUILD-MinSizeRel-cbc59f6476b9b25d8f24.json new file mode 100644 index 0000000..bb652c9 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ALL_BUILD-MinSizeRel-cbc59f6476b9b25d8f24.json @@ -0,0 +1,39 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + }, + { + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df" + }, + { + "id" : "ISXMr::@6890427a1f51a3e7e1df" + } + ], + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ALL_BUILD", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ALL_BUILD-RelWithDebInfo-cbc59f6476b9b25d8f24.json b/build/.cmake/api/v1/reply/target-ALL_BUILD-RelWithDebInfo-cbc59f6476b9b25d8f24.json new file mode 100644 index 0000000..bb652c9 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ALL_BUILD-RelWithDebInfo-cbc59f6476b9b25d8f24.json @@ -0,0 +1,39 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + }, + { + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df" + }, + { + "id" : "ISXMr::@6890427a1f51a3e7e1df" + } + ], + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ALL_BUILD", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ALL_BUILD-Release-cbc59f6476b9b25d8f24.json b/build/.cmake/api/v1/reply/target-ALL_BUILD-Release-cbc59f6476b9b25d8f24.json new file mode 100644 index 0000000..bb652c9 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ALL_BUILD-Release-cbc59f6476b9b25d8f24.json @@ -0,0 +1,39 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + }, + { + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df" + }, + { + "id" : "ISXMr::@6890427a1f51a3e7e1df" + } + ], + "id" : "ALL_BUILD::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ALL_BUILD", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-GenerateHeaders-Debug-0c474f27547cbe2a8d0f.json b/build/.cmake/api/v1/reply/target-GenerateHeaders-Debug-0c474f27547cbe2a8d0f.json new file mode 100644 index 0000000..37b4d7d --- /dev/null +++ b/build/.cmake/api/v1/reply/target-GenerateHeaders-Debug-0c474f27547cbe2a8d0f.json @@ -0,0 +1,41 @@ +{ + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_custom_target" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 76, + "parent" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "name" : "GenerateHeaders", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-GenerateHeaders-MinSizeRel-0c474f27547cbe2a8d0f.json b/build/.cmake/api/v1/reply/target-GenerateHeaders-MinSizeRel-0c474f27547cbe2a8d0f.json new file mode 100644 index 0000000..37b4d7d --- /dev/null +++ b/build/.cmake/api/v1/reply/target-GenerateHeaders-MinSizeRel-0c474f27547cbe2a8d0f.json @@ -0,0 +1,41 @@ +{ + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_custom_target" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 76, + "parent" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "name" : "GenerateHeaders", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-GenerateHeaders-RelWithDebInfo-0c474f27547cbe2a8d0f.json b/build/.cmake/api/v1/reply/target-GenerateHeaders-RelWithDebInfo-0c474f27547cbe2a8d0f.json new file mode 100644 index 0000000..37b4d7d --- /dev/null +++ b/build/.cmake/api/v1/reply/target-GenerateHeaders-RelWithDebInfo-0c474f27547cbe2a8d0f.json @@ -0,0 +1,41 @@ +{ + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_custom_target" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 76, + "parent" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "name" : "GenerateHeaders", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-GenerateHeaders-Release-0c474f27547cbe2a8d0f.json b/build/.cmake/api/v1/reply/target-GenerateHeaders-Release-0c474f27547cbe2a8d0f.json new file mode 100644 index 0000000..37b4d7d --- /dev/null +++ b/build/.cmake/api/v1/reply/target-GenerateHeaders-Release-0c474f27547cbe2a8d0f.json @@ -0,0 +1,41 @@ +{ + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_custom_target" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 76, + "parent" : 0 + } + ] + }, + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "GenerateHeaders::@6890427a1f51a3e7e1df", + "name" : "GenerateHeaders", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sources" : [], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ISXMr-Debug-fc7ecdd39aafe77b4757.json b/build/.cmake/api/v1/reply/target-ISXMr-Debug-fc7ecdd39aafe77b4757.json new file mode 100644 index 0000000..a5390fc --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ISXMr-Debug-fc7ecdd39aafe77b4757.json @@ -0,0 +1,497 @@ +{ + "artifacts" : + [ + { + "path" : "Debug/ISXMr.dll" + }, + { + "path" : "Debug/ISXMr.lib" + }, + { + "path" : "Debug/ISXMr.pdb" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "target_link_libraries", + "target_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 79, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 115, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 116, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 14, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 109, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 110, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 111, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "/DWIN32 /D_WINDOWS /EHsc /Zi /Ob0 /Od /RTC1 -std:c++20 -MTd" + } + ], + "defines" : + [ + { + "define" : "ISXMr_EXPORTS" + }, + { + "backtrace" : 3, + "define" : "JS_STL_MAP" + }, + { + "backtrace" : 3, + "define" : "NOMINMAX" + } + ], + "includes" : + [ + { + "backtrace" : 4, + "path" : "D:/code/personal/ISXMr/src" + }, + { + "backtrace" : 5, + "path" : "D:/code/personal/ISXMr/libs/isxdk/include" + }, + { + "backtrace" : 6, + "path" : "D:/code/personal/ISXMr/libs/argh" + }, + { + "backtrace" : 7, + "path" : "D:/code/personal/ISXMr/includes" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "20" + }, + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "/machine:x64 /debug /INCREMENTAL", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISUI.lib", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISXDK.lib", + "role" : "libraries" + }, + { + "fragment" : "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "ISXMr", + "nameOnDisk" : "ISXMr.dll", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Header Files", + "sourceIndexes" : + [ + 0, + 2, + 3, + 5, + 6, + 8, + 10, + 11, + 12, + 13, + 15, + 17, + 18, + 20, + 22, + 24, + 25, + 27, + 28, + 30, + 32, + 34, + 36, + 37, + 38, + 39, + 41, + 42, + 43, + 44, + 45 + ] + }, + { + "name" : "Source Files", + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "path" : "src/Api/ForWho.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Api/MrBotApi.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Api/MrBotApi.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/BotSettings/ExportedAbility.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Commands.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Commands.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/DataTypeList.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/DataTypes/MrBotApiType.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/DataTypes/MrBotApiType.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/ISXMr.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/ISXMr.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ISXMrServices.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Logger.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ScopedEnumBitwiseOperators.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Services.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Services.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/BotTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/BotTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExecutableTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/ExportAbilitiesTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExportAbilitiesTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/TaskExecutor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/TaskExecutor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/TopLevelObjects.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/TopLevelObjects.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/UpdateUIPackageFile.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Ability.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Ability.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityEffect.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/AbilityInfo.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityInfo.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Actor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Actor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/ActorTLO.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ActorTLO.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Character.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Character.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/CharacterClass.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/EQ2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ExtensionTLOs.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/GroupMember.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/GroupMember.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/LSObject.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Point3f.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/lgui2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/scripts.h", + "sourceGroupIndex" : 0 + } + ], + "type" : "SHARED_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-ISXMr-MinSizeRel-daf3846f0177a4293e3b.json b/build/.cmake/api/v1/reply/target-ISXMr-MinSizeRel-daf3846f0177a4293e3b.json new file mode 100644 index 0000000..a7a5b2f --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ISXMr-MinSizeRel-daf3846f0177a4293e3b.json @@ -0,0 +1,497 @@ +{ + "artifacts" : + [ + { + "path" : "MinSizeRel/ISXMr.dll" + }, + { + "path" : "MinSizeRel/ISXMr.lib" + }, + { + "path" : "MinSizeRel/ISXMr.pdb" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "target_link_libraries", + "target_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 79, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 115, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 116, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 14, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 109, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 110, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 111, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "/DWIN32 /D_WINDOWS /EHsc /O1 /Ob1 /DNDEBUG -std:c++20 -MT" + } + ], + "defines" : + [ + { + "define" : "ISXMr_EXPORTS" + }, + { + "backtrace" : 3, + "define" : "JS_STL_MAP" + }, + { + "backtrace" : 3, + "define" : "NOMINMAX" + } + ], + "includes" : + [ + { + "backtrace" : 4, + "path" : "D:/code/personal/ISXMr/src" + }, + { + "backtrace" : 5, + "path" : "D:/code/personal/ISXMr/libs/isxdk/include" + }, + { + "backtrace" : 6, + "path" : "D:/code/personal/ISXMr/libs/argh" + }, + { + "backtrace" : 7, + "path" : "D:/code/personal/ISXMr/includes" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "20" + }, + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "/machine:x64 /INCREMENTAL:NO", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISUI.lib", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISXDK.lib", + "role" : "libraries" + }, + { + "fragment" : "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "ISXMr", + "nameOnDisk" : "ISXMr.dll", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Header Files", + "sourceIndexes" : + [ + 0, + 2, + 3, + 5, + 6, + 8, + 10, + 11, + 12, + 13, + 15, + 17, + 18, + 20, + 22, + 24, + 25, + 27, + 28, + 30, + 32, + 34, + 36, + 37, + 38, + 39, + 41, + 42, + 43, + 44, + 45 + ] + }, + { + "name" : "Source Files", + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "path" : "src/Api/ForWho.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Api/MrBotApi.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Api/MrBotApi.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/BotSettings/ExportedAbility.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Commands.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Commands.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/DataTypeList.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/DataTypes/MrBotApiType.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/DataTypes/MrBotApiType.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/ISXMr.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/ISXMr.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ISXMrServices.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Logger.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ScopedEnumBitwiseOperators.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Services.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Services.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/BotTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/BotTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExecutableTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/ExportAbilitiesTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExportAbilitiesTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/TaskExecutor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/TaskExecutor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/TopLevelObjects.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/TopLevelObjects.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/UpdateUIPackageFile.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Ability.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Ability.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityEffect.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/AbilityInfo.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityInfo.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Actor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Actor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/ActorTLO.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ActorTLO.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Character.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Character.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/CharacterClass.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/EQ2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ExtensionTLOs.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/GroupMember.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/GroupMember.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/LSObject.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Point3f.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/lgui2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/scripts.h", + "sourceGroupIndex" : 0 + } + ], + "type" : "SHARED_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-ISXMr-RelWithDebInfo-66c53597b8d2a2fc44ef.json b/build/.cmake/api/v1/reply/target-ISXMr-RelWithDebInfo-66c53597b8d2a2fc44ef.json new file mode 100644 index 0000000..acaab74 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ISXMr-RelWithDebInfo-66c53597b8d2a2fc44ef.json @@ -0,0 +1,497 @@ +{ + "artifacts" : + [ + { + "path" : "RelWithDebInfo/ISXMr.dll" + }, + { + "path" : "RelWithDebInfo/ISXMr.lib" + }, + { + "path" : "RelWithDebInfo/ISXMr.pdb" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "target_link_libraries", + "target_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 79, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 115, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 116, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 14, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 109, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 110, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 111, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "/DWIN32 /D_WINDOWS /EHsc /Zi /O2 /Ob1 /DNDEBUG -std:c++20 -MT" + } + ], + "defines" : + [ + { + "define" : "ISXMr_EXPORTS" + }, + { + "backtrace" : 3, + "define" : "JS_STL_MAP" + }, + { + "backtrace" : 3, + "define" : "NOMINMAX" + } + ], + "includes" : + [ + { + "backtrace" : 4, + "path" : "D:/code/personal/ISXMr/src" + }, + { + "backtrace" : 5, + "path" : "D:/code/personal/ISXMr/libs/isxdk/include" + }, + { + "backtrace" : 6, + "path" : "D:/code/personal/ISXMr/libs/argh" + }, + { + "backtrace" : 7, + "path" : "D:/code/personal/ISXMr/includes" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "20" + }, + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "/machine:x64 /debug /INCREMENTAL", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISUI.lib", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISXDK.lib", + "role" : "libraries" + }, + { + "fragment" : "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "ISXMr", + "nameOnDisk" : "ISXMr.dll", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Header Files", + "sourceIndexes" : + [ + 0, + 2, + 3, + 5, + 6, + 8, + 10, + 11, + 12, + 13, + 15, + 17, + 18, + 20, + 22, + 24, + 25, + 27, + 28, + 30, + 32, + 34, + 36, + 37, + 38, + 39, + 41, + 42, + 43, + 44, + 45 + ] + }, + { + "name" : "Source Files", + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "path" : "src/Api/ForWho.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Api/MrBotApi.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Api/MrBotApi.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/BotSettings/ExportedAbility.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Commands.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Commands.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/DataTypeList.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/DataTypes/MrBotApiType.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/DataTypes/MrBotApiType.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/ISXMr.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/ISXMr.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ISXMrServices.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Logger.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ScopedEnumBitwiseOperators.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Services.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Services.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/BotTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/BotTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExecutableTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/ExportAbilitiesTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExportAbilitiesTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/TaskExecutor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/TaskExecutor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/TopLevelObjects.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/TopLevelObjects.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/UpdateUIPackageFile.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Ability.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Ability.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityEffect.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/AbilityInfo.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityInfo.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Actor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Actor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/ActorTLO.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ActorTLO.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Character.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Character.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/CharacterClass.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/EQ2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ExtensionTLOs.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/GroupMember.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/GroupMember.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/LSObject.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Point3f.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/lgui2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/scripts.h", + "sourceGroupIndex" : 0 + } + ], + "type" : "SHARED_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-ISXMr-Release-ca0f159dba96fb7c8fa1.json b/build/.cmake/api/v1/reply/target-ISXMr-Release-ca0f159dba96fb7c8fa1.json new file mode 100644 index 0000000..212426f --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ISXMr-Release-ca0f159dba96fb7c8fa1.json @@ -0,0 +1,497 @@ +{ + "artifacts" : + [ + { + "path" : "Release/ISXMr.dll" + }, + { + "path" : "Release/ISXMr.lib" + }, + { + "path" : "Release/ISXMr.pdb" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "target_link_libraries", + "target_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 79, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 115, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 116, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 14, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 109, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 110, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 111, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "/DWIN32 /D_WINDOWS /EHsc /O2 /Ob2 /DNDEBUG -std:c++20 -MT" + } + ], + "defines" : + [ + { + "define" : "ISXMr_EXPORTS" + }, + { + "backtrace" : 3, + "define" : "JS_STL_MAP" + }, + { + "backtrace" : 3, + "define" : "NOMINMAX" + } + ], + "includes" : + [ + { + "backtrace" : 4, + "path" : "D:/code/personal/ISXMr/src" + }, + { + "backtrace" : 5, + "path" : "D:/code/personal/ISXMr/libs/isxdk/include" + }, + { + "backtrace" : 6, + "path" : "D:/code/personal/ISXMr/libs/argh" + }, + { + "backtrace" : 7, + "path" : "D:/code/personal/ISXMr/includes" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "20" + }, + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "dependencies" : + [ + { + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df" + } + ], + "id" : "ISXMr::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "/machine:x64 /INCREMENTAL:NO", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISUI.lib", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "D:\\code\\personal\\ISXMr\\libs\\isxdk\\lib64\\vs16\\ISXDK.lib", + "role" : "libraries" + }, + { + "fragment" : "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "ISXMr", + "nameOnDisk" : "ISXMr.dll", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Header Files", + "sourceIndexes" : + [ + 0, + 2, + 3, + 5, + 6, + 8, + 10, + 11, + 12, + 13, + 15, + 17, + 18, + 20, + 22, + 24, + 25, + 27, + 28, + 30, + 32, + 34, + 36, + 37, + 38, + 39, + 41, + 42, + 43, + 44, + 45 + ] + }, + { + "name" : "Source Files", + "sourceIndexes" : + [ + 1, + 4, + 7, + 9, + 14, + 16, + 19, + 21, + 23, + 26, + 29, + 31, + 33, + 35, + 40 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "path" : "src/Api/ForWho.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Api/MrBotApi.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Api/MrBotApi.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/BotSettings/ExportedAbility.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Commands.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Commands.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/DataTypeList.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/DataTypes/MrBotApiType.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/DataTypes/MrBotApiType.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/ISXMr.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/ISXMr.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ISXMrServices.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Logger.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/ScopedEnumBitwiseOperators.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Services.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Services.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/BotTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/BotTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExecutableTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/ExportAbilitiesTask.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/ExportAbilitiesTask.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Tasks/TaskExecutor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/Tasks/TaskExecutor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/TopLevelObjects.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/TopLevelObjects.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/UpdateUIPackageFile.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Ability.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Ability.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityEffect.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/AbilityInfo.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/AbilityInfo.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Actor.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Actor.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/ActorTLO.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ActorTLO.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/Character.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Character.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/CharacterClass.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/EQ2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/ExtensionTLOs.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/isxeq2/GroupMember.cpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/GroupMember.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/LSObject.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/isxeq2/Point3f.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/lgui2.h", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/scripts.h", + "sourceGroupIndex" : 0 + } + ], + "type" : "SHARED_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-ZERO_CHECK-Debug-eea6be4f08aaf5018797.json b/build/.cmake/api/v1/reply/target-ZERO_CHECK-Debug-eea6be4f08aaf5018797.json new file mode 100644 index 0000000..2bf9bf1 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ZERO_CHECK-Debug-eea6be4f08aaf5018797.json @@ -0,0 +1,45 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ZERO_CHECK", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "CMake Rules", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 0, + "isGenerated" : true, + "path" : "build/CMakeFiles/09550a624d67b26db1660dcfdab9fdc8/generate.stamp.rule", + "sourceGroupIndex" : 0 + } + ], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ZERO_CHECK-MinSizeRel-eea6be4f08aaf5018797.json b/build/.cmake/api/v1/reply/target-ZERO_CHECK-MinSizeRel-eea6be4f08aaf5018797.json new file mode 100644 index 0000000..2bf9bf1 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ZERO_CHECK-MinSizeRel-eea6be4f08aaf5018797.json @@ -0,0 +1,45 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ZERO_CHECK", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "CMake Rules", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 0, + "isGenerated" : true, + "path" : "build/CMakeFiles/09550a624d67b26db1660dcfdab9fdc8/generate.stamp.rule", + "sourceGroupIndex" : 0 + } + ], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ZERO_CHECK-RelWithDebInfo-eea6be4f08aaf5018797.json b/build/.cmake/api/v1/reply/target-ZERO_CHECK-RelWithDebInfo-eea6be4f08aaf5018797.json new file mode 100644 index 0000000..2bf9bf1 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ZERO_CHECK-RelWithDebInfo-eea6be4f08aaf5018797.json @@ -0,0 +1,45 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ZERO_CHECK", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "CMake Rules", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 0, + "isGenerated" : true, + "path" : "build/CMakeFiles/09550a624d67b26db1660dcfdab9fdc8/generate.stamp.rule", + "sourceGroupIndex" : 0 + } + ], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/target-ZERO_CHECK-Release-eea6be4f08aaf5018797.json b/build/.cmake/api/v1/reply/target-ZERO_CHECK-Release-eea6be4f08aaf5018797.json new file mode 100644 index 0000000..2bf9bf1 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ZERO_CHECK-Release-eea6be4f08aaf5018797.json @@ -0,0 +1,45 @@ +{ + "backtrace" : 0, + "backtraceGraph" : + { + "commands" : [], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + } + ] + }, + "id" : "ZERO_CHECK::@6890427a1f51a3e7e1df", + "isGeneratorProvided" : true, + "name" : "ZERO_CHECK", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "CMake Rules", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 0, + "isGenerated" : true, + "path" : "build/CMakeFiles/09550a624d67b26db1660dcfdab9fdc8/generate.stamp.rule", + "sourceGroupIndex" : 0 + } + ], + "type" : "UTILITY" +} diff --git a/build/.cmake/api/v1/reply/toolchains-v1-481607dd662cf3a9a482.json b/build/.cmake/api/v1/reply/toolchains-v1-481607dd662cf3a9a482.json new file mode 100644 index 0000000..db0a779 --- /dev/null +++ b/build/.cmake/api/v1/reply/toolchains-v1-481607dd662cf3a9a482.json @@ -0,0 +1,58 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "MSVC", + "implicit" : + { + "includeDirectories" : [], + "linkDirectories" : [], + "linkFrameworkDirectories" : [], + "linkLibraries" : [] + }, + "path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/cl.exe", + "version" : "19.39.33523.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "m", + "mm", + "mpp", + "CPP", + "ixx", + "cppm", + "ccm", + "cxxm", + "c++m" + ] + }, + { + "compiler" : + { + "implicit" : {}, + "path" : "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/rc.exe" + }, + "language" : "RC", + "sourceFileExtensions" : + [ + "rc", + "RC" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/ALL_BUILD.vcxproj b/build/ALL_BUILD.vcxproj new file mode 100644 index 0000000..490ec78 --- /dev/null +++ b/build/ALL_BUILD.vcxproj @@ -0,0 +1,190 @@ + + + + x86 + + + false + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {AADBDC76-62B8-307C-9F1A-29301ECDC36C} + Win32Proj + 10.0.22621.0 + x64 + ALL_BUILD + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + Always + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + + + + + + + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + ZERO_CHECK + false + Never + + + {D7B432A5-633D-34C7-A740-C7E729F5C6A5} + GenerateHeaders + false + Never + + + {E0023F37-9550-349D-84C7-4A4D75C6AEB1} + ISXMr + + + + + + \ No newline at end of file diff --git a/build/ALL_BUILD.vcxproj.filters b/build/ALL_BUILD.vcxproj.filters new file mode 100644 index 0000000..f9652f1 --- /dev/null +++ b/build/ALL_BUILD.vcxproj.filters @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/build/GenerateHeaders.vcxproj b/build/GenerateHeaders.vcxproj new file mode 100644 index 0000000..16011ce --- /dev/null +++ b/build/GenerateHeaders.vcxproj @@ -0,0 +1,177 @@ + + + + x86 + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {D7B432A5-633D-34C7-A740-C7E729F5C6A5} + Win32Proj + 10.0.22621.0 + x64 + GenerateHeaders + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + Always + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + + + + + + + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/GenerateHeaders.vcxproj.filters b/build/GenerateHeaders.vcxproj.filters new file mode 100644 index 0000000..f9652f1 --- /dev/null +++ b/build/GenerateHeaders.vcxproj.filters @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/build/ISXMr.dir/Release/Ability.obj b/build/ISXMr.dir/Release/Ability.obj new file mode 100644 index 0000000..23610f3 Binary files /dev/null and b/build/ISXMr.dir/Release/Ability.obj differ diff --git a/build/ISXMr.dir/Release/AbilityInfo.obj b/build/ISXMr.dir/Release/AbilityInfo.obj new file mode 100644 index 0000000..d227716 Binary files /dev/null and b/build/ISXMr.dir/Release/AbilityInfo.obj differ diff --git a/build/ISXMr.dir/Release/Actor.obj b/build/ISXMr.dir/Release/Actor.obj new file mode 100644 index 0000000..7dc1f17 Binary files /dev/null and b/build/ISXMr.dir/Release/Actor.obj differ diff --git a/build/ISXMr.dir/Release/ActorTLO.obj b/build/ISXMr.dir/Release/ActorTLO.obj new file mode 100644 index 0000000..58160f8 Binary files /dev/null and b/build/ISXMr.dir/Release/ActorTLO.obj differ diff --git a/build/ISXMr.dir/Release/BotTask.obj b/build/ISXMr.dir/Release/BotTask.obj new file mode 100644 index 0000000..9cc4aa5 Binary files /dev/null and b/build/ISXMr.dir/Release/BotTask.obj differ diff --git a/build/ISXMr.dir/Release/Character.obj b/build/ISXMr.dir/Release/Character.obj new file mode 100644 index 0000000..db29a46 Binary files /dev/null and b/build/ISXMr.dir/Release/Character.obj differ diff --git a/build/ISXMr.dir/Release/Commands.obj b/build/ISXMr.dir/Release/Commands.obj new file mode 100644 index 0000000..6c4b79b Binary files /dev/null and b/build/ISXMr.dir/Release/Commands.obj differ diff --git a/build/ISXMr.dir/Release/ExportAbilitiesTask.obj b/build/ISXMr.dir/Release/ExportAbilitiesTask.obj new file mode 100644 index 0000000..8518b6f Binary files /dev/null and b/build/ISXMr.dir/Release/ExportAbilitiesTask.obj differ diff --git a/build/ISXMr.dir/Release/GroupMember.obj b/build/ISXMr.dir/Release/GroupMember.obj new file mode 100644 index 0000000..a63dc3e Binary files /dev/null and b/build/ISXMr.dir/Release/GroupMember.obj differ diff --git a/build/ISXMr.dir/Release/ISXMr.dll.recipe b/build/ISXMr.dir/Release/ISXMr.dll.recipe new file mode 100644 index 0000000..366fbcb --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.dll.recipe @@ -0,0 +1,14 @@ + + + + + D:\code\personal\ISXMr\build\x64\Release\ZERO_CHECK + + + D:\code\personal\ISXMr\build\Release\ISXMr.dll + + + + + + \ No newline at end of file diff --git a/build/ISXMr.dir/Release/ISXMr.obj b/build/ISXMr.dir/Release/ISXMr.obj new file mode 100644 index 0000000..b00a4b7 Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.obj differ diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/CL.command.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/CL.command.1.tlog new file mode 100644 index 0000000..43cfc6e Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.tlog/CL.command.1.tlog differ diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/CL.read.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/CL.read.1.tlog new file mode 100644 index 0000000..aff1ff5 Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.tlog/CL.read.1.tlog differ diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/CL.write.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/CL.write.1.tlog new file mode 100644 index 0000000..709e454 Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.tlog/CL.write.1.tlog differ diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/Cl.items.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/Cl.items.tlog new file mode 100644 index 0000000..c4c45b3 --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.tlog/Cl.items.tlog @@ -0,0 +1,15 @@ +D:\code\personal\ISXMr\src\Api\MrBotApi.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\MrBotApi.obj +D:\code\personal\ISXMr\src\Commands.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\Commands.obj +D:\code\personal\ISXMr\src\DataTypes\MrBotApiType.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\MrBotApiType.obj +D:\code\personal\ISXMr\src\ISXMr.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\ISXMr.obj +D:\code\personal\ISXMr\src\Services.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\Services.obj +D:\code\personal\ISXMr\src\Tasks\BotTask.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\BotTask.obj +D:\code\personal\ISXMr\src\Tasks\ExportAbilitiesTask.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\ExportAbilitiesTask.obj +D:\code\personal\ISXMr\src\Tasks\TaskExecutor.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\TaskExecutor.obj +D:\code\personal\ISXMr\src\TopLevelObjects.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\TopLevelObjects.obj +D:\code\personal\ISXMr\src\isxeq2\Ability.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\Ability.obj +D:\code\personal\ISXMr\src\isxeq2\AbilityInfo.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\AbilityInfo.obj +D:\code\personal\ISXMr\src\isxeq2\Actor.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\Actor.obj +D:\code\personal\ISXMr\src\isxeq2\ActorTLO.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\ActorTLO.obj +D:\code\personal\ISXMr\src\isxeq2\Character.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\Character.obj +D:\code\personal\ISXMr\src\isxeq2\GroupMember.cpp;D:\code\personal\ISXMr\build\ISXMr.dir\Release\GroupMember.obj diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.command.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.command.1.tlog new file mode 100644 index 0000000..4ddacc7 --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.command.1.tlog @@ -0,0 +1,10 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.read.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.read.1.tlog new file mode 100644 index 0000000..ad7c399 --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.read.1.tlog @@ -0,0 +1,22 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECXXINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEGENERICSYSTEM.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEINITIALIZECONFIGS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKELANGUAGEINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKERCINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\EXTERNALPROJECT\SHARED_INTERNAL_COMMANDS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\FETCHCONTENT.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWSPATHS.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKECXXCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKERCCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKESYSTEM.CMAKE diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.write.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.write.1.tlog new file mode 100644 index 0000000..edc4a80 --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.tlog/CustomBuild.write.1.tlog @@ -0,0 +1,2 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\GENERATE.STAMP diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/ISXMr.lastbuildstate b/build/ISXMr.dir/Release/ISXMr.tlog/ISXMr.lastbuildstate new file mode 100644 index 0000000..d3c2d43 --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.tlog/ISXMr.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0: +Release|x64|D:\code\personal\ISXMr\build\| diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/link.command.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/link.command.1.tlog new file mode 100644 index 0000000..e500034 Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.tlog/link.command.1.tlog differ diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/link.read.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/link.read.1.tlog new file mode 100644 index 0000000..5134a10 Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.tlog/link.read.1.tlog differ diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/link.secondary.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/link.secondary.1.tlog new file mode 100644 index 0000000..544c637 --- /dev/null +++ b/build/ISXMr.dir/Release/ISXMr.tlog/link.secondary.1.tlog @@ -0,0 +1,3 @@ +^D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\ABILITY.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\ABILITYINFO.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\ACTOR.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\ACTORTLO.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\BOTTASK.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\CHARACTER.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\COMMANDS.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\EXPORTABILITIESTASK.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\GROUPMEMBER.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\ISXMR.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\MRBOTAPI.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\MRBOTAPITYPE.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\SERVICES.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\TASKEXECUTOR.OBJ|D:\CODE\PERSONAL\ISXMR\BUILD\ISXMR.DIR\RELEASE\TOPLEVELOBJECTS.OBJ +D:\code\personal\ISXMr\build\Release\ISXMr.lib +D:\code\personal\ISXMr\build\Release\ISXMr.EXP diff --git a/build/ISXMr.dir/Release/ISXMr.tlog/link.write.1.tlog b/build/ISXMr.dir/Release/ISXMr.tlog/link.write.1.tlog new file mode 100644 index 0000000..d01103d Binary files /dev/null and b/build/ISXMr.dir/Release/ISXMr.tlog/link.write.1.tlog differ diff --git a/build/ISXMr.dir/Release/MrBotApi.obj b/build/ISXMr.dir/Release/MrBotApi.obj new file mode 100644 index 0000000..34d3084 Binary files /dev/null and b/build/ISXMr.dir/Release/MrBotApi.obj differ diff --git a/build/ISXMr.dir/Release/MrBotApiType.obj b/build/ISXMr.dir/Release/MrBotApiType.obj new file mode 100644 index 0000000..7c23a9f Binary files /dev/null and b/build/ISXMr.dir/Release/MrBotApiType.obj differ diff --git a/build/ISXMr.dir/Release/Services.obj b/build/ISXMr.dir/Release/Services.obj new file mode 100644 index 0000000..d6ca410 Binary files /dev/null and b/build/ISXMr.dir/Release/Services.obj differ diff --git a/build/ISXMr.dir/Release/TaskExecutor.obj b/build/ISXMr.dir/Release/TaskExecutor.obj new file mode 100644 index 0000000..aa22d60 Binary files /dev/null and b/build/ISXMr.dir/Release/TaskExecutor.obj differ diff --git a/build/ISXMr.dir/Release/TopLevelObjects.obj b/build/ISXMr.dir/Release/TopLevelObjects.obj new file mode 100644 index 0000000..b602ab8 Binary files /dev/null and b/build/ISXMr.dir/Release/TopLevelObjects.obj differ diff --git a/build/ISXMr.sln b/build/ISXMr.sln new file mode 100644 index 0000000..f5ff741 --- /dev/null +++ b/build/ISXMr.sln @@ -0,0 +1,67 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{AADBDC76-62B8-307C-9F1A-29301ECDC36C}" + ProjectSection(ProjectDependencies) = postProject + {D7B432A5-633D-34C7-A740-C7E729F5C6A5} = {D7B432A5-633D-34C7-A740-C7E729F5C6A5} + {E0023F37-9550-349D-84C7-4A4D75C6AEB1} = {E0023F37-9550-349D-84C7-4A4D75C6AEB1} + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} = {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GenerateHeaders", "GenerateHeaders.vcxproj", "{D7B432A5-633D-34C7-A740-C7E729F5C6A5}" + ProjectSection(ProjectDependencies) = postProject + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} = {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ISXMr", "ISXMr.vcxproj", "{E0023F37-9550-349D-84C7-4A4D75C6AEB1}" + ProjectSection(ProjectDependencies) = postProject + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} = {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{6F6EB6D2-E3B1-342E-8787-625773D2B75E}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + MinSizeRel|x64 = MinSizeRel|x64 + RelWithDebInfo|x64 = RelWithDebInfo|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AADBDC76-62B8-307C-9F1A-29301ECDC36C}.Debug|x64.ActiveCfg = Debug|x64 + {AADBDC76-62B8-307C-9F1A-29301ECDC36C}.Release|x64.ActiveCfg = Release|x64 + {AADBDC76-62B8-307C-9F1A-29301ECDC36C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {AADBDC76-62B8-307C-9F1A-29301ECDC36C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.Debug|x64.ActiveCfg = Debug|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.Debug|x64.Build.0 = Debug|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.Release|x64.ActiveCfg = Release|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.Release|x64.Build.0 = Release|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D7B432A5-633D-34C7-A740-C7E729F5C6A5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.Debug|x64.ActiveCfg = Debug|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.Debug|x64.Build.0 = Debug|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.Release|x64.ActiveCfg = Release|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.Release|x64.Build.0 = Release|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {E0023F37-9550-349D-84C7-4A4D75C6AEB1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.Debug|x64.ActiveCfg = Debug|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.Debug|x64.Build.0 = Debug|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.Release|x64.ActiveCfg = Release|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.Release|x64.Build.0 = Release|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6F6EB6D2-E3B1-342E-8787-625773D2B75E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C058661F-B4E6-3370-8E80-C4146967A98F} + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/build/ISXMr.vcxproj b/build/ISXMr.vcxproj new file mode 100644 index 0000000..39d973a --- /dev/null +++ b/build/ISXMr.vcxproj @@ -0,0 +1,419 @@ + + + + x86 + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {E0023F37-9550-349D-84C7-4A4D75C6AEB1} + Win32Proj + 10.0.22621.0 + x64 + ISXMr + NoUpgrade + + + + DynamicLibrary + MultiByte + v143 + + + DynamicLibrary + MultiByte + v143 + + + DynamicLibrary + MultiByte + v143 + + + DynamicLibrary + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + D:\code\personal\ISXMr\build\Debug\ + ISXMr.dir\Debug\ + ISXMr + .dll + true + true + D:\code\personal\ISXMr\build\Release\ + ISXMr.dir\Release\ + ISXMr + .dll + false + true + D:\code\personal\ISXMr\build\MinSizeRel\ + ISXMr.dir\MinSizeRel\ + ISXMr + .dll + false + true + D:\code\personal\ISXMr\build\RelWithDebInfo\ + ISXMr.dir\RelWithDebInfo\ + ISXMr + .dll + true + true + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(IntDir) + EnableFastChecks + ProgramDatabase + Sync + Disabled + stdcpp20 + Disabled + NotUsing + MultiThreadedDebug + false + %(PreprocessorDefinitions);WIN32;_WINDOWS;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR="Debug";ISXMr_EXPORTS + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_DEBUG;_WINDOWS;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR=\"Debug\";ISXMr_EXPORTS + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Copying isxmr.dll to D:/Games/InnerSpace + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E copy D:/code/personal/ISXMr/build/Debug/ISXMr.dll D:/Games/InnerSpace/x64/Extensions/ISXDK35/ISXMr.dll +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISUI.lib;D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISXDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + D:/code/personal/ISXMr/build/Debug/ISXMr.lib + D:/code/personal/ISXMr/build/Debug/ISXMr.pdb + Console + + + false + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + AnySuitable + stdcpp20 + MaxSpeed + NotUsing + MultiThreaded + false + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR="Release";ISXMr_EXPORTS + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR=\"Release\";ISXMr_EXPORTS + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Copying isxmr.dll to D:/Games/InnerSpace + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E copy D:/code/personal/ISXMr/build/Release/ISXMr.dll D:/Games/InnerSpace/x64/Extensions/ISXDK35/ISXMr.dll +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISUI.lib;D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISXDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + D:/code/personal/ISXMr/build/Release/ISXMr.lib + D:/code/personal/ISXMr/build/Release/ISXMr.pdb + Console + + + false + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + OnlyExplicitInline + stdcpp20 + MinSpace + NotUsing + MultiThreaded + false + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR="MinSizeRel";ISXMr_EXPORTS + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR=\"MinSizeRel\";ISXMr_EXPORTS + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Copying isxmr.dll to D:/Games/InnerSpace + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E copy D:/code/personal/ISXMr/build/MinSizeRel/ISXMr.dll D:/Games/InnerSpace/x64/Extensions/ISXDK35/ISXMr.dll +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISUI.lib;D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISXDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + D:/code/personal/ISXMr/build/MinSizeRel/ISXMr.lib + D:/code/personal/ISXMr/build/MinSizeRel/ISXMr.pdb + Console + + + false + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(IntDir) + ProgramDatabase + Sync + OnlyExplicitInline + stdcpp20 + MaxSpeed + NotUsing + MultiThreaded + false + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR="RelWithDebInfo";ISXMr_EXPORTS + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;NOMINMAX;JS_STL_MAP;CMAKE_INTDIR=\"RelWithDebInfo\";ISXMr_EXPORTS + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Copying isxmr.dll to D:/Games/InnerSpace + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E copy D:/code/personal/ISXMr/build/RelWithDebInfo/ISXMr.dll D:/Games/InnerSpace/x64/Extensions/ISXDK35/ISXMr.dll +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISUI.lib;D:\code\personal\ISXMr\libs\isxdk\lib64\vs16\ISXDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + D:/code/personal/ISXMr/build/RelWithDebInfo/ISXMr.lib + D:/code/personal/ISXMr/build/RelWithDebInfo/ISXMr.pdb + Console + + + false + + + + + Always + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + Building Custom Rule D:/code/personal/ISXMr/CMakeLists.txt + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/ISXMr.vcxproj.filters b/build/ISXMr.vcxproj.filters new file mode 100644 index 0000000..f247403 --- /dev/null +++ b/build/ISXMr.vcxproj.filters @@ -0,0 +1,156 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + + + + {683642F8-9075-367E-9A54-836DB8826FDD} + + + {9BC1B753-B790-37B5-B4E8-8F4533FAA4D0} + + + diff --git a/build/Release/ISXMr.exp b/build/Release/ISXMr.exp new file mode 100644 index 0000000..d7987d3 Binary files /dev/null and b/build/Release/ISXMr.exp differ diff --git a/build/Release/ISXMr.lib b/build/Release/ISXMr.lib new file mode 100644 index 0000000..90af850 Binary files /dev/null and b/build/Release/ISXMr.lib differ diff --git a/build/ZERO_CHECK.vcxproj b/build/ZERO_CHECK.vcxproj new file mode 100644 index 0000000..1201643 --- /dev/null +++ b/build/ZERO_CHECK.vcxproj @@ -0,0 +1,178 @@ + + + + x86 + + + false + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {6F6EB6D2-E3B1-342E-8787-625773D2B75E} + Win32Proj + 10.0.22621.0 + x64 + ZERO_CHECK + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + D:\code\personal\ISXMr\src;D:\code\personal\ISXMr\libs\isxdk\include;D:\code\personal\ISXMr\libs\argh;D:\code\personal\ISXMr\includes;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + Always + true + Checking Build System + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file D:/code/personal/ISXMr/build/ISXMr.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\CMakeLists.txt;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + true + Checking Build System + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file D:/code/personal/ISXMr/build/ISXMr.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\CMakeLists.txt;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + true + Checking Build System + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file D:/code/personal/ISXMr/build/ISXMr.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\CMakeLists.txt;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + true + Checking Build System + setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file D:/code/personal/ISXMr/build/ISXMr.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCXXInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeGenericSystem.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeLanguageInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeRCInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Compiler\MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\ExternalProject\shared_internal_commands.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\FetchContent.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\Windows.cmake;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.28\Modules\Platform\WindowsPaths.cmake;D:\code\personal\ISXMr\CMakeLists.txt;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeCXXCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeRCCompiler.cmake;D:\code\personal\ISXMr\build\CMakeFiles\3.28.0-msvc1\CMakeSystem.cmake;%(AdditionalInputs) + D:\code\personal\ISXMr\build\CMakeFiles\generate.stamp + false + + + + + + + + + + \ No newline at end of file diff --git a/build/ZERO_CHECK.vcxproj.filters b/build/ZERO_CHECK.vcxproj.filters new file mode 100644 index 0000000..05fb322 --- /dev/null +++ b/build/ZERO_CHECK.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + CMake Rules + + + + + {9BDB1CA5-CDEC-3759-A060-BDBBDA50405C} + + + diff --git a/build/x64/Release/ALL_BUILD/ALL_BUILD.recipe b/build/x64/Release/ALL_BUILD/ALL_BUILD.recipe new file mode 100644 index 0000000..190ff86 --- /dev/null +++ b/build/x64/Release/ALL_BUILD/ALL_BUILD.recipe @@ -0,0 +1,20 @@ + + + + + D:\code\personal\ISXMr\build\x64\Release\ZERO_CHECK + + + D:\code\personal\ISXMr\build\x64\Release\GenerateHeaders + + + D:\code\personal\ISXMr\build\Release\ISXMr.dll + + + D:\code\personal\ISXMr\build\x64\Release\ALL_BUILD + + + + + + \ No newline at end of file diff --git a/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/ALL_BUILD.lastbuildstate b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/ALL_BUILD.lastbuildstate new file mode 100644 index 0000000..d3c2d43 --- /dev/null +++ b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/ALL_BUILD.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0: +Release|x64|D:\code\personal\ISXMr\build\| diff --git a/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.command.1.tlog b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.command.1.tlog new file mode 100644 index 0000000..4ddacc7 --- /dev/null +++ b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.command.1.tlog @@ -0,0 +1,10 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd diff --git a/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.read.1.tlog b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.read.1.tlog new file mode 100644 index 0000000..ad7c399 --- /dev/null +++ b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.read.1.tlog @@ -0,0 +1,22 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECXXINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEGENERICSYSTEM.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEINITIALIZECONFIGS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKELANGUAGEINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKERCINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\EXTERNALPROJECT\SHARED_INTERNAL_COMMANDS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\FETCHCONTENT.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWSPATHS.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKECXXCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKERCCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKESYSTEM.CMAKE diff --git a/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.write.1.tlog b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.write.1.tlog new file mode 100644 index 0000000..edc4a80 --- /dev/null +++ b/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.write.1.tlog @@ -0,0 +1,2 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\GENERATE.STAMP diff --git a/build/x64/Release/GenerateHeaders/GenerateHeaders.recipe b/build/x64/Release/GenerateHeaders/GenerateHeaders.recipe new file mode 100644 index 0000000..3b4902c --- /dev/null +++ b/build/x64/Release/GenerateHeaders/GenerateHeaders.recipe @@ -0,0 +1,14 @@ + + + + + D:\code\personal\ISXMr\build\x64\Release\ZERO_CHECK + + + D:\code\personal\ISXMr\build\x64\Release\GenerateHeaders + + + + + + \ No newline at end of file diff --git a/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.command.1.tlog b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.command.1.tlog new file mode 100644 index 0000000..4ddacc7 --- /dev/null +++ b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.command.1.tlog @@ -0,0 +1,10 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-file D:/code/personal/ISXMr/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd diff --git a/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.read.1.tlog b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.read.1.tlog new file mode 100644 index 0000000..ad7c399 --- /dev/null +++ b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.read.1.tlog @@ -0,0 +1,22 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECXXINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEGENERICSYSTEM.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEINITIALIZECONFIGS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKELANGUAGEINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKERCINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\EXTERNALPROJECT\SHARED_INTERNAL_COMMANDS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\FETCHCONTENT.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWSPATHS.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKECXXCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKERCCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKESYSTEM.CMAKE diff --git a/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.write.1.tlog b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.write.1.tlog new file mode 100644 index 0000000..edc4a80 --- /dev/null +++ b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/CustomBuild.write.1.tlog @@ -0,0 +1,2 @@ +^D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\GENERATE.STAMP diff --git a/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/GenerateHeaders.lastbuildstate b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/GenerateHeaders.lastbuildstate new file mode 100644 index 0000000..d3c2d43 --- /dev/null +++ b/build/x64/Release/GenerateHeaders/GenerateHeaders.tlog/GenerateHeaders.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0: +Release|x64|D:\code\personal\ISXMr\build\| diff --git a/build/x64/Release/ZERO_CHECK/ZERO_CHECK.recipe b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.recipe new file mode 100644 index 0000000..12d3cf1 --- /dev/null +++ b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.recipe @@ -0,0 +1,11 @@ + + + + + D:\code\personal\ISXMr\build\x64\Release\ZERO_CHECK + + + + + + \ No newline at end of file diff --git a/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.command.1.tlog b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.command.1.tlog new file mode 100644 index 0000000..ac5400c --- /dev/null +++ b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.command.1.tlog @@ -0,0 +1,10 @@ +^D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\09550A624D67B26DB1660DCFDAB9FDC8\GENERATE.STAMP.RULE +setlocal +"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -SD:/code/personal/ISXMr -BD:/code/personal/ISXMr/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file D:/code/personal/ISXMr/build/ISXMr.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd diff --git a/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.read.1.tlog b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.read.1.tlog new file mode 100644 index 0000000..eda42d7 --- /dev/null +++ b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.read.1.tlog @@ -0,0 +1,23 @@ +^D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\09550A624D67B26DB1660DCFDAB9FDC8\GENERATE.STAMP.RULE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECXXINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEGENERICSYSTEM.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKEINITIALIZECONFIGS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKELANGUAGEINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKERCINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\COMPILER\MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\EXTERNALPROJECT\SHARED_INTERNAL_COMMANDS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\FETCHCONTENT.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWS.CMAKE +C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMAKE\SHARE\CMAKE-3.28\MODULES\PLATFORM\WINDOWSPATHS.CMAKE +D:\CODE\PERSONAL\ISXMR\CMAKELISTS.TXT +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKECXXCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKERCCOMPILER.CMAKE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\3.28.0-MSVC1\CMAKESYSTEM.CMAKE diff --git a/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.write.1.tlog b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.write.1.tlog new file mode 100644 index 0000000..958fe86 --- /dev/null +++ b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.write.1.tlog @@ -0,0 +1,2 @@ +^D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\09550A624D67B26DB1660DCFDAB9FDC8\GENERATE.STAMP.RULE +D:\CODE\PERSONAL\ISXMR\BUILD\CMAKEFILES\GENERATE.STAMP diff --git a/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/ZERO_CHECK.lastbuildstate b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/ZERO_CHECK.lastbuildstate new file mode 100644 index 0000000..d3c2d43 --- /dev/null +++ b/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/ZERO_CHECK.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0: +Release|x64|D:\code\personal\ISXMr\build\| diff --git a/libs/isxdk/include/LavishScript/LSType.h b/libs/isxdk/include/LavishScript/LSType.h index 3e94d1b..fc4a95e 100644 --- a/libs/isxdk/include/LavishScript/LSType.h +++ b/libs/isxdk/include/LavishScript/LSType.h @@ -1,10 +1,10 @@ #pragma once -#pragma warning( push ) -#pragma warning( disable : 4505 ) +#pragma warning(push) +#pragma warning(disable : 4505) #ifndef __LSTYPE_H__ #define __LSTYPE_H__ -#define TypeMember(name) AddMember((DWORD)name,""#name) -#define TypeMethod(name) AddMethod((DWORD)name,""#name) +#define TypeMember(name) AddMember((DWORD)name, "" #name) +#define TypeMethod(name) AddMethod((DWORD)name, "" #name) #include #include #include @@ -12,21 +12,24 @@ using namespace std; typedef struct _RGBColor { - union { + union + { unsigned int ulColor; - struct { + struct + { unsigned char Red; unsigned char Green; unsigned char Blue; unsigned char Reserved; }; - struct { - BYTE B; - BYTE G; - BYTE R; - BYTE A; - }; - DWORD ARGB; + struct + { + BYTE B; + BYTE G; + BYTE R; + BYTE A; + }; + DWORD ARGB; }; } RGBCOLOR, *PRGBCOLOR; @@ -37,20 +40,20 @@ typedef struct _LSVarPtr Int64 = 0; } - union + union { __int64 Int64; double Float64; unsigned char Array64[8]; - struct + struct { - union + union { void *Ptr; float Float; unsigned int DWord; unsigned int *DWordPtr; - int Int; + int Int; unsigned char Array[4]; char *CharPtr; wchar_t *WCharPtr; @@ -76,7 +79,7 @@ typedef struct _LSTypeVar __inline LSOBJECTDATA &GetObjectData() { - return *(LSOBJECTDATA*)&Int64; + return *(LSOBJECTDATA *)&Int64; } __inline void SetObjectData(const LSOBJECTDATA &new_data) @@ -84,13 +87,15 @@ typedef struct _LSTypeVar Int64 = new_data.Int64; } - union { + union + { class LSTypeDefinition *Type; class LSTypeDefinition *ObjectType; }; - union { -// LSOBJECTDATA VarPtr; -// LSOBJECTDATA ObjectData; + union + { + // LSOBJECTDATA VarPtr; + // LSOBJECTDATA ObjectData; __int64 Int64; double Float64; unsigned char Array64[8]; @@ -102,7 +107,7 @@ typedef struct _LSTypeVar float Float; unsigned int DWord; unsigned int *DWordPtr; - int Int; + int Int; unsigned char Array[4]; char *CharPtr; wchar_t *WCharPtr; @@ -120,13 +125,14 @@ typedef struct _LSTypeVar typedef bool(__cdecl *fLSTypeMember)(LSTypeDefinition *pType, LSOBJECTDATA, int argc, char *argv[], LSOBJECT &); typedef bool(__cdecl *fLSTypeMethod)(LSTypeDefinition *pType, LSOBJECTDATA &, int argc, char *argv[]); -typedef void (__cdecl *fLSGenericEnumCallback)(const char *Name, void *pData); +typedef void(__cdecl *fLSGenericEnumCallback)(const char *Name, void *pData); typedef struct _LSTypeMember { unsigned int ID; char *Name; - union { + union + { fLSTypeMember MemberCallback; fLSTypeMethod MethodCallback; }; @@ -164,68 +170,68 @@ typedef struct _Point3i : public _Point2i int Z; } POINT3I, *PPOINT3I; -static inline FLOAT GetDistance3D(_Point3f &P1,_Point3f &P2) +static inline FLOAT GetDistance3D(_Point3f &P1, _Point3f &P2) { - FLOAT dX = P1.X - P2.X; - FLOAT dY = P1.Y - P2.Y; - FLOAT dZ = P1.Z - P2.Z; - return sqrtf(dX*dX + dY*dY + dZ*dZ); + FLOAT dX = P1.X - P2.X; + FLOAT dY = P1.Y - P2.Y; + FLOAT dZ = P1.Z - P2.Z; + return sqrtf(dX * dX + dY * dY + dZ * dZ); } -static inline FLOAT GetDistance3DNoSqrt(_Point3f &P1,_Point3f &P2) +static inline FLOAT GetDistance3DNoSqrt(_Point3f &P1, _Point3f &P2) { - FLOAT dX = P1.X - P2.X; - FLOAT dY = P1.Y - P2.Y; - FLOAT dZ = P1.Z - P2.Z; - return (dX*dX + dY*dY + dZ*dZ); + FLOAT dX = P1.X - P2.X; + FLOAT dY = P1.Y - P2.Y; + FLOAT dZ = P1.Z - P2.Z; + return (dX * dX + dY * dY + dZ * dZ); } -static inline FLOAT GetDistance2D(_Point2f &P1,_Point2f &P2) +static inline FLOAT GetDistance2D(_Point2f &P1, _Point2f &P2) { - FLOAT dX = P1.X - P2.X; - FLOAT dY = P1.Y - P2.Y; - return sqrtf(dX*dX + dY*dY); + FLOAT dX = P1.X - P2.X; + FLOAT dY = P1.Y - P2.Y; + return sqrtf(dX * dX + dY * dY); } -static inline FLOAT GetDistance2DNoSqrt(_Point2f &P1,_Point2f &P2) +static inline FLOAT GetDistance2DNoSqrt(_Point2f &P1, _Point2f &P2) { - FLOAT dX = P1.X - P2.X; - FLOAT dY = P1.Y - P2.Y; - return (dX*dX + dY*dY); + FLOAT dX = P1.X - P2.X; + FLOAT dY = P1.Y - P2.Y; + return (dX * dX + dY * dY); } -static inline FLOAT GetDistance2D(_Point2i &P1,_Point2i &P2) +static inline FLOAT GetDistance2D(_Point2i &P1, _Point2i &P2) { - FLOAT dX = (FLOAT)(P1.X - P2.X); - FLOAT dY = (FLOAT)(P1.Y - P2.Y); - return sqrtf(dX*dX + dY*dY); + FLOAT dX = (FLOAT)(P1.X - P2.X); + FLOAT dY = (FLOAT)(P1.Y - P2.Y); + return sqrtf(dX * dX + dY * dY); } -static inline FLOAT GetDistance2DNoSqrt(_Point2i &P1,_Point2i &P2) +static inline FLOAT GetDistance2DNoSqrt(_Point2i &P1, _Point2i &P2) { - FLOAT dX = (FLOAT)(P1.X - P2.X); - FLOAT dY = (FLOAT)(P1.Y - P2.Y); - return (dX*dX + dY*dY); + FLOAT dX = (FLOAT)(P1.X - P2.X); + FLOAT dY = (FLOAT)(P1.Y - P2.Y); + return (dX * dX + dY * dY); } -static bool DistancePointLine(POINT2F &Point,POINT2F &SegmentStart,POINT2F &SegmentEnd,float &Result) +static bool DistancePointLine(POINT2F &Point, POINT2F &SegmentStart, POINT2F &SegmentEnd, float &Result) { - float SegmentLength= GetDistance2D(SegmentStart,SegmentEnd); - float U= (((Point.X-SegmentStart.X) * (SegmentEnd.X-SegmentStart.X))+ - ((Point.Y-SegmentStart.Y) * (SegmentEnd.Y-SegmentStart.Y)))/ - (SegmentLength*SegmentLength); - if (U<0.0f || U>1.0f) + float SegmentLength = GetDistance2D(SegmentStart, SegmentEnd); + float U = (((Point.X - SegmentStart.X) * (SegmentEnd.X - SegmentStart.X)) + + ((Point.Y - SegmentStart.Y) * (SegmentEnd.Y - SegmentStart.Y))) / + (SegmentLength * SegmentLength); + if (U < 0.0f || U > 1.0f) { // no intersection - return false; + return false; } // calculate intersection point POINT2F Intersection; - Intersection.X = SegmentStart.X + U * ( SegmentEnd.X - SegmentStart.X ); - Intersection.Y = SegmentStart.Y + U * ( SegmentEnd.Y - SegmentStart.Y ); + Intersection.X = SegmentStart.X + U * (SegmentEnd.X - SegmentStart.X); + Intersection.Y = SegmentStart.Y + U * (SegmentEnd.Y - SegmentStart.Y); // and now the distance from the point to the start of the segment - Result = GetDistance2D( Point, Intersection ); - return true; + Result = GetDistance2D(Point, Intersection); + return true; } extern void RegisterTemporaryObject(class CTempObject *); @@ -246,7 +252,7 @@ public: } }; -template +template class CTemporaryObject : public CTempObject { public: @@ -281,43 +287,43 @@ protected: size_t Used; }; -#define INHERITDIRECT(_inherit_) \ - virtual int GetInheritedMember(LSOBJECTDATA ObjectData, char *Member, int argc, char *argv[], LSOBJECT &Dest)\ - {\ - return _inherit_->GetMemberEx(ObjectData,Member,argc,argv,Dest);\ - }\ - virtual int GetInheritedMethod(LSOBJECTDATA &ObjectData, char *Method, int argc, char *argv[])\ - {\ - return _inherit_->GetMethodEx(ObjectData,Method,argc,argv);\ - }\ - virtual int GetInheritedIndex(LSOBJECTDATA &ObjectData, int argc, char *argv[], LSOBJECT &Dest)\ - {\ - return _inherit_->GetIndex(ObjectData,argc,argv,Dest);\ +#define INHERITDIRECT(_inherit_) \ + virtual int GetInheritedMember(LSOBJECTDATA ObjectData, char *Member, int argc, char *argv[], LSOBJECT &Dest) \ + { \ + return _inherit_->GetMemberEx(ObjectData, Member, argc, argv, Dest); \ + } \ + virtual int GetInheritedMethod(LSOBJECTDATA &ObjectData, char *Method, int argc, char *argv[]) \ + { \ + return _inherit_->GetMethodEx(ObjectData, Method, argc, argv); \ + } \ + virtual int GetInheritedIndex(LSOBJECTDATA &ObjectData, int argc, char *argv[], LSOBJECT &Dest) \ + { \ + return _inherit_->GetIndex(ObjectData, argc, argv, Dest); \ } -#define INHERITINDIRECT(_inherit_,_convertto_,_convertfrom_) \ - virtual int GetInheritedMember(LSOBJECTDATA ObjectData, char *Member, int argc, char *argv[], LSOBJECT &Dest)\ - {\ - LSOBJECTDATA Temp;\ - _convertto_;\ - return _inherit_->GetMemberEx(Temp,Member,argc,argv,Dest);\ - }\ - virtual int GetInheritedIndex(LSOBJECTDATA ObjectData, int argc, char *argv[], LSOBJECT &Dest)\ - {\ - LSOBJECTDATA Temp;\ - _convertto_;\ - return _inherit_->GetIndex(Temp,argc,argv,Dest);\ - }\ - virtual int GetInheritedMethod(LSOBJECTDATA &ObjectData, char *Method, int argc, char *argv[])\ - {\ - LSOBJECTDATA Temp;\ - _convertto_;\ - int Ret=_inherit_->GetMethodEx(Temp,Method,argc,argv);\ - if (Ret>0)\ - {\ - _convertfrom_;\ - }\ - return Ret;\ +#define INHERITINDIRECT(_inherit_, _convertto_, _convertfrom_) \ + virtual int GetInheritedMember(LSOBJECTDATA ObjectData, char *Member, int argc, char *argv[], LSOBJECT &Dest) \ + { \ + LSOBJECTDATA Temp; \ + _convertto_; \ + return _inherit_->GetMemberEx(Temp, Member, argc, argv, Dest); \ + } \ + virtual int GetInheritedIndex(LSOBJECTDATA ObjectData, int argc, char *argv[], LSOBJECT &Dest) \ + { \ + LSOBJECTDATA Temp; \ + _convertto_; \ + return _inherit_->GetIndex(Temp, argc, argv, Dest); \ + } \ + virtual int GetInheritedMethod(LSOBJECTDATA &ObjectData, char *Method, int argc, char *argv[]) \ + { \ + LSOBJECTDATA Temp; \ + _convertto_; \ + int Ret = _inherit_->GetMethodEx(Temp, Method, argc, argv); \ + if (Ret > 0) \ + { \ + _convertfrom_; \ + } \ + return Ret; \ } class LSTypeDefinition @@ -327,28 +333,34 @@ public: inline void InitializeMembers(PLSTYPEMEMBER MemberArray) { - for (unsigned int i = 0 ; MemberArray[i].ID ; i++) + for (unsigned int i = 0; MemberArray[i].ID; i++) { - AddMember(MemberArray[i].ID,MemberArray[i].Name); + AddMember(MemberArray[i].ID, MemberArray[i].Name); } } virtual ~LSTypeDefinition(); - virtual bool __declspec(deprecated) FromString(LSOBJECTDATA &ObjectData, char *Source) {return false;} + virtual bool __declspec(deprecated) FromString(LSOBJECTDATA &ObjectData, char *Source) { return false; } - virtual bool FromText(LSOBJECTDATA &ObjectData, int argc, char *argv[]);// calls the other FromText by default. + virtual bool FromText(LSOBJECTDATA &ObjectData, int argc, char *argv[]); // calls the other FromText by default. - virtual bool FromText(LSOBJECTDATA &ObjectData, char *Source) + virtual bool FromText(LSOBJECTDATA &ObjectData, char *Source) { -#pragma warning( push ) -#pragma warning( disable : 4996 ) - return FromString(ObjectData,Source); -#pragma warning( pop ) +#pragma warning(push) +#pragma warning(disable : 4996) + return FromString(ObjectData, Source); +#pragma warning(pop) } - virtual void InitVariable(LSOBJECTDATA &ObjectData) {ObjectData.Int64=0;} - virtual bool InitVariable(LSOBJECTDATA &ObjectData, const char *SubType) {if (SubType && SubType[0]) return false; InitVariable(ObjectData); return true;} + virtual void InitVariable(LSOBJECTDATA &ObjectData) { ObjectData.Int64 = 0; } + virtual bool InitVariable(LSOBJECTDATA &ObjectData, const char *SubType) + { + if (SubType && SubType[0]) + return false; + InitVariable(ObjectData); + return true; + } virtual void FreeVariable(LSOBJECTDATA &ObjectData) {} @@ -363,27 +375,26 @@ public: virtual bool GetMember(LSOBJECTDATA ObjectData, PLSTYPEMEMBER pMember, int argc, char *argv[], LSOBJECT &Dest) { -#pragma warning( push ) -#pragma warning( disable : 4996 ) - return GetMember(ObjectData,pMember->Name,argc,argv,Dest); -#pragma warning( pop ) +#pragma warning(push) +#pragma warning(disable : 4996) + return GetMember(ObjectData, pMember->Name, argc, argv, Dest); +#pragma warning(pop) } virtual bool GetMethod(LSOBJECTDATA &ObjectData, PLSTYPEMETHOD pMethod, int argc, char *argv[]) { -#pragma warning( push ) -#pragma warning( disable : 4996 ) - return GetMethod(ObjectData,pMethod->Name,argc,argv); -#pragma warning( pop ) +#pragma warning(push) +#pragma warning(disable : 4996) + return GetMethod(ObjectData, pMethod->Name, argc, argv); +#pragma warning(pop) } virtual int GetIndex(LSOBJECTDATA ObjectData, int argc, char *argv[], LSOBJECT &Dest) { - return GetInheritedIndex(ObjectData,argc,argv,Dest); -/* // SAMPLE - // This will let the index automatically access a member called GetIndex - return GetMemberEx(ObjectData,"GetIndex",argc,argv,Dest); -/**/ - + return GetInheritedIndex(ObjectData, argc, argv, Dest); + /* // SAMPLE + // This will let the index automatically access a member called GetIndex + return GetMemberEx(ObjectData,"GetIndex",argc,argv,Dest); + /**/ } virtual int GetMemberEx(LSOBJECTDATA ObjectData, char *Member, int argc, char *argv[], LSOBJECT &Dest); @@ -392,63 +403,60 @@ public: virtual int GetInheritedIndex(LSOBJECTDATA ObjectData, int argc, char *argv[], LSOBJECT &Dest) { return -1; -/* // SAMPLE - // convert ObjectData to inherited type - ObjectData.Ptr=((string*)ObjectData.Ptr)->c_str(); - // try inherited type - return pStringType->GetIndex(ObjectData,argc,argv,Dest); -/**/ + /* // SAMPLE + // convert ObjectData to inherited type + ObjectData.Ptr=((string*)ObjectData.Ptr)->c_str(); + // try inherited type + return pStringType->GetIndex(ObjectData,argc,argv,Dest); + /**/ } - virtual int GetInheritedMember(LSOBJECTDATA ObjectData, char *Member, int argc, char *argv[], LSOBJECT &Dest) { - return -1; -/* // SAMPLE - // convert ObjectData to inherited type - ObjectData.Ptr=((string*)ObjectData.Ptr)->c_str(); - // try inherited type - return pStringType->GetMemberEx(ObjectData,Member,argc,argv,Dest); -/**/ + return -1; + /* // SAMPLE + // convert ObjectData to inherited type + ObjectData.Ptr=((string*)ObjectData.Ptr)->c_str(); + // try inherited type + return pStringType->GetMemberEx(ObjectData,Member,argc,argv,Dest); + /**/ } virtual int GetInheritedMethod(LSOBJECTDATA &ObjectData, char *Method, int argc, char *argv[]) { return -1; -/* - // SAMPLE: Direct conversion - return pStringType->GetMethodEx(ObjectData,argc,argv); + /* + // SAMPLE: Direct conversion + return pStringType->GetMethodEx(ObjectData,argc,argv); - // SAMPLE: Special conversion required - // make temporary ObjectData for inherited type - LSOBJECTDATA Temp; - Temp.Ptr=((string*)ObjectData.Ptr)->c_str(); - // try inherited type - int Ret=pStringType->GetMethodEx(Temp,Method,argc,argv); - if (Ret>0) - { - // string changed, replace old string - ((string*)ObjectData.Ptr)->assign(Temp.CharPtr); - } - return Ret; -/**/ + // SAMPLE: Special conversion required + // make temporary ObjectData for inherited type + LSOBJECTDATA Temp; + Temp.Ptr=((string*)ObjectData.Ptr)->c_str(); + // try inherited type + int Ret=pStringType->GetMethodEx(Temp,Method,argc,argv); + if (Ret>0) + { + // string changed, replace old string + ((string*)ObjectData.Ptr)->assign(Temp.CharPtr); + } + return Ret; + /**/ } - virtual bool ToText(LSOBJECTDATA ObjectData, char *buf, unsigned int buflen) { -#pragma warning( push ) -#pragma warning( disable : 4996 ) - return ToText(ObjectData,buf); -#pragma warning( pop ) +#pragma warning(push) +#pragma warning(disable : 4996) + return ToText(ObjectData, buf); +#pragma warning(pop) } - virtual bool __declspec(deprecated) ToText(LSOBJECTDATA ObjectData, char *Destination) { -#pragma warning( push ) -#pragma warning( disable : 4996 ) - return ToString(ObjectData,Destination); -#pragma warning( pop ) +#pragma warning(push) +#pragma warning(disable : 4996) + return ToString(ObjectData, Destination); +#pragma warning(pop) } virtual bool __declspec(deprecated) ToString(LSOBJECTDATA ObjectData, char *Destination) @@ -456,8 +464,8 @@ public: return false; } - inline char *GetName() {return &TypeName[0];} - inline LSTypeDefinition *GetInheritance() {return pInherits;} + inline char *GetName() { return &TypeName[0]; } + inline LSTypeDefinition *GetInheritance() { return pInherits; } char *GetMemberName(unsigned int ID); bool GetMemberID(char *Name, unsigned int &Result); @@ -479,20 +487,20 @@ public: unsigned int RegisterVariable(struct _LSTypeVariable *); inline struct _LSTypeVariable *GetVariableByID(unsigned int ID) { - map::iterator i=Variables.find(ID); - if (i!=Variables.end()) + map::iterator i = Variables.find(ID); + if (i != Variables.end()) return i->second; return 0; } void UnregisterVariable(unsigned int ID); - virtual bool AddMember(unsigned int ID, char *Name, fLSTypeMember Callback=0); - virtual bool AddMember(char *Name, fLSTypeMember Callback=0); - virtual bool RemoveMember(char *Name, fLSTypeMember Callback=0); + virtual bool AddMember(unsigned int ID, char *Name, fLSTypeMember Callback = 0); + virtual bool AddMember(char *Name, fLSTypeMember Callback = 0); + virtual bool RemoveMember(char *Name, fLSTypeMember Callback = 0); - virtual bool AddMethod(unsigned int ID, char *Name, fLSTypeMethod Callback=0); - virtual bool AddMethod(char *Name, fLSTypeMethod Callback=0); - virtual bool RemoveMethod(char *Name, fLSTypeMethod Callback=0); + virtual bool AddMethod(unsigned int ID, char *Name, fLSTypeMethod Callback = 0); + virtual bool AddMethod(char *Name, fLSTypeMethod Callback = 0); + virtual bool RemoveMethod(char *Name, fLSTypeMethod Callback = 0); unsigned int EnumMembers(fLSGenericEnumCallback Callback, void *pData); unsigned int EnumMethods(fLSGenericEnumCallback Callback, void *pData); @@ -500,16 +508,16 @@ public: protected: char TypeName[32]; CIndex Members; - map MemberMap; + map MemberMap; CIndex Methods; - map MethodMap; + map MethodMap; LSTypeDefinition *pInherits; unsigned int NextMethodID; unsigned int NextMemberID; unsigned int NextVariableID; - map Variables; + map Variables; bool bShutdown; }; @@ -518,8 +526,8 @@ class CLSObject : public LSOBJECT public: CLSObject() { - Int64=0; - Type=0; + Int64 = 0; + Type = 0; } ~CLSObject() { @@ -530,16 +538,16 @@ public: if (Type) { Type->FreeVariable(GetObjectData()); - Type=0; + Type = 0; } } - bool Initialize(LSTypeDefinition *pType, const char *SubType, int argc=0, char *argv[]=0) + bool Initialize(LSTypeDefinition *pType, const char *SubType, int argc = 0, char *argv[] = 0) { if (Type) Reset(); if (!pType) return false; - pType=pType->GetVariableType(); + pType = pType->GetVariableType(); if (!pType) return false; if (!pType->InitVariable(GetObjectData(), SubType)) @@ -549,12 +557,11 @@ public: pType->FreeVariable(GetObjectData()); return false; } - Type=pType; + Type = pType; return true; } }; - #define LSType LSTypeDefinition #endif -#pragma warning( pop ) +#pragma warning(pop) diff --git a/scripts/bot_controller.iss b/scripts/bot_controller.iss index b619814..5986aea 100644 --- a/scripts/bot_controller.iss +++ b/scripts/bot_controller.iss @@ -1,6 +1,8 @@ objectdef MRBotController { variable string test = "just a test" + variable string StartButtonText = "Start" + variable string SettingsButtonText = "Show Settings" method Initialize() { LGUI2:LoadPackageFile["${LavishScript.HomeDirectory}/scripts/mr/ui/bot_window.json"] @@ -15,6 +17,16 @@ objectdef MRBotController { Event[MRBot_OnCloseButtonClicked]:Execute } + + method ToggleBot() + { + Event[MRBot_OnToggleBotButtonClicked]:Execute + } + + method ToggleSettings() + { + Event[MRBot_OnSettingsButtonClicked]:Execute + } } variable(global) MRBotController BotController diff --git a/src/Api/MrBotApi.cpp b/src/Api/MrBotApi.cpp index 79e3969..a059644 100644 --- a/src/Api/MrBotApi.cpp +++ b/src/Api/MrBotApi.cpp @@ -4,13 +4,18 @@ #include "MrBotApi.h" -void MrBotApi::AcceptReward(const string &forWho, const u_short selection) const { - if (!IsForMe(forWho)) return; - if (selection < 1) return; +void MrBotApi::AcceptReward(const string &forWho, const u_short selection) const +{ + if (!IsForMe(forWho)) + return; + if (selection < 1) + return; } -void MrBotApi::ActorClick(const string &forWho, const string &actorName, bool exactMatch) const { - if (!IsForMe(forWho)) return; - if (actorName.empty()) return; +void MrBotApi::ActorClick(const string &forWho, const string &actorName, bool exactMatch) const +{ + if (!IsForMe(forWho)) + return; + if (actorName.empty()) + return; } - diff --git a/src/Commands.cpp b/src/Commands.cpp index f9d2df6..badf14a 100644 --- a/src/Commands.cpp +++ b/src/Commands.cpp @@ -6,45 +6,52 @@ #include "Logger.h" #include "Tasks/BotTask.h" #include "Tasks/ExportAbilitiesTask.h" +#include "isxeq2/ExtensionTLOs.h" - -TaskTypeEnum GetTaskType(const std::string &command) { - if (command == "export" || command == "e") { +TaskTypeEnum GetTaskType(const std::string &command) +{ + if (command == "export" || command == "e") + { return TaskTypeEnum::Export; } - if (command == "test" || command == "t") { + if (command == "test" || command == "t") + { return TaskTypeEnum::Test; } - if (command == "bot" || command == "b") { + if (command == "bot" || command == "b") + { return TaskTypeEnum::Bot; } return TaskTypeEnum::NotDefined; } - -int CMD_Mr(int argc, char *argv[]) { +int CMD_Mr(int argc, char *argv[]) +{ const argh::parser cmdl(argv); const auto taskType = GetTaskType(cmdl[1]); - if (executor.IsTaskTypeRunning(taskType)) { + if (executor.IsTaskTypeRunning(taskType)) + { logw << "Task of type " << cmdl[1] << " is already running" << std::endl; return 0; } - switch (taskType) { - case TaskTypeEnum::Export: - executor.AddTask(std::make_shared()); - break; - case TaskTypeEnum::Bot: - executor.AddTask(BotTask::Instance()); - break; - case TaskTypeEnum::Test: - log << LogLevel::Info << "Test command" << std::endl; - break; - default: - logw << "USAGE: mr [e|export]: Export abilities\n" - << " mr [b|bot]: Run the combat bot" << std::endl; - break; + switch (taskType) + { + case TaskTypeEnum::Export: + executor.AddTask(std::make_shared()); + break; + case TaskTypeEnum::Bot: + executor.AddTask(BotTask::Instance()); + break; + case TaskTypeEnum::Test: + // const auto target = ExtensionTLOs::Actor().GetActorById(ExtensionTLOs::Me().Target().Id()); + log << LogLevel::Info << "Test command" << std::endl; + break; + default: + logw << "USAGE: mr [e|export]: Export abilities\n" + << " mr [b|bot]: Run the combat bot" << std::endl; + break; } // if (cmdl[{"-e", "--export"}]) { diff --git a/src/Commands.h b/src/Commands.h index 29cb135..7e7da39 100644 --- a/src/Commands.h +++ b/src/Commands.h @@ -1,17 +1,12 @@ #ifndef COMMAND #define COMMAND_SELF -#define COMMAND(name,cmd,parse,hide) extern int cmd(int argc, char *argv[]) +#define COMMAND(name, cmd, parse, hide) extern int cmd(int argc, char *argv[]) #endif // ---------------------------------------------------- // commands // sample -COMMAND("Mr",CMD_Mr,true,false); - - - - - +COMMAND("Mr", CMD_Mr, true, false); // ---------------------------------------------------- #ifdef COMMAND_SELF diff --git a/src/DataTypeList.h b/src/DataTypeList.h index ad1da6e..5899cbb 100644 --- a/src/DataTypeList.h +++ b/src/DataTypeList.h @@ -1,24 +1,13 @@ #ifndef DATATYPE #define DATATYPE_SELF -#define DATATYPE(_class_,_variable_,_inherits_) extern class _class_ *_variable_ +#define DATATYPE(_class_, _variable_, _inherits_) extern class _class_ *_variable_ #endif + +#include "DataTypes/MrBotApiType.h" + // ---------------------------------------------------- // data types -// sample data type is the MrType class, and we're making a variable called pMrType. -// this type does not inherit from another type, so we use 0. If it did inherit from another single type, -// we would use the pointer to the definition of that type, such as pStringType - - - - - - - - - - - // ---------------------------------------------------- #ifdef DATATYPE_SELF #undef DATATYPE_SELF diff --git a/src/DataTypes/MrBotApiType.cpp b/src/DataTypes/MrBotApiType.cpp new file mode 100644 index 0000000..0a19bbd --- /dev/null +++ b/src/DataTypes/MrBotApiType.cpp @@ -0,0 +1,91 @@ +#include "MrBotApiType.h" + +unique_ptr MrBotApiType::pMrBotApi = make_unique(); + +bool MrBotApiType::GetMember(LSOBJECTDATA ObjectData, PLSTYPEMEMBER pMember, int argc, char *argv[], LSOBJECT &Dest) +{ + if (ObjectData.Ptr == nullptr) + { + return false; + } + + const auto theMember = memberMap.find(static_cast(pMember->ID)); + if (theMember == memberMap.end()) + { + return false; + } + + return theMember->second(argc, argv, Dest); +} + +bool MrBotApiType::GetMethod(LSOBJECTDATA &ObjectData, PLSTYPEMEMBER pMethod, int argc, char *argv[]) +{ + if (ObjectData.Ptr == nullptr) + { + return false; + } + + const auto theMethod = methodMap.find(static_cast(pMethod->ID)); + if (theMethod == methodMap.end()) + { + return false; + } + + return theMethod->second(argc, argv); +} + +bool MrBotApiType::ToText(LSOBJECTDATA ObjectData, char *buf, unsigned int buflen) +{ + return false; +} + +// Members +bool MrBotApiType::Version(const std::vector &args, LSOBJECT &dest) +{ + dest.ConstCharPtr = "0.1.0"; + dest.Type = pStringType; + return true; +} + +// Methods +bool MrBotApiType::ClickActorByName(const std::vector &args) +{ + if (args.size() != 1) + { + logw << "MrBotApiType::ClickActorByName: Expected 1 argument, got " << args.size() << std::endl; + return false; + } + + const std::string &name = args[0]; + log << "MrBotApiType::ClickActorByName " << name << std::endl; + const auto actor = ExtensionTLOs::Actor().GetActorByName(name); + if (!actor.has_value()) + { + logw << "MrBotApiType::ClickActorByName: Actor not found: " << name << std::endl; + return false; + } + // actor->DoubleClick(); + return true; +} + +bool MrBotApiType::ClickActorById(const std::vector &args) +{ + if (args.size() != 1) + { + logw << "MrBotApiType::ClickActorById: Expected 1 argument, got " << args.size() << std::endl; + return false; + } + + log << "MrBotApiType::ClickActorById " << args[0] << std::endl; + const auto actor = ExtensionTLOs::Actor().GetActorById(std::stoul(args[0])); + + if (!actor.has_value()) + { + logw << "MrBotApiType::ClickActorById: Actor not found: " << args[0] << std::endl; + return false; + } + + log << "MrBotApiType::ClickActorById: Actor found: " << actor->Name() << std::endl; + + actor->DoubleClick(); +} diff --git a/src/DataTypes/MrBotApiType.h b/src/DataTypes/MrBotApiType.h new file mode 100644 index 0000000..68bb979 --- /dev/null +++ b/src/DataTypes/MrBotApiType.h @@ -0,0 +1,103 @@ +#pragma once + +#include +#include +#include "../isxeq2/ExtensionTLOs.h" + +#define ADD_MEMBER_TO_MAP(EnumType, memberName, expectedArgc) \ + AddMember(static_cast(EnumType::memberName), const_cast(#memberName)); \ + memberMap[EnumType::memberName] = [this](int argc, char *argv[], LSOBJECT &dest) { \ + if (argc != expectedArgc) \ + { \ + logw << "MrBotApiType::GetMember: " #memberName ": Expected " << expectedArgc \ + << " argument(s), got " << argc << std::endl; \ + return false; \ + } \ + log << "MrBotApiType::GetMember: " #memberName << std::endl; \ + std::vector args(argv, argv + argc); \ + return memberName(args, dest); \ + } + +#define ADD_METHOD_TO_MAP(EnumType, methodName, expectedArgc) \ + AddMethod(static_cast(EnumType::methodName), const_cast(#methodName)); \ + methodMap[EnumType::methodName] = [this](int argc, char *argv[]) { \ + if (argc != expectedArgc) \ + { \ + logw << "MrBotApiType::GetMethod: " #methodName ": Expected " << expectedArgc \ + << " argument(s), got " << argc << std::endl; \ + return false; \ + } \ + log << "MrBotApiType::GetMethod: " #methodName << std::endl; \ + std::vector args(argv, argv + argc); \ + return methodName(args); \ + } + +class MrBotApiType : public LSTypeDefinition +{ +public: + enum class MrBotApiTypeMembers + { + Version + }; + + enum class MrBotApiTypeMethods + { + ClickActorByName, + ClickActorById + }; + + MrBotApiType() : LSTypeDefinition(const_cast("mrbotapi")) + { + ADD_MEMBER_TO_MAP(MrBotApiTypeMembers, Version, 0); + ADD_METHOD_TO_MAP(MrBotApiTypeMethods, ClickActorByName, 1); + ADD_METHOD_TO_MAP(MrBotApiTypeMethods, ClickActorById, 1); + } + + virtual bool GetMember(LSOBJECTDATA ObjectData, PLSTYPEMEMBER pMember, int argc, char *argv[], LSOBJECT &Dest); + virtual bool GetMethod(LSOBJECTDATA &ObjectData, PLSTYPEMEMBER pMethod, int argc, char *argv[]); + virtual bool ToText(LSOBJECTDATA ObjectData, char *buf, unsigned int buflen); + + static void RegisterType(ISInterface *pISInterface) + { + pISInterface->AddLSType(*pMrBotApi); + pMrBotApi->SetInheritance(nullptr); + } + + static void RemoveType(ISInterface *pISInterface) + { + pISInterface->RemoveLSType(*pMrBotApi); + } + + static bool __cdecl TLO_MrBotApiType(int argc, char *argv[], LSOBJECT &Dest) + { + Dest.DWord = 1; + Dest.Type = pMrBotApi.get(); + return true; + } + + static void RegisterTLO(ISInterface *pISInterface) + { + pISInterface->AddTopLevelObject(const_cast("MrBotApi"), MrBotApiType::TLO_MrBotApiType); + } + + static void RemoveTLO(ISInterface *pISInterface) + { + pISInterface->RemoveTopLevelObject(const_cast("MrBotApi")); + } + +private: + // Members + bool Version(const std::vector &args, LSOBJECT &dest); + // Methods + bool ClickActorByName(const std::vector &args); + bool ClickActorById(const std::vector &args); + + static unique_ptr pMrBotApi; + using MethodFunc = std::function; + std::map methodMap; + using MemberFunc = std::function; + std::map memberMap; +}; + +#undef ADD_MEMBER_TO_MAP +#undef ADD_METHOD_TO_MAP diff --git a/src/ISXMr.cpp b/src/ISXMr.cpp index 9bfc032..0ad9c66 100644 --- a/src/ISXMr.cpp +++ b/src/ISXMr.cpp @@ -4,10 +4,10 @@ // Version guideline: YYYYMMDD // Add lettering to the end to indicate a new version on the same date, such as 20060305a, 20060305b, etc -// You can also use a standard version numbering system such as 1.00, 1.01, etc. -// Be aware that for the versioning system, this text is simply compared to another version text from the -// same extension to check for new versions -- if this version text comes before the compared text (in a -// dictionary), then an update is available. Equal text means the version is up to date. After means this +// You can also use a standard version numbering system such as 1.00, 1.01, etc. +// Be aware that for the versioning system, this text is simply compared to another version text from the +// same extension to check for new versions -- if this version text comes before the compared text (in a +// dictionary), then an update is available. Equal text means the version is up to date. After means this // is newer than the compared version. With that said, use whatever version numbering system you'd like. #define EXTENSION_VERSION "20060617" @@ -20,10 +20,9 @@ #include "Logger.h" #include "isxeq2/Character.h" -#include "../lgui2/test.json.h" -#include "../scripts/bot.iss.h" +#include "DataTypes/MrBotApiType.h" #include "Tasks/TaskExecutor.h" -#pragma comment(lib,"isxdk.lib") +#pragma comment(lib, "isxdk.lib") // The mandatory pre-setup function. Our name is "ISXMr", and the class is ISXMr. // This sets up a "ModulePath" variable which contains the path to this module in case we want it, // and a "PluginLog" variable, which contains the path and filename of what we should use for our @@ -66,21 +65,23 @@ void __cdecl HTTPService(bool Broadcast, unsigned int MSG, void *lpData); void __cdecl SystemService(bool Broadcast, unsigned int MSG, void *lpData); - // The constructor of our class. General initialization cannot be done yet, because we're not given // the pointer to the Inner Space interface until it is ready for us to initialize. Just set the // pointer we have to the interface to 0. Initialize data members, too. -ISXMr::ISXMr(void) { +ISXMr::ISXMr(void) +{ } // Free any remaining resources in the destructor. This is called when the DLL is unloaded, but // Inner Space calls the "Shutdown" function first. Most if not all of the shutdown process should // be done in Shutdown. -ISXMr::~ISXMr(void) { +ISXMr::~ISXMr(void) +{ } // Initialize is called by Inner Space when the extension should initialize. -bool ISXMr::Initialize(ISInterface *p_ISInterface) { +bool ISXMr::Initialize(ISInterface *p_ISInterface) +{ /* * Most of the functionality in Initialize is completely optional and could be removed or * changed if so desired. The defaults are simply a suggestion that can be easily followed. @@ -103,7 +104,6 @@ bool ISXMr::Initialize(ISInterface *p_ISInterface) { // file.write(reinterpret_cast(test_json), test_json_len); // file.close(); - //__try // exception handling. See __except below. { // Keep a global copy of the ISInterface pointer, which is for calling Inner Space API @@ -132,6 +132,7 @@ bool ISXMr::Initialize(ISInterface *p_ISInterface) { // Register LavishScript extensions (commands, aliases, data types, objects) RegisterCommands(); RegisterAliases(); + RegisterDataTypes(); RegisterTopLevelObjects(); RegisterEvents(); @@ -175,8 +176,9 @@ bool ISXMr::Initialize(ISInterface *p_ISInterface) { } // shutdown sequence -void ISXMr::Shutdown() { - logw << "Shutting down" << endl; +void ISXMr::Shutdown() +{ + logw << "Shutting down!" << endl; executor.Shutdown(); // Disconnect from services we connected to DisconnectServices(); @@ -185,6 +187,7 @@ void ISXMr::Shutdown() { UnRegisterServices(); // Remove LavishScript extensions (commands, aliases, data types, objects) + UnRegisterDataTypes(); UnRegisterTopLevelObjects(); UnRegisterAliases(); UnRegisterCommands(); @@ -196,7 +199,8 @@ void ISXMr::Shutdown() { * All others are for suggested breakdown of routines, and for example purposes. */ -void ISXMr::RegisterExtension() { +void ISXMr::RegisterExtension() +{ // add this extension to, or update this extension's info in, InnerSpace.xml. // This accomplishes a few things. A) The extension can be loaded by name (ISXMr) // no matter where it resides on the system. B) A script or extension can @@ -204,7 +208,8 @@ void ISXMr::RegisterExtension() { // if necessary) unsigned int ExtensionSetGUID = pISInterface->GetExtensionSetGUID("ISXMr"); - if (!ExtensionSetGUID) { + if (!ExtensionSetGUID) + { ExtensionSetGUID = pISInterface->CreateExtensionSet("ISXMr"); if (!ExtensionSetGUID) return; @@ -214,7 +219,8 @@ void ISXMr::RegisterExtension() { pISInterface->SetSetting(ExtensionSetGUID, "Version", Mr_Version); } -void ISXMr::ConnectServices() { +void ISXMr::ConnectServices() +{ // connect to any services. Here we connect to "Pulse" which receives a // message every frame (after the frame is displayed) and "Memory" which // wraps "detours" and memory modifications @@ -235,38 +241,41 @@ void ISXMr::ConnectServices() { hSystemService = pISInterface->ConnectService(this, "System", SystemService); } -void ISXMr::RegisterCommands() { +void ISXMr::RegisterCommands() +{ // add any commands // pISInterface->AddCommand("ISXMr",CMD_ISXMr,true,false); -#define COMMAND(name,cmd,parse,hide) pISInterface->AddCommand(name,cmd,parse,hide); +#define COMMAND(name, cmd, parse, hide) pISInterface->AddCommand(name, cmd, parse, hide); #include "Commands.h" #undef COMMAND } -void ISXMr::RegisterAliases() { +void ISXMr::RegisterAliases() +{ // add any aliases } -void ISXMr::RegisterDataTypes() { - // add any datatypes - // pMyType = new MyType; - // pISInterface->AddLSType(*pMyType); +MrBotApiType *pMrBotApi = nullptr; - -#define DATATYPE(_class_,_variable_,_inherits_) _variable_ = new _class_; pISInterface->AddLSType(*_variable_); _variable_->SetInheritance(_inherits_); -#include "DataTypeList.h" -#undef DATATYPE +void ISXMr::RegisterDataTypes() +{ + logw << "ISXMr::RegisterDataTypes" << endl; + MrBotApiType::RegisterType(pISInterface); } -void ISXMr::RegisterTopLevelObjects() { +void ISXMr::RegisterTopLevelObjects() +{ + logw << "ISXMr::RegisterDataTypes" << endl; // add any Top-Level Objects - //pISInterface->AddTopLevelObject("ISXMr",TLO_ISXMr); -#define TOPLEVELOBJECT(name,funcname) pISInterface->AddTopLevelObject(name,funcname); -#include "TopLevelObjects.h" -#undef TOPLEVELOBJECT + // pISInterface->AddTopLevelObject("ISXMr",TLO_ISXMr); + // #define TOPLEVELOBJECT(name, funcname) pISInterface->AddTopLevelObject(name, funcname); + // #include "TopLevelObjects.h" + // #undef TOPLEVELOBJECT + MrBotApiType::RegisterTLO(pISInterface); } -void ISXMr::RegisterServices() { +void ISXMr::RegisterServices() +{ // register any services. Here we demonstrate a service that does not use a // callback // set up a 1-way service (broadcast only) @@ -274,21 +283,24 @@ void ISXMr::RegisterServices() { // broadcast a message, which is worthless at this point because nobody will receive it // (nobody has had a chance to connect) // pISInterface->ServiceBroadcast(this,hISXMrService,ISXSERVICE_MSG+1,0); -#define SERVICE(_name_,_callback_,_variable_) _variable_=pISInterface->RegisterService(this,_name_,_callback_); +#define SERVICE(_name_, _callback_, _variable_) _variable_ = pISInterface->RegisterService(this, _name_, _callback_); #include "Services.h" #undef SERVICE } -void ISXMr::RegisterTriggers() { +void ISXMr::RegisterTriggers() +{ // add any Triggers } unsigned int onGetTargetEventId = 0; unsigned int onCloseButtonClickedEventId = 0; -void __cdecl OnGetTargetEvent(int argc, char *argv[], PLSOBJECT lsObj) { +void __cdecl OnGetTargetEvent(int argc, char *argv[], PLSOBJECT lsObj) +{ const auto me = pISInterface->IsTopLevelObject("Me"); - if (me != nullptr) { + if (me != nullptr) + { LSOBJECT response; me(0, nullptr, response); auto characterObject = make_shared(LSObject(response)); @@ -300,21 +312,23 @@ void __cdecl OnGetTargetEvent(int argc, char *argv[], PLSOBJECT lsObj) { printf("Target: %s", targetName.c_str()); LSOBJECT controller; pISInterface->DataParse("MRBotController", controller); - //printf("Controller Type: %s", controller.Type->GetName()); + // printf("Controller Type: %s", controller.Type->GetName()); LSOBJECT targetObj; controller.Type->GetMemberEx(controller.GetObjectData(), const_cast("target"), 0, nullptr, targetObj); - //printf("Target Type: %s", targetObj.Type->GetName()); + // printf("Target Type: %s", targetObj.Type->GetName()); auto targetNameCstr = const_cast(targetName.c_str()); targetObj.Type->GetMethodEx(targetObj.GetObjectData(), const_cast("Set"), 1, &targetNameCstr); } printf("OnGetTargetEvent"); } -void __cdecl OnCloseButtonClicked(int argc, char *argv[], PLSOBJECT lsObj) { +void __cdecl OnCloseButtonClicked(int argc, char *argv[], PLSOBJECT lsObj) +{ printf("OnCloseButtonClicked"); } -void ISXMr::RegisterEvents() { +void ISXMr::RegisterEvents() +{ // onGetTargetEventId = pISInterface->RegisterEvent("OnGetTarget"); // pISInterface->AttachEventTarget(onGetTargetEventId, OnGetTargetEvent); // @@ -322,66 +336,76 @@ void ISXMr::RegisterEvents() { // pISInterface->AttachEventTarget(onCloseButtonClickedEventId, OnCloseButtonClicked); } -void ISXMr::DisconnectServices() { +void ISXMr::DisconnectServices() +{ // gracefully disconnect from services if (hPulseService) pISInterface->DisconnectService(this, hPulseService); - if (hMemoryService) { + if (hMemoryService) + { pISInterface->DisconnectService(this, hMemoryService); // memory modifications are automatically undone when disconnecting // also, since this service accepts messages from clients we should reset our handle to // 0 to make sure we dont try to continue using it hMemoryService = 0; } - if (hHTTPService) { + if (hHTTPService) + { pISInterface->DisconnectService(this, hHTTPService); } - if (hTriggerService) { + if (hTriggerService) + { pISInterface->DisconnectService(this, hTriggerService); } - if (hSystemService) { + if (hSystemService) + { pISInterface->DisconnectService(this, hSystemService); } } -void ISXMr::UnRegisterCommands() { +void ISXMr::UnRegisterCommands() +{ // remove commands // pISInterface->RemoveCommand("ISXMr"); -#define COMMAND(name,cmd,parse,hide) pISInterface->RemoveCommand(name); +#define COMMAND(name, cmd, parse, hide) pISInterface->RemoveCommand(name); #include "Commands.h" #undef COMMAND } -void ISXMr::UnRegisterAliases() { +void ISXMr::UnRegisterAliases() +{ // remove aliases } -void ISXMr::UnRegisterDataTypes() { - // remove data types -#define DATATYPE(_class_,_variable_,_inherits_) pISInterface->RemoveLSType(*_variable_); delete _variable_; -#include "DataTypeList.h" -#undef DATATYPE +void ISXMr::UnRegisterDataTypes() +{ + logw << "ISXMr::UnRegisterDataTypes" << endl; + MrBotApiType::RemoveType(pISInterface); } -void ISXMr::UnRegisterTopLevelObjects() { +void ISXMr::UnRegisterTopLevelObjects() +{ // remove Top-Level Objects // pISInterface->RemoveTopLevelObject("ISXMr"); -#define TOPLEVELOBJECT(name,funcname) pISInterface->RemoveTopLevelObject(name); -#include "TopLevelObjects.h" -#undef TOPLEVELOBJECT + // #define TOPLEVELOBJECT(name, funcname) pISInterface->RemoveTopLevelObject(name); + // #include "TopLevelObjects.h" + // #undef TOPLEVELOBJECT + MrBotApiType::RemoveTLO(pISInterface); } -void ISXMr::UnRegisterServices() { +void ISXMr::UnRegisterServices() +{ // shutdown our own services // if (hISXMrService) // pISInterface->ShutdownService(this,hISXMrService); -#define SERVICE(_name_,_callback_,_variable_) _variable_=pISInterface->ShutdownService(this,_variable_); +#define SERVICE(_name_, _callback_, _variable_) _variable_ = pISInterface->ShutdownService(this, _variable_); #include "Services.h" #undef SERVICE } -void ISXMr::UnRegisterEvents() { +void ISXMr::UnRegisterEvents() +{ // pISInterface->DetachEventTarget(onGetTargetEventId, OnGetTargetEvent); // pISInterface->UnregisterEvent(onGetTargetEventId); // @@ -391,11 +415,14 @@ void ISXMr::UnRegisterEvents() { TaskExecutor executor; -std::chrono::milliseconds interval(100);; +std::chrono::milliseconds interval(100); +; std::chrono::steady_clock::time_point nextCleanup = std::chrono::steady_clock::now() + interval; -void __cdecl PulseService(bool Broadcast, const unsigned int MSG, void *lpData) { - if (MSG == PULSE_PULSE) { +void __cdecl PulseService(bool Broadcast, const unsigned int MSG, void *lpData) +{ + if (MSG == PULSE_PULSE) + { // const auto logs = executor.GetAllLogs(); // if (!logs.empty()) { // pISInterface->Printf("Logs: %d", logs.size()); @@ -404,18 +431,23 @@ void __cdecl PulseService(bool Broadcast, const unsigned int MSG, void *lpData) // pISInterface->Printf("[%s]: %s", logEntry.GetFormattedTimestamp().c_str(), logEntry.message.c_str()); // } - if (const std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now(); now > nextCleanup) { - try { + if (const std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now(); now > nextCleanup) + { + try + { executor.RemoveFinishedTasks(); - } catch (const std::exception &e) { + } + catch (const std::exception &e) + { loge << "Error removing finished tasks: " << e.what() << endl; - } catch (...) { + } + catch (...) + { loge << "Unknown error removing finished tasks" << endl; } nextCleanup = now + interval; } - /* * "OnPulse" * This message is received by the extension before each frame is @@ -452,18 +484,22 @@ void __cdecl PulseService(bool Broadcast, const unsigned int MSG, void *lpData) } } -void __cdecl MemoryService(bool Broadcast, unsigned int MSG, void *lpData) { +void __cdecl MemoryService(bool Broadcast, unsigned int MSG, void *lpData) +{ // no messages are currently associated with this service (other than // system messages such as client disconnect), so do nothing. } -void __cdecl TriggerService(bool Broadcast, unsigned int MSG, void *lpData) { +void __cdecl TriggerService(bool Broadcast, unsigned int MSG, void *lpData) +{ // no messages are currently associated with this service (other than // system messages such as client disconnect), so do nothing. } -void __cdecl SystemService(bool Broadcast, unsigned int MSG, void *lpData) { - if (MSG == SYSTEMSERVICE_DIAGNOSTICS) { +void __cdecl SystemService(bool Broadcast, unsigned int MSG, void *lpData) +{ + if (MSG == SYSTEMSERVICE_DIAGNOSTICS) + { // Diagnostics sample /* FILE *file=(FILE*)lpData; @@ -475,19 +511,20 @@ void __cdecl SystemService(bool Broadcast, unsigned int MSG, void *lpData) { } } -void __cdecl HTTPService(bool Broadcast, unsigned int MSG, void *lpData) { - switch (MSG) { -#define pReq ((HttpFile*)lpData) - case HTTPSERVICE_FAILURE: - // HTTP request failed to retrieve document - printf("ISXMr URL %s failed",pReq->URL); - break; - case HTTPSERVICE_SUCCESS: - // HTTP request successfully retrieved document - printf("ISXMr URL %s -- %d bytes",pReq->URL,pReq->Size); +void __cdecl HTTPService(bool Broadcast, unsigned int MSG, void *lpData) +{ + switch (MSG) + { +#define pReq ((HttpFile *)lpData) + case HTTPSERVICE_FAILURE: + // HTTP request failed to retrieve document + printf("ISXMr URL %s failed", pReq->URL); + break; + case HTTPSERVICE_SUCCESS: + // HTTP request successfully retrieved document + printf("ISXMr URL %s -- %d bytes", pReq->URL, pReq->Size); // Retrieved data buffer is pReq->pBuffer and is null-terminated - break; + break; #undef pReq } } - diff --git a/src/Tasks/BotTask.cpp b/src/Tasks/BotTask.cpp index 8f61b36..a362d06 100644 --- a/src/Tasks/BotTask.cpp +++ b/src/Tasks/BotTask.cpp @@ -4,17 +4,16 @@ #include #include -#include "../../lgui2/UpdateUIPackageFile.h" -#include "../../lgui2/bot_window.json.h" -#include "../../lgui2/bot_cast_stack.json.h" -#include "../../scripts/bot_controller.iss.h" - +#include "UpdateUIPackageFile.h" +#include "lgui2.h" std::weak_ptr BotTask::instance; -std::shared_ptr BotTask::Instance() { +std::shared_ptr BotTask::Instance() +{ auto existingInstance = instance.lock(); - if (!existingInstance) { + if (!existingInstance) + { existingInstance = std::shared_ptr(new BotTask()); instance = existingInstance; } @@ -22,56 +21,96 @@ std::shared_ptr BotTask::Instance() { return existingInstance; } -BotTask::BotTask() { +BotTask::BotTask() +{ UpdateUIPackageFile( "bot_window.json", reinterpret_cast(bot_window_json), - bot_window_json_len, - bot_window_json_last_modified - ); + bot_window_json_size); - UpdateUIPackageFile( - "bot_cast_stack.json", - reinterpret_cast(bot_cast_stack_json), - bot_cast_stack_json_len, - bot_cast_stack_json_last_modified - ); + // UpdateUIPackageFile( + // "bot_cast_stack.json", + // reinterpret_cast(bot_cast_stack_json), + // bot_cast_stack_json_len, + // bot_cast_stack_json_last_modified + // ); - pISInterface->RunScriptFromBuffer( - ScriptName.c_str(), - reinterpret_cast(bot_controller_iss), - bot_controller_iss_len - ); + // pISInterface->RunScriptFromBuffer( + // ScriptName.c_str(), + // reinterpret_cast(bot_controller_iss), + // bot_controller_iss_len + // ); - botController = make_shared(LSObject::FromDataParse("${BotController}")); this->onCloseButtonClickedEventId = pISInterface->RegisterEvent(OnClosedEventName.c_str()); + this->onToggleBotButtonClickedEventId = pISInterface->RegisterEvent(ToggleBotEventName.c_str()); + this->onToggleSettingsButtonClickedEventId = pISInterface->RegisterEvent(ToggleSettingsEventName.c_str()); + pISInterface->AttachEventTarget(this->onCloseButtonClickedEventId, &BotTask::OnCloseEventHandler); + pISInterface->AttachEventTarget(this->onToggleBotButtonClickedEventId, + &BotTask::OnToggleBotEventHandler); + pISInterface->AttachEventTarget(this->onToggleSettingsButtonClickedEventId, + &BotTask::OnToggleSettingsEventHandler); } -void __cdecl BotTask::OnCloseEventHandler(int argc, char *argv[], PLSOBJECT plsObject) { +void __cdecl BotTask::OnCloseEventHandler(int argc, char *argv[], PLSOBJECT plsObject) +{ Instance()->Close(); } - -BotTask::~BotTask() { - const std::string bufferScriptName = "Buffer:" + ScriptName; - pISInterface->EndScript(bufferScriptName.c_str()); - pISInterface->DetachEventTarget(this->onCloseButtonClickedEventId, &BotTask::OnCloseEventHandler); - pISInterface->UnregisterEvent(this->onCloseButtonClickedEventId); +void __cdecl BotTask::OnToggleBotEventHandler(int argc, char *argv[], PLSOBJECT plsObject) +{ + Instance()->ToggleBot(); } -void BotTask::Execute() { - while (!this->stopRequested && !this->IsFinished()) { +void __cdecl BotTask::OnToggleSettingsEventHandler(int argc, char *argv[], PLSOBJECT plsObject) +{ + Instance()->ToggleSettings(); +} + +BotTask::~BotTask() +{ + pISInterface->DetachEventTarget(this->onCloseButtonClickedEventId, &BotTask::OnCloseEventHandler); + pISInterface->UnregisterEvent(this->onCloseButtonClickedEventId); + pISInterface->DetachEventTarget(this->onToggleBotButtonClickedEventId, &BotTask::OnToggleBotEventHandler); + pISInterface->UnregisterEvent(this->onToggleBotButtonClickedEventId); + pISInterface->DetachEventTarget(this->onToggleSettingsButtonClickedEventId, &BotTask::OnToggleSettingsEventHandler); + pISInterface->UnregisterEvent(this->onToggleSettingsButtonClickedEventId); + + const std::string bufferScriptName = "Buffer:" + ScriptName; + pISInterface->EndScript(bufferScriptName.c_str()); +} + +void BotTask::Execute() +{ + while (!this->stopRequested && !this->IsFinished()) + { // sleep for 100 ms std::this_thread::sleep_for(std::chrono::milliseconds(100)); } } -void BotTask::Close() { +void BotTask::Close() +{ this->MarkFinished(); } -TaskTypeEnum BotTask::TaskType() const { +void BotTask::ToggleBot() +{ + isBotRunning = !isBotRunning; + LSOBJECT obj; + pISInterface->DataParse("BotController.StartButtonText", obj); + auto stopStr = const_cast("Stop"); + char **argv = &stopStr; + obj.Type->GetMethodEx(obj.GetObjectData(), const_cast("Set"), 1, argv); + logw << "Type: " << obj.Type->GetName() << std::endl; +} + +void BotTask::ToggleSettings() +{ +} + +TaskTypeEnum BotTask::TaskType() const +{ return TaskTypeEnum::Bot; } diff --git a/src/Tasks/BotTask.h b/src/Tasks/BotTask.h index 5419da4..8354846 100644 --- a/src/Tasks/BotTask.h +++ b/src/Tasks/BotTask.h @@ -16,6 +16,10 @@ public: void Close(); + void ToggleBot(); + + void ToggleSettings(); + [[nodiscard]] TaskTypeEnum TaskType() const override; private: @@ -25,13 +29,22 @@ private: const std::string ScriptName = "MRBot"; const std::string OnClosedEventName = "MRBot_OnCloseButtonClicked"; + const std::string ToggleBotEventName = "MRBot_OnToggleBotButtonClicked"; + const std::string ToggleSettingsEventName = "MRBot_OnSettingsButtonClicked"; std::shared_ptr botController; std::shared_ptr settingsController; u_int onCloseButtonClickedEventId = 0; + u_int onToggleBotButtonClickedEventId = 0; + u_int onToggleSettingsButtonClickedEventId = 0; + bool isBotRunning = false; static void __cdecl OnCloseEventHandler(int argc, char *argv[], PLSOBJECT plsObject); + + static void __cdecl OnToggleBotEventHandler(int argc, char *argv[], PLSOBJECT plsObject); + + static void __cdecl OnToggleSettingsEventHandler(int argc, char *argv[], PLSOBJECT plsObject); }; #endif //BOTTASK_H diff --git a/src/Tasks/ExportAbilitiesTask.cpp b/src/Tasks/ExportAbilitiesTask.cpp index 397389d..ff356ab 100644 --- a/src/Tasks/ExportAbilitiesTask.cpp +++ b/src/Tasks/ExportAbilitiesTask.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include "ISXMr.h" #include "ExportAbilitiesTask.h" @@ -14,41 +14,42 @@ using namespace std; -AbilityInfo GetAbilityInfo(const int idx) { +AbilityInfo GetAbilityInfo(const int idx) +{ const auto ability = ExtensionTLOs::Me().Ability(idx); - while (!ability.IsAbilityInfoAvailable()) { + while (!ability.IsAbilityInfoAvailable()) + { std::this_thread::sleep_for(std::chrono::milliseconds(100)); } return ability.GetAbilityInfo(); } -void ExportAbilitiesTask::Execute() { - try { +void ExportAbilitiesTask::Execute() +{ + try + { log << "Exporting abilities" << endl; const auto numAbilities = ExtensionTLOs::Me().NumAbilities(); - auto abilityList = map >{}; - for (int i = 1; i <= numAbilities && !IsStopRequested(); ++i) { + auto abilityList = map>{}; + for (int i = 1; i <= numAbilities && !IsStopRequested(); ++i) + { std::this_thread::sleep_for(std::chrono::milliseconds(200)); - while (!ExtensionTLOs::Me().Ability(i).IsAbilityInfoAvailable() && !IsStopRequested()) { + while (!ExtensionTLOs::Me().Ability(i).IsAbilityInfoAvailable() && !IsStopRequested()) + { std::this_thread::sleep_for(std::chrono::milliseconds(200)); } - if (IsStopRequested()) { + if (IsStopRequested()) + { log << "Exporting abilities cancelled" << endl; return; } const auto exportedAbility = ExtensionTLOs::Me().Ability(i).ToExportedAbility(); log << "Exporting " << exportedAbility.Name << " (" << i << "/" << numAbilities << ")" << endl; - // ReSharper disable once CppTooWideScopeInitStatement const auto abilityLineName = StripTrailingRomanNumerals(exportedAbility.Name); abilityList[abilityLineName].push_back(exportedAbility); - // if (abilityList.contains(abilityLineName)) { - // - // } else { - // abilityList[abilityLineName] = vector{exportedAbility}; - // } } constexpr size_t innerspacePathBufferLength = 255; @@ -56,31 +57,33 @@ void ExportAbilitiesTask::Execute() { const filesystem::path innerspacePath = pISInterface->GetInnerSpacePath( innerspacePathBuffer, innerspacePathBufferLength); ostringstream filename; - filename << - ExtensionTLOs::Me().Name() << - "_" << - ExtensionTLOs::Me().SubClass() << - "_" << - ExtensionTLOs::EQ2().ServerName() - << ".json"; + filename << ExtensionTLOs::Me().Name() << "_" << ExtensionTLOs::Me().SubClass() << "_" << ExtensionTLOs::EQ2().ServerName() + << ".json"; filesystem::path fullPath = innerspacePath / R"(scripts\mr\bot\ability_exports)" / filename.str(); - if (fullPath.has_parent_path() && !exists(fullPath.parent_path())) { + if (fullPath.has_parent_path() && !exists(fullPath.parent_path())) + { create_directories(fullPath.parent_path()); } - if (std::ofstream file(fullPath); file) { + if (std::ofstream file(fullPath); file) + { std::string pretty_json = JS::serializeStruct(abilityList); - //picojson::value abilities(abilityList); file << pretty_json << endl; - } else { + } + else + { loge << "Unknown error writing export to disk" << endl; } - } catch (const std::exception &e) { + } + catch (const std::exception &e) + { loge << "Error exporting abilities: " << e.what() << endl; - } catch (...) { + } + catch (...) + { loge << "Unknown error exporting abilities" << endl; } diff --git a/src/UpdateUIPackageFile.h b/src/UpdateUIPackageFile.h new file mode 100644 index 0000000..1b9a0cb --- /dev/null +++ b/src/UpdateUIPackageFile.h @@ -0,0 +1,47 @@ +#ifndef UPDATEUIPACKAGEFILE_H +#define UPDATEUIPACKAGEFILE_H +#include +#include +#include + +#include "ISXMr.h" + +inline std::chrono::system_clock::time_point ParseEmbeddedTimestamp(const std::string ×tamp) +{ + std::tm tm = {}; + std::istringstream ss(timestamp); + ss >> std::get_time(&tm, "%Y-%m-%d %H:%M:%S"); + return std::chrono::system_clock::from_time_t(std::mktime(&tm)); +} + +inline void UpdateUIPackageFile(const std::string &fileName, + const char *data, const size_t size) +{ + constexpr size_t innerspacePathBufferLength = 255; + char innerspacePathBuffer[innerspacePathBufferLength]; + const std::filesystem::path innerspacePath = pISInterface->GetInnerSpacePath( + innerspacePathBuffer, innerspacePathBufferLength); + const std::filesystem::path fullPath = innerspacePath / R"(scripts/mr/ui)" / fileName; + + if (fullPath.has_parent_path() && !exists(fullPath.parent_path())) + { + create_directories(fullPath.parent_path()); + } + // if (std::filesystem::exists(fullPath)) + // { + // // const auto embeddedTimestamp = ParseEmbeddedTimestamp(lastModifiedTimestamp); + // const auto lastWriteTimestamp = std::filesystem::last_write_time(fullPath); + // const auto lastWriteTimepoint = std::chrono::time_point_cast( + // lastWriteTimestamp - std::filesystem::file_time_type::clock::now() + std::chrono::system_clock::now()); + + // // if (lastWriteTimepoint >= embeddedTimestamp) + // // { + // // return; + // // } + // } + + std::ofstream file(fullPath, std::ios::binary); + file.write(reinterpret_cast(data), size); +} + +#endif // UPDATEUIPACKAGEFILE_H diff --git a/src/isxeq2/AbilityEffect.h b/src/isxeq2/AbilityEffect.h index ccaf8ff..7729a40 100644 --- a/src/isxeq2/AbilityEffect.h +++ b/src/isxeq2/AbilityEffect.h @@ -1,19 +1,16 @@ -// -// Created by marob on 12/27/2023. -// - #ifndef ABILITYEFFECT_H #define ABILITYEFFECT_H #include #include #include "LSObject.h" - class LSObject; -class AbilityEffect { +class AbilityEffect +{ public: - explicit AbilityEffect(const std::shared_ptr &obj) { + explicit AbilityEffect(const std::shared_ptr &obj) + { const auto optPercentSuccess = obj->GetMember("PercentSuccess"); const auto optIndentation = obj->GetMember("Indentation"); const auto optDescription = obj->GetMember("Description"); @@ -22,15 +19,18 @@ public: description = optDescription.has_value() ? optDescription->CharPtr : ""; } - int PercentSuccess() const { + int PercentSuccess() const + { return percentSuccess; } - int Indentation() const { + int Indentation() const + { return indentation; } - std::string Description() const { + std::string Description() const + { return description; } @@ -40,5 +40,4 @@ private: std::string description; }; - -#endif //ABILITYEFFECT_H +#endif // ABILITYEFFECT_H diff --git a/src/isxeq2/Actor.cpp b/src/isxeq2/Actor.cpp index 13e9daf..7ab5ea4 100644 --- a/src/isxeq2/Actor.cpp +++ b/src/isxeq2/Actor.cpp @@ -1,708 +1,907 @@ #include "Actor.h" - -u_long Actor::Id() const { - if (const auto id = this->lsObject->GetMember("ID"); id.has_value()) { +u_long Actor::Id() const +{ + if (const auto id = this->lsObject->GetMember("ID"); id.has_value()) + { return id->Int64; } return {}; } -std::string Actor::Name() const { - if (const auto name = this->lsObject->GetMember("Name"); name.has_value()) { +std::string Actor::Name() const +{ + if (!this->lsObject->IsValid()) + { + return "Invalid Actor"; + } + + if (const auto name = this->lsObject->GetMember("Name"); name.has_value()) + { return name->CharPtr; } return {}; } -std::string Actor::LastName() const { - if (const auto lastName = this->lsObject->GetMember("LastName"); lastName.has_value()) { +std::string Actor::LastName() const +{ + if (const auto lastName = this->lsObject->GetMember("LastName"); lastName.has_value()) + { return lastName->CharPtr; } return {}; } -int Actor::HealthPercentage() const { - if (const auto healthPercentage = this->lsObject->GetMember("Health"); healthPercentage.has_value()) { +int Actor::HealthPercentage() const +{ + if (const auto healthPercentage = this->lsObject->GetMember("Health"); healthPercentage.has_value()) + { return healthPercentage->Int; } return {}; } -int Actor::PowerPercentage() const { - if (const auto powerPercentage = this->lsObject->GetMember("Power"); powerPercentage.has_value()) { +int Actor::PowerPercentage() const +{ + if (const auto powerPercentage = this->lsObject->GetMember("Power"); powerPercentage.has_value()) + { return powerPercentage->Int; } return {}; } -int Actor::Level() const { - if (const auto level = this->lsObject->GetMember("Level"); level.has_value()) { +int Actor::Level() const +{ + if (const auto level = this->lsObject->GetMember("Level"); level.has_value()) + { return level->Int; } return {}; } -int Actor::EffectiveLevel() const { - if (const auto effectiveLevel = this->lsObject->GetMember("EffectiveLevel"); effectiveLevel.has_value()) { +int Actor::EffectiveLevel() const +{ + if (const auto effectiveLevel = this->lsObject->GetMember("EffectiveLevel"); effectiveLevel.has_value()) + { return effectiveLevel->Int; } return {}; } -u_int Actor::TintFlags() const { - if (const auto tintFlags = this->lsObject->GetMember("TintFlags"); tintFlags.has_value()) { +u_int Actor::TintFlags() const +{ + if (const auto tintFlags = this->lsObject->GetMember("TintFlags"); tintFlags.has_value()) + { return tintFlags->Int; } return {}; } -std::string Actor::VisualVariant() const { - if (const auto visualVariant = this->lsObject->GetMember("VisualVariant"); visualVariant.has_value()) { +std::string Actor::VisualVariant() const +{ + if (const auto visualVariant = this->lsObject->GetMember("VisualVariant"); visualVariant.has_value()) + { return visualVariant->CharPtr; } return {}; } -std::string Actor::Mood() const { - if (const auto mood = this->lsObject->GetMember("Mood"); mood.has_value()) { +std::string Actor::Mood() const +{ + if (const auto mood = this->lsObject->GetMember("Mood"); mood.has_value()) + { return mood->CharPtr; } return {}; } -std::string Actor::CurrentAnimation() const { - if (const auto currentAnimation = this->lsObject->GetMember("CurrentAnimation"); currentAnimation.has_value()) { +std::string Actor::CurrentAnimation() const +{ + if (const auto currentAnimation = this->lsObject->GetMember("CurrentAnimation"); currentAnimation.has_value()) + { return currentAnimation->CharPtr; } return {}; } -std::string Actor::Overlay() const { - if (const auto overlay = this->lsObject->GetMember("Overlay"); overlay.has_value()) { +std::string Actor::Overlay() const +{ + if (const auto overlay = this->lsObject->GetMember("Overlay"); overlay.has_value()) + { return overlay->CharPtr; } return {}; } -std::string Actor::Aura() const { - if (const auto aura = this->lsObject->GetMember("Aura"); aura.has_value()) { +std::string Actor::Aura() const +{ + if (const auto aura = this->lsObject->GetMember("Aura"); aura.has_value()) + { return aura->CharPtr; } return {}; } -std::string Actor::Guild() const { - if (const auto guild = this->lsObject->GetMember("Guild"); guild.has_value()) { +std::string Actor::Guild() const +{ + if (const auto guild = this->lsObject->GetMember("Guild"); guild.has_value()) + { return guild->CharPtr; } return {}; } -std::string Actor::Type() const { - if (const auto type = this->lsObject->GetMember("Type"); type.has_value()) { +std::string Actor::Type() const +{ + if (const auto type = this->lsObject->GetMember("Type"); type.has_value()) + { return type->CharPtr; } return {}; } -std::string Actor::SuffixTitle() const { - if (const auto suffixTitle = this->lsObject->GetMember("SuffixTitle"); suffixTitle.has_value()) { +std::string Actor::SuffixTitle() const +{ + if (const auto suffixTitle = this->lsObject->GetMember("SuffixTitle"); suffixTitle.has_value()) + { return suffixTitle->CharPtr; } return {}; } -std::string Actor::ConColor() const { - if (const auto conColor = this->lsObject->GetMember("ConColor"); conColor.has_value()) { +std::string Actor::ConColor() const +{ + if (const auto conColor = this->lsObject->GetMember("ConColor"); conColor.has_value()) + { return conColor->CharPtr; } return {}; } -std::string Actor::RawConColor() const { +std::string Actor::RawConColor() const +{ // TODO: Modify to accept a parameter & pass in the string 'raw' - if (const auto rawConColor = this->lsObject->GetMember("RawConColor"); rawConColor.has_value()) { + if (const auto rawConColor = this->lsObject->GetMember("RawConColor"); rawConColor.has_value()) + { return rawConColor->CharPtr; } return {}; } -std::string Actor::FactionStanding() const { - if (const auto factionStanding = this->lsObject->GetMember("FactionStanding"); factionStanding.has_value()) { +std::string Actor::FactionStanding() const +{ + if (const auto factionStanding = this->lsObject->GetMember("FactionStanding"); factionStanding.has_value()) + { return factionStanding->CharPtr; } return {}; } -int Actor::Faction() const { - if (const auto faction = this->lsObject->GetMember("Faction"); faction.has_value()) { +int Actor::Faction() const +{ + if (const auto faction = this->lsObject->GetMember("Faction"); faction.has_value()) + { return faction->Int; } return {}; } -Actor Actor::Target() const { - if (const auto target = this->lsObject->GetMember("Target"); target.has_value()) { +Actor Actor::Target() const +{ + if (const auto target = this->lsObject->GetMember("Target"); target.has_value()) + { return Actor(make_shared(LSObject(target.value()))); } return Actor(make_shared(nullopt)); } -Actor Actor::Pet() const { - if (const auto pet = this->lsObject->GetMember("Pet"); pet.has_value()) { +Actor Actor::Pet() const +{ + if (const auto pet = this->lsObject->GetMember("Pet"); pet.has_value()) + { return Actor(make_shared(LSObject(pet.value()))); } return Actor(make_shared(nullopt)); } -int Actor::ThreatToPet() const { - if (const auto threatToPet = this->lsObject->GetMember("ThreatToPet"); threatToPet.has_value()) { +int Actor::ThreatToPet() const +{ + if (const auto threatToPet = this->lsObject->GetMember("ThreatToPet"); threatToPet.has_value()) + { return threatToPet->Int; } return {}; } -int Actor::ThreatToMe() const { - if (const auto threatToMe = this->lsObject->GetMember("ThreatToMe"); threatToMe.has_value()) { +int Actor::ThreatToMe() const +{ + if (const auto threatToMe = this->lsObject->GetMember("ThreatToMe"); threatToMe.has_value()) + { return threatToMe->Int; } return {}; } -int Actor::ThreatToNext() const { - if (const auto threatToNext = this->lsObject->GetMember("ThreatToNext"); threatToNext.has_value()) { +int Actor::ThreatToNext() const +{ + if (const auto threatToNext = this->lsObject->GetMember("ThreatToNext"); threatToNext.has_value()) + { return threatToNext->Int; } return {}; } -float Actor::Distance() const { - if (const auto distance = this->lsObject->GetMember("Distance"); distance.has_value()) { +float Actor::Distance() const +{ + if (const auto distance = this->lsObject->GetMember("Distance"); distance.has_value()) + { return distance->Float; } return {}; } -float Actor::Distance2d() const { - if (const auto distance2d = this->lsObject->GetMember("Distance2D"); distance2d.has_value()) { +float Actor::Distance2d() const +{ + if (const auto distance2d = this->lsObject->GetMember("Distance2D"); distance2d.has_value()) + { return distance2d->Float; } return {}; } -float Actor::X() const { - if (const auto x = this->lsObject->GetMember("X"); x.has_value()) { +float Actor::X() const +{ + if (const auto x = this->lsObject->GetMember("X"); x.has_value()) + { return x->Float; } return {}; } -float Actor::Y() const { - if (const auto y = this->lsObject->GetMember("Y"); y.has_value()) { +float Actor::Y() const +{ + if (const auto y = this->lsObject->GetMember("Y"); y.has_value()) + { return y->Float; } return {}; } -float Actor::Z() const { - if (const auto z = this->lsObject->GetMember("Z"); z.has_value()) { +float Actor::Z() const +{ + if (const auto z = this->lsObject->GetMember("Z"); z.has_value()) + { return z->Float; } return {}; } -std::string Actor::Race() const { - if (const auto race = this->lsObject->GetMember("Race"); race.has_value()) { +std::string Actor::Race() const +{ + if (const auto race = this->lsObject->GetMember("Race"); race.has_value()) + { return race->CharPtr; } return {}; } -std::string Actor::Class() const { - if (const auto cls = this->lsObject->GetMember("Class"); cls.has_value()) { +std::string Actor::Class() const +{ + if (const auto cls = this->lsObject->GetMember("Class"); cls.has_value()) + { return cls->CharPtr; } return {}; } -std::string Actor::Gender() const { - if (const auto gender = this->lsObject->GetMember("Gender"); gender.has_value()) { +std::string Actor::Gender() const +{ + if (const auto gender = this->lsObject->GetMember("Gender"); gender.has_value()) + { return gender->CharPtr; } return {}; } -Point3f Actor::Location() const { - if (const auto location = this->lsObject->GetMember("Location"); location.has_value()) { +Point3f Actor::Location() const +{ + if (const auto location = this->lsObject->GetMember("Location"); location.has_value()) + { return Point3f(make_shared(LSObject(location.value()))); } return Point3f(make_shared(nullopt)); } -float Actor::Heading() const { - if (const auto heading = this->lsObject->GetMember("Heading"); heading.has_value()) { +float Actor::Heading() const +{ + if (const auto heading = this->lsObject->GetMember("Heading"); heading.has_value()) + { return heading->Float; } return {}; } -string Actor::HeadingToAsString() const { - if (const auto headingTo = this->lsObject->GetMember("HeadingTo"); headingTo.has_value()) { +string Actor::HeadingToAsString() const +{ + if (const auto headingTo = this->lsObject->GetMember("HeadingTo"); headingTo.has_value()) + { return headingTo->CharPtr; } return {}; } -Point3f Actor::Velocity() const { - if (const auto velocity = this->lsObject->GetMember("Velocity"); velocity.has_value()) { +Point3f Actor::Velocity() const +{ + if (const auto velocity = this->lsObject->GetMember("Velocity"); velocity.has_value()) + { return Point3f(make_shared(LSObject(velocity.value()))); } return Point3f(make_shared(LSObject(nullopt))); } -bool Actor::CheckCollision() const { - if (const auto checkCollision = this->lsObject->GetMember("CheckCollision"); checkCollision.has_value()) { +bool Actor::CheckCollision() const +{ + if (const auto checkCollision = this->lsObject->GetMember("CheckCollision"); checkCollision.has_value()) + { return checkCollision->Int; } return false; } -bool Actor::CheckCollision(const float toX, const float toY, const float toZ) const { - if (const auto checkCollision = this->lsObject->GetMember("CheckCollision", toX, toY, toZ); checkCollision. - has_value()) { +bool Actor::CheckCollision(const float toX, const float toY, const float toZ) const +{ + if (const auto checkCollision = this->lsObject->GetMember("CheckCollision", toX, toY, toZ); checkCollision.has_value()) + { return checkCollision->Int; } return {}; } -float Actor::TargetRingRadius() const { - if (const auto targetRingRadius = this->lsObject->GetMember("TargetRingRadius"); targetRingRadius.has_value()) { +float Actor::TargetRingRadius() const +{ + if (const auto targetRingRadius = this->lsObject->GetMember("TargetRingRadius"); targetRingRadius.has_value()) + { return targetRingRadius->Float; } return {}; } -float Actor::CollisionRadius() const { - if (const auto collisionRadius = this->lsObject->GetMember("CollisionRadius"); collisionRadius.has_value()) { +float Actor::CollisionRadius() const +{ + if (const auto collisionRadius = this->lsObject->GetMember("CollisionRadius"); collisionRadius.has_value()) + { return collisionRadius->Float; } return {}; } -float Actor::CollisionScale() const { - if (const auto collisionScale = this->lsObject->GetMember("CollisionScale"); collisionScale.has_value()) { +float Actor::CollisionScale() const +{ + if (const auto collisionScale = this->lsObject->GetMember("CollisionScale"); collisionScale.has_value()) + { return collisionScale->Float; } return {}; } -u_long Actor::WhoFollowingId() const { - if (const auto whoFollowingId = this->lsObject->GetMember("WhoFollowing"); whoFollowingId.has_value()) { +u_long Actor::WhoFollowingId() const +{ + if (const auto whoFollowingId = this->lsObject->GetMember("WhoFollowing"); whoFollowingId.has_value()) + { return whoFollowingId->Int64; } return {}; } -string Actor::WhoFollowingName() const { - if (const auto whoFollowingName = this->lsObject->GetMember("WhoFollowing"); whoFollowingName.has_value()) { +string Actor::WhoFollowingName() const +{ + if (const auto whoFollowingName = this->lsObject->GetMember("WhoFollowing"); whoFollowingName.has_value()) + { return whoFollowingName->CharPtr; } return {}; } -float Actor::Speed() const { - if (const auto speed = this->lsObject->GetMember("Speed"); speed.has_value()) { +float Actor::Speed() const +{ + if (const auto speed = this->lsObject->GetMember("Speed"); speed.has_value()) + { return speed->Float; } return {}; } -float Actor::SwimmingSpeedModifier() const { - if (const auto swimmingSpeedModifier = this->lsObject->GetMember("SwimmingSpeedMod"); swimmingSpeedModifier. - has_value()) { +float Actor::SwimmingSpeedModifier() const +{ + if (const auto swimmingSpeedModifier = this->lsObject->GetMember("SwimmingSpeedMod"); swimmingSpeedModifier.has_value()) + { return swimmingSpeedModifier->Float; } return {}; } -bool Actor::InMyGroup() const { - if (const auto inMyGroup = this->lsObject->GetMember("InMyGroup"); inMyGroup.has_value()) { +bool Actor::InMyGroup() const +{ + if (const auto inMyGroup = this->lsObject->GetMember("InMyGroup"); inMyGroup.has_value()) + { return inMyGroup->Int; } return false; } -bool Actor::Interactable() const { - if (const auto interactable = this->lsObject->GetMember("Interactable"); interactable.has_value()) { +bool Actor::Interactable() const +{ + if (const auto interactable = this->lsObject->GetMember("Interactable"); interactable.has_value()) + { return interactable->Int; } return false; } -bool Actor::OnFlyingMount() const { - if (const auto onFlyingMount = this->lsObject->GetMember("OnFlyingMount"); onFlyingMount.has_value()) { +bool Actor::OnFlyingMount() const +{ + if (const auto onFlyingMount = this->lsObject->GetMember("OnFlyingMount"); onFlyingMount.has_value()) + { return onFlyingMount->Int; } return false; } -bool Actor::FlyingUsingMount() const { - if (const auto flyingUsingMount = this->lsObject->GetMember("FlyingUsingMount"); flyingUsingMount.has_value()) { +bool Actor::FlyingUsingMount() const +{ + if (const auto flyingUsingMount = this->lsObject->GetMember("FlyingUsingMount"); flyingUsingMount.has_value()) + { return flyingUsingMount->Int; } return false; } -bool Actor::IsChest() const { - if (const auto isChest = this->lsObject->GetMember("IsChest"); isChest.has_value()) { +bool Actor::IsChest() const +{ + if (const auto isChest = this->lsObject->GetMember("IsChest"); isChest.has_value()) + { return isChest->Int; } return false; } -bool Actor::IsBanker() const { - if (const auto isBanker = this->lsObject->GetMember("IsBanker"); isBanker.has_value()) { +bool Actor::IsBanker() const +{ + if (const auto isBanker = this->lsObject->GetMember("IsBanker"); isBanker.has_value()) + { return isBanker->Int; } return false; } -bool Actor::IsMerchant() const { - if (const auto isMerchant = this->lsObject->GetMember("IsMerchant"); isMerchant.has_value()) { +bool Actor::IsMerchant() const +{ + if (const auto isMerchant = this->lsObject->GetMember("IsMerchant"); isMerchant.has_value()) + { return isMerchant->Int; } return false; } -bool Actor::IsAPet() const { - if (const auto isAPet = this->lsObject->GetMember("IsAPet"); isAPet.has_value()) { +bool Actor::IsAPet() const +{ + if (const auto isAPet = this->lsObject->GetMember("IsAPet"); isAPet.has_value()) + { return isAPet->Int; } return false; } -bool Actor::IsMyPet() const { - if (const auto isMyPet = this->lsObject->GetMember("IsMyPet"); isMyPet.has_value()) { +bool Actor::IsMyPet() const +{ + if (const auto isMyPet = this->lsObject->GetMember("IsMyPet"); isMyPet.has_value()) + { return isMyPet->Int; } return false; } -bool Actor::IsAfk() const { - if (const auto isAfk = this->lsObject->GetMember("IsAFK"); isAfk.has_value()) { +bool Actor::IsAfk() const +{ + if (const auto isAfk = this->lsObject->GetMember("IsAFK"); isAfk.has_value()) + { return isAfk->Int; } return false; } -bool Actor::IsLfw() const { - if (const auto isLfw = this->lsObject->GetMember("IsLFW"); isLfw.has_value()) { +bool Actor::IsLfw() const +{ + if (const auto isLfw = this->lsObject->GetMember("IsLFW"); isLfw.has_value()) + { return isLfw->Int; } return false; } -bool Actor::IsLfg() const { - if (const auto isLfg = this->lsObject->GetMember("IsLFG"); isLfg.has_value()) { +bool Actor::IsLfg() const +{ + if (const auto isLfg = this->lsObject->GetMember("IsLFG"); isLfg.has_value()) + { return isLfg->Int; } return false; } -bool Actor::IsLinkdead() const { - if (const auto isLinkdead = this->lsObject->GetMember("IsLinkdead"); isLinkdead.has_value()) { +bool Actor::IsLinkdead() const +{ + if (const auto isLinkdead = this->lsObject->GetMember("IsLinkdead"); isLinkdead.has_value()) + { return isLinkdead->Int; } return false; } -bool Actor::IsCamping() const { - if (const auto isCamping = this->lsObject->GetMember("IsCamping"); isCamping.has_value()) { +bool Actor::IsCamping() const +{ + if (const auto isCamping = this->lsObject->GetMember("IsCamping"); isCamping.has_value()) + { return isCamping->Int; } return false; } -bool Actor::IsLocked() const { - if (const auto isLocked = this->lsObject->GetMember("IsLocked"); isLocked.has_value()) { +bool Actor::IsLocked() const +{ + if (const auto isLocked = this->lsObject->GetMember("IsLocked"); isLocked.has_value()) + { return isLocked->Int; } return false; } -bool Actor::IsAggro() const { - if (const auto isAggro = this->lsObject->GetMember("IsAggro"); isAggro.has_value()) { +bool Actor::IsAggro() const +{ + if (const auto isAggro = this->lsObject->GetMember("IsAggro"); isAggro.has_value()) + { return isAggro->Int; } return false; } -bool Actor::IsSolo() const { - if (const auto isSolo = this->lsObject->GetMember("IsSolo"); isSolo.has_value()) { +bool Actor::IsSolo() const +{ + if (const auto isSolo = this->lsObject->GetMember("IsSolo"); isSolo.has_value()) + { return isSolo->Int; } return false; } -bool Actor::IsHeroic() const { - if (const auto isHeroic = this->lsObject->GetMember("IsHeroic"); isHeroic.has_value()) { +bool Actor::IsHeroic() const +{ + if (const auto isHeroic = this->lsObject->GetMember("IsHeroic"); isHeroic.has_value()) + { return isHeroic->Int; } return false; } -bool Actor::IsEpic() const { - if (const auto isEpic = this->lsObject->GetMember("IsEpic"); isEpic.has_value()) { +bool Actor::IsEpic() const +{ + if (const auto isEpic = this->lsObject->GetMember("IsEpic"); isEpic.has_value()) + { return isEpic->Int; } return false; } -bool Actor::IsNamed() const { - if (const auto isNamed = this->lsObject->GetMember("IsNamed"); isNamed.has_value()) { +bool Actor::IsNamed() const +{ + if (const auto isNamed = this->lsObject->GetMember("IsNamed"); isNamed.has_value()) + { return isNamed->Int; } return false; } -bool Actor::IsSwimming() const { - if (const auto isSwimming = this->lsObject->GetMember("IsSwimming"); isSwimming.has_value()) { +bool Actor::IsSwimming() const +{ + if (const auto isSwimming = this->lsObject->GetMember("IsSwimming"); isSwimming.has_value()) + { return isSwimming->Int; } return false; } -bool Actor::IsEncounterBroken() const { - if (const auto isEncounterBroken = this->lsObject->GetMember("IsEncounterBroken"); isEncounterBroken.has_value()) { +bool Actor::IsEncounterBroken() const +{ + if (const auto isEncounterBroken = this->lsObject->GetMember("IsEncounterBroken"); isEncounterBroken.has_value()) + { isEncounterBroken->Int; } return false; } -bool Actor::IsInvisible() const { - if (const auto isInvisible = this->lsObject->GetMember("IsInvisible"); isInvisible.has_value()) { +bool Actor::IsInvisible() const +{ + if (const auto isInvisible = this->lsObject->GetMember("IsInvisible"); isInvisible.has_value()) + { return isInvisible->Int; } return false; } -bool Actor::IsClimbing() const { - if (const auto isClimbing = this->lsObject->GetMember("IsClimbing"); isClimbing.has_value()) { +bool Actor::IsClimbing() const +{ + if (const auto isClimbing = this->lsObject->GetMember("IsClimbing"); isClimbing.has_value()) + { return isClimbing->Int; } return false; } -bool Actor::IsJumping() const { - if (const auto isJumping = this->lsObject->GetMember("IsJumping"); isJumping.has_value()) { +bool Actor::IsJumping() const +{ + if (const auto isJumping = this->lsObject->GetMember("IsJumping"); isJumping.has_value()) + { return isJumping->Int; } return false; } -bool Actor::IsFalling() const { - if (const auto isFalling = this->lsObject->GetMember("IsFalling"); isFalling.has_value()) { +bool Actor::IsFalling() const +{ + if (const auto isFalling = this->lsObject->GetMember("IsFalling"); isFalling.has_value()) + { return isFalling->Int; } return false; } -bool Actor::IsFD() const { - if (const auto isFD = this->lsObject->GetMember("IsFD"); isFD.has_value()) { +bool Actor::IsFD() const +{ + if (const auto isFD = this->lsObject->GetMember("IsFD"); isFD.has_value()) + { return isFD->Int; } return false; } -bool Actor::IsDead() const { - if (const auto isDead = this->lsObject->GetMember("IsDead"); isDead.has_value()) { +bool Actor::IsDead() const +{ + if (const auto isDead = this->lsObject->GetMember("IsDead"); isDead.has_value()) + { return isDead->Int; } return false; } -bool Actor::IsRooted() const { - if (const auto isRooted = this->lsObject->GetMember("IsRooted"); isRooted.has_value()) { +bool Actor::IsRooted() const +{ + if (const auto isRooted = this->lsObject->GetMember("IsRooted"); isRooted.has_value()) + { return isRooted->Int; } return false; } -bool Actor::CanTurn() const { - if (const auto canTurn = this->lsObject->GetMember("CanTurn"); canTurn.has_value()) { +bool Actor::CanTurn() const +{ + if (const auto canTurn = this->lsObject->GetMember("CanTurn"); canTurn.has_value()) + { return canTurn->Int; } return false; } -bool Actor::InCombatMode() const { - if (const auto inCombatMode = this->lsObject->GetMember("InCombatMode"); inCombatMode.has_value()) { +bool Actor::InCombatMode() const +{ + if (const auto inCombatMode = this->lsObject->GetMember("InCombatMode"); inCombatMode.has_value()) + { return inCombatMode->Int; } return false; } -bool Actor::IsCrouching() const { - if (const auto isCrouching = this->lsObject->GetMember("IsCrouching"); isCrouching.has_value()) { +bool Actor::IsCrouching() const +{ + if (const auto isCrouching = this->lsObject->GetMember("IsCrouching"); isCrouching.has_value()) + { return isCrouching->Int; } return false; } -bool Actor::IsSitting() const { - if (const auto isSitting = this->lsObject->GetMember("IsSitting"); isSitting.has_value()) { +bool Actor::IsSitting() const +{ + if (const auto isSitting = this->lsObject->GetMember("IsSitting"); isSitting.has_value()) + { return isSitting->Int; } return false; } -bool Actor::OnCarpet() const { - if (const auto onCarpet = this->lsObject->GetMember("OnCarpet"); onCarpet.has_value()) { +bool Actor::OnCarpet() const +{ + if (const auto onCarpet = this->lsObject->GetMember("OnCarpet"); onCarpet.has_value()) + { return onCarpet->Int; } return false; } -bool Actor::OnHorse() const { - if (const auto onHorse = this->lsObject->GetMember("OnHorse"); onHorse.has_value()) { +bool Actor::OnHorse() const +{ + if (const auto onHorse = this->lsObject->GetMember("OnHorse"); onHorse.has_value()) + { return onHorse->Int; } return false; } -bool Actor::ONGriphon() const { - if (const auto onGriphon = this->lsObject->GetMember("OnGriphon"); onGriphon.has_value()) { +bool Actor::ONGriphon() const +{ + if (const auto onGriphon = this->lsObject->GetMember("OnGriphon"); onGriphon.has_value()) + { return onGriphon->Int; } return false; } -bool Actor::IsRunning() const { - if (const auto isRunning = this->lsObject->GetMember("IsRunning"); isRunning.has_value()) { +bool Actor::IsRunning() const +{ + if (const auto isRunning = this->lsObject->GetMember("IsRunning"); isRunning.has_value()) + { return isRunning->Int; } return false; } -bool Actor::IsWalking() const { - if (const auto isWalking = this->lsObject->GetMember("IsWalking"); isWalking.has_value()) { +bool Actor::IsWalking() const +{ + if (const auto isWalking = this->lsObject->GetMember("IsWalking"); isWalking.has_value()) + { return isWalking->Int; } return false; } -bool Actor::IsSprinting() const { - if (const auto isSprinting = this->lsObject->GetMember("IsSprinting"); isSprinting.has_value()) { +bool Actor::IsSprinting() const +{ + if (const auto isSprinting = this->lsObject->GetMember("IsSprinting"); isSprinting.has_value()) + { return isSprinting->Int; } return false; } -bool Actor::IsBackingUp() const { - if (const auto isBackingUp = this->lsObject->GetMember("IsBackingUp"); isBackingUp.has_value()) { +bool Actor::IsBackingUp() const +{ + if (const auto isBackingUp = this->lsObject->GetMember("IsBackingUp"); isBackingUp.has_value()) + { return isBackingUp->Int; } return false; } -bool Actor::IsStrafingLeft() const { - if (const auto isStrafingLeft = this->lsObject->GetMember("IsStrafingLeft"); isStrafingLeft.has_value()) { +bool Actor::IsStrafingLeft() const +{ + if (const auto isStrafingLeft = this->lsObject->GetMember("IsStrafingLeft"); isStrafingLeft.has_value()) + { return isStrafingLeft->Int; } return false; } -bool Actor::IsStrafingRight() const { - if (const auto isStrafingRight = this->lsObject->GetMember("IsStrafingRight"); isStrafingRight.has_value()) { +bool Actor::IsStrafingRight() const +{ + if (const auto isStrafingRight = this->lsObject->GetMember("IsStrafingRight"); isStrafingRight.has_value()) + { return isStrafingRight->Int; } return false; } -bool Actor::IsIdle() const { - if (const auto isIdle = this->lsObject->GetMember("IsIdle"); isIdle.has_value()) { +bool Actor::IsIdle() const +{ + if (const auto isIdle = this->lsObject->GetMember("IsIdle"); isIdle.has_value()) + { return isIdle->Int; } return false; } - -int Actor::EncounterSize() const { - if (const auto encounterSize = this->lsObject->GetMember("EncounterSize"); encounterSize.has_value()) { +int Actor::EncounterSize() const +{ + if (const auto encounterSize = this->lsObject->GetMember("EncounterSize"); encounterSize.has_value()) + { return encounterSize->Int; } return {}; } -int Actor::Difficulty() const { - if (const auto difficulty = this->lsObject->GetMember("Difficulty"); difficulty.has_value()) { +int Actor::Difficulty() const +{ + if (const auto difficulty = this->lsObject->GetMember("Difficulty"); difficulty.has_value()) + { return difficulty->Int; } return {}; } -int Actor::IsInSameEncounter(const u_long id) const { - if (const auto isInSameEncounter = this->lsObject->GetMember("IsInSameEncounter", id); isInSameEncounter. - has_value()) { +int Actor::IsInSameEncounter(const u_long id) const +{ + if (const auto isInSameEncounter = this->lsObject->GetMember("IsInSameEncounter", id); isInSameEncounter.has_value()) + { return isInSameEncounter->Int; } return {}; } -int Actor::RaidSize() const { - if (const auto raidSize = this->lsObject->GetMember("RaidSize"); raidSize.has_value()) { +int Actor::RaidSize() const +{ + if (const auto raidSize = this->lsObject->GetMember("RaidSize"); raidSize.has_value()) + { return raidSize->Int; } return {}; } -string Actor::TagTargetNumber() const { - if (const auto tagTargetNumber = this->lsObject->GetMember("TagTargetNumber"); tagTargetNumber.has_value()) { +string Actor::TagTargetNumber() const +{ + if (const auto tagTargetNumber = this->lsObject->GetMember("TagTargetNumber"); tagTargetNumber.has_value()) + { return tagTargetNumber->CharPtr; } return {}; } -string Actor::TagTargetIcon() const { - if (const auto tagTargetIcon = this->lsObject->GetMember("TagTargetIcon"); tagTargetIcon.has_value()) { +string Actor::TagTargetIcon() const +{ + if (const auto tagTargetIcon = this->lsObject->GetMember("TagTargetIcon"); tagTargetIcon.has_value()) + { return tagTargetIcon->CharPtr; } return {}; } -int Actor::EffectCount() const { - if (const auto effectCount = this->lsObject->GetMember("EffectCount"); effectCount.has_value()) { +int Actor::EffectCount() const +{ + if (const auto effectCount = this->lsObject->GetMember("EffectCount"); effectCount.has_value()) + { return effectCount->Int; } return {}; } -void Actor::DoubleClick() const { +void Actor::DoubleClick() const +{ this->lsObject->CallMethod("DoubleClick"); } -void Actor::WaypointTo() const { +void Actor::WaypointTo() const +{ this->lsObject->CallMethod("WaypointTo"); } -void Actor::DoFace() const { +void Actor::DoFace() const +{ this->lsObject->CallMethod("DoFace"); } -void Actor::DoTarget() const { +void Actor::DoTarget() const +{ this->lsObject->CallMethod("DoTarget"); } -void Actor::AddLocation(const string ¬es) const { +void Actor::AddLocation(const string ¬es) const +{ this->lsObject->CallMethod("Location", "Add", notes); } -void Actor::DeleteLocation() const { +void Actor::DeleteLocation() const +{ this->lsObject->CallMethod("Location", "Delete"); } -void Actor::RequesteffectsInfo() const { +void Actor::RequesteffectsInfo() const +{ this->lsObject->CallMethod("RequesteffectsInfo"); } diff --git a/src/isxeq2/ActorTLO.cpp b/src/isxeq2/ActorTLO.cpp new file mode 100644 index 0000000..c337f62 --- /dev/null +++ b/src/isxeq2/ActorTLO.cpp @@ -0,0 +1,40 @@ +#include "ActorTLO.h" + +optional ActorTLO::GetActorById(unsigned long id) const +{ + const auto command = "Actor[" + to_string(id) + "]"; + log << "ActorTLO::GetActorById: " << command << std::endl; + + const auto actor = LSObject::FromDataParse(command); + if (actor.has_value()) + { + return Actor(actor.value()); + } + + return nullopt; + + // log << "ActorTLO::GetActorById: " << id << std::endl; + // LSOBJECT *actor = nullptr; + // const auto result = isInterface->DataParse("Actor[" + to_string(id) + "]", actor); + + // if (!actor) + // { + // return nullopt; + // } + // return Actor(make_shared(actor)); +} + +optional ActorTLO::GetActorByName(const std::string &name) const +{ + return nullopt; + // log << "ActorTLO::GetActorByName: " << name << std::endl; + // return nullopt; + // const auto actor = this->lsObject->GetMember("Actor", "Name =- " + name); + // if (!actor.has_value()) + // { + // logw << "ActorTLO::GetActorByName: Actor not found: " << name << std::endl; + // return nullopt; + // } + + // return Actor(make_shared(actor)); +} diff --git a/src/isxeq2/ActorTLO.h b/src/isxeq2/ActorTLO.h new file mode 100644 index 0000000..df6b627 --- /dev/null +++ b/src/isxeq2/ActorTLO.h @@ -0,0 +1,16 @@ +#pragma once +#include "Actor.h" + +class ActorTLO +{ +public: + ActorTLO() + { + } + + optional GetActorById(unsigned long id) const; + optional GetActorByName(const std::string &name) const; + optional GetActorByQuery(const std::string &query) const; + +private: +}; \ No newline at end of file diff --git a/src/isxeq2/ExtensionTLOs.h b/src/isxeq2/ExtensionTLOs.h index 7a04348..480f5d8 100644 --- a/src/isxeq2/ExtensionTLOs.h +++ b/src/isxeq2/ExtensionTLOs.h @@ -1,24 +1,34 @@ #ifndef EXTENSIONTLOS_H #define EXTENSIONTLOS_H -#include "Actor.h" +#include "ActorTLO.h" #include "Character.h" #include "EQ2.h" using namespace std; -class ExtensionTLOs { +class ExtensionTLOs +{ public: - static Character Me() { + static Character Me() + { return Character(GetTopLevelObject("Me")); } - static EQ2 EQ2() { + static EQ2 EQ2() + { return EQ2::EQ2(GetTopLevelObject("EQ2")); } + static ActorTLO Actor() + { + log << "ExtensionTLOs::Actor" << std::endl; + return ActorTLO(); + } + private: - static shared_ptr GetTopLevelObject(const string &name) { + static shared_ptr GetTopLevelObject(const string &name) + { const auto topLevelObject = pISInterface->IsTopLevelObject(name.c_str()); LSOBJECT response; topLevelObject(0, nullptr, response); @@ -26,4 +36,4 @@ private: } }; -#endif //EXTENSIONTLOS_H +#endif // EXTENSIONTLOS_H diff --git a/src/isxeq2/LSObject.h b/src/isxeq2/LSObject.h index 973b0ca..cfe2723 100644 --- a/src/isxeq2/LSObject.h +++ b/src/isxeq2/LSObject.h @@ -1,5 +1,4 @@ -#ifndef LSOBJECT_H -#define LSOBJECT_H +#pragma once #include #include #include @@ -8,102 +7,146 @@ #include "ISXMr.h" #include "Logger.h" -template -std::string toString(const T &value) { +template +std::string toString(const T &value) +{ std::ostringstream oss; oss << value; return oss.str(); } -class LSObject { +class LSObject +{ public: - explicit LSObject(const optional &obj) : lsObject(obj) { + explicit LSObject(const optional &obj) : lsObject(obj) + { } - ~LSObject() { - if (this->lsObject.has_value()) { - this->lsObject.value().Type->FreeVariable(this->lsObject.value().GetObjectData()); - this->lsObject.reset(); - } + ~LSObject() + { } - template - optional GetMember(const std::string &memberName, Args... args) { - if (!this->lsObject.has_value()) { + template + optional GetMember(const std::string &memberName, Args... args) + { + if (!this->lsObject.has_value()) + { return nullopt; } - // Use a fold expression to convert each argument to a string - const std::vector arguments = {toString(args)...}; + std::vector argv = ConvertArgsToVector(args...); - const size_t argc = arguments.size(); - std::vector argv; - - for (auto &arg: arguments) { - argv.push_back(const_cast(arg.c_str())); - } - - try { + try + { LSOBJECT response; if (const auto result = this->lsObject->Type->GetMemberEx( - this->lsObject->GetObjectData(), - const_cast(memberName.c_str()), - static_cast(argc), - argv.data(), - response - ); !result) { + this->lsObject->GetObjectData(), + const_cast(memberName.c_str()), + static_cast(argv.size()), + argv.data(), + response); + !result) + { logd << "GetMemberEx failed on member " << memberName - << " for type " << this->lsObject->Type->GetName() - << endl; - } else { + << " for type " << this->lsObject->Type->GetName() + << endl; + } + else + { return response; } - } catch (...) { + } + catch (...) + { loge << "GetMemberEx failed" << endl; } return nullopt; } - template - void CallMethod(const std::string &methodName, Args... args) { - if (!this->lsObject.has_value()) { + template + void CallMethod(const std::string &methodName, Args... args) + { + if (!this->lsObject.has_value()) + { return; } + std::vector argv = ConvertArgsToVector(args...); + this->lsObject->Type->GetMethodEx( + this->lsObject->GetObjectData(), + const_cast(methodName.c_str()), + static_cast(argv.size()), + argv.data()); + } + + [[nodiscard]] bool IsValid() const + { + return this->lsObject.has_value(); + } + + [[nodiscard]] string AsString() const + { + if (this->lsObject.has_value()) + { + return this->lsObject->CharPtr; + } + return {}; + } + + [[nodiscard]] int AsInt() const + { + if (this->lsObject.has_value()) + { + return this->lsObject->Int; + } + + return {}; + } + + [[nodiscard]] float AsFloat() const + { + if (this->lsObject.has_value()) + { + return this->lsObject->Float; + } + + return {}; + } + + static optional> FromDataParse(const std::string &dataToParse) + { + // auto type = pISInterface->FindLSType(const_cast("MRBotController")); + + if (LSOBJECT rawObject; pISInterface->DataParse(dataToParse.c_str(), rawObject)) + { + logd << "Got object from DataParse" << endl; + return make_shared(LSObject(rawObject)); + } + + logd << "DataParse failed on " << dataToParse << endl; + + return nullopt; + } + +private: + optional lsObject; + + template + std::vector ConvertArgsToVector(Args... args) + { // Use a fold expression to convert each argument to a string const std::vector arguments = {toString(args)...}; const size_t argc = arguments.size(); std::vector argv; - for (auto &arg: arguments) { + for (auto &arg : arguments) + { argv.push_back(const_cast(arg.c_str())); } - this->lsObject->Type->GetMethodEx( - this->lsObject->GetObjectData(), - const_cast(methodName.c_str()), - static_cast(argc), - argv.data()); + return argv; } - - [[nodiscard]] bool IsValid() const { - return this->lsObject.has_value(); - } - - static LSObject FromDataParse(const std::string &dataToParse) { - if (LSOBJECT rawObject; pISInterface->DataParse(dataToParse.c_str(), rawObject)) { - return LSObject(rawObject); - } - - return LSObject(nullopt); - } - -private: - optional lsObject; }; - - -#endif //LSOBJECT_H diff --git a/src/lgui2.h b/src/lgui2.h new file mode 100644 index 0000000..a8d730c --- /dev/null +++ b/src/lgui2.h @@ -0,0 +1,6 @@ +const unsigned char bot_cast_stack_json[] = {0x7b,0x0d,0x0a,0x20,0x20,0x22,0x24,0x73,0x63,0x68,0x65,0x6d,0x61,0x22,0x3a,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x76,0x69,0x73,0x68,0x73,0x6f,0x66,0x74,0x2e,0x63,0x6f,0x6d,0x2f,0x73,0x63,0x68,0x65,0x6d,0x61,0x2f,0x6c,0x67,0x75,0x69,0x32,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x73,0x6b,0x69,0x6e,0x22,0x3a,0x20,0x22,0x4d,0x52,0x53,0x6b,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x73,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x2e,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x4c,0x69,0x73,0x74,0x45,0x6e,0x74,0x72,0x79,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x69,0x74,0x65,0x6d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x2d,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x46,0x69,0x74,0x57,0x69,0x64,0x74,0x68,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x5f,0x43,0x4f,0x4e,0x54,0x45,0x58,0x54,0x49,0x54,0x45,0x4d,0x44,0x41,0x54,0x41,0x5f,0x2e,0x47,0x65,0x74,0x5b,0x6e,0x61,0x6d,0x65,0x5d,0x7d,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x73,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x2e,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x69,0x73,0x69,0x62,0x69,0x6c,0x69,0x74,0x79,0x22,0x3a,0x20,0x22,0x68,0x69,0x64,0x64,0x65,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x65,0x76,0x65,0x6e,0x74,0x73,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x30,0x2e,0x39,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x65,0x66,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x30,0x2e,0x33,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x20,0x4c,0x69,0x73,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x65,0x66,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x4c,0x69,0x73,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x30,0x2e,0x39,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x69,0x74,0x65,0x6d,0x73,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x4c,0x69,0x73,0x74,0x49,0x74,0x65,0x6d,0x73,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x4f,0x6e,0x63,0x65,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x69,0x74,0x65,0x6d,0x56,0x69,0x65,0x77,0x47,0x65,0x6e,0x65,0x72,0x61,0x74,0x6f,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x73,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x2e,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x4c,0x69,0x73,0x74,0x45,0x6e,0x74,0x72,0x79,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x73,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x49,0x74,0x65,0x6d,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x49,0x6e,0x64,0x65,0x78,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x73,0x68,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x3a,0x53,0x65,0x74,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x5b,0x5c,0x22,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x5c,0x22,0x5d,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x2d,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x46,0x69,0x74,0x57,0x69,0x64,0x74,0x68,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x61,0x64,0x64,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x41,0x64,0x64,0x20,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x52,0x65,0x6c,0x65,0x61,0x73,0x65,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x41,0x64,0x64,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x30,0x2e,0x33,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x74,0x6f,0x70,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x31,0x36,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x54,0x79,0x70,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x36,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x6f,0x6d,0x62,0x6f,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x2e,0x74,0x79,0x70,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x69,0x74,0x65,0x6d,0x73,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x6f,0x6d,0x62,0x61,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x41,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x4e,0x61,0x6d,0x65,0x64,0x43,0x41,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x48,0x65,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x50,0x6f,0x77,0x65,0x72,0x48,0x65,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x44,0x65,0x62,0x75,0x66,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x4e,0x61,0x6d,0x65,0x64,0x44,0x65,0x62,0x75,0x66,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x4e,0x6f,0x6e,0x43,0x6f,0x6d,0x62,0x61,0x74,0x42,0x75,0x66,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x75,0x72,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x42,0x75,0x66,0x66,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x73,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x49,0x74,0x65,0x6d,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x6e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x2e,0x47,0x65,0x74,0x5b,0x74,0x79,0x70,0x65,0x5d,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x6c,0x6c,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x48,0x6f,0x6f,0x6b,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x4e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x65,0x76,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6f,0x6e,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x53,0x65,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x62,0x6a,0x65,0x63,0x74,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x3a,0x20,0x22,0x4f,0x6e,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x43,0x6f,0x6d,0x62,0x6f,0x43,0x68,0x61,0x6e,0x67,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x54,0x61,0x72,0x67,0x65,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x36,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x6f,0x6d,0x62,0x6f,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x2e,0x74,0x61,0x72,0x67,0x65,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x69,0x74,0x65,0x6d,0x73,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x4f,0x70,0x74,0x69,0x6f,0x6e,0x73,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x4f,0x6e,0x63,0x65,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x73,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x49,0x74,0x65,0x6d,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x6e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x2e,0x47,0x65,0x74,0x5b,0x74,0x61,0x72,0x67,0x65,0x74,0x5d,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x6c,0x6c,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x48,0x6f,0x6f,0x6b,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x4e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x65,0x76,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6f,0x6e,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x53,0x65,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x62,0x6a,0x65,0x63,0x74,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x3a,0x20,0x22,0x4f,0x6e,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x41,0x62,0x69,0x6c,0x69,0x74,0x79,0x43,0x6f,0x6d,0x62,0x6f,0x43,0x68,0x61,0x6e,0x67,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x23,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x36,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x2e,0x74,0x61,0x72,0x67,0x65,0x74,0x43,0x6f,0x75,0x6e,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x53,0x61,0x66,0x65,0x47,0x65,0x74,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x50,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5b,0x74,0x61,0x72,0x67,0x65,0x74,0x43,0x6f,0x75,0x6e,0x74,0x5d,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x6c,0x6c,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x48,0x6f,0x6f,0x6b,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x4e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x65,0x76,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6f,0x6e,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x73,0x68,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x3a,0x53,0x61,0x66,0x65,0x53,0x65,0x74,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x50,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5b,0x5c,0x22,0x74,0x61,0x72,0x67,0x65,0x74,0x43,0x6f,0x75,0x6e,0x74,0x5c,0x22,0x2c,0x5c,0x22,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x5c,0x22,0x5d,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x73,0x68,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x6f,0x6b,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x4c,0x6f,0x73,0x74,0x46,0x6f,0x63,0x75,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x6f,0x73,0x74,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x46,0x6f,0x63,0x75,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x66,0x6f,0x72,0x77,0x61,0x72,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x70,0x75,0x73,0x68,0x54,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x4c,0x6f,0x73,0x74,0x4d,0x6f,0x75,0x73,0x65,0x46,0x6f,0x63,0x75,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x6f,0x73,0x74,0x4d,0x6f,0x75,0x73,0x65,0x46,0x6f,0x63,0x75,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x66,0x6f,0x72,0x77,0x61,0x72,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x70,0x75,0x73,0x68,0x54,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x48,0x50,0x2f,0x4d,0x50,0x20,0x25,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x36,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x70,0x65,0x72,0x63,0x65,0x6e,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x53,0x61,0x66,0x65,0x47,0x65,0x74,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x50,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5b,0x70,0x65,0x72,0x63,0x65,0x6e,0x74,0x5d,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x6c,0x6c,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x48,0x6f,0x6f,0x6b,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x4e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x65,0x76,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6f,0x6e,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x73,0x68,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x3a,0x53,0x61,0x66,0x65,0x53,0x65,0x74,0x4e,0x65,0x77,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x49,0x74,0x65,0x6d,0x50,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5b,0x5c,0x22,0x70,0x65,0x72,0x63,0x65,0x6e,0x74,0x5c,0x22,0x2c,0x5c,0x22,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x5c,0x22,0x5d,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x73,0x68,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x6f,0x6b,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x4c,0x6f,0x73,0x74,0x46,0x6f,0x63,0x75,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x6f,0x73,0x74,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x46,0x6f,0x63,0x75,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x66,0x6f,0x72,0x77,0x61,0x72,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x70,0x75,0x73,0x68,0x54,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x4c,0x6f,0x73,0x74,0x4d,0x6f,0x75,0x73,0x65,0x46,0x6f,0x63,0x75,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x6f,0x73,0x74,0x4d,0x6f,0x75,0x73,0x65,0x46,0x6f,0x63,0x75,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x66,0x6f,0x72,0x77,0x61,0x72,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x70,0x75,0x73,0x68,0x54,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x73,0x65,0x6c,0x66,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x69,0x67,0x6e,0x6f,0x72,0x65,0x44,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x49,0x67,0x6e,0x6f,0x72,0x65,0x20,0x44,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x31,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x69,0x67,0x6e,0x6f,0x72,0x65,0x45,0x6e,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x4e,0x75,0x6b,0x65,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x49,0x67,0x6e,0x6f,0x72,0x65,0x20,0x45,0x6e,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x20,0x4e,0x75,0x6b,0x65,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x69,0x67,0x6e,0x6f,0x72,0x65,0x41,0x45,0x4e,0x75,0x6b,0x65,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x49,0x67,0x6e,0x6f,0x72,0x65,0x20,0x41,0x45,0x20,0x4e,0x75,0x6b,0x65,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6d,0x61,0x78,0x49,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x4d,0x61,0x78,0x20,0x49,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6e,0x61,0x6d,0x65,0x64,0x4f,0x6e,0x6c,0x79,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x4e,0x61,0x6d,0x65,0x64,0x20,0x4f,0x6e,0x6c,0x79,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x31,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x46,0x65,0x72,0x76,0x6f,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x37,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x66,0x65,0x72,0x76,0x6f,0x72,0x52,0x61,0x6e,0x67,0x65,0x4d,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x2d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x6c,0x64,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x34,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x66,0x65,0x72,0x76,0x6f,0x72,0x52,0x61,0x6e,0x67,0x65,0x4d,0x61,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x44,0x69,0x73,0x73,0x6f,0x6e,0x61,0x6e,0x63,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x37,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x64,0x69,0x73,0x73,0x6f,0x6e,0x61,0x6e,0x63,0x65,0x52,0x61,0x6e,0x67,0x65,0x4d,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x2d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x6c,0x64,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x34,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x64,0x69,0x73,0x73,0x6f,0x6e,0x61,0x6e,0x63,0x65,0x52,0x61,0x6e,0x67,0x65,0x4d,0x61,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x4d,0x79,0x20,0x48,0x50,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x37,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6d,0x79,0x48,0x70,0x52,0x61,0x6e,0x67,0x65,0x4d,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x2d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x6c,0x64,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x34,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6d,0x79,0x48,0x70,0x52,0x61,0x6e,0x67,0x65,0x4d,0x61,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x4d,0x79,0x20,0x50,0x6f,0x77,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x37,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6d,0x79,0x50,0x6f,0x77,0x65,0x72,0x52,0x61,0x6e,0x67,0x65,0x4d,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x2d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x6c,0x64,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x34,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6d,0x79,0x50,0x6f,0x77,0x65,0x72,0x52,0x61,0x6e,0x67,0x65,0x4d,0x61,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x4e,0x50,0x43,0x20,0x48,0x50,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x37,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6e,0x70,0x63,0x48,0x70,0x52,0x61,0x6e,0x67,0x65,0x4d,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x2d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x6c,0x64,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x34,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6e,0x70,0x63,0x48,0x70,0x52,0x61,0x6e,0x67,0x65,0x4d,0x61,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x41,0x67,0x67,0x72,0x6f,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x37,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x61,0x67,0x67,0x72,0x6f,0x52,0x61,0x6e,0x67,0x65,0x4d,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x2d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x6c,0x64,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x34,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x35,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x61,0x67,0x67,0x72,0x6f,0x52,0x61,0x6e,0x67,0x65,0x4d,0x61,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x33,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x20,0x4f,0x72,0x64,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x65,0x66,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x63,0x61,0x73,0x74,0x4f,0x72,0x64,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x30,0x2e,0x39,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x69,0x74,0x65,0x6d,0x73,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x70,0x72,0x6f,0x66,0x69,0x6c,0x65,0x2e,0x47,0x65,0x74,0x5b,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x5d,0x2e,0x4b,0x65,0x79,0x73,0x7d,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x63,0x61,0x73,0x74,0x4f,0x72,0x64,0x65,0x72,0x2e,0x65,0x64,0x69,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x45,0x64,0x69,0x74,0x20,0x45,0x6e,0x74,0x72,0x79,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x52,0x65,0x6c,0x65,0x61,0x73,0x65,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x45,0x64,0x69,0x74,0x45,0x6e,0x74,0x72,0x79,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x22,0x3a,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x65,0x66,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6c,0x6f,0x61,0x64,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x4c,0x6f,0x61,0x64,0x20,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x65,0x66,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x63,0x6f,0x6d,0x62,0x6f,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x2e,0x70,0x72,0x6f,0x66,0x69,0x6c,0x65,0x4c,0x69,0x73,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6c,0x65,0x66,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x69,0x74,0x65,0x6d,0x73,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x4c,0x69,0x73,0x74,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x61,0x75,0x74,0x6f,0x50,0x75,0x6c,0x6c,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x48,0x6f,0x6f,0x6b,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x4e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x65,0x76,0x65,0x6e,0x74,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6c,0x61,0x67,0x73,0x22,0x3a,0x20,0x22,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x6f,0x6e,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x4c,0x69,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,}; +const unsigned bot_cast_stack_json_size = sizeof(bot_cast_stack_json); +const unsigned char bot_window_json[] = {0x7b,0x0d,0x0a,0x20,0x20,0x22,0x24,0x73,0x63,0x68,0x65,0x6d,0x61,0x22,0x3a,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x76,0x69,0x73,0x68,0x73,0x6f,0x66,0x74,0x2e,0x63,0x6f,0x6d,0x2f,0x73,0x63,0x68,0x65,0x6d,0x61,0x2f,0x6c,0x67,0x75,0x69,0x32,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x74,0x5f,0x63,0x61,0x73,0x74,0x5f,0x73,0x74,0x61,0x63,0x6b,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x0d,0x0a,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x73,0x6b,0x69,0x6e,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x4d,0x52,0x53,0x6b,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x62,0x72,0x75,0x73,0x68,0x65,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x74,0x69,0x74,0x6c,0x65,0x42,0x61,0x72,0x2e,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x42,0x72,0x75,0x73,0x68,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x32,0x31,0x31,0x43,0x31,0x38,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x74,0x69,0x74,0x6c,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x63,0x65,0x6e,0x74,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x3a,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x66,0x34,0x66,0x33,0x65,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x3a,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x42,0x72,0x75,0x73,0x68,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x34,0x36,0x33,0x66,0x33,0x61,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x66,0x34,0x66,0x33,0x65,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x61,0x63,0x65,0x22,0x3a,0x20,0x22,0x53,0x65,0x67,0x6f,0x65,0x20,0x55,0x49,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x31,0x36,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x46,0x69,0x74,0x57,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x53,0x63,0x72,0x6f,0x6c,0x6c,0x22,0x3a,0x20,0x22,0x66,0x69,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x73,0x6b,0x69,0x6e,0x22,0x3a,0x20,0x22,0x4d,0x52,0x53,0x6b,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x69,0x74,0x6c,0x65,0x22,0x3a,0x20,0x22,0x4d,0x52,0x20,0x42,0x6f,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x6d,0x72,0x2e,0x62,0x6f,0x74,0x2e,0x6d,0x69,0x6e,0x69,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x72,0x64,0x65,0x72,0x54,0x68,0x69,0x63,0x6b,0x6e,0x65,0x73,0x73,0x22,0x3a,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x69,0x64,0x65,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x69,0x6e,0x53,0x69,0x7a,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x35,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x78,0x53,0x69,0x7a,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x35,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x31,0x32,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x53,0x74,0x61,0x72,0x74,0x42,0x75,0x74,0x74,0x6f,0x6e,0x54,0x65,0x78,0x74,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x52,0x65,0x6c,0x65,0x61,0x73,0x65,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x54,0x6f,0x67,0x67,0x6c,0x65,0x42,0x6f,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x42,0x75,0x74,0x74,0x6f,0x6e,0x54,0x65,0x78,0x74,0x7d,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x52,0x65,0x6c,0x65,0x61,0x73,0x65,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x54,0x6f,0x67,0x67,0x6c,0x65,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x73,0x6b,0x69,0x6e,0x22,0x3a,0x20,0x22,0x4d,0x52,0x53,0x6b,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x69,0x74,0x6c,0x65,0x22,0x3a,0x20,0x22,0x4d,0x52,0x20,0x42,0x6f,0x74,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x6d,0x72,0x2e,0x62,0x6f,0x74,0x2e,0x73,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x72,0x64,0x65,0x72,0x54,0x68,0x69,0x63,0x6b,0x6e,0x65,0x73,0x73,0x22,0x3a,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x69,0x64,0x65,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x69,0x73,0x69,0x62,0x69,0x6c,0x69,0x74,0x79,0x22,0x3a,0x20,0x22,0x68,0x69,0x64,0x64,0x65,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x69,0x6e,0x53,0x69,0x7a,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x34,0x35,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x32,0x30,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x78,0x53,0x69,0x7a,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x36,0x30,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x38,0x30,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x61,0x62,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x61,0x62,0x73,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x61,0x62,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x61,0x64,0x65,0x72,0x22,0x3a,0x20,0x22,0x43,0x61,0x73,0x74,0x20,0x53,0x74,0x61,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x6d,0x72,0x2e,0x62,0x6f,0x74,0x2e,0x73,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x2e,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x73,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x2e,0x63,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x61,0x62,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x61,0x64,0x65,0x72,0x22,0x3a,0x20,0x22,0x47,0x65,0x6e,0x65,0x72,0x61,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x64,0x6f,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x5f,0x64,0x6f,0x63,0x6b,0x22,0x3a,0x20,0x22,0x74,0x6f,0x70,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x22,0x3a,0x20,0x22,0x47,0x65,0x6e,0x65,0x72,0x61,0x6c,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x63,0x65,0x6e,0x74,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x63,0x65,0x6e,0x74,0x65,0x72,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x5d,0x0d,0x0a,0x7d,0x0d,0x0a,}; +const unsigned bot_window_json_size = sizeof(bot_window_json); +const unsigned char test_json[] = {0x7b,0x0d,0x0a,0x20,0x20,0x22,0x24,0x73,0x63,0x68,0x65,0x6d,0x61,0x22,0x3a,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x76,0x69,0x73,0x68,0x73,0x6f,0x66,0x74,0x2e,0x63,0x6f,0x6d,0x2f,0x73,0x63,0x68,0x65,0x6d,0x61,0x2f,0x6c,0x67,0x75,0x69,0x32,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x73,0x6b,0x69,0x6e,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x4d,0x52,0x53,0x6b,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x62,0x72,0x75,0x73,0x68,0x65,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x74,0x69,0x74,0x6c,0x65,0x42,0x61,0x72,0x2e,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x42,0x72,0x75,0x73,0x68,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x32,0x31,0x31,0x43,0x31,0x38,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x74,0x69,0x74,0x6c,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x63,0x65,0x6e,0x74,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x32,0x2c,0x20,0x30,0x2c,0x20,0x30,0x2c,0x20,0x30,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x3a,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x32,0x2c,0x20,0x32,0x2c,0x20,0x32,0x2c,0x20,0x32,0x5d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x66,0x34,0x66,0x33,0x65,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x3a,0x63,0x68,0x65,0x63,0x6b,0x62,0x6f,0x78,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x72,0x67,0x69,0x6e,0x22,0x3a,0x20,0x5b,0x32,0x2c,0x20,0x32,0x2c,0x20,0x32,0x2c,0x20,0x32,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x42,0x72,0x75,0x73,0x68,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x34,0x36,0x33,0x66,0x33,0x61,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x22,0x3a,0x20,0x22,0x23,0x66,0x34,0x66,0x33,0x65,0x65,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x6f,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x66,0x61,0x63,0x65,0x22,0x3a,0x20,0x22,0x53,0x65,0x67,0x6f,0x65,0x20,0x55,0x49,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x31,0x36,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x46,0x69,0x74,0x57,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6a,0x73,0x6f,0x6e,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x22,0x3a,0x20,0x22,0x6c,0x69,0x73,0x74,0x62,0x6f,0x78,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x43,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x53,0x63,0x72,0x6f,0x6c,0x6c,0x22,0x3a,0x20,0x22,0x66,0x69,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x22,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x73,0x6b,0x69,0x6e,0x22,0x3a,0x20,0x22,0x4d,0x52,0x53,0x6b,0x69,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x69,0x74,0x6c,0x65,0x22,0x3a,0x20,0x22,0x4d,0x52,0x20,0x42,0x6f,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x6d,0x72,0x2e,0x62,0x6f,0x74,0x2e,0x6d,0x69,0x6e,0x69,0x77,0x69,0x6e,0x64,0x6f,0x77,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x62,0x6f,0x72,0x64,0x65,0x72,0x54,0x68,0x69,0x63,0x6b,0x6e,0x65,0x73,0x73,0x22,0x3a,0x20,0x32,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x69,0x64,0x65,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x3a,0x20,0x66,0x61,0x6c,0x73,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x69,0x6e,0x53,0x69,0x7a,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x30,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x35,0x30,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6d,0x61,0x78,0x53,0x69,0x7a,0x65,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x31,0x35,0x30,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x22,0x3a,0x20,0x31,0x32,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x22,0x3a,0x20,0x5b,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x20,0x22,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x20,0x22,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x73,0x74,0x61,0x63,0x6b,0x70,0x61,0x6e,0x65,0x6c,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x22,0x3a,0x20,0x74,0x72,0x75,0x65,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x65,0x69,0x67,0x68,0x74,0x46,0x61,0x63,0x74,0x6f,0x72,0x22,0x3a,0x20,0x31,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x22,0x3a,0x20,0x5b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x47,0x65,0x74,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x65,0x76,0x65,0x6e,0x74,0x48,0x61,0x6e,0x64,0x6c,0x65,0x72,0x73,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x6f,0x6e,0x52,0x65,0x6c,0x65,0x61,0x73,0x65,0x22,0x3a,0x20,0x5b,0x22,0x6d,0x65,0x74,0x68,0x6f,0x64,0x22,0x2c,0x20,0x22,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x22,0x2c,0x20,0x22,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x22,0x74,0x65,0x78,0x74,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x41,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x22,0x3a,0x20,0x22,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x22,0x2c,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x74,0x65,0x78,0x74,0x42,0x69,0x6e,0x64,0x69,0x6e,0x67,0x22,0x3a,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x70,0x75,0x6c,0x6c,0x46,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x22,0x24,0x7b,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x2e,0x74,0x61,0x72,0x67,0x65,0x74,0x7d,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x20,0x20,0x5d,0x0d,0x0a,0x7d,0x0d,0x0a,}; +const unsigned test_json_size = sizeof(test_json); diff --git a/src/scripts b/src/scripts new file mode 100644 index 0000000..3324802 --- /dev/null +++ b/src/scripts @@ -0,0 +1,8 @@ +const unsigned char bot_iss[] = {0x6f,0x62,0x6a,0x65,0x63,0x74,0x64,0x65,0x66,0x20,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x20,0x3d,0x20,0x22,0x22,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x49,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x28,0x29,0x0d,0x0a,0x09,0x7b,0x0d,0x0a,0x09,0x09,0x4c,0x47,0x55,0x49,0x32,0x3a,0x4c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x74,0x65,0x73,0x74,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x09,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x53,0x68,0x75,0x74,0x64,0x6f,0x77,0x6e,0x28,0x29,0x0d,0x0a,0x09,0x7b,0x0d,0x0a,0x09,0x09,0x4c,0x47,0x55,0x49,0x32,0x3a,0x55,0x6e,0x6c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x74,0x65,0x73,0x74,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x09,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x63,0x68,0x6f,0x20,0x22,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4f,0x6e,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x63,0x68,0x6f,0x20,0x22,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x53,0x63,0x72,0x69,0x70,0x74,0x3a,0x45,0x6e,0x64,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,0x0d,0x0a,0x0d,0x0a,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x0d,0x0a,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x20,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x31,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x61,0x69,0x74,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,}; +const unsigned bot_iss_size = sizeof(bot_iss); +const unsigned char bot_controller_iss[] = {0x6f,0x62,0x6a,0x65,0x63,0x74,0x64,0x65,0x66,0x20,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x74,0x65,0x73,0x74,0x20,0x3d,0x20,0x22,0x6a,0x75,0x73,0x74,0x20,0x61,0x20,0x74,0x65,0x73,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x53,0x74,0x61,0x72,0x74,0x42,0x75,0x74,0x74,0x6f,0x6e,0x54,0x65,0x78,0x74,0x20,0x3d,0x20,0x22,0x53,0x74,0x61,0x72,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x42,0x75,0x74,0x74,0x6f,0x6e,0x54,0x65,0x78,0x74,0x20,0x3d,0x20,0x22,0x53,0x68,0x6f,0x77,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x49,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4c,0x47,0x55,0x49,0x32,0x3a,0x4c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x62,0x6f,0x74,0x5f,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x53,0x68,0x75,0x74,0x64,0x6f,0x77,0x6e,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4c,0x47,0x55,0x49,0x32,0x3a,0x55,0x6e,0x6c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x62,0x6f,0x74,0x5f,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4d,0x52,0x42,0x6f,0x74,0x5f,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x54,0x6f,0x67,0x67,0x6c,0x65,0x42,0x6f,0x74,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4d,0x52,0x42,0x6f,0x74,0x5f,0x4f,0x6e,0x54,0x6f,0x67,0x67,0x6c,0x65,0x42,0x6f,0x74,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x54,0x6f,0x67,0x67,0x6c,0x65,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4d,0x52,0x42,0x6f,0x74,0x5f,0x4f,0x6e,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,0x0d,0x0a,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x3b,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x4d,0x52,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x0d,0x0a,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x31,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x61,0x69,0x74,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,}; +const unsigned bot_controller_iss_size = sizeof(bot_controller_iss); +const unsigned char cast_stack_controller_iss[] = {0x6f,0x62,0x6a,0x65,0x63,0x74,0x64,0x65,0x66,0x20,0x4d,0x52,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x49,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x53,0x68,0x75,0x74,0x64,0x6f,0x77,0x6e,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,0x0d,0x0a,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x4d,0x52,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x0d,0x0a,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x31,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x61,0x69,0x74,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,}; +const unsigned cast_stack_controller_iss_size = sizeof(cast_stack_controller_iss); +const unsigned char cast_stack_controller_iss_h[] = {0xff,0xfe,0x75,0x00,0x6e,0x00,0x73,0x00,0x69,0x00,0x67,0x00,0x6e,0x00,0x65,0x00,0x64,0x00,0x20,0x00,0x63,0x00,0x68,0x00,0x61,0x00,0x72,0x00,0x20,0x00,0x63,0x00,0x61,0x00,0x73,0x00,0x74,0x00,0x5f,0x00,0x73,0x00,0x74,0x00,0x61,0x00,0x63,0x00,0x6b,0x00,0x5f,0x00,0x63,0x00,0x6f,0x00,0x6e,0x00,0x74,0x00,0x72,0x00,0x6f,0x00,0x6c,0x00,0x6c,0x00,0x65,0x00,0x72,0x00,0x5f,0x00,0x69,0x00,0x73,0x00,0x73,0x00,0x5b,0x00,0x5d,0x00,0x20,0x00,0x3d,0x00,0x20,0x00,0x7b,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x35,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x35,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x7d,0x00,0x3b,0x00,0x20,0x00,0x75,0x00,0x6e,0x00,0x73,0x00,0x69,0x00,0x67,0x00,0x6e,0x00,0x65,0x00,0x64,0x00,0x20,0x00,0x69,0x00,0x6e,0x00,0x74,0x00,0x20,0x00,0x63,0x00,0x61,0x00,0x73,0x00,0x74,0x00,0x5f,0x00,0x73,0x00,0x74,0x00,0x61,0x00,0x63,0x00,0x6b,0x00,0x5f,0x00,0x63,0x00,0x6f,0x00,0x6e,0x00,0x74,0x00,0x72,0x00,0x6f,0x00,0x6c,0x00,0x6c,0x00,0x65,0x00,0x72,0x00,0x5f,0x00,0x69,0x00,0x73,0x00,0x73,0x00,0x5f,0x00,0x6c,0x00,0x65,0x00,0x6e,0x00,0x20,0x00,0x3d,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x38,0x00,0x3b,0x00,0x0d,0x00,0x0a,0x00,}; +const unsigned cast_stack_controller_iss_h_size = sizeof(cast_stack_controller_iss_h); diff --git a/src/scripts.h b/src/scripts.h new file mode 100644 index 0000000..3324802 --- /dev/null +++ b/src/scripts.h @@ -0,0 +1,8 @@ +const unsigned char bot_iss[] = {0x6f,0x62,0x6a,0x65,0x63,0x74,0x64,0x65,0x66,0x20,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x20,0x3d,0x20,0x22,0x22,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x49,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x28,0x29,0x0d,0x0a,0x09,0x7b,0x0d,0x0a,0x09,0x09,0x4c,0x47,0x55,0x49,0x32,0x3a,0x4c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x74,0x65,0x73,0x74,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x09,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x53,0x68,0x75,0x74,0x64,0x6f,0x77,0x6e,0x28,0x29,0x0d,0x0a,0x09,0x7b,0x0d,0x0a,0x09,0x09,0x4c,0x47,0x55,0x49,0x32,0x3a,0x55,0x6e,0x6c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x74,0x65,0x73,0x74,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x09,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x63,0x68,0x6f,0x20,0x22,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4f,0x6e,0x47,0x65,0x74,0x54,0x61,0x72,0x67,0x65,0x74,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x63,0x68,0x6f,0x20,0x22,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x53,0x63,0x72,0x69,0x70,0x74,0x3a,0x45,0x6e,0x64,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,0x0d,0x0a,0x0d,0x0a,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x0d,0x0a,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x20,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x31,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x61,0x69,0x74,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,}; +const unsigned bot_iss_size = sizeof(bot_iss); +const unsigned char bot_controller_iss[] = {0x6f,0x62,0x6a,0x65,0x63,0x74,0x64,0x65,0x66,0x20,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x74,0x65,0x73,0x74,0x20,0x3d,0x20,0x22,0x6a,0x75,0x73,0x74,0x20,0x61,0x20,0x74,0x65,0x73,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x53,0x74,0x61,0x72,0x74,0x42,0x75,0x74,0x74,0x6f,0x6e,0x54,0x65,0x78,0x74,0x20,0x3d,0x20,0x22,0x53,0x74,0x61,0x72,0x74,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x20,0x73,0x74,0x72,0x69,0x6e,0x67,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x42,0x75,0x74,0x74,0x6f,0x6e,0x54,0x65,0x78,0x74,0x20,0x3d,0x20,0x22,0x53,0x68,0x6f,0x77,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x22,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x49,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4c,0x47,0x55,0x49,0x32,0x3a,0x4c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x62,0x6f,0x74,0x5f,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x53,0x68,0x75,0x74,0x64,0x6f,0x77,0x6e,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4c,0x47,0x55,0x49,0x32,0x3a,0x55,0x6e,0x6c,0x6f,0x61,0x64,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x46,0x69,0x6c,0x65,0x5b,0x22,0x24,0x7b,0x4c,0x61,0x76,0x69,0x73,0x68,0x53,0x63,0x72,0x69,0x70,0x74,0x2e,0x48,0x6f,0x6d,0x65,0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x7d,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x2f,0x6d,0x72,0x2f,0x75,0x69,0x2f,0x62,0x6f,0x74,0x5f,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,0x6a,0x73,0x6f,0x6e,0x22,0x5d,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4d,0x52,0x42,0x6f,0x74,0x5f,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x54,0x6f,0x67,0x67,0x6c,0x65,0x42,0x6f,0x74,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4d,0x52,0x42,0x6f,0x74,0x5f,0x4f,0x6e,0x54,0x6f,0x67,0x67,0x6c,0x65,0x42,0x6f,0x74,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x54,0x6f,0x67,0x67,0x6c,0x65,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4d,0x52,0x42,0x6f,0x74,0x5f,0x4f,0x6e,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,0x0d,0x0a,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x4d,0x52,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x42,0x6f,0x74,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x3b,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x4d,0x52,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x53,0x65,0x74,0x74,0x69,0x6e,0x67,0x73,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x0d,0x0a,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x31,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x61,0x69,0x74,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,}; +const unsigned bot_controller_iss_size = sizeof(bot_controller_iss); +const unsigned char cast_stack_controller_iss[] = {0x6f,0x62,0x6a,0x65,0x63,0x74,0x64,0x65,0x66,0x20,0x4d,0x52,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x49,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x53,0x68,0x75,0x74,0x64,0x6f,0x77,0x6e,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x0d,0x0a,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x20,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x28,0x29,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x45,0x76,0x65,0x6e,0x74,0x5b,0x4f,0x6e,0x43,0x6c,0x6f,0x73,0x65,0x42,0x75,0x74,0x74,0x6f,0x6e,0x43,0x6c,0x69,0x63,0x6b,0x65,0x64,0x5d,0x3a,0x45,0x78,0x65,0x63,0x75,0x74,0x65,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,0x0d,0x0a,0x0d,0x0a,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x29,0x20,0x4d,0x52,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x20,0x43,0x61,0x73,0x74,0x53,0x74,0x61,0x63,0x6b,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x0d,0x0a,0x0d,0x0a,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0d,0x0a,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x31,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x61,0x69,0x74,0x20,0x35,0x0d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0d,0x0a,0x7d,}; +const unsigned cast_stack_controller_iss_size = sizeof(cast_stack_controller_iss); +const unsigned char cast_stack_controller_iss_h[] = {0xff,0xfe,0x75,0x00,0x6e,0x00,0x73,0x00,0x69,0x00,0x67,0x00,0x6e,0x00,0x65,0x00,0x64,0x00,0x20,0x00,0x63,0x00,0x68,0x00,0x61,0x00,0x72,0x00,0x20,0x00,0x63,0x00,0x61,0x00,0x73,0x00,0x74,0x00,0x5f,0x00,0x73,0x00,0x74,0x00,0x61,0x00,0x63,0x00,0x6b,0x00,0x5f,0x00,0x63,0x00,0x6f,0x00,0x6e,0x00,0x74,0x00,0x72,0x00,0x6f,0x00,0x6c,0x00,0x6c,0x00,0x65,0x00,0x72,0x00,0x5f,0x00,0x69,0x00,0x73,0x00,0x73,0x00,0x5b,0x00,0x5d,0x00,0x20,0x00,0x3d,0x00,0x20,0x00,0x7b,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x35,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x37,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x38,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x36,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x34,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x38,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x34,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x39,0x00,0x2c,0x00,0x20,0x00,0x39,0x00,0x37,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x31,0x00,0x36,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x35,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x33,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x30,0x00,0x2c,0x00,0x20,0x00,0x31,0x00,0x32,0x00,0x35,0x00,0x7d,0x00,0x3b,0x00,0x20,0x00,0x75,0x00,0x6e,0x00,0x73,0x00,0x69,0x00,0x67,0x00,0x6e,0x00,0x65,0x00,0x64,0x00,0x20,0x00,0x69,0x00,0x6e,0x00,0x74,0x00,0x20,0x00,0x63,0x00,0x61,0x00,0x73,0x00,0x74,0x00,0x5f,0x00,0x73,0x00,0x74,0x00,0x61,0x00,0x63,0x00,0x6b,0x00,0x5f,0x00,0x63,0x00,0x6f,0x00,0x6e,0x00,0x74,0x00,0x72,0x00,0x6f,0x00,0x6c,0x00,0x6c,0x00,0x65,0x00,0x72,0x00,0x5f,0x00,0x69,0x00,0x73,0x00,0x73,0x00,0x5f,0x00,0x6c,0x00,0x65,0x00,0x6e,0x00,0x20,0x00,0x3d,0x00,0x20,0x00,0x33,0x00,0x32,0x00,0x38,0x00,0x3b,0x00,0x0d,0x00,0x0a,0x00,}; +const unsigned cast_stack_controller_iss_h_size = sizeof(cast_stack_controller_iss_h);