diff options
Diffstat (limited to 'src')
137 files changed, 18551 insertions, 855 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a45439481..e11940f59 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,7 @@ add_subdirectory(common) add_subdirectory(core) add_subdirectory(video_core) add_subdirectory(audio_core) +add_subdirectory(network) add_subdirectory(input_common) add_subdirectory(tests) if (ENABLE_SDL2) @@ -13,3 +14,6 @@ endif() if (ENABLE_QT) add_subdirectory(citra_qt) endif() +if (ENABLE_WEB_SERVICE) + add_subdirectory(web_service) +endif() diff --git a/src/audio_core/hle/source.cpp b/src/audio_core/hle/source.cpp index 92484c526..de4e88cae 100644 --- a/src/audio_core/hle/source.cpp +++ b/src/audio_core/hle/source.cpp @@ -244,17 +244,27 @@ void Source::GenerateFrame() { break; } - const size_t size_to_copy = - std::min(state.current_buffer.size(), current_frame.size() - frame_position); - - std::copy(state.current_buffer.begin(), state.current_buffer.begin() + size_to_copy, - current_frame.begin() + frame_position); - state.current_buffer.erase(state.current_buffer.begin(), - state.current_buffer.begin() + size_to_copy); - - frame_position += size_to_copy; - state.next_sample_number += static_cast<u32>(size_to_copy); + switch (state.interpolation_mode) { + case InterpolationMode::None: + AudioInterp::None(state.interp_state, state.current_buffer, state.rate_multiplier, + current_frame, frame_position); + break; + case InterpolationMode::Linear: + AudioInterp::Linear(state.interp_state, state.current_buffer, state.rate_multiplier, + current_frame, frame_position); + break; + case InterpolationMode::Polyphase: + // TODO(merry): Implement polyphase interpolation + LOG_DEBUG(Audio_DSP, "Polyphase interpolation unimplemented; falling back to linear"); + AudioInterp::Linear(state.interp_state, state.current_buffer, state.rate_multiplier, + current_frame, frame_position); + break; + default: + UNIMPLEMENTED(); + break; + } } + state.next_sample_number += frame_position; state.filters.ProcessFrame(current_frame); } @@ -305,25 +315,6 @@ bool Source::DequeueBuffer() { return true; } - switch (state.interpolation_mode) { - case InterpolationMode::None: - state.current_buffer = - AudioInterp::None(state.interp_state, state.current_buffer, state.rate_multiplier); - break; - case InterpolationMode::Linear: - state.current_buffer = - AudioInterp::Linear(state.interp_state, state.current_buffer, state.rate_multiplier); - break; - case InterpolationMode::Polyphase: - // TODO(merry): Implement polyphase interpolation - state.current_buffer = - AudioInterp::Linear(state.interp_state, state.current_buffer, state.rate_multiplier); - break; - default: - UNIMPLEMENTED(); - break; - } - // the first playthrough starts at play_position, loops start at the beginning of the buffer state.current_sample_number = (!buf.has_played) ? buf.play_position : 0; state.next_sample_number = state.current_sample_number; diff --git a/src/audio_core/interpolate.cpp b/src/audio_core/interpolate.cpp index 8a5d4181a..16e68bc5c 100644 --- a/src/audio_core/interpolate.cpp +++ b/src/audio_core/interpolate.cpp @@ -13,74 +13,64 @@ namespace AudioInterp { constexpr u64 scale_factor = 1 << 24; constexpr u64 scale_mask = scale_factor - 1; -/// Here we step over the input in steps of rate_multiplier, until we consume all of the input. +/// Here we step over the input in steps of rate, until we consume all of the input. /// Three adjacent samples are passed to fn each step. template <typename Function> -static StereoBuffer16 StepOverSamples(State& state, const StereoBuffer16& input, - float rate_multiplier, Function fn) { - ASSERT(rate_multiplier > 0); +static void StepOverSamples(State& state, StereoBuffer16& input, float rate, + DSP::HLE::StereoFrame16& output, size_t& outputi, Function fn) { + ASSERT(rate > 0); - if (input.size() < 2) - return {}; + if (input.empty()) + return; - StereoBuffer16 output; - output.reserve(static_cast<size_t>(input.size() / rate_multiplier)); + input.insert(input.begin(), {state.xn2, state.xn1}); - u64 step_size = static_cast<u64>(rate_multiplier * scale_factor); + const u64 step_size = static_cast<u64>(rate * scale_factor); + u64 fposition = state.fposition; + size_t inputi = 0; - u64 fposition = 0; - const u64 max_fposition = input.size() * scale_factor; + while (outputi < output.size()) { + inputi = static_cast<size_t>(fposition / scale_factor); - while (fposition < 1 * scale_factor) { - u64 fraction = fposition & scale_mask; - - output.push_back(fn(fraction, state.xn2, state.xn1, input[0])); - - fposition += step_size; - } - - while (fposition < 2 * scale_factor) { - u64 fraction = fposition & scale_mask; - - output.push_back(fn(fraction, state.xn1, input[0], input[1])); - - fposition += step_size; - } + if (inputi + 2 >= input.size()) { + inputi = input.size() - 2; + break; + } - while (fposition < max_fposition) { u64 fraction = fposition & scale_mask; - - size_t index = static_cast<size_t>(fposition / scale_factor); - output.push_back(fn(fraction, input[index - 2], input[index - 1], input[index])); + output[outputi++] = fn(fraction, input[inputi], input[inputi + 1], input[inputi + 2]); fposition += step_size; } - state.xn2 = input[input.size() - 2]; - state.xn1 = input[input.size() - 1]; + state.xn2 = input[inputi]; + state.xn1 = input[inputi + 1]; + state.fposition = fposition - inputi * scale_factor; - return output; + input.erase(input.begin(), input.begin() + inputi + 2); } -StereoBuffer16 None(State& state, const StereoBuffer16& input, float rate_multiplier) { - return StepOverSamples( - state, input, rate_multiplier, +void None(State& state, StereoBuffer16& input, float rate, DSP::HLE::StereoFrame16& output, + size_t& outputi) { + StepOverSamples( + state, input, rate, output, outputi, [](u64 fraction, const auto& x0, const auto& x1, const auto& x2) { return x0; }); } -StereoBuffer16 Linear(State& state, const StereoBuffer16& input, float rate_multiplier) { +void Linear(State& state, StereoBuffer16& input, float rate, DSP::HLE::StereoFrame16& output, + size_t& outputi) { // Note on accuracy: Some values that this produces are +/- 1 from the actual firmware. - return StepOverSamples(state, input, rate_multiplier, - [](u64 fraction, const auto& x0, const auto& x1, const auto& x2) { - // This is a saturated subtraction. (Verified by black-box fuzzing.) - s64 delta0 = MathUtil::Clamp<s64>(x1[0] - x0[0], -32768, 32767); - s64 delta1 = MathUtil::Clamp<s64>(x1[1] - x0[1], -32768, 32767); - - return std::array<s16, 2>{ - static_cast<s16>(x0[0] + fraction * delta0 / scale_factor), - static_cast<s16>(x0[1] + fraction * delta1 / scale_factor), - }; - }); + StepOverSamples(state, input, rate, output, outputi, + [](u64 fraction, const auto& x0, const auto& x1, const auto& x2) { + // This is a saturated subtraction. (Verified by black-box fuzzing.) + s64 delta0 = MathUtil::Clamp<s64>(x1[0] - x0[0], -32768, 32767); + s64 delta1 = MathUtil::Clamp<s64>(x1[1] - x0[1], -32768, 32767); + + return std::array<s16, 2>{ + static_cast<s16>(x0[0] + fraction * delta0 / scale_factor), + static_cast<s16>(x0[1] + fraction * delta1 / scale_factor), + }; + }); } } // namespace AudioInterp diff --git a/src/audio_core/interpolate.h b/src/audio_core/interpolate.h index 19a7b66cb..59f59bc14 100644 --- a/src/audio_core/interpolate.h +++ b/src/audio_core/interpolate.h @@ -6,6 +6,7 @@ #include <array> #include <vector> +#include "audio_core/hle/common.h" #include "common/common_types.h" namespace AudioInterp { @@ -14,31 +15,35 @@ namespace AudioInterp { using StereoBuffer16 = std::vector<std::array<s16, 2>>; struct State { - // Two historical samples. + /// Two historical samples. std::array<s16, 2> xn1 = {}; ///< x[n-1] std::array<s16, 2> xn2 = {}; ///< x[n-2] + /// Current fractional position. + u64 fposition = 0; }; /** * No interpolation. This is equivalent to a zero-order hold. There is a two-sample predelay. * @param state Interpolation state. * @param input Input buffer. - * @param rate_multiplier Stretch factor. Must be a positive non-zero value. - * rate_multiplier > 1.0 performs decimation and rate_multipler < 1.0 - * performs upsampling. - * @return The resampled audio buffer. + * @param rate Stretch factor. Must be a positive non-zero value. + * rate > 1.0 performs decimation and rate < 1.0 performs upsampling. + * @param output The resampled audio buffer. + * @param outputi The index of output to start writing to. */ -StereoBuffer16 None(State& state, const StereoBuffer16& input, float rate_multiplier); +void None(State& state, StereoBuffer16& input, float rate, DSP::HLE::StereoFrame16& output, + size_t& outputi); /** * Linear interpolation. This is equivalent to a first-order hold. There is a two-sample predelay. * @param state Interpolation state. * @param input Input buffer. - * @param rate_multiplier Stretch factor. Must be a positive non-zero value. - * rate_multiplier > 1.0 performs decimation and rate_multipler < 1.0 - * performs upsampling. - * @return The resampled audio buffer. + * @param rate Stretch factor. Must be a positive non-zero value. + * rate > 1.0 performs decimation and rate < 1.0 performs upsampling. + * @param output The resampled audio buffer. + * @param outputi The index of output to start writing to. */ -StereoBuffer16 Linear(State& state, const StereoBuffer16& input, float rate_multiplier); +void Linear(State& state, StereoBuffer16& input, float rate, DSP::HLE::StereoFrame16& output, + size_t& outputi); } // namespace AudioInterp diff --git a/src/citra/CMakeLists.txt b/src/citra/CMakeLists.txt index d72d2b5f4..a885f22f8 100644 --- a/src/citra/CMakeLists.txt +++ b/src/citra/CMakeLists.txt @@ -16,7 +16,7 @@ set(HEADERS create_directory_groups(${SRCS} ${HEADERS}) add_executable(citra ${SRCS} ${HEADERS}) -target_link_libraries(citra PRIVATE common core input_common) +target_link_libraries(citra PRIVATE common core input_common network) target_link_libraries(citra PRIVATE inih glad) if (MSVC) target_link_libraries(citra PRIVATE getopt) diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp index 14574e56c..e524c5535 100644 --- a/src/citra/citra.cpp +++ b/src/citra/citra.cpp @@ -165,6 +165,8 @@ int main(int argc, char** argv) { break; // Expected case } + Core::Telemetry().AddField(Telemetry::FieldType::App, "Frontend", "SDL"); + while (emu_window->IsOpen()) { system.RunLoop(); } diff --git a/src/citra/citra.rc b/src/citra/citra.rc index fea603004..c490ef302 100644 --- a/src/citra/citra.rc +++ b/src/citra/citra.rc @@ -1,3 +1,4 @@ +#include "winresrc.h" ///////////////////////////////////////////////////////////////////////////// // // Icon @@ -7,3 +8,10 @@ // remains consistent on all systems. CITRA_ICON ICON "../../dist/citra.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// RT_MANIFEST +// + +1 RT_MANIFEST "../../dist/citra.manifest" diff --git a/src/citra/config.cpp b/src/citra/config.cpp index 957d8dc86..a48ef08c7 100644 --- a/src/citra/config.cpp +++ b/src/citra/config.cpp @@ -76,6 +76,11 @@ void Config::ReadValues() { Settings::values.analogs[i] = default_param; } + Settings::values.motion_device = sdl2_config->Get( + "Controls", "motion_device", "engine:motion_emu,update_period:100,sensitivity:0.01"); + Settings::values.touch_device = + sdl2_config->Get("Controls", "touch_device", "engine:emu_window"); + // Core Settings::values.use_cpu_jit = sdl2_config->GetBoolean("Core", "use_cpu_jit", true); @@ -151,6 +156,14 @@ void Config::ReadValues() { Settings::values.use_gdbstub = sdl2_config->GetBoolean("Debugging", "use_gdbstub", false); Settings::values.gdbstub_port = static_cast<u16>(sdl2_config->GetInteger("Debugging", "gdbstub_port", 24689)); + + // Web Service + Settings::values.enable_telemetry = + sdl2_config->GetBoolean("WebService", "enable_telemetry", true); + Settings::values.telemetry_endpoint_url = sdl2_config->Get( + "WebService", "telemetry_endpoint_url", "https://services.citra-emu.org/api/telemetry"); + Settings::values.citra_username = sdl2_config->Get("WebService", "citra_username", ""); + Settings::values.citra_token = sdl2_config->Get("WebService", "citra_token", ""); } void Config::Reload() { diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h index d8a8fe44f..4b13a2e1b 100644 --- a/src/citra/default_ini.h +++ b/src/citra/default_ini.h @@ -12,7 +12,7 @@ const char* sdl2_config_file = R"( # It should be in the format of "engine:[engine_name],[param1]:[value1],[param2]:[value2]..." # Escape characters $0 (for ':'), $1 (for ',') and $2 (for '$') can be used in values -# for button input, the following devices are avaible: +# for button input, the following devices are available: # - "keyboard" (default) for keyboard input. Required parameters: # - "code": the code of the key to bind # - "sdl" for joystick input using SDL. Required parameters: @@ -21,7 +21,7 @@ const char* sdl2_config_file = R"( # - "hat"(optional): the index of the hat to bind as direction buttons # - "axis"(optional): the index of the axis to bind # - "direction"(only used for hat): the direction name of the hat to bind. Can be "up", "down", "left" or "right" -# - "threshould"(only used for axis): a float value in (-1.0, 1.0) which the button is +# - "threshold"(only used for axis): a float value in (-1.0, 1.0) which the button is # triggered if the axis value crosses # - "direction"(only used for axis): "+" means the button is triggered when the axis value # is greater than the threshold; "-" means the button is triggered when the axis value @@ -42,8 +42,8 @@ button_zl= button_zr= button_home= -# for analog input, the following devices are avaible: -# - "analog_from_button" (default) for emulating analog input from direction buttons. Required parameters: +# for analog input, the following devices are available: +# - "analog_from_button" (default) for emulating analog input from direction buttons. Required parameters: # - "up", "down", "left", "right": sub-devices for each direction. # Should be in the format as a button input devices using escape characters, for example, "engine$0keyboard$1code$00" # - "modifier": sub-devices as a modifier. @@ -56,6 +56,16 @@ button_home= circle_pad= c_stick= +# for motion input, the following devices are available: +# - "motion_emu" (default) for emulating motion input from mouse input. Required parameters: +# - "update_period": update period in milliseconds (default to 100) +# - "sensitivity": the coefficient converting mouse movement to tilting angle (default to 0.01) +motion_device= + +# for touch input, the following devices are available: +# - "emu_window" (default) for emulating touch input from mouse input to the emulation window. No parameters required +touch_device= + [Core] # Whether to use the Just-In-Time (JIT) compiler for CPU emulation # 0: Interpreter (slow), 1 (default): JIT (fast) @@ -168,5 +178,16 @@ log_filter = *:Info # Port for listening to GDB connections. use_gdbstub=false gdbstub_port=24689 + +[WebService] +# Whether or not to enable telemetry +# 0: No, 1 (default): Yes +enable_telemetry = +# Endpoint URL for submitting telemetry data +telemetry_endpoint_url = https://services.citra-emu.org/api/telemetry +# Username and token for Citra Web Service +# See https://services.citra-emu.org/ for more info +citra_username = +citra_token = )"; } diff --git a/src/citra/emu_window/emu_window_sdl2.cpp b/src/citra/emu_window/emu_window_sdl2.cpp index 47aadd60c..25643715a 100644 --- a/src/citra/emu_window/emu_window_sdl2.cpp +++ b/src/citra/emu_window/emu_window_sdl2.cpp @@ -16,10 +16,12 @@ #include "core/settings.h" #include "input_common/keyboard.h" #include "input_common/main.h" +#include "input_common/motion_emu.h" +#include "network/network.h" void EmuWindow_SDL2::OnMouseMotion(s32 x, s32 y) { TouchMoved((unsigned)std::max(x, 0), (unsigned)std::max(y, 0)); - motion_emu->Tilt(x, y); + InputCommon::GetMotionEmu()->Tilt(x, y); } void EmuWindow_SDL2::OnMouseButton(u32 button, u8 state, s32 x, s32 y) { @@ -31,9 +33,9 @@ void EmuWindow_SDL2::OnMouseButton(u32 button, u8 state, s32 x, s32 y) { } } else if (button == SDL_BUTTON_RIGHT) { if (state == SDL_PRESSED) { - motion_emu->BeginTilt(x, y); + InputCommon::GetMotionEmu()->BeginTilt(x, y); } else { - motion_emu->EndTilt(); + InputCommon::GetMotionEmu()->EndTilt(); } } } @@ -58,8 +60,7 @@ void EmuWindow_SDL2::OnResize() { EmuWindow_SDL2::EmuWindow_SDL2() { InputCommon::Init(); - - motion_emu = std::make_unique<Motion::MotionEmu>(*this); + Network::Init(); SDL_SetMainReady(); @@ -115,7 +116,8 @@ EmuWindow_SDL2::EmuWindow_SDL2() { EmuWindow_SDL2::~EmuWindow_SDL2() { SDL_GL_DeleteContext(gl_context); SDL_Quit(); - motion_emu = nullptr; + + Network::Shutdown(); InputCommon::Shutdown(); } diff --git a/src/citra/emu_window/emu_window_sdl2.h b/src/citra/emu_window/emu_window_sdl2.h index 1ce2991f7..3664d2fbe 100644 --- a/src/citra/emu_window/emu_window_sdl2.h +++ b/src/citra/emu_window/emu_window_sdl2.h @@ -7,7 +7,6 @@ #include <memory> #include <utility> #include "core/frontend/emu_window.h" -#include "core/frontend/motion_emu.h" struct SDL_Window; @@ -57,7 +56,4 @@ private: using SDL_GLContext = void*; /// The OpenGL context associated with the window SDL_GLContext gl_context; - - /// Motion sensors emulation - std::unique_ptr<Motion::MotionEmu> motion_emu; }; diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt index 4841cbf05..e0a19fd9e 100644 --- a/src/citra_qt/CMakeLists.txt +++ b/src/citra_qt/CMakeLists.txt @@ -1,4 +1,5 @@ set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) @@ -11,6 +12,7 @@ set(SRCS configuration/configure_graphics.cpp configuration/configure_input.cpp configuration/configure_system.cpp + configuration/configure_web.cpp debugger/graphics/graphics.cpp debugger/graphics/graphics_breakpoint_observer.cpp debugger/graphics/graphics_breakpoints.cpp @@ -41,6 +43,7 @@ set(HEADERS configuration/configure_graphics.h configuration/configure_input.h configuration/configure_system.h + configuration/configure_web.h debugger/graphics/graphics.h debugger/graphics/graphics_breakpoint_observer.h debugger/graphics/graphics_breakpoints.h @@ -70,11 +73,14 @@ set(UIS configuration/configure_graphics.ui configuration/configure_input.ui configuration/configure_system.ui + configuration/configure_web.ui debugger/registers.ui hotkeys.ui main.ui ) +file(GLOB_RECURSE THEMES ${CMAKE_SOURCE_DIR}/dist/qt_themes/*) + create_directory_groups(${SRCS} ${HEADERS} ${UIS}) if (Qt5_FOUND) @@ -86,12 +92,12 @@ endif() if (APPLE) set(MACOSX_ICON "../../dist/citra.icns") set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) - add_executable(citra-qt MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${MACOSX_ICON}) + add_executable(citra-qt MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${THEMES} ${MACOSX_ICON}) set_target_properties(citra-qt PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist) else() - add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS}) + add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS} ${THEMES}) endif() -target_link_libraries(citra-qt PRIVATE audio_core common core input_common video_core) +target_link_libraries(citra-qt PRIVATE audio_core common core input_common network video_core) target_link_libraries(citra-qt PRIVATE Boost::boost glad nihstro-headers Qt5::OpenGL Qt5::Widgets) target_link_libraries(citra-qt PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index a8a4aed8b..7107bfc60 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -17,6 +17,8 @@ #include "core/settings.h" #include "input_common/keyboard.h" #include "input_common/main.h" +#include "input_common/motion_emu.h" +#include "network/network.h" EmuThread::EmuThread(GRenderWindow* render_window) : exec_step(false), running(false), stop_run(false), render_window(render_window) {} @@ -110,10 +112,12 @@ GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) setWindowTitle(QString::fromStdString(window_title)); InputCommon::Init(); + Network::Init(); } GRenderWindow::~GRenderWindow() { InputCommon::Shutdown(); + Network::Shutdown(); } void GRenderWindow::moveContext() { @@ -198,7 +202,6 @@ qreal GRenderWindow::windowPixelRatio() { } void GRenderWindow::closeEvent(QCloseEvent* event) { - motion_emu = nullptr; emit Closed(); QWidget::closeEvent(event); } @@ -218,7 +221,7 @@ void GRenderWindow::mousePressEvent(QMouseEvent* event) { this->TouchPressed(static_cast<unsigned>(pos.x() * pixelRatio), static_cast<unsigned>(pos.y() * pixelRatio)); } else if (event->button() == Qt::RightButton) { - motion_emu->BeginTilt(pos.x(), pos.y()); + InputCommon::GetMotionEmu()->BeginTilt(pos.x(), pos.y()); } } @@ -227,14 +230,14 @@ void GRenderWindow::mouseMoveEvent(QMouseEvent* event) { qreal pixelRatio = windowPixelRatio(); this->TouchMoved(std::max(static_cast<unsigned>(pos.x() * pixelRatio), 0u), std::max(static_cast<unsigned>(pos.y() * pixelRatio), 0u)); - motion_emu->Tilt(pos.x(), pos.y()); + InputCommon::GetMotionEmu()->Tilt(pos.x(), pos.y()); } void GRenderWindow::mouseReleaseEvent(QMouseEvent* event) { if (event->button() == Qt::LeftButton) this->TouchReleased(); else if (event->button() == Qt::RightButton) - motion_emu->EndTilt(); + InputCommon::GetMotionEmu()->EndTilt(); } void GRenderWindow::focusOutEvent(QFocusEvent* event) { @@ -287,13 +290,11 @@ void GRenderWindow::OnMinimalClientAreaChangeRequest( } void GRenderWindow::OnEmulationStarting(EmuThread* emu_thread) { - motion_emu = std::make_unique<Motion::MotionEmu>(*this); this->emu_thread = emu_thread; child->DisablePainting(); } void GRenderWindow::OnEmulationStopping() { - motion_emu = nullptr; emu_thread = nullptr; child->EnablePainting(); } diff --git a/src/citra_qt/bootmanager.h b/src/citra_qt/bootmanager.h index 4b3a3b3cc..6974edcbb 100644 --- a/src/citra_qt/bootmanager.h +++ b/src/citra_qt/bootmanager.h @@ -12,7 +12,6 @@ #include "common/thread.h" #include "core/core.h" #include "core/frontend/emu_window.h" -#include "core/frontend/motion_emu.h" class QKeyEvent; class QScreen; @@ -158,9 +157,6 @@ private: EmuThread* emu_thread; - /// Motion sensors emulation - std::unique_ptr<Motion::MotionEmu> motion_emu; - protected: void showEvent(QShowEvent* event) override; }; diff --git a/src/citra_qt/citra-qt.rc b/src/citra_qt/citra-qt.rc index fea603004..a48a9440d 100644 --- a/src/citra_qt/citra-qt.rc +++ b/src/citra_qt/citra-qt.rc @@ -1,3 +1,4 @@ +#include "winresrc.h" ///////////////////////////////////////////////////////////////////////////// // // Icon @@ -5,5 +6,14 @@ // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -CITRA_ICON ICON "../../dist/citra.ico" +// QT requires that the default application icon is named IDI_ICON1 +IDI_ICON1 ICON "../../dist/citra.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// RT_MANIFEST +// + +1 RT_MANIFEST "../../dist/citra.manifest" diff --git a/src/citra_qt/configuration/config.cpp b/src/citra_qt/configuration/config.cpp index 64ffc9152..ef114aad3 100644 --- a/src/citra_qt/configuration/config.cpp +++ b/src/citra_qt/configuration/config.cpp @@ -57,6 +57,13 @@ void Config::ReadValues() { Settings::values.analogs[i] = default_param; } + Settings::values.motion_device = + qt_config->value("motion_device", "engine:motion_emu,update_period:100,sensitivity:0.01") + .toString() + .toStdString(); + Settings::values.touch_device = + qt_config->value("touch_device", "engine:emu_window").toString().toStdString(); + qt_config->endGroup(); qt_config->beginGroup("Core"); @@ -133,7 +140,18 @@ void Config::ReadValues() { Settings::values.gdbstub_port = qt_config->value("gdbstub_port", 24689).toInt(); qt_config->endGroup(); + qt_config->beginGroup("WebService"); + Settings::values.enable_telemetry = qt_config->value("enable_telemetry", true).toBool(); + Settings::values.telemetry_endpoint_url = + qt_config->value("telemetry_endpoint_url", "https://services.citra-emu.org/api/telemetry") + .toString() + .toStdString(); + Settings::values.citra_username = qt_config->value("citra_username").toString().toStdString(); + Settings::values.citra_token = qt_config->value("citra_token").toString().toStdString(); + qt_config->endGroup(); + qt_config->beginGroup("UI"); + UISettings::values.theme = qt_config->value("theme", UISettings::themes[0].second).toString(); qt_config->beginGroup("UILayout"); UISettings::values.geometry = qt_config->value("geometry").toByteArray(); @@ -181,6 +199,7 @@ void Config::ReadValues() { UISettings::values.show_status_bar = qt_config->value("showStatusBar", true).toBool(); UISettings::values.confirm_before_closing = qt_config->value("confirmClose", true).toBool(); UISettings::values.first_start = qt_config->value("firstStart", true).toBool(); + UISettings::values.callout_flags = qt_config->value("calloutFlags", 0).toUInt(); qt_config->endGroup(); } @@ -195,6 +214,8 @@ void Config::SaveValues() { qt_config->setValue(QString::fromStdString(Settings::NativeAnalog::mapping[i]), QString::fromStdString(Settings::values.analogs[i])); } + qt_config->setValue("motion_device", QString::fromStdString(Settings::values.motion_device)); + qt_config->setValue("touch_device", QString::fromStdString(Settings::values.touch_device)); qt_config->endGroup(); qt_config->beginGroup("Core"); @@ -268,7 +289,16 @@ void Config::SaveValues() { qt_config->setValue("gdbstub_port", Settings::values.gdbstub_port); qt_config->endGroup(); + qt_config->beginGroup("WebService"); + qt_config->setValue("enable_telemetry", Settings::values.enable_telemetry); + qt_config->setValue("telemetry_endpoint_url", + QString::fromStdString(Settings::values.telemetry_endpoint_url)); + qt_config->setValue("citra_username", QString::fromStdString(Settings::values.citra_username)); + qt_config->setValue("citra_token", QString::fromStdString(Settings::values.citra_token)); + qt_config->endGroup(); + qt_config->beginGroup("UI"); + qt_config->setValue("theme", UISettings::values.theme); qt_config->beginGroup("UILayout"); qt_config->setValue("geometry", UISettings::values.geometry); @@ -300,6 +330,7 @@ void Config::SaveValues() { qt_config->setValue("showStatusBar", UISettings::values.show_status_bar); qt_config->setValue("confirmClose", UISettings::values.confirm_before_closing); qt_config->setValue("firstStart", UISettings::values.first_start); + qt_config->setValue("calloutFlags", UISettings::values.callout_flags); qt_config->endGroup(); } diff --git a/src/citra_qt/configuration/configure.ui b/src/citra_qt/configuration/configure.ui index 85e206e42..6abd1917e 100644 --- a/src/citra_qt/configuration/configure.ui +++ b/src/citra_qt/configuration/configure.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>441</width> - <height>501</height> + <width>740</width> + <height>500</height> </rect> </property> <property name="windowTitle"> @@ -49,6 +49,11 @@ <string>Debug</string> </attribute> </widget> + <widget class="ConfigureWeb" name="webTab"> + <attribute name="title"> + <string>Web</string> + </attribute> + </widget> </widget> </item> <item> @@ -97,6 +102,12 @@ <header>configuration/configure_graphics.h</header> <container>1</container> </customwidget> + <customwidget> + <class>ConfigureWeb</class> + <extends>QWidget</extends> + <header>configuration/configure_web.h</header> + <container>1</container> + </customwidget> </customwidgets> <resources/> <connections> diff --git a/src/citra_qt/configuration/configure_dialog.cpp b/src/citra_qt/configuration/configure_dialog.cpp index dfc8c03a7..b87dc0e6c 100644 --- a/src/citra_qt/configuration/configure_dialog.cpp +++ b/src/citra_qt/configuration/configure_dialog.cpp @@ -23,5 +23,6 @@ void ConfigureDialog::applyConfiguration() { ui->graphicsTab->applyConfiguration(); ui->audioTab->applyConfiguration(); ui->debugTab->applyConfiguration(); + ui->webTab->applyConfiguration(); Settings::Apply(); } diff --git a/src/citra_qt/configuration/configure_general.cpp b/src/citra_qt/configuration/configure_general.cpp index a21176c34..939379717 100644 --- a/src/citra_qt/configuration/configure_general.cpp +++ b/src/citra_qt/configuration/configure_general.cpp @@ -12,6 +12,11 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureGeneral) { ui->setupUi(this); + + for (auto theme : UISettings::themes) { + ui->theme_combobox->addItem(theme.first, theme.second); + } + this->setConfiguration(); ui->toggle_cpu_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn()); @@ -26,11 +31,15 @@ void ConfigureGeneral::setConfiguration() { // The first item is "auto-select" with actual value -1, so plus one here will do the trick ui->region_combobox->setCurrentIndex(Settings::values.region_value + 1); + + ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme)); } void ConfigureGeneral::applyConfiguration() { UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked(); UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); + UISettings::values.theme = + ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString(); Settings::values.region_value = ui->region_combobox->currentIndex() - 1; Settings::values.use_cpu_jit = ui->toggle_cpu_jit->isChecked(); Settings::Apply(); diff --git a/src/citra_qt/configuration/configure_general.ui b/src/citra_qt/configuration/configure_general.ui index c739605a4..eedf2cbb0 100644 --- a/src/citra_qt/configuration/configure_general.ui +++ b/src/citra_qt/configuration/configure_general.ui @@ -132,6 +132,34 @@ </widget> </item> <item> + <widget class="QGroupBox" name="theme_group_box"> + <property name="title"> + <string>Theme</string> + </property> + <layout class="QHBoxLayout" name="theme_qhbox_layout"> + <item> + <layout class="QVBoxLayout" name="theme_qvbox_layout"> + <item> + <layout class="QHBoxLayout" name="theme_qhbox_layout_2"> + <item> + <widget class="QLabel" name="theme_label"> + <property name="text"> + <string>Theme:</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="theme_combobox"> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> <widget class="QGroupBox" name="groupBox_3"> <property name="title"> <string>Hotkeys</string> diff --git a/src/citra_qt/configuration/configure_graphics.ui b/src/citra_qt/configuration/configure_graphics.ui index 228f2a869..b340149d5 100644 --- a/src/citra_qt/configuration/configure_graphics.ui +++ b/src/citra_qt/configuration/configure_graphics.ui @@ -146,17 +146,22 @@ <widget class="QComboBox" name="layout_combobox"> <item> <property name="text"> - <string notr="true">Default</string> + <string>Default</string> </property> </item> <item> <property name="text"> - <string notr="true">Single Screen</string> + <string>Single Screen</string> </property> </item> <item> <property name="text"> - <string notr="true">Large Screen</string> + <string>Large Screen</string> + </property> + </item> + <item> + <property name="text"> + <string>Side by Side</string> </property> </item> </widget> diff --git a/src/citra_qt/configuration/configure_web.cpp b/src/citra_qt/configuration/configure_web.cpp new file mode 100644 index 000000000..8715fb018 --- /dev/null +++ b/src/citra_qt/configuration/configure_web.cpp @@ -0,0 +1,52 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "citra_qt/configuration/configure_web.h" +#include "core/settings.h" +#include "core/telemetry_session.h" +#include "ui_configure_web.h" + +ConfigureWeb::ConfigureWeb(QWidget* parent) + : QWidget(parent), ui(std::make_unique<Ui::ConfigureWeb>()) { + ui->setupUi(this); + connect(ui->button_regenerate_telemetry_id, &QPushButton::clicked, this, + &ConfigureWeb::refreshTelemetryID); + + this->setConfiguration(); +} + +ConfigureWeb::~ConfigureWeb() {} + +void ConfigureWeb::setConfiguration() { + ui->web_credentials_disclaimer->setWordWrap(true); + ui->telemetry_learn_more->setOpenExternalLinks(true); + ui->telemetry_learn_more->setText("<a " + "href='https://citra-emu.org/entry/" + "telemetry-and-why-thats-a-good-thing/'>Learn more</a>"); + + ui->web_signup_link->setOpenExternalLinks(true); + ui->web_signup_link->setText("<a href='https://services.citra-emu.org/'>Sign up</a>"); + ui->web_token_info_link->setOpenExternalLinks(true); + ui->web_token_info_link->setText( + "<a href='https://citra-emu.org/wiki/citra-web-service/'>What is my token?</a>"); + + ui->toggle_telemetry->setChecked(Settings::values.enable_telemetry); + ui->edit_username->setText(QString::fromStdString(Settings::values.citra_username)); + ui->edit_token->setText(QString::fromStdString(Settings::values.citra_token)); + ui->label_telemetry_id->setText("Telemetry ID: 0x" + + QString::number(Core::GetTelemetryId(), 16).toUpper()); +} + +void ConfigureWeb::applyConfiguration() { + Settings::values.enable_telemetry = ui->toggle_telemetry->isChecked(); + Settings::values.citra_username = ui->edit_username->text().toStdString(); + Settings::values.citra_token = ui->edit_token->text().toStdString(); + Settings::Apply(); +} + +void ConfigureWeb::refreshTelemetryID() { + const u64 new_telemetry_id{Core::RegenerateTelemetryId()}; + ui->label_telemetry_id->setText("Telemetry ID: 0x" + + QString::number(new_telemetry_id, 16).toUpper()); +} diff --git a/src/citra_qt/configuration/configure_web.h b/src/citra_qt/configuration/configure_web.h new file mode 100644 index 000000000..20bc254b9 --- /dev/null +++ b/src/citra_qt/configuration/configure_web.h @@ -0,0 +1,30 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include <QWidget> + +namespace Ui { +class ConfigureWeb; +} + +class ConfigureWeb : public QWidget { + Q_OBJECT + +public: + explicit ConfigureWeb(QWidget* parent = nullptr); + ~ConfigureWeb(); + + void applyConfiguration(); + +public slots: + void refreshTelemetryID(); + +private: + void setConfiguration(); + + std::unique_ptr<Ui::ConfigureWeb> ui; +}; diff --git a/src/citra_qt/configuration/configure_web.ui b/src/citra_qt/configuration/configure_web.ui new file mode 100644 index 000000000..d8d283fad --- /dev/null +++ b/src/citra_qt/configuration/configure_web.ui @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ConfigureWeb</class> + <widget class="QWidget" name="ConfigureWeb"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QGroupBox" name="groupBoxWebConfig"> + <property name="title"> + <string>Citra Web Service</string> + </property> + <layout class="QVBoxLayout" name="verticalLayoutCitraWebService"> + <item> + <widget class="QLabel" name="web_credentials_disclaimer"> + <property name="text"> + <string>By providing your username and token, you agree to allow Citra to collect additional usage data, which may include user identifying information.</string> + </property> + </widget> + </item> + <item> + <layout class="QGridLayout" name="gridLayoutCitraUsername"> + <item row="0" column="0"> + <widget class="QLabel" name="label_username"> + <property name="text"> + <string>Username: </string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="edit_username"> + <property name="maxLength"> + <number>36</number> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_token"> + <property name="text"> + <string>Token: </string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="edit_token"> + <property name="maxLength"> + <number>36</number> + </property> + <property name="echoMode"> + <enum>QLineEdit::Password</enum> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="web_signup_link"> + <property name="text"> + <string>Sign up</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="web_token_info_link"> + <property name="text"> + <string>What is my token?</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Telemetry</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QCheckBox" name="toggle_telemetry"> + <property name="text"> + <string>Share anonymous usage data with the Citra team</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="telemetry_learn_more"> + <property name="text"> + <string>Learn more</string> + </property> + </widget> + </item> + <item> + <layout class="QGridLayout" name="gridLayoutTelemetryId"> + <item row="0" column="0"> + <widget class="QLabel" name="label_telemetry_id"> + <property name="text"> + <string>Telemetry ID:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QPushButton" name="button_regenerate_telemetry_id"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="layoutDirection"> + <enum>Qt::RightToLeft</enum> + </property> + <property name="text"> + <string>Regenerate</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp b/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp index e3f3194db..7f4ec0c52 100644 --- a/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp +++ b/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp @@ -183,23 +183,13 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con print_input(output, src1, swizzle.negate_src1, SelectorToString(swizzle.src1_selector)); AlignToColumn(kInputOperandColumnWidth); - if (src_is_inverted) { - print_input(output, src2, swizzle.negate_src2, - SelectorToString(swizzle.src2_selector)); - } else { - print_input(output, src2, swizzle.negate_src2, - SelectorToString(swizzle.src2_selector), true, - instr.mad.AddressRegisterName()); - } + print_input(output, src2, swizzle.negate_src2, + SelectorToString(swizzle.src2_selector), true, + src_is_inverted ? "" : instr.mad.AddressRegisterName()); AlignToColumn(kInputOperandColumnWidth); - if (src_is_inverted) { - print_input(output, src3, swizzle.negate_src3, - SelectorToString(swizzle.src3_selector), true, - instr.mad.AddressRegisterName()); - } else { - print_input(output, src3, swizzle.negate_src3, - SelectorToString(swizzle.src3_selector)); - } + print_input(output, src3, swizzle.negate_src3, + SelectorToString(swizzle.src3_selector), true, + src_is_inverted ? instr.mad.AddressRegisterName() : ""); AlignToColumn(kInputOperandColumnWidth); break; } @@ -222,16 +212,15 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con SourceRegister src1 = instr.common.GetSrc1(src_is_inverted); print_input(output, src1, swizzle.negate_src1, swizzle.SelectorToString(false), true, - instr.common.AddressRegisterName()); + src_is_inverted ? "" : instr.common.AddressRegisterName()); AlignToColumn(kInputOperandColumnWidth); } - // TODO: In some cases, the Address Register is used as an index for SRC2 - // instead of SRC1 if (opcode_info.subtype & OpCode::Info::Src2) { SourceRegister src2 = instr.common.GetSrc2(src_is_inverted); print_input(output, src2, swizzle.negate_src2, - swizzle.SelectorToString(true)); + swizzle.SelectorToString(true), true, + src_is_inverted ? instr.common.AddressRegisterName() : ""); AlignToColumn(kInputOperandColumnWidth); } break; @@ -247,7 +236,9 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con switch (opcode.EffectiveOpCode()) { case OpCode::Id::LOOP: - output << "(unknown instruction format)"; + output << 'i' << instr.flow_control.int_uniform_id << " (end on 0x" + << std::setw(4) << std::right << std::setfill('0') << std::hex + << (4 * instr.flow_control.dest_offset) << ")"; break; default: @@ -255,7 +246,7 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con output << '('; if (instr.flow_control.op != instr.flow_control.JustY) { - if (instr.flow_control.refx) + if (!instr.flow_control.refx) output << '!'; output << "cc.x"; } @@ -267,13 +258,17 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con } if (instr.flow_control.op != instr.flow_control.JustX) { - if (instr.flow_control.refy) + if (!instr.flow_control.refy) output << '!'; output << "cc.y"; } output << ") "; } else if (opcode_info.subtype & OpCode::Info::HasUniformIndex) { + if (opcode.EffectiveOpCode() == OpCode::Id::JMPU && + (instr.flow_control.num_instructions & 1) == 1) { + output << '!'; + } output << 'b' << instr.flow_control.bool_uniform_id << ' '; } diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 4f5b2ddab..8adbcfe86 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -48,6 +48,47 @@ Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin); #endif +/** + * "Callouts" are one-time instructional messages shown to the user. In the config settings, there + * is a bitfield "callout_flags" options, used to track if a message has already been shown to the + * user. This is 32-bits - if we have more than 32 callouts, we should retire and recyle old ones. + */ +enum class CalloutFlag : uint32_t { + Telemetry = 0x1, +}; + +static void ShowCalloutMessage(const QString& message, CalloutFlag flag) { + if (UISettings::values.callout_flags & static_cast<uint32_t>(flag)) { + return; + } + + UISettings::values.callout_flags |= static_cast<uint32_t>(flag); + + QMessageBox msg; + msg.setText(message); + msg.setStandardButtons(QMessageBox::Ok); + msg.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + msg.setStyleSheet("QLabel{min-width: 900px;}"); + msg.exec(); +} + +void GMainWindow::ShowCallouts() { + static const QString telemetry_message = + tr("To help improve Citra, the Citra Team collects anonymous usage data. No private or " + "personally identifying information is collected. This data helps us to understand how " + "people use Citra and prioritize our efforts. Furthermore, it helps us to more easily " + "identify emulation bugs and performance issues. This data includes:<ul><li>Information" + " about the version of Citra you are using</li><li>Performance data about the games you " + "play</li><li>Your configuration settings</li><li>Information about your computer " + "hardware</li><li>Emulation errors and crash information</li></ul>By default, this " + "feature is enabled. To disable this feature, click 'Emulation' from the menu and then " + "select 'Configure...'. Then, on the 'Web' tab, uncheck 'Share anonymous usage data with" + " the Citra team'. <br/><br/>By using this software, you agree to the above terms.<br/>" + "<br/><a href='https://citra-emu.org/entry/telemetry-and-why-thats-a-good-thing/'>Learn " + "more</a>"); + ShowCalloutMessage(telemetry_message, CalloutFlag::Telemetry); +} + GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { Pica::g_debug_context = Pica::DebugContext::Construct(); setAcceptDrops(true); @@ -71,6 +112,11 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan); + UpdateUITheme(); + + // Show one-time "callout" messages to the user + ShowCallouts(); + QStringList args = QApplication::arguments(); if (args.length() >= 2) { BootGame(args[1]); @@ -309,7 +355,7 @@ bool GMainWindow::LoadROM(const QString& filename) { if (!gladLoadGL()) { QMessageBox::critical(this, tr("Error while initializing OpenGL 3.3 Core!"), - tr("Your GPU may not support OpenGL 3.3, or you do not" + tr("Your GPU may not support OpenGL 3.3, or you do not " "have the latest graphics driver.")); return false; } @@ -318,6 +364,8 @@ bool GMainWindow::LoadROM(const QString& filename) { const Core::System::ResultStatus result{system.Load(render_window, filename.toStdString())}; + Core::Telemetry().AddField(Telemetry::FieldType::App, "Frontend", "Qt"); + if (result != Core::System::ResultStatus::Success) { switch (result) { case Core::System::ResultStatus::ErrorGetLoader: @@ -606,6 +654,7 @@ void GMainWindow::OnConfigure() { auto result = configureDialog.exec(); if (result == QDialog::Accepted) { configureDialog.applyConfiguration(); + UpdateUITheme(); config->Save(); } } @@ -791,6 +840,24 @@ void GMainWindow::filterBarSetChecked(bool state) { emit(OnToggleFilterBar()); } +void GMainWindow::UpdateUITheme() { + if (UISettings::values.theme != UISettings::themes[0].second) { + QString theme_uri(":" + UISettings::values.theme + "/style.qss"); + QFile f(theme_uri); + if (!f.exists()) { + LOG_ERROR(Frontend, "Unable to set style, stylesheet file not found"); + } else { + f.open(QFile::ReadOnly | QFile::Text); + QTextStream ts(&f); + qApp->setStyleSheet(ts.readAll()); + GMainWindow::setStyleSheet(ts.readAll()); + } + } else { + qApp->setStyleSheet(""); + GMainWindow::setStyleSheet(""); + } +} + #ifdef main #undef main #endif diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 952a50974..d59a6d67d 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -42,6 +42,7 @@ class GMainWindow : public QMainWindow { public: void filterBarSetChecked(bool state); + void UpdateUITheme(); GMainWindow(); ~GMainWindow(); @@ -79,6 +80,8 @@ private: void BootGame(const QString& filename); void ShutdownGame(); + void ShowCallouts(); + /** * Stores the filename in the recently loaded files list. * The new filename is stored at the beginning of the recently loaded files list. diff --git a/src/citra_qt/ui_settings.h b/src/citra_qt/ui_settings.h index bc37f81c5..d85c92765 100644 --- a/src/citra_qt/ui_settings.h +++ b/src/citra_qt/ui_settings.h @@ -4,6 +4,7 @@ #pragma once +#include <array> #include <vector> #include <QByteArray> #include <QString> @@ -14,6 +15,10 @@ namespace UISettings { using ContextualShortcut = std::pair<QString, int>; using Shortcut = std::pair<QString, ContextualShortcut>; +static const std::array<std::pair<QString, QString>, 2> themes = { + {std::make_pair(QString("Default"), QString("default")), + std::make_pair(QString("Dark"), QString("qdarkstyle"))}}; + struct Values { QByteArray geometry; QByteArray state; @@ -39,8 +44,12 @@ struct Values { bool gamedir_deepscan; QStringList recent_files; + QString theme; + // Shortcut name <Shortcut, context> std::vector<Shortcut> shortcuts; + + uint32_t callout_flags; }; extern Values values; diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index 42f6a9918..4b83eeb28 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp @@ -72,7 +72,9 @@ namespace Log { SUB(Audio, DSP) \ SUB(Audio, Sink) \ CLS(Input) \ - CLS(Loader) + CLS(Network) \ + CLS(Loader) \ + CLS(WebService) // GetClassName is a macro defined by Windows.h, grrr... const char* GetLogClassName(Class log_class) { diff --git a/src/common/logging/log.h b/src/common/logging/log.h index 1b905f66c..fe4dfed69 100644 --- a/src/common/logging/log.h +++ b/src/common/logging/log.h @@ -90,6 +90,8 @@ enum class Class : ClassType { Audio_Sink, ///< Emulator audio output backend Loader, ///< ROM loader Input, ///< Input emulation + Network, ///< Network emulation + WebService, ///< Interface to Citra Web Services Count ///< Total number of logging classes }; diff --git a/src/common/quaternion.h b/src/common/quaternion.h index 84ac82ed3..77f626bcb 100644 --- a/src/common/quaternion.h +++ b/src/common/quaternion.h @@ -30,6 +30,11 @@ public: return {xyz * other.w + other.xyz * w + Cross(xyz, other.xyz), w * other.w - Dot(xyz, other.xyz)}; } + + Quaternion<T> Normalized() const { + T length = std::sqrt(xyz.Length2() + w * w); + return {xyz / length, w / length}; + } }; template <typename T> diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in index 0080db5d5..4083095d5 100644 --- a/src/common/scm_rev.cpp.in +++ b/src/common/scm_rev.cpp.in @@ -8,6 +8,7 @@ #define GIT_BRANCH "@GIT_BRANCH@" #define GIT_DESC "@GIT_DESC@" #define BUILD_NAME "@REPO_NAME@" +#define BUILD_DATE "@BUILD_DATE@" namespace Common { @@ -15,6 +16,7 @@ const char g_scm_rev[] = GIT_REV; const char g_scm_branch[] = GIT_BRANCH; const char g_scm_desc[] = GIT_DESC; const char g_build_name[] = BUILD_NAME; +const char g_build_date[] = BUILD_DATE; } // namespace diff --git a/src/common/scm_rev.h b/src/common/scm_rev.h index e22389803..18aaa1735 100644 --- a/src/common/scm_rev.h +++ b/src/common/scm_rev.h @@ -10,5 +10,6 @@ extern const char g_scm_rev[]; extern const char g_scm_branch[]; extern const char g_scm_desc[]; extern const char g_build_name[]; +extern const char g_build_date[]; } // namespace diff --git a/src/common/vector_math.h b/src/common/vector_math.h index c7a461a1e..6e2a5ad60 100644 --- a/src/common/vector_math.h +++ b/src/common/vector_math.h @@ -31,7 +31,6 @@ #pragma once #include <cmath> -#include <type_traits> namespace Math { @@ -90,7 +89,7 @@ public: x -= other.x; y -= other.y; } - template <typename Q = T, class = typename std::enable_if<std::is_signed<Q>::value>::type> + Vec2<decltype(-T{})> operator-() const { return MakeVec(-x, -y); } @@ -247,7 +246,7 @@ public: y -= other.y; z -= other.z; } - template <typename Q = T, class = typename std::enable_if<std::is_signed<Q>::value>::type> + Vec3<decltype(-T{})> operator-() const { return MakeVec(-x, -y, -z); } @@ -462,7 +461,7 @@ public: z -= other.z; w -= other.w; } - template <typename Q = T, class = typename std::enable_if<std::is_signed<Q>::value>::type> + Vec4<decltype(-T{})> operator-() const { return MakeVec(-x, -y, -z, -w); } diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 0719138af..78dec8600 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -33,7 +33,6 @@ set(SRCS frontend/camera/interface.cpp frontend/emu_window.cpp frontend/framebuffer_layout.cpp - frontend/motion_emu.cpp gdbstub/gdbstub.cpp hle/config_mem.cpp hle/applets/applet.cpp @@ -60,6 +59,8 @@ set(SRCS hle/kernel/timer.cpp hle/kernel/vm_manager.cpp hle/kernel/wait_object.cpp + hle/lock.cpp + hle/romfs.cpp hle/service/ac/ac.cpp hle/service/ac/ac_i.cpp hle/service/ac/ac_u.cpp @@ -226,7 +227,6 @@ set(HEADERS frontend/emu_window.h frontend/framebuffer_layout.h frontend/input.h - frontend/motion_emu.h gdbstub/gdbstub.h hle/config_mem.h hle/function_wrappers.h @@ -258,7 +258,9 @@ set(HEADERS hle/kernel/timer.h hle/kernel/vm_manager.h hle/kernel/wait_object.h + hle/lock.h hle/result.h + hle/romfs.h hle/service/ac/ac.h hle/service/ac/ac_i.h hle/service/ac/ac_u.h @@ -388,5 +390,8 @@ set(HEADERS create_directory_groups(${SRCS} ${HEADERS}) add_library(core STATIC ${SRCS} ${HEADERS}) -target_link_libraries(core PUBLIC common PRIVATE audio_core video_core) +target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core) target_link_libraries(core PUBLIC Boost::boost PRIVATE cryptopp dynarmic fmt) +if (ENABLE_WEB_SERVICE) + target_link_libraries(core PUBLIC json-headers web_service) +endif() diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp index 7d2790b08..0a0b91590 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic.cpp @@ -136,7 +136,7 @@ MICROPROFILE_DEFINE(ARM_Jit, "ARM JIT", "ARM JIT", MP_RGB(255, 64, 64)); void ARM_Dynarmic::ExecuteInstructions(int num_instructions) { MICROPROFILE_SCOPE(ARM_Jit); - unsigned ticks_executed = jit->Run(static_cast<unsigned>(num_instructions)); + std::size_t ticks_executed = jit->Run(static_cast<unsigned>(num_instructions)); AddTicks(ticks_executed); } diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp index f4fbb8d04..3522d1e82 100644 --- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp +++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp @@ -759,7 +759,7 @@ static ThumbDecodeStatus DecodeThumbInstruction(u32 inst, u32 addr, u32* arm_ins ThumbDecodeStatus ret = TranslateThumbInstruction(addr, inst, arm_inst, inst_size); if (ret == ThumbDecodeStatus::BRANCH) { int inst_index; - int table_length = arm_instruction_trans_len; + int table_length = static_cast<int>(arm_instruction_trans_len); u32 tinstr = GetThumbInstruction(inst, addr); switch ((tinstr & 0xF800) >> 11) { @@ -838,7 +838,7 @@ static unsigned int InterpreterTranslateInstruction(const ARMul_State* cpu, cons return inst_size; } -static int InterpreterTranslateBlock(ARMul_State* cpu, int& bb_start, u32 addr) { +static int InterpreterTranslateBlock(ARMul_State* cpu, std::size_t& bb_start, u32 addr) { MICROPROFILE_SCOPE(DynCom_Decode); // Decode instruction, get index @@ -871,7 +871,7 @@ static int InterpreterTranslateBlock(ARMul_State* cpu, int& bb_start, u32 addr) return KEEP_GOING; } -static int InterpreterTranslateSingle(ARMul_State* cpu, int& bb_start, u32 addr) { +static int InterpreterTranslateSingle(ARMul_State* cpu, std::size_t& bb_start, u32 addr) { MICROPROFILE_SCOPE(DynCom_Decode); ARM_INST_PTR inst_base = nullptr; @@ -1620,7 +1620,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { unsigned int addr; unsigned int num_instrs = 0; - int ptr; + std::size_t ptr; LOAD_NZCVT; DISPATCH : { diff --git a/src/core/arm/skyeye_common/armstate.h b/src/core/arm/skyeye_common/armstate.h index 1a707ff7e..893877797 100644 --- a/src/core/arm/skyeye_common/armstate.h +++ b/src/core/arm/skyeye_common/armstate.h @@ -230,7 +230,7 @@ public: // TODO(bunnei): Move this cache to a better place - it should be per codeset (likely per // process for our purposes), not per ARMul_State (which tracks CPU core state). - std::unordered_map<u32, int> instruction_cache; + std::unordered_map<u32, std::size_t> instruction_cache; private: void ResetMPCoreCP15Registers(); diff --git a/src/core/core.cpp b/src/core/core.cpp index 5429bcb26..5332318cf 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -19,6 +19,7 @@ #include "core/loader/loader.h" #include "core/memory_setup.h" #include "core/settings.h" +#include "network/network.h" #include "video_core/video_core.h" namespace Core { @@ -168,6 +169,16 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { } void System::Shutdown() { + // Log last frame performance stats + auto perf_results = GetAndResetPerfStats(); + Telemetry().AddField(Telemetry::FieldType::Performance, "Shutdown_EmulationSpeed", + perf_results.emulation_speed * 100.0); + Telemetry().AddField(Telemetry::FieldType::Performance, "Shutdown_Framerate", + perf_results.game_fps); + Telemetry().AddField(Telemetry::FieldType::Performance, "Shutdown_Frametime", + perf_results.frametime * 1000.0); + + // Shutdown emulation session GDBStub::Shutdown(); AudioCore::Shutdown(); VideoCore::Shutdown(); @@ -178,6 +189,10 @@ void System::Shutdown() { cpu_core = nullptr; app_loader = nullptr; telemetry_session = nullptr; + if (auto room_member = Network::GetRoomMember().lock()) { + Network::GameInfo game_info{}; + room_member->SendGameInfo(game_info); + } LOG_DEBUG(Core, "Shutdown OK"); } diff --git a/src/core/core.h b/src/core/core.h index 4e3b6b409..9805cc694 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -7,6 +7,7 @@ #include <memory> #include <string> #include "common/common_types.h" +#include "core/loader/loader.h" #include "core/memory.h" #include "core/perf_stats.h" #include "core/telemetry_session.h" @@ -14,10 +15,6 @@ class EmuWindow; class ARM_Interface; -namespace Loader { -class AppLoader; -} - namespace Core { class System { @@ -119,6 +116,10 @@ public: return status_details; } + Loader::AppLoader& GetAppLoader() const { + return *app_loader; + } + private: /** * Initialize the emulated system. diff --git a/src/core/file_sys/archive_backend.cpp b/src/core/file_sys/archive_backend.cpp index 1fae0ede0..87a240d7a 100644 --- a/src/core/file_sys/archive_backend.cpp +++ b/src/core/file_sys/archive_backend.cpp @@ -90,6 +90,8 @@ std::u16string Path::AsU16Str() const { LOG_ERROR(Service_FS, "LowPathType cannot be converted to u16string!"); return {}; } + + UNREACHABLE(); } std::vector<u8> Path::AsBinary() const { diff --git a/src/core/file_sys/archive_sdmc.cpp b/src/core/file_sys/archive_sdmc.cpp index 679909d06..fe3dce5d4 100644 --- a/src/core/file_sys/archive_sdmc.cpp +++ b/src/core/file_sys/archive_sdmc.cpp @@ -121,7 +121,25 @@ ResultCode SDMCArchive::DeleteFile(const Path& path) const { } ResultCode SDMCArchive::RenameFile(const Path& src_path, const Path& dest_path) const { - if (FileUtil::Rename(mount_point + src_path.AsString(), mount_point + dest_path.AsString())) { + const PathParser path_parser_src(src_path); + + // TODO: Verify these return codes with HW + if (!path_parser_src.IsValid()) { + LOG_ERROR(Service_FS, "Invalid src path %s", src_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const PathParser path_parser_dest(dest_path); + + if (!path_parser_dest.IsValid()) { + LOG_ERROR(Service_FS, "Invalid dest path %s", dest_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const auto src_path_full = path_parser_src.BuildHostPath(mount_point); + const auto dest_path_full = path_parser_dest.BuildHostPath(mount_point); + + if (FileUtil::Rename(src_path_full, dest_path_full)) { return RESULT_SUCCESS; } @@ -260,8 +278,27 @@ ResultCode SDMCArchive::CreateDirectory(const Path& path) const { } ResultCode SDMCArchive::RenameDirectory(const Path& src_path, const Path& dest_path) const { - if (FileUtil::Rename(mount_point + src_path.AsString(), mount_point + dest_path.AsString())) + const PathParser path_parser_src(src_path); + + // TODO: Verify these return codes with HW + if (!path_parser_src.IsValid()) { + LOG_ERROR(Service_FS, "Invalid src path %s", src_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const PathParser path_parser_dest(dest_path); + + if (!path_parser_dest.IsValid()) { + LOG_ERROR(Service_FS, "Invalid dest path %s", dest_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const auto src_path_full = path_parser_src.BuildHostPath(mount_point); + const auto dest_path_full = path_parser_dest.BuildHostPath(mount_point); + + if (FileUtil::Rename(src_path_full, dest_path_full)) { return RESULT_SUCCESS; + } // TODO(yuriks): This code probably isn't right, it'll return a Status even if the file didn't // exist or similar. Verify. diff --git a/src/core/file_sys/savedata_archive.cpp b/src/core/file_sys/savedata_archive.cpp index f540c4a93..f8f811ba0 100644 --- a/src/core/file_sys/savedata_archive.cpp +++ b/src/core/file_sys/savedata_archive.cpp @@ -106,7 +106,25 @@ ResultCode SaveDataArchive::DeleteFile(const Path& path) const { } ResultCode SaveDataArchive::RenameFile(const Path& src_path, const Path& dest_path) const { - if (FileUtil::Rename(mount_point + src_path.AsString(), mount_point + dest_path.AsString())) { + const PathParser path_parser_src(src_path); + + // TODO: Verify these return codes with HW + if (!path_parser_src.IsValid()) { + LOG_ERROR(Service_FS, "Invalid src path %s", src_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const PathParser path_parser_dest(dest_path); + + if (!path_parser_dest.IsValid()) { + LOG_ERROR(Service_FS, "Invalid dest path %s", dest_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const auto src_path_full = path_parser_src.BuildHostPath(mount_point); + const auto dest_path_full = path_parser_dest.BuildHostPath(mount_point); + + if (FileUtil::Rename(src_path_full, dest_path_full)) { return RESULT_SUCCESS; } @@ -247,8 +265,27 @@ ResultCode SaveDataArchive::CreateDirectory(const Path& path) const { } ResultCode SaveDataArchive::RenameDirectory(const Path& src_path, const Path& dest_path) const { - if (FileUtil::Rename(mount_point + src_path.AsString(), mount_point + dest_path.AsString())) + const PathParser path_parser_src(src_path); + + // TODO: Verify these return codes with HW + if (!path_parser_src.IsValid()) { + LOG_ERROR(Service_FS, "Invalid src path %s", src_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const PathParser path_parser_dest(dest_path); + + if (!path_parser_dest.IsValid()) { + LOG_ERROR(Service_FS, "Invalid dest path %s", dest_path.DebugStr().c_str()); + return ERROR_INVALID_PATH; + } + + const auto src_path_full = path_parser_src.BuildHostPath(mount_point); + const auto dest_path_full = path_parser_dest.BuildHostPath(mount_point); + + if (FileUtil::Rename(src_path_full, dest_path_full)) { return RESULT_SUCCESS; + } // TODO(yuriks): This code probably isn't right, it'll return a Status even if the file didn't // exist or similar. Verify. diff --git a/src/core/frontend/emu_window.cpp b/src/core/frontend/emu_window.cpp index 4f7d54a33..e67394177 100644 --- a/src/core/frontend/emu_window.cpp +++ b/src/core/frontend/emu_window.cpp @@ -2,14 +2,55 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include <algorithm> #include <cmath> -#include "common/assert.h" -#include "core/3ds.h" -#include "core/core.h" +#include <mutex> #include "core/frontend/emu_window.h" +#include "core/frontend/input.h" #include "core/settings.h" +class EmuWindow::TouchState : public Input::Factory<Input::TouchDevice>, + public std::enable_shared_from_this<TouchState> { +public: + std::unique_ptr<Input::TouchDevice> Create(const Common::ParamPackage&) override { + return std::make_unique<Device>(shared_from_this()); + } + + std::mutex mutex; + + bool touch_pressed = false; ///< True if touchpad area is currently pressed, otherwise false + + float touch_x = 0.0f; ///< Touchpad X-position + float touch_y = 0.0f; ///< Touchpad Y-position + +private: + class Device : public Input::TouchDevice { + public: + explicit Device(std::weak_ptr<TouchState>&& touch_state) : touch_state(touch_state) {} + std::tuple<float, float, bool> GetStatus() const override { + if (auto state = touch_state.lock()) { + std::lock_guard<std::mutex> guard(state->mutex); + return std::make_tuple(state->touch_x, state->touch_y, state->touch_pressed); + } + return std::make_tuple(0.0f, 0.0f, false); + } + + private: + std::weak_ptr<TouchState> touch_state; + }; +}; + +EmuWindow::EmuWindow() { + // TODO: Find a better place to set this. + config.min_client_area_size = std::make_pair(400u, 480u); + active_config = config; + touch_state = std::make_shared<TouchState>(); + Input::RegisterFactory<Input::TouchDevice>("emu_window", touch_state); +} + +EmuWindow::~EmuWindow() { + Input::UnregisterFactory<Input::TouchDevice>("emu_window"); +} + /** * Check if the given x/y coordinates are within the touchpad specified by the framebuffer layout * @param layout FramebufferLayout object describing the framebuffer size and screen positions @@ -38,22 +79,26 @@ void EmuWindow::TouchPressed(unsigned framebuffer_x, unsigned framebuffer_y) { if (!IsWithinTouchscreen(framebuffer_layout, framebuffer_x, framebuffer_y)) return; - touch_x = Core::kScreenBottomWidth * (framebuffer_x - framebuffer_layout.bottom_screen.left) / - (framebuffer_layout.bottom_screen.right - framebuffer_layout.bottom_screen.left); - touch_y = Core::kScreenBottomHeight * (framebuffer_y - framebuffer_layout.bottom_screen.top) / - (framebuffer_layout.bottom_screen.bottom - framebuffer_layout.bottom_screen.top); + std::lock_guard<std::mutex> guard(touch_state->mutex); + touch_state->touch_x = + static_cast<float>(framebuffer_x - framebuffer_layout.bottom_screen.left) / + (framebuffer_layout.bottom_screen.right - framebuffer_layout.bottom_screen.left); + touch_state->touch_y = + static_cast<float>(framebuffer_y - framebuffer_layout.bottom_screen.top) / + (framebuffer_layout.bottom_screen.bottom - framebuffer_layout.bottom_screen.top); - touch_pressed = true; + touch_state->touch_pressed = true; } void EmuWindow::TouchReleased() { - touch_pressed = false; - touch_x = 0; - touch_y = 0; + std::lock_guard<std::mutex> guard(touch_state->mutex); + touch_state->touch_pressed = false; + touch_state->touch_x = 0; + touch_state->touch_y = 0; } void EmuWindow::TouchMoved(unsigned framebuffer_x, unsigned framebuffer_y) { - if (!touch_pressed) + if (!touch_state->touch_pressed) return; if (!IsWithinTouchscreen(framebuffer_layout, framebuffer_x, framebuffer_y)) @@ -62,29 +107,6 @@ void EmuWindow::TouchMoved(unsigned framebuffer_x, unsigned framebuffer_y) { TouchPressed(framebuffer_x, framebuffer_y); } -void EmuWindow::AccelerometerChanged(float x, float y, float z) { - constexpr float coef = 512; - - std::lock_guard<std::mutex> lock(accel_mutex); - - // TODO(wwylele): do a time stretch as it in GyroscopeChanged - // The time stretch formula should be like - // stretched_vector = (raw_vector - gravity) * stretch_ratio + gravity - accel_x = static_cast<s16>(x * coef); - accel_y = static_cast<s16>(y * coef); - accel_z = static_cast<s16>(z * coef); -} - -void EmuWindow::GyroscopeChanged(float x, float y, float z) { - constexpr float FULL_FPS = 60; - float coef = GetGyroscopeRawToDpsCoefficient(); - float stretch = Core::System::GetInstance().perf_stats.GetLastFrameTimeScale(); - std::lock_guard<std::mutex> lock(gyro_mutex); - gyro_x = static_cast<s16>(x * coef * stretch); - gyro_y = static_cast<s16>(y * coef * stretch); - gyro_z = static_cast<s16>(z * coef * stretch); -} - void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) { Layout::FramebufferLayout layout; if (Settings::values.custom_layout == true) { @@ -97,6 +119,9 @@ void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) case Settings::LayoutOption::LargeScreen: layout = Layout::LargeFrameLayout(width, height, Settings::values.swap_screen); break; + case Settings::LayoutOption::SideScreen: + layout = Layout::SideFrameLayout(width, height, Settings::values.swap_screen); + break; case Settings::LayoutOption::Default: default: layout = Layout::DefaultFrameLayout(width, height, Settings::values.swap_screen); diff --git a/src/core/frontend/emu_window.h b/src/core/frontend/emu_window.h index 9414123a4..c10dee51b 100644 --- a/src/core/frontend/emu_window.h +++ b/src/core/frontend/emu_window.h @@ -4,11 +4,10 @@ #pragma once -#include <mutex> +#include <memory> #include <tuple> #include <utility> #include "common/common_types.h" -#include "common/math_util.h" #include "core/frontend/framebuffer_layout.h" /** @@ -69,84 +68,6 @@ public: void TouchMoved(unsigned framebuffer_x, unsigned framebuffer_y); /** - * Signal accelerometer state has changed. - * @param x X-axis accelerometer value - * @param y Y-axis accelerometer value - * @param z Z-axis accelerometer value - * @note all values are in unit of g (gravitational acceleration). - * e.g. x = 1.0 means 9.8m/s^2 in x direction. - * @see GetAccelerometerState for axis explanation. - */ - void AccelerometerChanged(float x, float y, float z); - - /** - * Signal gyroscope state has changed. - * @param x X-axis accelerometer value - * @param y Y-axis accelerometer value - * @param z Z-axis accelerometer value - * @note all values are in deg/sec. - * @see GetGyroscopeState for axis explanation. - */ - void GyroscopeChanged(float x, float y, float z); - - /** - * Gets the current touch screen state (touch X/Y coordinates and whether or not it is pressed). - * @note This should be called by the core emu thread to get a state set by the window thread. - * @todo Fix this function to be thread-safe. - * @return std::tuple of (x, y, pressed) where `x` and `y` are the touch coordinates and - * `pressed` is true if the touch screen is currently being pressed - */ - std::tuple<u16, u16, bool> GetTouchState() const { - return std::make_tuple(touch_x, touch_y, touch_pressed); - } - - /** - * Gets the current accelerometer state (acceleration along each three axis). - * Axis explained: - * +x is the same direction as LEFT on D-pad. - * +y is normal to the touch screen, pointing outward. - * +z is the same direction as UP on D-pad. - * Units: - * 1 unit of return value = 1/512 g (measured by hw test), - * where g is the gravitational acceleration (9.8 m/sec2). - * @note This should be called by the core emu thread to get a state set by the window thread. - * @return std::tuple of (x, y, z) - */ - std::tuple<s16, s16, s16> GetAccelerometerState() { - std::lock_guard<std::mutex> lock(accel_mutex); - return std::make_tuple(accel_x, accel_y, accel_z); - } - - /** - * Gets the current gyroscope state (angular rates about each three axis). - * Axis explained: - * +x is the same direction as LEFT on D-pad. - * +y is normal to the touch screen, pointing outward. - * +z is the same direction as UP on D-pad. - * Orientation is determined by right-hand rule. - * Units: - * 1 unit of return value = (1/coef) deg/sec, - * where coef is the return value of GetGyroscopeRawToDpsCoefficient(). - * @note This should be called by the core emu thread to get a state set by the window thread. - * @return std::tuple of (x, y, z) - */ - std::tuple<s16, s16, s16> GetGyroscopeState() { - std::lock_guard<std::mutex> lock(gyro_mutex); - return std::make_tuple(gyro_x, gyro_y, gyro_z); - } - - /** - * Gets the coefficient for units conversion of gyroscope state. - * The conversion formula is r = coefficient * v, - * where v is angular rate in deg/sec, - * and r is the gyroscope state. - * @return float-type coefficient - */ - f32 GetGyroscopeRawToDpsCoefficient() const { - return 14.375f; // taken from hw test, and gyroscope's document - } - - /** * Returns currently active configuration. * @note Accesses to the returned object need not be consistent because it may be modified in * another thread @@ -180,21 +101,8 @@ public: void UpdateCurrentFramebufferLayout(unsigned width, unsigned height); protected: - EmuWindow() { - // TODO: Find a better place to set this. - config.min_client_area_size = std::make_pair(400u, 480u); - active_config = config; - touch_x = 0; - touch_y = 0; - touch_pressed = false; - accel_x = 0; - accel_y = -512; - accel_z = 0; - gyro_x = 0; - gyro_y = 0; - gyro_z = 0; - } - virtual ~EmuWindow() {} + EmuWindow(); + virtual ~EmuWindow(); /** * Processes any pending configuration changes from the last SetConfig call. @@ -250,20 +158,8 @@ private: /// ProcessConfigurationChanges) WindowConfig active_config; ///< Internal active configuration - bool touch_pressed; ///< True if touchpad area is currently pressed, otherwise false - - u16 touch_x; ///< Touchpad X-position in native 3DS pixel coordinates (0-320) - u16 touch_y; ///< Touchpad Y-position in native 3DS pixel coordinates (0-240) - - std::mutex accel_mutex; - s16 accel_x; ///< Accelerometer X-axis value in native 3DS units - s16 accel_y; ///< Accelerometer Y-axis value in native 3DS units - s16 accel_z; ///< Accelerometer Z-axis value in native 3DS units - - std::mutex gyro_mutex; - s16 gyro_x; ///< Gyroscope X-axis value in native 3DS units - s16 gyro_y; ///< Gyroscope Y-axis value in native 3DS units - s16 gyro_z; ///< Gyroscope Z-axis value in native 3DS units + class TouchState; + std::shared_ptr<TouchState> touch_state; /** * Clip the provided coordinates to be inside the touchscreen area. diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index d2d02f9ff..e9f778fcb 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -141,6 +141,40 @@ FramebufferLayout LargeFrameLayout(unsigned width, unsigned height, bool swapped return res; } +FramebufferLayout SideFrameLayout(unsigned width, unsigned height, bool swapped) { + ASSERT(width > 0); + ASSERT(height > 0); + + FramebufferLayout res{width, height, true, true, {}, {}}; + // Aspect ratio of both screens side by side + const float emulation_aspect_ratio = static_cast<float>(Core::kScreenTopHeight) / + (Core::kScreenTopWidth + Core::kScreenBottomWidth); + float window_aspect_ratio = static_cast<float>(height) / width; + MathUtil::Rectangle<unsigned> screen_window_area{0, 0, width, height}; + // Find largest Rectangle that can fit in the window size with the given aspect ratio + MathUtil::Rectangle<unsigned> screen_rect = + maxRectangle(screen_window_area, emulation_aspect_ratio); + // Find sizes of top and bottom screen + MathUtil::Rectangle<unsigned> top_screen = maxRectangle(screen_rect, TOP_SCREEN_ASPECT_RATIO); + MathUtil::Rectangle<unsigned> bot_screen = maxRectangle(screen_rect, BOT_SCREEN_ASPECT_RATIO); + + if (window_aspect_ratio < emulation_aspect_ratio) { + // Apply borders to the left and right sides of the window. + u32 shift_horizontal = (screen_window_area.GetWidth() - screen_rect.GetWidth()) / 2; + top_screen = top_screen.TranslateX(shift_horizontal); + bot_screen = bot_screen.TranslateX(shift_horizontal); + } else { + // Window is narrower than the emulation content => apply borders to the top and bottom + u32 shift_vertical = (screen_window_area.GetHeight() - screen_rect.GetHeight()) / 2; + top_screen = top_screen.TranslateY(shift_vertical); + bot_screen = bot_screen.TranslateY(shift_vertical); + } + // Move the top screen to the right if we are swapped. + res.top_screen = swapped ? top_screen.TranslateX(bot_screen.GetWidth()) : top_screen; + res.bottom_screen = swapped ? bot_screen : bot_screen.TranslateX(top_screen.GetWidth()); + return res; +} + FramebufferLayout CustomFrameLayout(unsigned width, unsigned height) { ASSERT(width > 0); ASSERT(height > 0); @@ -158,4 +192,4 @@ FramebufferLayout CustomFrameLayout(unsigned width, unsigned height) { res.bottom_screen = bot_screen; return res; } -} +} // namespace Layout diff --git a/src/core/frontend/framebuffer_layout.h b/src/core/frontend/framebuffer_layout.h index 9a7738969..4983cf103 100644 --- a/src/core/frontend/framebuffer_layout.h +++ b/src/core/frontend/framebuffer_layout.h @@ -54,6 +54,17 @@ FramebufferLayout SingleFrameLayout(unsigned width, unsigned height, bool is_swa FramebufferLayout LargeFrameLayout(unsigned width, unsigned height, bool is_swapped); /** +* Factory method for constructing a Frame with the Top screen and bottom +* screen side by side +* This is useful for devices with small screens, like the GPDWin +* @param width Window framebuffer width in pixels +* @param height Window framebuffer height in pixels +* @param is_swapped if true, the bottom screen will be the left display +* @return Newly created FramebufferLayout object with default screen regions initialized +*/ +FramebufferLayout SideFrameLayout(unsigned width, unsigned height, bool is_swapped); + +/** * Factory method for constructing a custom FramebufferLayout * @param width Window framebuffer width in pixels * @param height Window framebuffer height in pixels diff --git a/src/core/frontend/input.h b/src/core/frontend/input.h index 0a5713dc0..8c256beb5 100644 --- a/src/core/frontend/input.h +++ b/src/core/frontend/input.h @@ -11,6 +11,7 @@ #include <utility> #include "common/logging/log.h" #include "common/param_package.h" +#include "common/vector_math.h" namespace Input { @@ -107,4 +108,28 @@ using ButtonDevice = InputDevice<bool>; */ using AnalogDevice = InputDevice<std::tuple<float, float>>; +/** + * A motion device is an input device that returns a tuple of accelerometer state vector and + * gyroscope state vector. + * + * For both vectors: + * x+ is the same direction as LEFT on D-pad. + * y+ is normal to the touch screen, pointing outward. + * z+ is the same direction as UP on D-pad. + * + * For accelerometer state vector + * Units: g (gravitational acceleration) + * + * For gyroscope state vector: + * Orientation is determined by right-hand rule. + * Units: deg/sec + */ +using MotionDevice = InputDevice<std::tuple<Math::Vec3<float>, Math::Vec3<float>>>; + +/** + * A touch device is an input device that returns a tuple of two floats and a bool. The floats are + * x and y coordinates in the range 0.0 - 1.0, and the bool indicates whether it is pressed. + */ +using TouchDevice = InputDevice<std::tuple<float, float, bool>>; + } // namespace Input diff --git a/src/core/frontend/motion_emu.cpp b/src/core/frontend/motion_emu.cpp deleted file mode 100644 index 9a5b3185d..000000000 --- a/src/core/frontend/motion_emu.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2016 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include "common/math_util.h" -#include "common/quaternion.h" -#include "core/frontend/emu_window.h" -#include "core/frontend/motion_emu.h" - -namespace Motion { - -static constexpr int update_millisecond = 100; -static constexpr auto update_duration = - std::chrono::duration_cast<std::chrono::steady_clock::duration>( - std::chrono::milliseconds(update_millisecond)); - -MotionEmu::MotionEmu(EmuWindow& emu_window) - : motion_emu_thread(&MotionEmu::MotionEmuThread, this, std::ref(emu_window)) {} - -MotionEmu::~MotionEmu() { - if (motion_emu_thread.joinable()) { - shutdown_event.Set(); - motion_emu_thread.join(); - } -} - -void MotionEmu::MotionEmuThread(EmuWindow& emu_window) { - auto update_time = std::chrono::steady_clock::now(); - Math::Quaternion<float> q = MakeQuaternion(Math::Vec3<float>(), 0); - Math::Quaternion<float> old_q; - - while (!shutdown_event.WaitUntil(update_time)) { - update_time += update_duration; - old_q = q; - - { - std::lock_guard<std::mutex> guard(tilt_mutex); - - // Find the quaternion describing current 3DS tilting - q = MakeQuaternion(Math::MakeVec(-tilt_direction.y, 0.0f, tilt_direction.x), - tilt_angle); - } - - auto inv_q = q.Inverse(); - - // Set the gravity vector in world space - auto gravity = Math::MakeVec(0.0f, -1.0f, 0.0f); - - // Find the angular rate vector in world space - auto angular_rate = ((q - old_q) * inv_q).xyz * 2; - angular_rate *= 1000 / update_millisecond / MathUtil::PI * 180; - - // Transform the two vectors from world space to 3DS space - gravity = QuaternionRotate(inv_q, gravity); - angular_rate = QuaternionRotate(inv_q, angular_rate); - - // Update the sensor state - emu_window.AccelerometerChanged(gravity.x, gravity.y, gravity.z); - emu_window.GyroscopeChanged(angular_rate.x, angular_rate.y, angular_rate.z); - } -} - -void MotionEmu::BeginTilt(int x, int y) { - mouse_origin = Math::MakeVec(x, y); - is_tilting = true; -} - -void MotionEmu::Tilt(int x, int y) { - constexpr float SENSITIVITY = 0.01f; - auto mouse_move = Math::MakeVec(x, y) - mouse_origin; - if (is_tilting) { - std::lock_guard<std::mutex> guard(tilt_mutex); - if (mouse_move.x == 0 && mouse_move.y == 0) { - tilt_angle = 0; - } else { - tilt_direction = mouse_move.Cast<float>(); - tilt_angle = MathUtil::Clamp(tilt_direction.Normalize() * SENSITIVITY, 0.0f, - MathUtil::PI * 0.5f); - } - } -} - -void MotionEmu::EndTilt() { - std::lock_guard<std::mutex> guard(tilt_mutex); - tilt_angle = 0; - is_tilting = false; -} - -} // namespace Motion diff --git a/src/core/frontend/motion_emu.h b/src/core/frontend/motion_emu.h deleted file mode 100644 index 99d41a726..000000000 --- a/src/core/frontend/motion_emu.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2016 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once -#include "common/thread.h" -#include "common/vector_math.h" - -class EmuWindow; - -namespace Motion { - -class MotionEmu final { -public: - MotionEmu(EmuWindow& emu_window); - ~MotionEmu(); - - /** - * Signals that a motion sensor tilt has begun. - * @param x the x-coordinate of the cursor - * @param y the y-coordinate of the cursor - */ - void BeginTilt(int x, int y); - - /** - * Signals that a motion sensor tilt is occurring. - * @param x the x-coordinate of the cursor - * @param y the y-coordinate of the cursor - */ - void Tilt(int x, int y); - - /** - * Signals that a motion sensor tilt has ended. - */ - void EndTilt(); - -private: - Math::Vec2<int> mouse_origin; - - std::mutex tilt_mutex; - Math::Vec2<float> tilt_direction; - float tilt_angle = 0; - - bool is_tilting = false; - - Common::Event shutdown_event; - std::thread motion_emu_thread; - - void MotionEmuThread(EmuWindow& emu_window); -}; - -} // namespace Motion diff --git a/src/core/hle/applets/erreula.cpp b/src/core/hle/applets/erreula.cpp index 75d7fd9fc..518f371f5 100644 --- a/src/core/hle/applets/erreula.cpp +++ b/src/core/hle/applets/erreula.cpp @@ -31,8 +31,8 @@ ResultCode ErrEula::ReceiveParameter(const Service::APT::MessageParameter& param heap_memory = std::make_shared<std::vector<u8>>(capture_info.size); // Create a SharedMemory that directly points to this heap block. framebuffer_memory = Kernel::SharedMemory::CreateForApplet( - heap_memory, 0, heap_memory->size(), MemoryPermission::ReadWrite, - MemoryPermission::ReadWrite, "ErrEula Memory"); + heap_memory, 0, capture_info.size, MemoryPermission::ReadWrite, MemoryPermission::ReadWrite, + "ErrEula Memory"); // Send the response message with the newly created SharedMemory Service::APT::MessageParameter result; diff --git a/src/core/hle/applets/mii_selector.cpp b/src/core/hle/applets/mii_selector.cpp index 89f08daa2..f225c23a5 100644 --- a/src/core/hle/applets/mii_selector.cpp +++ b/src/core/hle/applets/mii_selector.cpp @@ -38,8 +38,8 @@ ResultCode MiiSelector::ReceiveParameter(const Service::APT::MessageParameter& p heap_memory = std::make_shared<std::vector<u8>>(capture_info.size); // Create a SharedMemory that directly points to this heap block. framebuffer_memory = Kernel::SharedMemory::CreateForApplet( - heap_memory, 0, heap_memory->size(), MemoryPermission::ReadWrite, - MemoryPermission::ReadWrite, "MiiSelector Memory"); + heap_memory, 0, capture_info.size, MemoryPermission::ReadWrite, MemoryPermission::ReadWrite, + "MiiSelector Memory"); // Send the response message with the newly created SharedMemory Service::APT::MessageParameter result; @@ -66,7 +66,7 @@ ResultCode MiiSelector::StartImpl(const Service::APT::AppletStartupParameter& pa // continue. MiiResult result; memset(&result, 0, sizeof(result)); - result.result_code = 0; + result.return_code = 0; // Let the application know that we're closing Service::APT::MessageParameter message; @@ -82,5 +82,5 @@ ResultCode MiiSelector::StartImpl(const Service::APT::AppletStartupParameter& pa } void MiiSelector::Update() {} -} -} // namespace +} // namespace Applets +} // namespace HLE diff --git a/src/core/hle/applets/mii_selector.h b/src/core/hle/applets/mii_selector.h index ec00e29d2..136ce8948 100644 --- a/src/core/hle/applets/mii_selector.h +++ b/src/core/hle/applets/mii_selector.h @@ -16,51 +16,46 @@ namespace HLE { namespace Applets { struct MiiConfig { - u8 unk_000; - u8 unk_001; - u8 unk_002; - u8 unk_003; - u8 unk_004; + u8 enable_cancel_button; + u8 enable_guest_mii; + u8 show_on_top_screen; + INSERT_PADDING_BYTES(5); + u16 title[0x40]; + INSERT_PADDING_BYTES(4); + u8 show_guest_miis; INSERT_PADDING_BYTES(3); - u16 unk_008; - INSERT_PADDING_BYTES(0x82); - u8 unk_08C; - INSERT_PADDING_BYTES(3); - u16 unk_090; + u32 initially_selected_mii_index; + u8 guest_mii_whitelist[6]; + u8 user_mii_whitelist[0x64]; INSERT_PADDING_BYTES(2); - u32 unk_094; - u16 unk_098; - u8 unk_09A[0x64]; - u8 unk_0FE; - u8 unk_0FF; - u32 unk_100; + u32 magic_value; }; - static_assert(sizeof(MiiConfig) == 0x104, "MiiConfig structure has incorrect size"); #define ASSERT_REG_POSITION(field_name, position) \ static_assert(offsetof(MiiConfig, field_name) == position, \ "Field " #field_name " has invalid position") -ASSERT_REG_POSITION(unk_008, 0x08); -ASSERT_REG_POSITION(unk_08C, 0x8C); -ASSERT_REG_POSITION(unk_090, 0x90); -ASSERT_REG_POSITION(unk_094, 0x94); -ASSERT_REG_POSITION(unk_0FE, 0xFE); +ASSERT_REG_POSITION(title, 0x08); +ASSERT_REG_POSITION(show_guest_miis, 0x8C); +ASSERT_REG_POSITION(initially_selected_mii_index, 0x90); +ASSERT_REG_POSITION(guest_mii_whitelist, 0x94); #undef ASSERT_REG_POSITION struct MiiResult { - u32 result_code; - u8 unk_04; - INSERT_PADDING_BYTES(7); - u8 unk_0C[0x60]; - u8 unk_6C[0x16]; + u32 return_code; + u32 is_guest_mii_selected; + u32 selected_guest_mii_index; + // TODO(mailwl): expand to Mii Format structure: https://www.3dbrew.org/wiki/Mii + u8 selected_mii_data[0x5C]; INSERT_PADDING_BYTES(2); + u16 mii_data_checksum; + u16 guest_mii_name[0xC]; }; static_assert(sizeof(MiiResult) == 0x84, "MiiResult structure has incorrect size"); #define ASSERT_REG_POSITION(field_name, position) \ static_assert(offsetof(MiiResult, field_name) == position, \ "Field " #field_name " has invalid position") -ASSERT_REG_POSITION(unk_0C, 0x0C); -ASSERT_REG_POSITION(unk_6C, 0x6C); +ASSERT_REG_POSITION(selected_mii_data, 0x0C); +ASSERT_REG_POSITION(guest_mii_name, 0x6C); #undef ASSERT_REG_POSITION class MiiSelector final : public Applet { @@ -79,5 +74,5 @@ private: MiiConfig config; }; -} -} // namespace +} // namespace Applets +} // namespace HLE diff --git a/src/core/hle/applets/mint.cpp b/src/core/hle/applets/mint.cpp index 31a79ea17..50d79190b 100644 --- a/src/core/hle/applets/mint.cpp +++ b/src/core/hle/applets/mint.cpp @@ -31,8 +31,8 @@ ResultCode Mint::ReceiveParameter(const Service::APT::MessageParameter& paramete heap_memory = std::make_shared<std::vector<u8>>(capture_info.size); // Create a SharedMemory that directly points to this heap block. framebuffer_memory = Kernel::SharedMemory::CreateForApplet( - heap_memory, 0, heap_memory->size(), MemoryPermission::ReadWrite, - MemoryPermission::ReadWrite, "Mint Memory"); + heap_memory, 0, capture_info.size, MemoryPermission::ReadWrite, MemoryPermission::ReadWrite, + "Mint Memory"); // Send the response message with the newly created SharedMemory Service::APT::MessageParameter result; diff --git a/src/core/hle/applets/swkbd.cpp b/src/core/hle/applets/swkbd.cpp index fdf8807b0..0bc471a3a 100644 --- a/src/core/hle/applets/swkbd.cpp +++ b/src/core/hle/applets/swkbd.cpp @@ -41,8 +41,8 @@ ResultCode SoftwareKeyboard::ReceiveParameter(Service::APT::MessageParameter con heap_memory = std::make_shared<std::vector<u8>>(capture_info.size); // Create a SharedMemory that directly points to this heap block. framebuffer_memory = Kernel::SharedMemory::CreateForApplet( - heap_memory, 0, heap_memory->size(), MemoryPermission::ReadWrite, - MemoryPermission::ReadWrite, "SoftwareKeyboard Memory"); + heap_memory, 0, capture_info.size, MemoryPermission::ReadWrite, MemoryPermission::ReadWrite, + "SoftwareKeyboard Memory"); // Send the response message with the newly created SharedMemory Service::APT::MessageParameter result; diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 9cf288b08..73fab3981 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -8,6 +8,7 @@ #include <string> #include <utility> #include <boost/smart_ptr/intrusive_ptr.hpp> +#include "common/assert.h" #include "common/common_types.h" namespace Kernel { @@ -84,6 +85,8 @@ public: case HandleType::ClientSession: return false; } + + UNREACHABLE(); } public: @@ -129,4 +132,4 @@ void Init(u32 system_mode); /// Shutdown the kernel void Shutdown(); -} // namespace +} // namespace Kernel diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp index 922e5ab58..a7b66142f 100644 --- a/src/core/hle/kernel/shared_memory.cpp +++ b/src/core/hle/kernel/shared_memory.cpp @@ -149,7 +149,7 @@ ResultCode SharedMemory::Map(Process* target_process, VAddr address, MemoryPermi if (base_address == 0 && target_address == 0) { // Calculate the address at which to map the memory block. - target_address = Memory::PhysicalToVirtualAddress(linear_heap_phys_address); + target_address = Memory::PhysicalToVirtualAddress(linear_heap_phys_address).value(); } // Map the memory block into the target process diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index f5f2eb2f7..b957c45dd 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -478,8 +478,6 @@ void Thread::BoostPriority(s32 priority) { } SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) { - DEBUG_ASSERT(!GetCurrentThread()); - // Initialize new "main" thread auto thread_res = Thread::Create("main", entry_point, priority, 0, THREADPROCESSORID_0, Memory::HEAP_VADDR_END); @@ -489,9 +487,7 @@ SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) { thread->context.fpscr = FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO | FPSCR_IXC; // 0x03C00010 - // Run new "main" thread - SwitchContext(thread.get()); - + // Note: The newly created thread will be run when the scheduler fires. return thread; } diff --git a/src/core/hle/lock.cpp b/src/core/hle/lock.cpp new file mode 100644 index 000000000..1c24c7ce9 --- /dev/null +++ b/src/core/hle/lock.cpp @@ -0,0 +1,11 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <core/hle/lock.h> + +namespace HLE { +std::recursive_mutex g_hle_lock; +} diff --git a/src/core/hle/lock.h b/src/core/hle/lock.h new file mode 100644 index 000000000..5c99fe996 --- /dev/null +++ b/src/core/hle/lock.h @@ -0,0 +1,18 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <mutex> + +namespace HLE { +/* + * Synchronizes access to the internal HLE kernel structures, it is acquired when a guest + * application thread performs a syscall. It should be acquired by any host threads that read or + * modify the HLE kernel state. Note: Any operation that directly or indirectly reads from or writes + * to the emulated memory is not protected by this mutex, and should be avoided in any threads other + * than the CPU thread. + */ +extern std::recursive_mutex g_hle_lock; +} // namespace HLE diff --git a/src/core/hle/romfs.cpp b/src/core/hle/romfs.cpp new file mode 100644 index 000000000..3157df71d --- /dev/null +++ b/src/core/hle/romfs.cpp @@ -0,0 +1,102 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <cstring> +#include "common/swap.h" +#include "core/hle/romfs.h" + +namespace RomFS { + +struct Header { + u32_le header_length; + u32_le dir_hash_table_offset; + u32_le dir_hash_table_length; + u32_le dir_table_offset; + u32_le dir_table_length; + u32_le file_hash_table_offset; + u32_le file_hash_table_length; + u32_le file_table_offset; + u32_le file_table_length; + u32_le data_offset; +}; + +static_assert(sizeof(Header) == 0x28, "Header has incorrect size"); + +struct DirectoryMetadata { + u32_le parent_dir_offset; + u32_le next_dir_offset; + u32_le first_child_dir_offset; + u32_le first_file_offset; + u32_le same_hash_next_dir_offset; + u32_le name_length; // in bytes + // followed by directory name +}; + +static_assert(sizeof(DirectoryMetadata) == 0x18, "DirectoryMetadata has incorrect size"); + +struct FileMetadata { + u32_le parent_dir_offset; + u32_le next_file_offset; + u64_le data_offset; + u64_le data_length; + u32_le same_hash_next_file_offset; + u32_le name_length; // in bytes + // followed by file name +}; + +static_assert(sizeof(FileMetadata) == 0x20, "FileMetadata has incorrect size"); + +static bool MatchName(const u8* buffer, u32 name_length, const std::u16string& name) { + std::vector<char16_t> name_buffer(name_length / sizeof(char16_t)); + std::memcpy(name_buffer.data(), buffer, name_length); + return name == std::u16string(name_buffer.begin(), name_buffer.end()); +} + +const u8* GetFilePointer(const u8* romfs, const std::vector<std::u16string>& path) { + constexpr u32 INVALID_FIELD = 0xFFFFFFFF; + + // Split path into directory names and file name + std::vector<std::u16string> dir_names = path; + dir_names.pop_back(); + const std::u16string& file_name = path.back(); + + Header header; + std::memcpy(&header, romfs, sizeof(header)); + + // Find directories of each level + DirectoryMetadata dir; + const u8* current_dir = romfs + header.dir_table_offset; + std::memcpy(&dir, current_dir, sizeof(dir)); + for (const std::u16string& dir_name : dir_names) { + u32 child_dir_offset; + child_dir_offset = dir.first_child_dir_offset; + while (true) { + if (child_dir_offset == INVALID_FIELD) { + return nullptr; + } + const u8* current_child_dir = romfs + header.dir_table_offset + child_dir_offset; + std::memcpy(&dir, current_child_dir, sizeof(dir)); + if (MatchName(current_child_dir + sizeof(dir), dir.name_length, dir_name)) { + current_dir = current_child_dir; + break; + } + child_dir_offset = dir.next_dir_offset; + } + } + + // Find the file + FileMetadata file; + u32 file_offset = dir.first_file_offset; + while (file_offset != INVALID_FIELD) { + const u8* current_file = romfs + header.file_table_offset + file_offset; + std::memcpy(&file, current_file, sizeof(file)); + if (MatchName(current_file + sizeof(file), file.name_length, file_name)) { + return romfs + header.data_offset + file.data_offset; + } + file_offset = file.next_file_offset; + } + return nullptr; +} + +} // namespace RomFS diff --git a/src/core/hle/romfs.h b/src/core/hle/romfs.h new file mode 100644 index 000000000..ee9f29760 --- /dev/null +++ b/src/core/hle/romfs.h @@ -0,0 +1,22 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <string> +#include <vector> +#include "common/common_types.h" + +namespace RomFS { + +/** + * Gets the pointer to a file in a RomFS image. + * @param romfs The pointer to the RomFS image + * @param path A vector containing the directory names and file name of the path to the file + * @return the pointer to the file + * @todo reimplement this with a full RomFS manager + */ +const u8* GetFilePointer(const u8* romfs, const std::vector<std::u16string>& path); + +} // namespace RomFS diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp index 25e7b777d..58d94768c 100644 --- a/src/core/hle/service/apt/apt.cpp +++ b/src/core/hle/service/apt/apt.cpp @@ -2,15 +2,18 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include <boost/optional.hpp> #include "common/common_paths.h" #include "common/file_util.h" #include "common/logging/log.h" #include "core/core.h" +#include "core/file_sys/file_backend.h" #include "core/hle/applets/applet.h" #include "core/hle/kernel/event.h" #include "core/hle/kernel/mutex.h" #include "core/hle/kernel/process.h" #include "core/hle/kernel/shared_memory.h" +#include "core/hle/romfs.h" #include "core/hle/service/apt/apt.h" #include "core/hle/service/apt/apt_a.h" #include "core/hle/service/apt/apt_s.h" @@ -27,11 +30,10 @@ namespace APT { /// Handle to shared memory region designated to for shared system font static Kernel::SharedPtr<Kernel::SharedMemory> shared_font_mem; +static bool shared_font_loaded = false; static bool shared_font_relocated = false; static Kernel::SharedPtr<Kernel::Mutex> lock; -static Kernel::SharedPtr<Kernel::Event> notification_event; ///< APT notification event -static Kernel::SharedPtr<Kernel::Event> parameter_event; ///< APT parameter event static u32 cpu_percent; ///< CPU time available to the running application @@ -40,38 +42,170 @@ static u8 unknown_ns_state_field; static ScreencapPostPermission screen_capture_post_permission; -/// Parameter data to be returned in the next call to Glance/ReceiveParameter -static MessageParameter next_parameter; +/// Parameter data to be returned in the next call to Glance/ReceiveParameter. +/// TODO(Subv): Use std::optional once we migrate to C++17. +static boost::optional<MessageParameter> next_parameter; + +enum class AppletPos { Application = 0, Library = 1, System = 2, SysLibrary = 3, Resident = 4 }; + +static constexpr size_t NumAppletSlot = 4; + +enum class AppletSlot : u8 { + Application, + SystemApplet, + HomeMenu, + LibraryApplet, + + // An invalid tag + Error, +}; + +union AppletAttributes { + u32 raw; + + BitField<0, 3, u32> applet_pos; + + AppletAttributes() : raw(0) {} + AppletAttributes(u32 attributes) : raw(attributes) {} +}; + +struct AppletSlotData { + AppletId applet_id; + AppletSlot slot; + bool registered; + AppletAttributes attributes; + Kernel::SharedPtr<Kernel::Event> notification_event; + Kernel::SharedPtr<Kernel::Event> parameter_event; +}; + +// Holds data about the concurrently running applets in the system. +static std::array<AppletSlotData, NumAppletSlot> applet_slots = {}; + +// This overload returns nullptr if no applet with the specified id has been started. +static AppletSlotData* GetAppletSlotData(AppletId id) { + auto GetSlot = [](AppletSlot slot) -> AppletSlotData* { + return &applet_slots[static_cast<size_t>(slot)]; + }; + + if (id == AppletId::Application) { + auto* slot = GetSlot(AppletSlot::Application); + if (slot->applet_id != AppletId::None) + return slot; + + return nullptr; + } + + if (id == AppletId::AnySystemApplet) { + auto* system_slot = GetSlot(AppletSlot::SystemApplet); + if (system_slot->applet_id != AppletId::None) + return system_slot; + + // The Home Menu is also a system applet, but it lives in its own slot to be able to run + // concurrently with other system applets. + auto* home_slot = GetSlot(AppletSlot::HomeMenu); + if (home_slot->applet_id != AppletId::None) + return home_slot; + + return nullptr; + } + + if (id == AppletId::AnyLibraryApplet || id == AppletId::AnySysLibraryApplet) { + auto* slot = GetSlot(AppletSlot::LibraryApplet); + if (slot->applet_id == AppletId::None) + return nullptr; + + u32 applet_pos = slot->attributes.applet_pos; + + if (id == AppletId::AnyLibraryApplet && applet_pos == static_cast<u32>(AppletPos::Library)) + return slot; + + if (id == AppletId::AnySysLibraryApplet && + applet_pos == static_cast<u32>(AppletPos::SysLibrary)) + return slot; + + return nullptr; + } + + if (id == AppletId::HomeMenu || id == AppletId::AlternateMenu) { + auto* slot = GetSlot(AppletSlot::HomeMenu); + if (slot->applet_id != AppletId::None) + return slot; + + return nullptr; + } + + for (auto& slot : applet_slots) { + if (slot.applet_id == id) + return &slot; + } + + return nullptr; +} + +static AppletSlotData* GetAppletSlotData(AppletAttributes attributes) { + // Mapping from AppletPos to AppletSlot + static constexpr std::array<AppletSlot, 6> applet_position_slots = { + AppletSlot::Application, AppletSlot::LibraryApplet, AppletSlot::SystemApplet, + AppletSlot::LibraryApplet, AppletSlot::Error, AppletSlot::LibraryApplet}; + + u32 applet_pos = attributes.applet_pos; + if (applet_pos >= applet_position_slots.size()) + return nullptr; + + AppletSlot slot = applet_position_slots[applet_pos]; + + if (slot == AppletSlot::Error) + return nullptr; + + return &applet_slots[static_cast<size_t>(slot)]; +} void SendParameter(const MessageParameter& parameter) { next_parameter = parameter; - // Signal the event to let the application know that a new parameter is ready to be read - parameter_event->Signal(); + // Signal the event to let the receiver know that a new parameter is ready to be read + auto* const slot_data = GetAppletSlotData(static_cast<AppletId>(parameter.destination_id)); + ASSERT(slot_data); + + slot_data->parameter_event->Signal(); } void Initialize(Service::Interface* self) { IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x2, 2, 0); // 0x20080 u32 app_id = rp.Pop<u32>(); - u32 flags = rp.Pop<u32>(); - IPC::RequestBuilder rb = rp.MakeBuilder(1, 3); - rb.Push(RESULT_SUCCESS); - rb.PushCopyHandles(Kernel::g_handle_table.Create(notification_event).Unwrap(), - Kernel::g_handle_table.Create(parameter_event).Unwrap()); + u32 attributes = rp.Pop<u32>(); - // TODO(bunnei): Check if these events are cleared every time Initialize is called. - notification_event->Clear(); - parameter_event->Clear(); + LOG_DEBUG(Service_APT, "called app_id=0x%08X, attributes=0x%08X", app_id, attributes); - ASSERT_MSG((nullptr != lock), "Cannot initialize without lock"); - lock->Release(); + auto* const slot_data = GetAppletSlotData(attributes); - LOG_DEBUG(Service_APT, "called app_id=0x%08X, flags=0x%08X", app_id, flags); + // Note: The real NS service does not check if the attributes value is valid before accessing + // the data in the array + ASSERT_MSG(slot_data, "Invalid application attributes"); + + if (slot_data->registered) { + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); + rb.Push(ResultCode(ErrorDescription::AlreadyExists, ErrorModule::Applet, + ErrorSummary::InvalidState, ErrorLevel::Status)); + return; + } + + slot_data->applet_id = static_cast<AppletId>(app_id); + slot_data->attributes.raw = attributes; + + IPC::RequestBuilder rb = rp.MakeBuilder(1, 3); + rb.Push(RESULT_SUCCESS); + rb.PushCopyHandles(Kernel::g_handle_table.Create(slot_data->notification_event).Unwrap(), + Kernel::g_handle_table.Create(slot_data->parameter_event).Unwrap()); } void GetSharedFont(Service::Interface* self) { IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x44, 0, 0); // 0x00440000 IPC::RequestBuilder rb = rp.MakeBuilder(2, 2); - if (!shared_font_mem) { + + // Log in telemetry if the game uses the shared font + Core::Telemetry().AddField(Telemetry::FieldType::Session, "RequiresSharedFont", true); + + if (!shared_font_loaded) { LOG_ERROR(Service_APT, "shared font file missing - go dump it from your 3ds"); rb.Push<u32>(-1); // TODO: Find the right error code rb.Skip(1 + 2, true); @@ -82,7 +216,7 @@ void GetSharedFont(Service::Interface* self) { // The shared font has to be relocated to the new address before being passed to the // application. VAddr target_address = - Memory::PhysicalToVirtualAddress(shared_font_mem->linear_heap_phys_address); + Memory::PhysicalToVirtualAddress(shared_font_mem->linear_heap_phys_address).value(); if (!shared_font_relocated) { BCFNT::RelocateSharedFont(shared_font_mem, target_address); shared_font_relocated = true; @@ -112,7 +246,12 @@ void GetLockHandle(Service::Interface* self) { // this will cause the app to wait until parameter_event is signaled. u32 applet_attributes = rp.Pop<u32>(); IPC::RequestBuilder rb = rp.MakeBuilder(3, 2); - rb.Push(RESULT_SUCCESS); // No error + rb.Push(RESULT_SUCCESS); // No error + + // TODO(Subv): The output attributes should have an AppletPos of either Library or System | + // Library (depending on the type of the last launched applet) if the input attributes' + // AppletPos has the Library bit set. + rb.Push(applet_attributes); // Applet Attributes, this value is passed to Enable. rb.Push<u32>(0); // Least significant bit = power button state Kernel::Handle handle_copy = Kernel::g_handle_table.Create(lock).Unwrap(); @@ -125,10 +264,22 @@ void GetLockHandle(Service::Interface* self) { void Enable(Service::Interface* self) { IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x3, 1, 0); // 0x30040 u32 attributes = rp.Pop<u32>(); + + LOG_DEBUG(Service_APT, "called attributes=0x%08X", attributes); + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); - rb.Push(RESULT_SUCCESS); // No error - parameter_event->Signal(); // Let the application know that it has been started - LOG_WARNING(Service_APT, "(STUBBED) called attributes=0x%08X", attributes); + + auto* const slot_data = GetAppletSlotData(attributes); + + if (!slot_data) { + rb.Push(ResultCode(ErrCodes::InvalidAppletSlot, ErrorModule::Applet, + ErrorSummary::InvalidState, ErrorLevel::Status)); + return; + } + + slot_data->registered = true; + + rb.Push(RESULT_SUCCESS); } void GetAppletManInfo(Service::Interface* self) { @@ -146,22 +297,27 @@ void GetAppletManInfo(Service::Interface* self) { void IsRegistered(Service::Interface* self) { IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x9, 1, 0); // 0x90040 - u32 app_id = rp.Pop<u32>(); + AppletId app_id = static_cast<AppletId>(rp.Pop<u32>()); IPC::RequestBuilder rb = rp.MakeBuilder(2, 0); rb.Push(RESULT_SUCCESS); // No error - // TODO(Subv): An application is considered "registered" if it has already called APT::Enable - // handle this properly once we implement multiprocess support. - bool is_registered = false; // Set to not registered by default + auto* const slot_data = GetAppletSlotData(app_id); + + // Check if an LLE applet was registered first, then fallback to HLE applets + bool is_registered = slot_data && slot_data->registered; - if (app_id == static_cast<u32>(AppletId::AnyLibraryApplet)) { - is_registered = HLE::Applets::IsLibraryAppletRunning(); - } else if (auto applet = HLE::Applets::Applet::Get(static_cast<AppletId>(app_id))) { - is_registered = true; // Set to registered + if (!is_registered) { + if (app_id == AppletId::AnyLibraryApplet) { + is_registered = HLE::Applets::IsLibraryAppletRunning(); + } else if (auto applet = HLE::Applets::Applet::Get(app_id)) { + // The applet exists, set it as registered. + is_registered = true; + } } + rb.Push(is_registered); - LOG_WARNING(Service_APT, "(STUBBED) called app_id=0x%08X", app_id); + LOG_DEBUG(Service_APT, "called app_id=0x%08X", static_cast<u32>(app_id)); } void InquireNotification(Service::Interface* self) { @@ -186,8 +342,20 @@ void SendParameter(Service::Interface* self) { std::shared_ptr<HLE::Applets::Applet> dest_applet = HLE::Applets::Applet::Get(static_cast<AppletId>(dst_app_id)); + LOG_DEBUG(Service_APT, + "called src_app_id=0x%08X, dst_app_id=0x%08X, signal_type=0x%08X," + "buffer_size=0x%08X, handle=0x%08X, size=0x%08zX, in_param_buffer_ptr=0x%08X", + src_app_id, dst_app_id, signal_type, buffer_size, handle, size, buffer); + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); + // A new parameter can not be sent if the previous one hasn't been consumed yet + if (next_parameter) { + rb.Push(ResultCode(ErrCodes::ParameterPresent, ErrorModule::Applet, + ErrorSummary::InvalidState, ErrorLevel::Status)); + return; + } + if (dest_applet == nullptr) { LOG_ERROR(Service_APT, "Unknown applet id=0x%08X", dst_app_id); rb.Push<u32>(-1); // TODO(Subv): Find the right error code @@ -203,11 +371,6 @@ void SendParameter(Service::Interface* self) { Memory::ReadBlock(buffer, param.buffer.data(), param.buffer.size()); rb.Push(dest_applet->ReceiveParameter(param)); - - LOG_WARNING(Service_APT, - "(STUBBED) called src_app_id=0x%08X, dst_app_id=0x%08X, signal_type=0x%08X," - "buffer_size=0x%08X, handle=0x%08X, size=0x%08zX, in_param_buffer_ptr=0x%08X", - src_app_id, dst_app_id, signal_type, buffer_size, handle, size, buffer); } void ReceiveParameter(Service::Interface* self) { @@ -223,21 +386,40 @@ void ReceiveParameter(Service::Interface* self) { "buffer_size is bigger than the size in the buffer descriptor (0x%08X > 0x%08zX)", buffer_size, static_buff_size); + LOG_DEBUG(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); + + if (!next_parameter) { + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); + rb.Push(ResultCode(ErrorDescription::NoData, ErrorModule::Applet, + ErrorSummary::InvalidState, ErrorLevel::Status)); + return; + } + + if (next_parameter->destination_id != app_id) { + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); + rb.Push(ResultCode(ErrorDescription::NotFound, ErrorModule::Applet, ErrorSummary::NotFound, + ErrorLevel::Status)); + return; + } + IPC::RequestBuilder rb = rp.MakeBuilder(4, 4); + rb.Push(RESULT_SUCCESS); // No error - rb.Push(next_parameter.sender_id); - rb.Push(next_parameter.signal); // Signal type - ASSERT_MSG(next_parameter.buffer.size() <= buffer_size, "Input static buffer is too small !"); - rb.Push(static_cast<u32>(next_parameter.buffer.size())); // Parameter buffer size + rb.Push(next_parameter->sender_id); + rb.Push(next_parameter->signal); // Signal type + ASSERT_MSG(next_parameter->buffer.size() <= buffer_size, "Input static buffer is too small !"); + rb.Push(static_cast<u32>(next_parameter->buffer.size())); // Parameter buffer size - rb.PushMoveHandles((next_parameter.object != nullptr) - ? Kernel::g_handle_table.Create(next_parameter.object).Unwrap() + rb.PushMoveHandles((next_parameter->object != nullptr) + ? Kernel::g_handle_table.Create(next_parameter->object).Unwrap() : 0); - rb.PushStaticBuffer(buffer, static_cast<u32>(next_parameter.buffer.size()), 0); - Memory::WriteBlock(buffer, next_parameter.buffer.data(), next_parameter.buffer.size()); + rb.PushStaticBuffer(buffer, static_cast<u32>(next_parameter->buffer.size()), 0); + + Memory::WriteBlock(buffer, next_parameter->buffer.data(), next_parameter->buffer.size()); - LOG_WARNING(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); + // Clear the parameter + next_parameter = boost::none; } void GlanceParameter(Service::Interface* self) { @@ -253,37 +435,74 @@ void GlanceParameter(Service::Interface* self) { "buffer_size is bigger than the size in the buffer descriptor (0x%08X > 0x%08zX)", buffer_size, static_buff_size); + LOG_DEBUG(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); + + if (!next_parameter) { + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); + rb.Push(ResultCode(ErrorDescription::NoData, ErrorModule::Applet, + ErrorSummary::InvalidState, ErrorLevel::Status)); + return; + } + + if (next_parameter->destination_id != app_id) { + IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); + rb.Push(ResultCode(ErrorDescription::NotFound, ErrorModule::Applet, ErrorSummary::NotFound, + ErrorLevel::Status)); + return; + } + IPC::RequestBuilder rb = rp.MakeBuilder(4, 4); rb.Push(RESULT_SUCCESS); // No error - rb.Push(next_parameter.sender_id); - rb.Push(next_parameter.signal); // Signal type - ASSERT_MSG(next_parameter.buffer.size() <= buffer_size, "Input static buffer is too small !"); - rb.Push(static_cast<u32>(next_parameter.buffer.size())); // Parameter buffer size + rb.Push(next_parameter->sender_id); + rb.Push(next_parameter->signal); // Signal type + ASSERT_MSG(next_parameter->buffer.size() <= buffer_size, "Input static buffer is too small !"); + rb.Push(static_cast<u32>(next_parameter->buffer.size())); // Parameter buffer size - rb.PushCopyHandles((next_parameter.object != nullptr) - ? Kernel::g_handle_table.Create(next_parameter.object).Unwrap() + rb.PushMoveHandles((next_parameter->object != nullptr) + ? Kernel::g_handle_table.Create(next_parameter->object).Unwrap() : 0); - rb.PushStaticBuffer(buffer, static_cast<u32>(next_parameter.buffer.size()), 0); - Memory::WriteBlock(buffer, next_parameter.buffer.data(), next_parameter.buffer.size()); + rb.PushStaticBuffer(buffer, static_cast<u32>(next_parameter->buffer.size()), 0); + + Memory::WriteBlock(buffer, next_parameter->buffer.data(), next_parameter->buffer.size()); - LOG_WARNING(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); + // Note: The NS module always clears the DSPSleep and DSPWakeup signals even in GlanceParameter. + if (next_parameter->signal == static_cast<u32>(SignalType::DspSleep) || + next_parameter->signal == static_cast<u32>(SignalType::DspWakeup)) + next_parameter = boost::none; } void CancelParameter(Service::Interface* self) { IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0xF, 4, 0); // 0xF0100 - u32 check_sender = rp.Pop<u32>(); + bool check_sender = rp.Pop<bool>(); u32 sender_appid = rp.Pop<u32>(); - u32 check_receiver = rp.Pop<u32>(); + bool check_receiver = rp.Pop<bool>(); u32 receiver_appid = rp.Pop<u32>(); + + bool cancellation_success = true; + + if (!next_parameter) { + cancellation_success = false; + } else { + if (check_sender && next_parameter->sender_id != sender_appid) + cancellation_success = false; + + if (check_receiver && next_parameter->destination_id != receiver_appid) + cancellation_success = false; + } + + if (cancellation_success) + next_parameter = boost::none; + IPC::RequestBuilder rb = rp.MakeBuilder(2, 0); + rb.Push(RESULT_SUCCESS); // No error - rb.Push(true); // Set to Success + rb.Push(cancellation_success); - LOG_WARNING(Service_APT, "(STUBBED) called check_sender=0x%08X, sender_appid=0x%08X, " - "check_receiver=0x%08X, receiver_appid=0x%08X", - check_sender, sender_appid, check_receiver, receiver_appid); + LOG_DEBUG(Service_APT, "called check_sender=%u, sender_appid=0x%08X, " + "check_receiver=%u, receiver_appid=0x%08X", + check_sender, sender_appid, check_receiver, receiver_appid); } void PrepareToStartApplication(Service::Interface* self) { @@ -644,36 +863,146 @@ void CheckNew3DS(Service::Interface* self) { LOG_WARNING(Service_APT, "(STUBBED) called"); } -void Init() { - AddService(new APT_A_Interface); - AddService(new APT_S_Interface); - AddService(new APT_U_Interface); +static u32 DecompressLZ11(const u8* in, u8* out) { + u32_le decompressed_size; + memcpy(&decompressed_size, in, sizeof(u32)); + in += 4; + + u8 type = decompressed_size & 0xFF; + ASSERT(type == 0x11); + decompressed_size >>= 8; + + u32 current_out_size = 0; + u8 flags = 0, mask = 1; + while (current_out_size < decompressed_size) { + if (mask == 1) { + flags = *(in++); + mask = 0x80; + } else { + mask >>= 1; + } + + if (flags & mask) { + u8 byte1 = *(in++); + u32 length = byte1 >> 4; + u32 offset; + if (length == 0) { + u8 byte2 = *(in++); + u8 byte3 = *(in++); + length = (((byte1 & 0x0F) << 4) | (byte2 >> 4)) + 0x11; + offset = (((byte2 & 0x0F) << 8) | byte3) + 0x1; + } else if (length == 1) { + u8 byte2 = *(in++); + u8 byte3 = *(in++); + u8 byte4 = *(in++); + length = (((byte1 & 0x0F) << 12) | (byte2 << 4) | (byte3 >> 4)) + 0x111; + offset = (((byte3 & 0x0F) << 8) | byte4) + 0x1; + } else { + u8 byte2 = *(in++); + length = (byte1 >> 4) + 0x1; + offset = (((byte1 & 0x0F) << 8) | byte2) + 0x1; + } + + for (u32 i = 0; i < length; i++) { + *out = *(out - offset); + ++out; + } + + current_out_size += length; + } else { + *(out++) = *(in++); + current_out_size++; + } + } + return decompressed_size; +} - HLE::Applets::Init(); +static bool LoadSharedFont() { + // TODO (wwylele): load different font archive for region CHN/KOR/TWN + const u64_le shared_font_archive_id_low = 0x0004009b00014002; + const u64_le shared_font_archive_id_high = 0x00000001ffffff00; + std::vector<u8> shared_font_archive_id(16); + std::memcpy(&shared_font_archive_id[0], &shared_font_archive_id_low, sizeof(u64)); + std::memcpy(&shared_font_archive_id[8], &shared_font_archive_id_high, sizeof(u64)); + FileSys::Path archive_path(shared_font_archive_id); + auto archive_result = Service::FS::OpenArchive(Service::FS::ArchiveIdCode::NCCH, archive_path); + if (archive_result.Failed()) + return false; + + std::vector<u8> romfs_path(20, 0); // 20-byte all zero path for opening RomFS + FileSys::Path file_path(romfs_path); + FileSys::Mode open_mode = {}; + open_mode.read_flag.Assign(1); + auto file_result = Service::FS::OpenFileFromArchive(*archive_result, file_path, open_mode); + if (file_result.Failed()) + return false; + + auto romfs = std::move(file_result).Unwrap(); + std::vector<u8> romfs_buffer(romfs->backend->GetSize()); + romfs->backend->Read(0, romfs_buffer.size(), romfs_buffer.data()); + romfs->backend->Close(); + + const u8* font_file = RomFS::GetFilePointer(romfs_buffer.data(), {u"cbf_std.bcfnt.lz"}); + if (font_file == nullptr) + return false; + + struct { + u32_le status; + u32_le region; + u32_le decompressed_size; + INSERT_PADDING_WORDS(0x1D); + } shared_font_header{}; + static_assert(sizeof(shared_font_header) == 0x80, "shared_font_header has incorrect size"); + + shared_font_header.status = 2; // successfully loaded + shared_font_header.region = 1; // region JPN/EUR/USA + shared_font_header.decompressed_size = + DecompressLZ11(font_file, shared_font_mem->GetPointer(0x80)); + std::memcpy(shared_font_mem->GetPointer(), &shared_font_header, sizeof(shared_font_header)); + *shared_font_mem->GetPointer(0x83) = 'U'; // Change the magic from "CFNT" to "CFNU" + + return true; +} - // Load the shared system font (if available). +static bool LoadLegacySharedFont() { + // This is the legacy method to load shared font. // The expected format is a decrypted, uncompressed BCFNT file with the 0x80 byte header // generated by the APT:U service. The best way to get is by dumping it from RAM. We've provided // a homebrew app to do this: https://github.com/citra-emu/3dsutils. Put the resulting file // "shared_font.bin" in the Citra "sysdata" directory. - std::string filepath = FileUtil::GetUserPath(D_SYSDATA_IDX) + SHARED_FONT; FileUtil::CreateFullPath(filepath); // Create path if not already created FileUtil::IOFile file(filepath, "rb"); - if (file.IsOpen()) { - // Create shared font memory object - using Kernel::MemoryPermission; - shared_font_mem = - Kernel::SharedMemory::Create(nullptr, 0x332000, // 3272 KB - MemoryPermission::ReadWrite, MemoryPermission::Read, 0, - Kernel::MemoryRegion::SYSTEM, "APT:SharedFont"); - // Read shared font data file.ReadBytes(shared_font_mem->GetPointer(), file.GetSize()); + return true; + } + + return false; +} + +void Init() { + AddService(new APT_A_Interface); + AddService(new APT_S_Interface); + AddService(new APT_U_Interface); + + HLE::Applets::Init(); + + using Kernel::MemoryPermission; + shared_font_mem = + Kernel::SharedMemory::Create(nullptr, 0x332000, // 3272 KB + MemoryPermission::ReadWrite, MemoryPermission::Read, 0, + Kernel::MemoryRegion::SYSTEM, "APT:SharedFont"); + + if (LoadSharedFont()) { + shared_font_loaded = true; + } else if (LoadLegacySharedFont()) { + LOG_WARNING(Service_APT, "Loaded shared font by legacy method"); + shared_font_loaded = true; } else { - LOG_WARNING(Service_APT, "Unable to load shared font: %s", filepath.c_str()); - shared_font_mem = nullptr; + LOG_WARNING(Service_APT, "Unable to load shared font"); + shared_font_loaded = false; } lock = Kernel::Mutex::Create(false, "APT_U:Lock"); @@ -683,22 +1012,38 @@ void Init() { screen_capture_post_permission = ScreencapPostPermission::CleanThePermission; // TODO(JamePeng): verify the initial value - // TODO(bunnei): Check if these are created in Initialize or on APT process startup. - notification_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "APT_U:Notification"); - parameter_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "APT_U:Start"); + for (size_t slot = 0; slot < applet_slots.size(); ++slot) { + auto& slot_data = applet_slots[slot]; + slot_data.slot = static_cast<AppletSlot>(slot); + slot_data.applet_id = AppletId::None; + slot_data.attributes.raw = 0; + slot_data.registered = false; + slot_data.notification_event = + Kernel::Event::Create(Kernel::ResetType::OneShot, "APT:Notification"); + slot_data.parameter_event = + Kernel::Event::Create(Kernel::ResetType::OneShot, "APT:Parameter"); + } - next_parameter.signal = static_cast<u32>(SignalType::Wakeup); - next_parameter.destination_id = 0x300; + // Initialize the parameter to wake up the application. + next_parameter.emplace(); + next_parameter->signal = static_cast<u32>(SignalType::Wakeup); + next_parameter->destination_id = static_cast<u32>(AppletId::Application); + applet_slots[static_cast<size_t>(AppletSlot::Application)].parameter_event->Signal(); } void Shutdown() { shared_font_mem = nullptr; + shared_font_loaded = false; shared_font_relocated = false; lock = nullptr; - notification_event = nullptr; - parameter_event = nullptr; - next_parameter.object = nullptr; + for (auto& slot : applet_slots) { + slot.registered = false; + slot.notification_event = nullptr; + slot.parameter_event = nullptr; + } + + next_parameter = boost::none; HLE::Applets::Shutdown(); } diff --git a/src/core/hle/service/apt/apt.h b/src/core/hle/service/apt/apt.h index ee80926d2..96b28b438 100644 --- a/src/core/hle/service/apt/apt.h +++ b/src/core/hle/service/apt/apt.h @@ -72,6 +72,8 @@ enum class SignalType : u32 { /// App Id's used by APT functions enum class AppletId : u32 { + None = 0, + AnySystemApplet = 0x100, HomeMenu = 0x101, AlternateMenu = 0x103, Camera = 0x110, @@ -83,6 +85,7 @@ enum class AppletId : u32 { Miiverse = 0x117, MiiversePost = 0x118, AmiiboSettings = 0x119, + AnySysLibraryApplet = 0x200, SoftwareKeyboard1 = 0x201, Ed1 = 0x202, PnoteApp = 0x204, @@ -116,6 +119,13 @@ enum class ScreencapPostPermission : u32 { DisableScreenshotPostingToMiiverse = 3 }; +namespace ErrCodes { +enum { + ParameterPresent = 2, + InvalidAppletSlot = 4, +}; +} // namespace ErrCodes + /// Send a parameter to the currently-running application, which will read it via ReceiveParameter void SendParameter(const MessageParameter& parameter); diff --git a/src/core/hle/service/apt/bcfnt/bcfnt.cpp b/src/core/hle/service/apt/bcfnt/bcfnt.cpp index 57eb39d75..6d2474702 100644 --- a/src/core/hle/service/apt/bcfnt/bcfnt.cpp +++ b/src/core/hle/service/apt/bcfnt/bcfnt.cpp @@ -78,7 +78,8 @@ void RelocateSharedFont(Kernel::SharedPtr<Kernel::SharedMemory> shared_font, VAd memcpy(&cmap, data, sizeof(cmap)); // Relocate the offsets in the CMAP section - cmap.next_cmap_offset += offset; + if (cmap.next_cmap_offset != 0) + cmap.next_cmap_offset += offset; memcpy(data, &cmap, sizeof(cmap)); } else if (memcmp(section_header.magic, "CWDH", 4) == 0) { @@ -86,7 +87,8 @@ void RelocateSharedFont(Kernel::SharedPtr<Kernel::SharedMemory> shared_font, VAd memcpy(&cwdh, data, sizeof(cwdh)); // Relocate the offsets in the CWDH section - cwdh.next_cwdh_offset += offset; + if (cwdh.next_cwdh_offset != 0) + cwdh.next_cwdh_offset += offset; memcpy(data, &cwdh, sizeof(cwdh)); } else if (memcmp(section_header.magic, "TGLP", 4) == 0) { diff --git a/src/core/hle/service/boss/boss_p.cpp b/src/core/hle/service/boss/boss_p.cpp index ee941e228..3990d0d6e 100644 --- a/src/core/hle/service/boss/boss_p.cpp +++ b/src/core/hle/service/boss/boss_p.cpp @@ -66,7 +66,10 @@ const Interface::FunctionInfo FunctionTable[] = { {0x00360084, SetTaskQuery, "SetTaskQuery"}, {0x00370084, GetTaskQuery, "GetTaskQuery"}, // boss:p + {0x04010082, nullptr, "InitializeSessionPrivileged"}, {0x04040080, nullptr, "GetAppNewFlag"}, + {0x040D0182, nullptr, "GetNsDataIdListPrivileged"}, + {0x040E0182, nullptr, "GetNsDataIdListPrivileged1"}, {0x04130082, nullptr, "SendPropertyPrivileged"}, {0x041500C0, nullptr, "DeleteNsDataPrivileged"}, {0x04160142, nullptr, "GetNsDataHeaderInfoPrivileged"}, diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp index 6624f1711..3dbeb27cc 100644 --- a/src/core/hle/service/cfg/cfg.cpp +++ b/src/core/hle/service/cfg/cfg.cpp @@ -681,7 +681,7 @@ void GenerateConsoleUniqueId(u32& random_number, u64& console_id) { CryptoPP::AutoSeededRandomPool rng; random_number = rng.GenerateWord32(0, 0xFFFF); u64_le local_friend_code_seed; - rng.GenerateBlock(reinterpret_cast<byte*>(&local_friend_code_seed), + rng.GenerateBlock(reinterpret_cast<CryptoPP::byte*>(&local_friend_code_seed), sizeof(local_friend_code_seed)); console_id = (local_friend_code_seed & 0x3FFFFFFFF) | (static_cast<u64>(random_number) << 48); } diff --git a/src/core/hle/service/dlp/dlp_clnt.cpp b/src/core/hle/service/dlp/dlp_clnt.cpp index 56f934b3f..6f2bf2061 100644 --- a/src/core/hle/service/dlp/dlp_clnt.cpp +++ b/src/core/hle/service/dlp/dlp_clnt.cpp @@ -8,7 +8,26 @@ namespace Service { namespace DLP { const Interface::FunctionInfo FunctionTable[] = { - {0x000100C3, nullptr, "Initialize"}, {0x00110000, nullptr, "GetWirelessRebootPassphrase"}, + {0x000100C3, nullptr, "Initialize"}, + {0x00020000, nullptr, "Finalize"}, + {0x00030000, nullptr, "GetEventDesc"}, + {0x00040000, nullptr, "GetChannel"}, + {0x00050180, nullptr, "StartScan"}, + {0x00060000, nullptr, "StopScan"}, + {0x00070080, nullptr, "GetServerInfo"}, + {0x00080100, nullptr, "GetTitleInfo"}, + {0x00090040, nullptr, "GetTitleInfoInOrder"}, + {0x000A0080, nullptr, "DeleteScanInfo"}, + {0x000B0100, nullptr, "PrepareForSystemDownload"}, + {0x000C0000, nullptr, "StartSystemDownload"}, + {0x000D0100, nullptr, "StartTitleDownload"}, + {0x000E0000, nullptr, "GetMyStatus"}, + {0x000F0040, nullptr, "GetConnectingNodes"}, + {0x00100040, nullptr, "GetNodeInfo"}, + {0x00110000, nullptr, "GetWirelessRebootPassphrase"}, + {0x00120000, nullptr, "StopSession"}, + {0x00130100, nullptr, "GetCupVersion"}, + {0x00140100, nullptr, "GetDupAvailability"}, }; DLP_CLNT_Interface::DLP_CLNT_Interface() { diff --git a/src/core/hle/service/dlp/dlp_fkcl.cpp b/src/core/hle/service/dlp/dlp_fkcl.cpp index 29b9d52e0..fe6be7d32 100644 --- a/src/core/hle/service/dlp/dlp_fkcl.cpp +++ b/src/core/hle/service/dlp/dlp_fkcl.cpp @@ -8,7 +8,23 @@ namespace Service { namespace DLP { const Interface::FunctionInfo FunctionTable[] = { - {0x00010083, nullptr, "Initialize"}, {0x000F0000, nullptr, "GetWirelessRebootPassphrase"}, + {0x00010083, nullptr, "Initialize"}, + {0x00020000, nullptr, "Finalize"}, + {0x00030000, nullptr, "GetEventDesc"}, + {0x00040000, nullptr, "GetChannels"}, + {0x00050180, nullptr, "StartScan"}, + {0x00060000, nullptr, "StopScan"}, + {0x00070080, nullptr, "GetServerInfo"}, + {0x00080100, nullptr, "GetTitleInfo"}, + {0x00090040, nullptr, "GetTitleInfoInOrder"}, + {0x000A0080, nullptr, "DeleteScanInfo"}, + {0x000B0100, nullptr, "StartFakeSession"}, + {0x000C0000, nullptr, "GetMyStatus"}, + {0x000D0040, nullptr, "GetConnectingNodes"}, + {0x000E0040, nullptr, "GetNodeInfo"}, + {0x000F0000, nullptr, "GetWirelessRebootPassphrase"}, + {0x00100000, nullptr, "StopSession"}, + {0x00110203, nullptr, "Initialize2"}, }; DLP_FKCL_Interface::DLP_FKCL_Interface() { diff --git a/src/core/hle/service/dlp/dlp_srvr.cpp b/src/core/hle/service/dlp/dlp_srvr.cpp index 32cfa2c44..1bcea43d3 100644 --- a/src/core/hle/service/dlp/dlp_srvr.cpp +++ b/src/core/hle/service/dlp/dlp_srvr.cpp @@ -11,7 +11,7 @@ namespace Service { namespace DLP { -static void unk_0x000E0040(Interface* self) { +static void IsChild(Interface* self) { u32* cmd_buff = Kernel::GetCommandBuffer(); cmd_buff[1] = RESULT_SUCCESS.raw; @@ -24,14 +24,19 @@ const Interface::FunctionInfo FunctionTable[] = { {0x00010183, nullptr, "Initialize"}, {0x00020000, nullptr, "Finalize"}, {0x00030000, nullptr, "GetServerState"}, + {0x00040000, nullptr, "GetEventDescription"}, {0x00050080, nullptr, "StartAccepting"}, + {0x00060000, nullptr, "EndAccepting"}, {0x00070000, nullptr, "StartDistribution"}, {0x000800C0, nullptr, "SendWirelessRebootPassphrase"}, {0x00090040, nullptr, "AcceptClient"}, + {0x000A0040, nullptr, "DisconnectClient"}, {0x000B0042, nullptr, "GetConnectingClients"}, {0x000C0040, nullptr, "GetClientInfo"}, {0x000D0040, nullptr, "GetClientState"}, - {0x000E0040, unk_0x000E0040, "unk_0x000E0040"}, + {0x000E0040, IsChild, "IsChild"}, + {0x000F0303, nullptr, "InitializeWithName"}, + {0x00100000, nullptr, "GetDupNoticeNeed"}, }; DLP_SRVR_Interface::DLP_SRVR_Interface() { diff --git a/src/core/hle/service/dsp_dsp.cpp b/src/core/hle/service/dsp_dsp.cpp index 7d746054f..42f8950f9 100644 --- a/src/core/hle/service/dsp_dsp.cpp +++ b/src/core/hle/service/dsp_dsp.cpp @@ -147,9 +147,10 @@ static void LoadComponent(Service::Interface* self) { LOG_INFO(Service_DSP, "Firmware hash: %#" PRIx64, Common::ComputeHash64(component_data.data(), component_data.size())); // Some versions of the firmware have the location of DSP structures listed here. - ASSERT(size > 0x37C); - LOG_INFO(Service_DSP, "Structures hash: %#" PRIx64, - Common::ComputeHash64(component_data.data() + 0x340, 60)); + if (size > 0x37C) { + LOG_INFO(Service_DSP, "Structures hash: %#" PRIx64, + Common::ComputeHash64(component_data.data() + 0x340, 60)); + } LOG_WARNING(Service_DSP, "(STUBBED) called size=0x%X, prog_mask=0x%08X, data_mask=0x%08X, buffer=0x%08X", diff --git a/src/core/hle/service/frd/frd.cpp b/src/core/hle/service/frd/frd.cpp index 76ecda8b7..7ad7798da 100644 --- a/src/core/hle/service/frd/frd.cpp +++ b/src/core/hle/service/frd/frd.cpp @@ -6,6 +6,7 @@ #include "common/logging/log.h" #include "common/string_util.h" #include "core/hle/ipc.h" +#include "core/hle/ipc_helpers.h" #include "core/hle/result.h" #include "core/hle/service/frd/frd.h" #include "core/hle/service/frd/frd_a.h" @@ -105,6 +106,48 @@ void GetMyScreenName(Service::Interface* self) { LOG_WARNING(Service_FRD, "(STUBBED) called"); } +void UnscrambleLocalFriendCode(Service::Interface* self) { + const size_t scrambled_friend_code_size = 12; + const size_t friend_code_size = 8; + + IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x1C, 1, 2); + const u32 friend_code_count = rp.Pop<u32>(); + size_t in_buffer_size; + const VAddr scrambled_friend_codes = rp.PopStaticBuffer(&in_buffer_size, false); + ASSERT_MSG(in_buffer_size == (friend_code_count * scrambled_friend_code_size), + "Wrong input buffer size"); + + size_t out_buffer_size; + VAddr unscrambled_friend_codes = rp.PeekStaticBuffer(0, &out_buffer_size); + ASSERT_MSG(out_buffer_size == (friend_code_count * friend_code_size), + "Wrong output buffer size"); + + for (u32 current = 0; current < friend_code_count; ++current) { + // TODO(B3N30): Unscramble the codes and compare them against the friend list + // Only write 0 if the code isn't in friend list, otherwise write the + // unscrambled one + // + // Code for unscrambling (should be compared to HW): + // std::array<u16, 6> scambled_friend_code; + // Memory::ReadBlock(scrambled_friend_codes+(current*scrambled_friend_code_size), + // scambled_friend_code.data(), scrambled_friend_code_size); std::array<u16, 4> + // unscrambled_friend_code; unscrambled_friend_code[0] = scambled_friend_code[0] ^ + // scambled_friend_code[5]; unscrambled_friend_code[1] = scambled_friend_code[1] ^ + // scambled_friend_code[5]; unscrambled_friend_code[2] = scambled_friend_code[2] ^ + // scambled_friend_code[5]; unscrambled_friend_code[3] = scambled_friend_code[3] ^ + // scambled_friend_code[5]; + + u64 result = 0ull; + Memory::WriteBlock(unscrambled_friend_codes + (current * sizeof(result)), &result, + sizeof(result)); + } + + LOG_WARNING(Service_FRD, "(STUBBED) called"); + IPC::RequestBuilder rb = rp.MakeBuilder(1, 2); + rb.Push(RESULT_SUCCESS); + rb.PushStaticBuffer(unscrambled_friend_codes, out_buffer_size, 0); +} + void SetClientSdkVersion(Service::Interface* self) { u32* cmd_buff = Kernel::GetCommandBuffer(); diff --git a/src/core/hle/service/frd/frd.h b/src/core/hle/service/frd/frd.h index e61940ea0..66a87c8cd 100644 --- a/src/core/hle/service/frd/frd.h +++ b/src/core/hle/service/frd/frd.h @@ -96,6 +96,19 @@ void GetMyFriendKey(Service::Interface* self); void GetMyScreenName(Service::Interface* self); /** + * FRD::UnscrambleLocalFriendCode service function + * Inputs: + * 1 : Friend code count + * 2 : ((count * 12) << 14) | 0x402 + * 3 : Pointer to encoded friend codes. Each is 12 bytes large + * 64 : ((count * 8) << 14) | 2 + * 65 : Pointer to write decoded local friend codes to. Each is 8 bytes large. + * Outputs: + * 1 : Result of function, 0 on success, otherwise error code + */ +void UnscrambleLocalFriendCode(Service::Interface* self); + +/** * FRD::SetClientSdkVersion service function * Inputs: * 1 : Used SDK Version diff --git a/src/core/hle/service/frd/frd_u.cpp b/src/core/hle/service/frd/frd_u.cpp index 496f29ca9..6970ff768 100644 --- a/src/core/hle/service/frd/frd_u.cpp +++ b/src/core/hle/service/frd/frd_u.cpp @@ -36,7 +36,7 @@ const Interface::FunctionInfo FunctionTable[] = { {0x00190042, nullptr, "GetFriendFavoriteGame"}, {0x001A00C4, nullptr, "GetFriendInfo"}, {0x001B0080, nullptr, "IsIncludedInFriendList"}, - {0x001C0042, nullptr, "UnscrambleLocalFriendCode"}, + {0x001C0042, UnscrambleLocalFriendCode, "UnscrambleLocalFriendCode"}, {0x001D0002, nullptr, "UpdateGameModeDescription"}, {0x001E02C2, nullptr, "UpdateGameMode"}, {0x001F0042, nullptr, "SendInvitation"}, diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp index bc964ec60..88684b82d 100644 --- a/src/core/hle/service/gsp_gpu.cpp +++ b/src/core/hle/service/gsp_gpu.cpp @@ -475,12 +475,11 @@ static void ExecuteCommand(const Command& command, u32 thread_id) { // TODO: Consider attempting rasterizer-accelerated surface blit if that usage is ever // possible/likely - Memory::RasterizerFlushRegion( - Memory::VirtualToPhysicalAddress(command.dma_request.source_address), - command.dma_request.size); - Memory::RasterizerFlushAndInvalidateRegion( - Memory::VirtualToPhysicalAddress(command.dma_request.dest_address), - command.dma_request.size); + Memory::RasterizerFlushVirtualRegion(command.dma_request.source_address, + command.dma_request.size, Memory::FlushMode::Flush); + Memory::RasterizerFlushVirtualRegion(command.dma_request.dest_address, + command.dma_request.size, + Memory::FlushMode::FlushAndInvalidate); // TODO(Subv): These memory accesses should not go through the application's memory mapping. // They should go through the GSP module's memory mapping. diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 2014b8461..aa5d821f9 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -7,8 +7,9 @@ #include <cmath> #include <memory> #include "common/logging/log.h" +#include "core/3ds.h" +#include "core/core.h" #include "core/core_timing.h" -#include "core/frontend/emu_window.h" #include "core/frontend/input.h" #include "core/hle/ipc.h" #include "core/hle/kernel/event.h" @@ -18,7 +19,6 @@ #include "core/hle/service/hid/hid_spvr.h" #include "core/hle/service/hid/hid_user.h" #include "core/hle/service/service.h" -#include "video_core/video_core.h" namespace Service { namespace HID { @@ -50,10 +50,15 @@ constexpr u64 pad_update_ticks = BASE_CLOCK_RATE_ARM11 / 234; constexpr u64 accelerometer_update_ticks = BASE_CLOCK_RATE_ARM11 / 104; constexpr u64 gyroscope_update_ticks = BASE_CLOCK_RATE_ARM11 / 101; +constexpr float accelerometer_coef = 512.0f; // measured from hw test result +constexpr float gyroscope_coef = 14.375f; // got from hwtest GetGyroscopeLowRawToDpsCoefficient call + static std::atomic<bool> is_device_reload_pending; static std::array<std::unique_ptr<Input::ButtonDevice>, Settings::NativeButton::NUM_BUTTONS_HID> buttons; static std::unique_ptr<Input::AnalogDevice> circle_pad; +static std::unique_ptr<Input::MotionDevice> motion_device; +static std::unique_ptr<Input::TouchDevice> touch_device; DirectionState GetStickDirectionState(s16 circle_pad_x, s16 circle_pad_y) { // 30 degree and 60 degree are angular thresholds for directions @@ -90,6 +95,8 @@ static void LoadInputDevices() { buttons.begin(), Input::CreateDevice<Input::ButtonDevice>); circle_pad = Input::CreateDevice<Input::AnalogDevice>( Settings::values.analogs[Settings::NativeAnalog::CirclePad]); + motion_device = Input::CreateDevice<Input::MotionDevice>(Settings::values.motion_device); + touch_device = Input::CreateDevice<Input::TouchDevice>(Settings::values.touch_device); } static void UnloadInputDevices() { @@ -97,6 +104,8 @@ static void UnloadInputDevices() { button.reset(); } circle_pad.reset(); + motion_device.reset(); + touch_device.reset(); } static void UpdatePadCallback(u64 userdata, int cycles_late) { @@ -165,8 +174,10 @@ static void UpdatePadCallback(u64 userdata, int cycles_late) { // Get the current touch entry TouchDataEntry& touch_entry = mem->touch.entries[mem->touch.index]; bool pressed = false; - - std::tie(touch_entry.x, touch_entry.y, pressed) = VideoCore::g_emu_window->GetTouchState(); + float x, y; + std::tie(x, y, pressed) = touch_device->GetStatus(); + touch_entry.x = static_cast<u16>(x * Core::kScreenBottomWidth); + touch_entry.y = static_cast<u16>(y * Core::kScreenBottomHeight); touch_entry.valid.Assign(pressed ? 1 : 0); // TODO(bunnei): We're not doing anything with offset 0xA8 + 0x18 of HID SharedMemory, which @@ -193,10 +204,19 @@ static void UpdateAccelerometerCallback(u64 userdata, int cycles_late) { mem->accelerometer.index = next_accelerometer_index; next_accelerometer_index = (next_accelerometer_index + 1) % mem->accelerometer.entries.size(); + Math::Vec3<float> accel; + std::tie(accel, std::ignore) = motion_device->GetStatus(); + accel *= accelerometer_coef; + // TODO(wwylele): do a time stretch like the one in UpdateGyroscopeCallback + // The time stretch formula should be like + // stretched_vector = (raw_vector - gravity) * stretch_ratio + gravity + AccelerometerDataEntry& accelerometer_entry = mem->accelerometer.entries[mem->accelerometer.index]; - std::tie(accelerometer_entry.x, accelerometer_entry.y, accelerometer_entry.z) = - VideoCore::g_emu_window->GetAccelerometerState(); + + accelerometer_entry.x = static_cast<s16>(accel.x); + accelerometer_entry.y = static_cast<s16>(accel.y); + accelerometer_entry.z = static_cast<s16>(accel.z); // Make up "raw" entry // TODO(wwylele): @@ -227,8 +247,14 @@ static void UpdateGyroscopeCallback(u64 userdata, int cycles_late) { next_gyroscope_index = (next_gyroscope_index + 1) % mem->gyroscope.entries.size(); GyroscopeDataEntry& gyroscope_entry = mem->gyroscope.entries[mem->gyroscope.index]; - std::tie(gyroscope_entry.x, gyroscope_entry.y, gyroscope_entry.z) = - VideoCore::g_emu_window->GetGyroscopeState(); + + Math::Vec3<float> gyro; + std::tie(std::ignore, gyro) = motion_device->GetStatus(); + double stretch = Core::System::GetInstance().perf_stats.GetLastFrameTimeScale(); + gyro *= gyroscope_coef * stretch; + gyroscope_entry.x = static_cast<s16>(gyro.x); + gyroscope_entry.y = static_cast<s16>(gyro.y); + gyroscope_entry.z = static_cast<s16>(gyro.z); // Make up "raw" entry mem->gyroscope.raw_entry.x = gyroscope_entry.x; @@ -326,7 +352,7 @@ void GetGyroscopeLowRawToDpsCoefficient(Service::Interface* self) { cmd_buff[1] = RESULT_SUCCESS.raw; - f32 coef = VideoCore::g_emu_window->GetGyroscopeRawToDpsCoefficient(); + f32 coef = gyroscope_coef; memcpy(&cmd_buff[2], &coef, 4); } diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index 1ef972e70..ef25926b5 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -24,7 +24,7 @@ namespace HID { */ struct PadState { union { - u32 hex; + u32 hex{}; BitField<0, 1, u32> a; BitField<1, 1, u32> b; diff --git a/src/core/hle/service/ir/ir_rst.cpp b/src/core/hle/service/ir/ir_rst.cpp index 837413f93..0912d5756 100644 --- a/src/core/hle/service/ir/ir_rst.cpp +++ b/src/core/hle/service/ir/ir_rst.cpp @@ -18,7 +18,7 @@ namespace Service { namespace IR { union PadState { - u32_le hex; + u32_le hex{}; BitField<14, 1, u32_le> zl; BitField<15, 1, u32_le> zr; diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp index e73971d5f..57172ddd6 100644 --- a/src/core/hle/service/y2r_u.cpp +++ b/src/core/hle/service/y2r_u.cpp @@ -587,8 +587,8 @@ static void StartConversion(Interface* self) { // dst_image_size would seem to be perfect for this, but it doesn't include the gap :( u32 total_output_size = conversion.input_lines * (conversion.dst.transfer_unit + conversion.dst.gap); - Memory::RasterizerFlushAndInvalidateRegion( - Memory::VirtualToPhysicalAddress(conversion.dst.address), total_output_size); + Memory::RasterizerFlushVirtualRegion(conversion.dst.address, total_output_size, + Memory::FlushMode::FlushAndInvalidate); HW::Y2R::PerformConversion(conversion); diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index e4b803046..dfc36748c 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -31,6 +31,7 @@ #include "core/hle/kernel/timer.h" #include "core/hle/kernel/vm_manager.h" #include "core/hle/kernel/wait_object.h" +#include "core/hle/lock.h" #include "core/hle/result.h" #include "core/hle/service/service.h" @@ -1188,7 +1189,7 @@ struct FunctionDef { Func* func; const char* name; }; -} +} // namespace static const FunctionDef SVC_Table[] = { {0x00, nullptr, "Unknown"}, @@ -1332,6 +1333,9 @@ MICROPROFILE_DEFINE(Kernel_SVC, "Kernel", "SVC", MP_RGB(70, 200, 70)); void CallSVC(u32 immediate) { MICROPROFILE_SCOPE(Kernel_SVC); + // Lock the global kernel mutex when we enter the kernel HLE. + std::lock_guard<std::recursive_mutex> lock(HLE::g_hle_lock); + const FunctionDef* info = GetSVCInfo(immediate); if (info) { if (info->func) { @@ -1342,4 +1346,4 @@ void CallSVC(u32 immediate) { } } -} // namespace +} // namespace SVC diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp index 6838e449c..83ad9d898 100644 --- a/src/core/hw/gpu.cpp +++ b/src/core/hw/gpu.cpp @@ -29,7 +29,7 @@ namespace GPU { Regs g_regs; /// 268MHz CPU clocks / 60Hz frames per second -const u64 frame_ticks = BASE_CLOCK_RATE_ARM11 / SCREEN_REFRESH_RATE; +const u64 frame_ticks = static_cast<u64>(BASE_CLOCK_RATE_ARM11 / SCREEN_REFRESH_RATE); /// Event id for CoreTiming static int vblank_event; diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h index 21b127fee..e3d0a0e08 100644 --- a/src/core/hw/gpu.h +++ b/src/core/hw/gpu.h @@ -74,9 +74,9 @@ struct Regs { case PixelFormat::RGB5A1: case PixelFormat::RGBA4: return 2; - default: - UNIMPLEMENTED(); } + + UNREACHABLE(); } INSERT_PADDING_WORDS(0x4); diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index 48bbf687d..e731888a2 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h @@ -166,6 +166,15 @@ public: return ResultStatus::ErrorNotImplemented; } + /** + * Get the title of the application + * @param title Reference to store the application title into + * @return ResultStatus result of function + */ + virtual ResultStatus ReadTitle(std::string& title) { + return ResultStatus::ErrorNotImplemented; + } + protected: FileUtil::IOFile file; bool is_loaded = false; diff --git a/src/core/loader/ncch.cpp b/src/core/loader/ncch.cpp index ffc019560..7aff7f29b 100644 --- a/src/core/loader/ncch.cpp +++ b/src/core/loader/ncch.cpp @@ -4,7 +4,9 @@ #include <algorithm> #include <cinttypes> +#include <codecvt> #include <cstring> +#include <locale> #include <memory> #include "common/logging/log.h" #include "common/string_util.h" @@ -18,6 +20,7 @@ #include "core/loader/ncch.h" #include "core/loader/smdh.h" #include "core/memory.h" +#include "network/network.h" //////////////////////////////////////////////////////////////////////////////////////////////////// // Loader namespace @@ -342,9 +345,18 @@ ResultStatus AppLoader_NCCH::Load() { if (result != ResultStatus::Success) return result; - LOG_INFO(Loader, "Program ID: %016" PRIX64, ncch_header.program_id); + std::string program_id{Common::StringFromFormat("%016" PRIX64, ncch_header.program_id)}; - Core::Telemetry().AddField(Telemetry::FieldType::Session, "ProgramId", ncch_header.program_id); + LOG_INFO(Loader, "Program ID: %s", program_id.c_str()); + + Core::Telemetry().AddField(Telemetry::FieldType::Session, "ProgramId", program_id); + + if (auto room_member = Network::GetRoomMember().lock()) { + Network::GameInfo game_info; + ReadTitle(game_info.name); + game_info.id = ncch_header.program_id; + room_member->SendGameInfo(game_info); + } is_loaded = true; // Set state to loaded @@ -418,4 +430,22 @@ ResultStatus AppLoader_NCCH::ReadRomFS(std::shared_ptr<FileUtil::IOFile>& romfs_ return ResultStatus::ErrorNotUsed; } +ResultStatus AppLoader_NCCH::ReadTitle(std::string& title) { + std::vector<u8> data; + Loader::SMDH smdh; + ReadIcon(data); + + if (!Loader::IsValidSMDH(data)) { + return ResultStatus::ErrorInvalidFormat; + } + + memcpy(&smdh, data.data(), sizeof(Loader::SMDH)); + + const auto& short_title = smdh.GetShortTitle(SMDH::TitleLanguage::English); + auto title_end = std::find(short_title.begin(), short_title.end(), u'\0'); + title = Common::UTF16ToUTF8(std::u16string{short_title.begin(), title_end}); + + return ResultStatus::Success; +} + } // namespace Loader diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h index 0ebd47fd5..e40cef764 100644 --- a/src/core/loader/ncch.h +++ b/src/core/loader/ncch.h @@ -191,23 +191,13 @@ public: ResultStatus ReadLogo(std::vector<u8>& buffer) override; - /** - * Get the program id of the application - * @param out_program_id Reference to store program id into - * @return ResultStatus result of function - */ ResultStatus ReadProgramId(u64& out_program_id) override; - /** - * Get the RomFS of the application - * @param romfs_file Reference to buffer to store data - * @param offset Offset in the file to the RomFS - * @param size Size of the RomFS in bytes - * @return ResultStatus result of function - */ ResultStatus ReadRomFS(std::shared_ptr<FileUtil::IOFile>& romfs_file, u64& offset, u64& size) override; + ResultStatus ReadTitle(std::string& title) override; + private: /** * Reads an application ExeFS section of an NCCH file into AppLoader (e.g. .code, .logo, etc.) diff --git a/src/core/memory.cpp b/src/core/memory.cpp index b8438e490..097bc5b47 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -9,6 +9,7 @@ #include "common/logging/log.h" #include "common/swap.h" #include "core/hle/kernel/process.h" +#include "core/hle/lock.h" #include "core/memory.h" #include "core/memory_setup.h" #include "core/mmio.h" @@ -83,19 +84,13 @@ static void MapPages(u32 base, u32 size, u8* memory, PageType type) { LOG_DEBUG(HW_Memory, "Mapping %p onto %08X-%08X", memory, base * PAGE_SIZE, (base + size) * PAGE_SIZE); - u32 end = base + size; + RasterizerFlushVirtualRegion(base << PAGE_BITS, size * PAGE_SIZE, + FlushMode::FlushAndInvalidate); + u32 end = base + size; while (base != end) { ASSERT_MSG(base < PAGE_TABLE_NUM_ENTRIES, "out of range mapping at %08X", base); - // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be - // null here - if (current_page_table->attributes[base] == PageType::RasterizerCachedMemory || - current_page_table->attributes[base] == PageType::RasterizerCachedSpecial) { - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(base << PAGE_BITS), - PAGE_SIZE); - } - current_page_table->attributes[base] = type; current_page_table->pointers[base] = memory; current_page_table->cached_res_count[base] = 0; @@ -139,7 +134,12 @@ void UnmapRegion(VAddr base, u32 size) { static u8* GetPointerFromVMA(VAddr vaddr) { u8* direct_pointer = nullptr; - auto& vma = Kernel::g_current_process->vm_manager.FindVMA(vaddr)->second; + auto& vm_manager = Kernel::g_current_process->vm_manager; + + auto it = vm_manager.FindVMA(vaddr); + ASSERT(it != vm_manager.vma_map.end()); + + auto& vma = it->second; switch (vma.type) { case Kernel::VMAType::AllocatedMemoryBlock: direct_pointer = vma.backing_block->data() + vma.offset; @@ -147,6 +147,8 @@ static u8* GetPointerFromVMA(VAddr vaddr) { case Kernel::VMAType::BackingMemory: direct_pointer = vma.backing_memory; break; + case Kernel::VMAType::Free: + return nullptr; default: UNREACHABLE(); } @@ -180,6 +182,9 @@ T Read(const VAddr vaddr) { return value; } + // The memory access might do an MMIO or cached access, so we have to lock the HLE kernel state + std::lock_guard<std::recursive_mutex> lock(HLE::g_hle_lock); + PageType type = current_page_table->attributes[vaddr >> PAGE_BITS]; switch (type) { case PageType::Unmapped: @@ -189,7 +194,7 @@ T Read(const VAddr vaddr) { ASSERT_MSG(false, "Mapped memory page without a pointer @ %08X", vaddr); break; case PageType::RasterizerCachedMemory: { - RasterizerFlushRegion(VirtualToPhysicalAddress(vaddr), sizeof(T)); + RasterizerFlushVirtualRegion(vaddr, sizeof(T), FlushMode::Flush); T value; std::memcpy(&value, GetPointerFromVMA(vaddr), sizeof(T)); @@ -198,8 +203,7 @@ T Read(const VAddr vaddr) { case PageType::Special: return ReadMMIO<T>(GetMMIOHandler(vaddr), vaddr); case PageType::RasterizerCachedSpecial: { - RasterizerFlushRegion(VirtualToPhysicalAddress(vaddr), sizeof(T)); - + RasterizerFlushVirtualRegion(vaddr, sizeof(T), FlushMode::Flush); return ReadMMIO<T>(GetMMIOHandler(vaddr), vaddr); } default: @@ -219,6 +223,9 @@ void Write(const VAddr vaddr, const T data) { return; } + // The memory access might do an MMIO or cached access, so we have to lock the HLE kernel state + std::lock_guard<std::recursive_mutex> lock(HLE::g_hle_lock); + PageType type = current_page_table->attributes[vaddr >> PAGE_BITS]; switch (type) { case PageType::Unmapped: @@ -229,8 +236,7 @@ void Write(const VAddr vaddr, const T data) { ASSERT_MSG(false, "Mapped memory page without a pointer @ %08X", vaddr); break; case PageType::RasterizerCachedMemory: { - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(vaddr), sizeof(T)); - + RasterizerFlushVirtualRegion(vaddr, sizeof(T), FlushMode::FlushAndInvalidate); std::memcpy(GetPointerFromVMA(vaddr), &data, sizeof(T)); break; } @@ -238,8 +244,7 @@ void Write(const VAddr vaddr, const T data) { WriteMMIO<T>(GetMMIOHandler(vaddr), vaddr, data); break; case PageType::RasterizerCachedSpecial: { - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(vaddr), sizeof(T)); - + RasterizerFlushVirtualRegion(vaddr, sizeof(T), FlushMode::FlushAndInvalidate); WriteMMIO<T>(GetMMIOHandler(vaddr), vaddr, data); break; } @@ -268,7 +273,8 @@ bool IsValidVirtualAddress(const VAddr vaddr) { } bool IsValidPhysicalAddress(const PAddr paddr) { - return IsValidVirtualAddress(PhysicalToVirtualAddress(paddr)); + boost::optional<VAddr> vaddr = PhysicalToVirtualAddress(paddr); + return vaddr && IsValidVirtualAddress(*vaddr); } u8* GetPointer(const VAddr vaddr) { @@ -301,7 +307,8 @@ std::string ReadCString(VAddr vaddr, std::size_t max_length) { u8* GetPhysicalPointer(PAddr address) { // TODO(Subv): This call should not go through the application's memory mapping. - return GetPointer(PhysicalToVirtualAddress(address)); + boost::optional<VAddr> vaddr = PhysicalToVirtualAddress(address); + return vaddr ? GetPointer(*vaddr) : nullptr; } void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) { @@ -312,8 +319,12 @@ void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) { u32 num_pages = ((start + size - 1) >> PAGE_BITS) - (start >> PAGE_BITS) + 1; PAddr paddr = start; - for (unsigned i = 0; i < num_pages; ++i) { - VAddr vaddr = PhysicalToVirtualAddress(paddr); + for (unsigned i = 0; i < num_pages; ++i, paddr += PAGE_SIZE) { + boost::optional<VAddr> maybe_vaddr = PhysicalToVirtualAddress(paddr); + if (!maybe_vaddr) + continue; + VAddr vaddr = *maybe_vaddr; + u8& res_count = current_page_table->cached_res_count[vaddr >> PAGE_BITS]; ASSERT_MSG(count_delta <= UINT8_MAX - res_count, "Rasterizer resource cache counter overflow!"); @@ -341,11 +352,19 @@ void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) { if (res_count == 0) { PageType& page_type = current_page_table->attributes[vaddr >> PAGE_BITS]; switch (page_type) { - case PageType::RasterizerCachedMemory: - page_type = PageType::Memory; - current_page_table->pointers[vaddr >> PAGE_BITS] = - GetPointerFromVMA(vaddr & ~PAGE_MASK); + case PageType::RasterizerCachedMemory: { + u8* pointer = GetPointerFromVMA(vaddr & ~PAGE_MASK); + if (pointer == nullptr) { + // It's possible that this function has called been while updating the pagetable + // after unmapping a VMA. In that case the underlying VMA will no longer exist, + // and we should just leave the pagetable entry blank. + page_type = PageType::Unmapped; + } else { + page_type = PageType::Memory; + current_page_table->pointers[vaddr >> PAGE_BITS] = pointer; + } break; + } case PageType::RasterizerCachedSpecial: page_type = PageType::Special; break; @@ -353,7 +372,6 @@ void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) { UNREACHABLE(); } } - paddr += PAGE_SIZE; } } @@ -364,11 +382,48 @@ void RasterizerFlushRegion(PAddr start, u32 size) { } void RasterizerFlushAndInvalidateRegion(PAddr start, u32 size) { + // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be + // null here if (VideoCore::g_renderer != nullptr) { VideoCore::g_renderer->Rasterizer()->FlushAndInvalidateRegion(start, size); } } +void RasterizerFlushVirtualRegion(VAddr start, u32 size, FlushMode mode) { + // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be + // null here + if (VideoCore::g_renderer != nullptr) { + VAddr end = start + size; + + auto CheckRegion = [&](VAddr region_start, VAddr region_end) { + if (start >= region_end || end <= region_start) { + // No overlap with region + return; + } + + VAddr overlap_start = std::max(start, region_start); + VAddr overlap_end = std::min(end, region_end); + + PAddr physical_start = TryVirtualToPhysicalAddress(overlap_start).value(); + u32 overlap_size = overlap_end - overlap_start; + + auto* rasterizer = VideoCore::g_renderer->Rasterizer(); + switch (mode) { + case FlushMode::Flush: + rasterizer->FlushRegion(physical_start, overlap_size); + break; + case FlushMode::FlushAndInvalidate: + rasterizer->FlushAndInvalidateRegion(physical_start, overlap_size); + break; + } + }; + + CheckRegion(LINEAR_HEAP_VADDR, LINEAR_HEAP_VADDR_END); + CheckRegion(NEW_LINEAR_HEAP_VADDR, NEW_LINEAR_HEAP_VADDR_END); + CheckRegion(VRAM_VADDR, VRAM_VADDR_END); + } +} + u8 Read8(const VAddr addr) { return Read<u8>(addr); } @@ -415,16 +470,13 @@ void ReadBlock(const VAddr src_addr, void* dest_buffer, const size_t size) { break; } case PageType::RasterizerCachedMemory: { - RasterizerFlushRegion(VirtualToPhysicalAddress(current_vaddr), copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::Flush); std::memcpy(dest_buffer, GetPointerFromVMA(current_vaddr), copy_amount); break; } case PageType::RasterizerCachedSpecial: { DEBUG_ASSERT(GetMMIOHandler(current_vaddr)); - - RasterizerFlushRegion(VirtualToPhysicalAddress(current_vaddr), copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::Flush); GetMMIOHandler(current_vaddr)->ReadBlock(current_vaddr, dest_buffer, copy_amount); break; } @@ -485,18 +537,13 @@ void WriteBlock(const VAddr dest_addr, const void* src_buffer, const size_t size break; } case PageType::RasterizerCachedMemory: { - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(current_vaddr), - copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::FlushAndInvalidate); std::memcpy(GetPointerFromVMA(current_vaddr), src_buffer, copy_amount); break; } case PageType::RasterizerCachedSpecial: { DEBUG_ASSERT(GetMMIOHandler(current_vaddr)); - - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(current_vaddr), - copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::FlushAndInvalidate); GetMMIOHandler(current_vaddr)->WriteBlock(current_vaddr, src_buffer, copy_amount); break; } @@ -542,18 +589,13 @@ void ZeroBlock(const VAddr dest_addr, const size_t size) { break; } case PageType::RasterizerCachedMemory: { - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(current_vaddr), - copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::FlushAndInvalidate); std::memset(GetPointerFromVMA(current_vaddr), 0, copy_amount); break; } case PageType::RasterizerCachedSpecial: { DEBUG_ASSERT(GetMMIOHandler(current_vaddr)); - - RasterizerFlushAndInvalidateRegion(VirtualToPhysicalAddress(current_vaddr), - copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::FlushAndInvalidate); GetMMIOHandler(current_vaddr)->WriteBlock(current_vaddr, zeros.data(), copy_amount); break; } @@ -598,15 +640,13 @@ void CopyBlock(VAddr dest_addr, VAddr src_addr, const size_t size) { break; } case PageType::RasterizerCachedMemory: { - RasterizerFlushRegion(VirtualToPhysicalAddress(current_vaddr), copy_amount); - + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::Flush); WriteBlock(dest_addr, GetPointerFromVMA(current_vaddr), copy_amount); break; } case PageType::RasterizerCachedSpecial: { DEBUG_ASSERT(GetMMIOHandler(current_vaddr)); - - RasterizerFlushRegion(VirtualToPhysicalAddress(current_vaddr), copy_amount); + RasterizerFlushVirtualRegion(current_vaddr, copy_amount, FlushMode::Flush); std::vector<u8> buffer(copy_amount); GetMMIOHandler(current_vaddr)->ReadBlock(current_vaddr, buffer.data(), buffer.size()); @@ -665,7 +705,7 @@ void WriteMMIO<u64>(MMIORegionPointer mmio_handler, VAddr addr, const u64 data) mmio_handler->Write64(addr, data); } -PAddr VirtualToPhysicalAddress(const VAddr addr) { +boost::optional<PAddr> TryVirtualToPhysicalAddress(const VAddr addr) { if (addr == 0) { return 0; } else if (addr >= VRAM_VADDR && addr < VRAM_VADDR_END) { @@ -682,12 +722,20 @@ PAddr VirtualToPhysicalAddress(const VAddr addr) { return addr - N3DS_EXTRA_RAM_VADDR + N3DS_EXTRA_RAM_PADDR; } - LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%08X", addr); - // To help with debugging, set bit on address so that it's obviously invalid. - return addr | 0x80000000; + return boost::none; +} + +PAddr VirtualToPhysicalAddress(const VAddr addr) { + auto paddr = TryVirtualToPhysicalAddress(addr); + if (!paddr) { + LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%08X", addr); + // To help with debugging, set bit on address so that it's obviously invalid. + return addr | 0x80000000; + } + return *paddr; } -VAddr PhysicalToVirtualAddress(const PAddr addr) { +boost::optional<VAddr> PhysicalToVirtualAddress(const PAddr addr) { if (addr == 0) { return 0; } else if (addr >= VRAM_PADDR && addr < VRAM_PADDR_END) { @@ -702,9 +750,7 @@ VAddr PhysicalToVirtualAddress(const PAddr addr) { return addr - N3DS_EXTRA_RAM_PADDR + N3DS_EXTRA_RAM_VADDR; } - LOG_ERROR(HW_Memory, "Unknown physical address @ 0x%08X", addr); - // To help with debugging, set bit on address so that it's obviously invalid. - return addr | 0x80000000; + return boost::none; } -} // namespace +} // namespace Memory diff --git a/src/core/memory.h b/src/core/memory.h index 71fb278ad..c8c56babd 100644 --- a/src/core/memory.h +++ b/src/core/memory.h @@ -7,6 +7,7 @@ #include <array> #include <cstddef> #include <string> +#include <boost/optional.hpp> #include "common/common_types.h" namespace Memory { @@ -148,15 +149,23 @@ u8* GetPointer(VAddr virtual_address); std::string ReadCString(VAddr virtual_address, std::size_t max_length); /** -* Converts a virtual address inside a region with 1:1 mapping to physical memory to a physical -* address. This should be used by services to translate addresses for use by the hardware. -*/ + * Converts a virtual address inside a region with 1:1 mapping to physical memory to a physical + * address. This should be used by services to translate addresses for use by the hardware. + */ +boost::optional<PAddr> TryVirtualToPhysicalAddress(VAddr addr); + +/** + * Converts a virtual address inside a region with 1:1 mapping to physical memory to a physical + * address. This should be used by services to translate addresses for use by the hardware. + * + * @deprecated Use TryVirtualToPhysicalAddress(), which reports failure. + */ PAddr VirtualToPhysicalAddress(VAddr addr); /** -* Undoes a mapping performed by VirtualToPhysicalAddress(). -*/ -VAddr PhysicalToVirtualAddress(PAddr addr); + * Undoes a mapping performed by VirtualToPhysicalAddress(). + */ +boost::optional<VAddr> PhysicalToVirtualAddress(PAddr addr); /** * Gets a pointer to the memory region beginning at the specified physical address. @@ -181,6 +190,19 @@ void RasterizerFlushRegion(PAddr start, u32 size); */ void RasterizerFlushAndInvalidateRegion(PAddr start, u32 size); +enum class FlushMode { + /// Write back modified surfaces to RAM + Flush, + /// Write back modified surfaces to RAM, and also remove them from the cache + FlushAndInvalidate, +}; + +/** + * Flushes and invalidates any externally cached rasterizer resources touching the given virtual + * address region. + */ +void RasterizerFlushVirtualRegion(VAddr start, u32 size, FlushMode mode); + /** * Dynarmic has an optimization to memory accesses when the pointer to the page exists that * can be used by setting up the current page table as a callback. This function is used to diff --git a/src/core/settings.cpp b/src/core/settings.cpp index d4f0429d1..efcf1267d 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -36,4 +36,4 @@ void Apply() { Service::IR::ReloadInputDevices(); } -} // namespace +} // namespace Settings diff --git a/src/core/settings.h b/src/core/settings.h index 03c64c94c..024f14666 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -15,6 +15,7 @@ enum class LayoutOption { Default, SingleScreen, LargeScreen, + SideScreen, }; namespace NativeButton { @@ -70,7 +71,7 @@ enum Values { static const std::array<const char*, NumAnalogs> mapping = {{ "circle_pad", "c_stick", }}; -} // namespace NumAnalog +} // namespace NativeAnalog struct Values { // CheckNew3DS @@ -79,6 +80,8 @@ struct Values { // Controls std::array<std::string, NativeButton::NumButtons> buttons; std::array<std::string, NativeAnalog::NumAnalogs> analogs; + std::string motion_device; + std::string touch_device; // Core bool use_cpu_jit; @@ -126,6 +129,12 @@ struct Values { // Debugging bool use_gdbstub; u16 gdbstub_port; + + // WebService + bool enable_telemetry; + std::string telemetry_endpoint_url; + std::string citra_username; + std::string citra_token; } extern values; // a special value for Values::region_value indicating that citra will automatically select a region @@ -133,4 +142,4 @@ struct Values { static constexpr int REGION_VALUE_AUTO_SELECT = -1; void Apply(); -} +} // namespace Settings diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index ddc8b262e..104a16cc9 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp @@ -3,33 +3,167 @@ // Refer to the license.txt file included. #include <cstring> +#include <cryptopp/osrng.h> +#include "common/assert.h" +#include "common/file_util.h" #include "common/scm_rev.h" +#include "common/x64/cpu_detect.h" +#include "core/core.h" +#include "core/settings.h" #include "core/telemetry_session.h" +#ifdef ENABLE_WEB_SERVICE +#include "web_service/telemetry_json.h" +#endif + namespace Core { +static const char* CpuVendorToStr(Common::CPUVendor vendor) { + switch (vendor) { + case Common::CPUVendor::INTEL: + return "Intel"; + case Common::CPUVendor::AMD: + return "Amd"; + case Common::CPUVendor::OTHER: + return "Other"; + } + UNREACHABLE(); +} + +static u64 GenerateTelemetryId() { + u64 telemetry_id{}; + CryptoPP::AutoSeededRandomPool rng; + rng.GenerateBlock(reinterpret_cast<CryptoPP::byte*>(&telemetry_id), sizeof(u64)); + return telemetry_id; +} + +u64 GetTelemetryId() { + u64 telemetry_id{}; + static const std::string& filename{FileUtil::GetUserPath(D_CONFIG_IDX) + "telemetry_id"}; + + if (FileUtil::Exists(filename)) { + FileUtil::IOFile file(filename, "rb"); + if (!file.IsOpen()) { + LOG_ERROR(Core, "failed to open telemetry_id: %s", filename.c_str()); + return {}; + } + file.ReadBytes(&telemetry_id, sizeof(u64)); + } else { + FileUtil::IOFile file(filename, "wb"); + if (!file.IsOpen()) { + LOG_ERROR(Core, "failed to open telemetry_id: %s", filename.c_str()); + return {}; + } + telemetry_id = GenerateTelemetryId(); + file.WriteBytes(&telemetry_id, sizeof(u64)); + } + + return telemetry_id; +} + +u64 RegenerateTelemetryId() { + const u64 new_telemetry_id{GenerateTelemetryId()}; + static const std::string& filename{FileUtil::GetUserPath(D_CONFIG_IDX) + "telemetry_id"}; + + FileUtil::IOFile file(filename, "wb"); + if (!file.IsOpen()) { + LOG_ERROR(Core, "failed to open telemetry_id: %s", filename.c_str()); + return {}; + } + file.WriteBytes(&new_telemetry_id, sizeof(u64)); + return new_telemetry_id; +} + TelemetrySession::TelemetrySession() { - // TODO(bunnei): Replace with a backend that logs to our web service +#ifdef ENABLE_WEB_SERVICE + if (Settings::values.enable_telemetry) { + backend = std::make_unique<WebService::TelemetryJson>( + Settings::values.telemetry_endpoint_url, Settings::values.citra_username, + Settings::values.citra_token); + } else { + backend = std::make_unique<Telemetry::NullVisitor>(); + } +#else backend = std::make_unique<Telemetry::NullVisitor>(); +#endif + // Log one-time top-level information + AddField(Telemetry::FieldType::None, "TelemetryId", GetTelemetryId()); // Log one-time session start information - const auto duration{std::chrono::steady_clock::now().time_since_epoch()}; - const auto start_time{std::chrono::duration_cast<std::chrono::microseconds>(duration).count()}; - AddField(Telemetry::FieldType::Session, "StartTime", start_time); + const s64 init_time{std::chrono::duration_cast<std::chrono::milliseconds>( + std::chrono::system_clock::now().time_since_epoch()) + .count()}; + AddField(Telemetry::FieldType::Session, "Init_Time", init_time); + std::string program_name; + const Loader::ResultStatus res{System::GetInstance().GetAppLoader().ReadTitle(program_name)}; + if (res == Loader::ResultStatus::Success) { + AddField(Telemetry::FieldType::Session, "ProgramName", program_name); + } - // Log one-time application information + // Log application information const bool is_git_dirty{std::strstr(Common::g_scm_desc, "dirty") != nullptr}; - AddField(Telemetry::FieldType::App, "GitIsDirty", is_git_dirty); - AddField(Telemetry::FieldType::App, "GitBranch", Common::g_scm_branch); - AddField(Telemetry::FieldType::App, "GitRevision", Common::g_scm_rev); + AddField(Telemetry::FieldType::App, "Git_IsDirty", is_git_dirty); + AddField(Telemetry::FieldType::App, "Git_Branch", Common::g_scm_branch); + AddField(Telemetry::FieldType::App, "Git_Revision", Common::g_scm_rev); + AddField(Telemetry::FieldType::App, "BuildDate", Common::g_build_date); + AddField(Telemetry::FieldType::App, "BuildName", Common::g_build_name); + + // Log user system information + AddField(Telemetry::FieldType::UserSystem, "CPU_Model", Common::GetCPUCaps().cpu_string); + AddField(Telemetry::FieldType::UserSystem, "CPU_BrandString", + Common::GetCPUCaps().brand_string); + AddField(Telemetry::FieldType::UserSystem, "CPU_Vendor", + CpuVendorToStr(Common::GetCPUCaps().vendor)); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_AES", Common::GetCPUCaps().aes); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_AVX", Common::GetCPUCaps().avx); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_AVX2", Common::GetCPUCaps().avx2); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_BMI1", Common::GetCPUCaps().bmi1); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_BMI2", Common::GetCPUCaps().bmi2); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_FMA", Common::GetCPUCaps().fma); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_FMA4", Common::GetCPUCaps().fma4); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_SSE", Common::GetCPUCaps().sse); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_SSE2", Common::GetCPUCaps().sse2); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_SSE3", Common::GetCPUCaps().sse3); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_SSSE3", + Common::GetCPUCaps().ssse3); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_SSE41", + Common::GetCPUCaps().sse4_1); + AddField(Telemetry::FieldType::UserSystem, "CPU_Extension_x64_SSE42", + Common::GetCPUCaps().sse4_2); +#ifdef __APPLE__ + AddField(Telemetry::FieldType::UserSystem, "OsPlatform", "Apple"); +#elif defined(_WIN32) + AddField(Telemetry::FieldType::UserSystem, "OsPlatform", "Windows"); +#elif defined(__linux__) || defined(linux) || defined(__linux) + AddField(Telemetry::FieldType::UserSystem, "OsPlatform", "Linux"); +#else + AddField(Telemetry::FieldType::UserSystem, "OsPlatform", "Unknown"); +#endif + + // Log user configuration information + AddField(Telemetry::FieldType::UserConfig, "Audio_EnableAudioStretching", + Settings::values.enable_audio_stretching); + AddField(Telemetry::FieldType::UserConfig, "Core_UseCpuJit", Settings::values.use_cpu_jit); + AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", + Settings::values.resolution_factor); + AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", + Settings::values.toggle_framelimit); + AddField(Telemetry::FieldType::UserConfig, "Renderer_UseHwRenderer", + Settings::values.use_hw_renderer); + AddField(Telemetry::FieldType::UserConfig, "Renderer_UseShaderJit", + Settings::values.use_shader_jit); + AddField(Telemetry::FieldType::UserConfig, "Renderer_UseVsync", Settings::values.use_vsync); + AddField(Telemetry::FieldType::UserConfig, "System_IsNew3ds", Settings::values.is_new_3ds); + AddField(Telemetry::FieldType::UserConfig, "System_RegionValue", Settings::values.region_value); } TelemetrySession::~TelemetrySession() { // Log one-time session end information - const auto duration{std::chrono::steady_clock::now().time_since_epoch()}; - const auto end_time{std::chrono::duration_cast<std::chrono::microseconds>(duration).count()}; - AddField(Telemetry::FieldType::Session, "EndTime", end_time); + const s64 shutdown_time{std::chrono::duration_cast<std::chrono::milliseconds>( + std::chrono::system_clock::now().time_since_epoch()) + .count()}; + AddField(Telemetry::FieldType::Session, "Shutdown_Time", shutdown_time); // Complete the session, submitting to web service if necessary // This is just a placeholder to wrap up the session once the core completes and this is diff --git a/src/core/telemetry_session.h b/src/core/telemetry_session.h index cf53835c3..65613daae 100644 --- a/src/core/telemetry_session.h +++ b/src/core/telemetry_session.h @@ -35,4 +35,16 @@ private: std::unique_ptr<Telemetry::VisitorInterface> backend; ///< Backend interface that logs fields }; +/** + * Gets TelemetryId, a unique identifier used for the user's telemetry sessions. + * @returns The current TelemetryId for the session. + */ +u64 GetTelemetryId(); + +/** + * Regenerates TelemetryId, a unique identifier used for the user's telemetry sessions. + * @returns The new TelemetryId that was generated. + */ +u64 RegenerateTelemetryId(); + } // namespace Core diff --git a/src/input_common/CMakeLists.txt b/src/input_common/CMakeLists.txt index e3e36ada7..92792a702 100644 --- a/src/input_common/CMakeLists.txt +++ b/src/input_common/CMakeLists.txt @@ -2,12 +2,14 @@ set(SRCS analog_from_button.cpp keyboard.cpp main.cpp + motion_emu.cpp ) set(HEADERS analog_from_button.h keyboard.h main.h + motion_emu.h ) if(SDL2_FOUND) diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 699f41e6b..557353740 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -7,6 +7,7 @@ #include "input_common/analog_from_button.h" #include "input_common/keyboard.h" #include "input_common/main.h" +#include "input_common/motion_emu.h" #ifdef HAVE_SDL2 #include "input_common/sdl/sdl.h" #endif @@ -14,12 +15,16 @@ namespace InputCommon { static std::shared_ptr<Keyboard> keyboard; +static std::shared_ptr<MotionEmu> motion_emu; void Init() { - keyboard = std::make_shared<InputCommon::Keyboard>(); + keyboard = std::make_shared<Keyboard>(); Input::RegisterFactory<Input::ButtonDevice>("keyboard", keyboard); Input::RegisterFactory<Input::AnalogDevice>("analog_from_button", - std::make_shared<InputCommon::AnalogFromButton>()); + std::make_shared<AnalogFromButton>()); + motion_emu = std::make_shared<MotionEmu>(); + Input::RegisterFactory<Input::MotionDevice>("motion_emu", motion_emu); + #ifdef HAVE_SDL2 SDL::Init(); #endif @@ -29,6 +34,8 @@ void Shutdown() { Input::UnregisterFactory<Input::ButtonDevice>("keyboard"); keyboard.reset(); Input::UnregisterFactory<Input::AnalogDevice>("analog_from_button"); + Input::UnregisterFactory<Input::MotionDevice>("motion_emu"); + motion_emu.reset(); #ifdef HAVE_SDL2 SDL::Shutdown(); @@ -39,6 +46,10 @@ Keyboard* GetKeyboard() { return keyboard.get(); } +MotionEmu* GetMotionEmu() { + return motion_emu.get(); +} + std::string GenerateKeyboardParam(int key_code) { Common::ParamPackage param{ {"engine", "keyboard"}, {"code", std::to_string(key_code)}, diff --git a/src/input_common/main.h b/src/input_common/main.h index 140bbd014..5604f0fa8 100644 --- a/src/input_common/main.h +++ b/src/input_common/main.h @@ -11,7 +11,7 @@ namespace InputCommon { /// Initializes and registers all built-in input device factories. void Init(); -/// Unresisters all build-in input device factories and shut them down. +/// Deregisters all built-in input device factories and shuts them down. void Shutdown(); class Keyboard; @@ -19,6 +19,11 @@ class Keyboard; /// Gets the keyboard button device factory. Keyboard* GetKeyboard(); +class MotionEmu; + +/// Gets the motion emulation factory. +MotionEmu* GetMotionEmu(); + /// Generates a serialized param package for creating a keyboard button device std::string GenerateKeyboardParam(int key_code); diff --git a/src/input_common/motion_emu.cpp b/src/input_common/motion_emu.cpp new file mode 100644 index 000000000..59a035e70 --- /dev/null +++ b/src/input_common/motion_emu.cpp @@ -0,0 +1,168 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <chrono> +#include <mutex> +#include <thread> +#include <tuple> +#include "common/math_util.h" +#include "common/quaternion.h" +#include "common/thread.h" +#include "common/vector_math.h" +#include "input_common/motion_emu.h" + +namespace InputCommon { + +// Implementation class of the motion emulation device +class MotionEmuDevice { +public: + MotionEmuDevice(int update_millisecond, float sensitivity) + : update_millisecond(update_millisecond), + update_duration(std::chrono::duration_cast<std::chrono::steady_clock::duration>( + std::chrono::milliseconds(update_millisecond))), + sensitivity(sensitivity), motion_emu_thread(&MotionEmuDevice::MotionEmuThread, this) {} + + ~MotionEmuDevice() { + if (motion_emu_thread.joinable()) { + shutdown_event.Set(); + motion_emu_thread.join(); + } + } + + void BeginTilt(int x, int y) { + mouse_origin = Math::MakeVec(x, y); + is_tilting = true; + } + + void Tilt(int x, int y) { + auto mouse_move = Math::MakeVec(x, y) - mouse_origin; + if (is_tilting) { + std::lock_guard<std::mutex> guard(tilt_mutex); + if (mouse_move.x == 0 && mouse_move.y == 0) { + tilt_angle = 0; + } else { + tilt_direction = mouse_move.Cast<float>(); + tilt_angle = MathUtil::Clamp(tilt_direction.Normalize() * sensitivity, 0.0f, + MathUtil::PI * 0.5f); + } + } + } + + void EndTilt() { + std::lock_guard<std::mutex> guard(tilt_mutex); + tilt_angle = 0; + is_tilting = false; + } + + std::tuple<Math::Vec3<float>, Math::Vec3<float>> GetStatus() { + std::lock_guard<std::mutex> guard(status_mutex); + return status; + } + +private: + const int update_millisecond; + const std::chrono::steady_clock::duration update_duration; + const float sensitivity; + + Math::Vec2<int> mouse_origin; + + std::mutex tilt_mutex; + Math::Vec2<float> tilt_direction; + float tilt_angle = 0; + + bool is_tilting = false; + + Common::Event shutdown_event; + + std::tuple<Math::Vec3<float>, Math::Vec3<float>> status; + std::mutex status_mutex; + + // Note: always keep the thread declaration at the end so that other objects are initialized + // before this! + std::thread motion_emu_thread; + + void MotionEmuThread() { + auto update_time = std::chrono::steady_clock::now(); + Math::Quaternion<float> q = MakeQuaternion(Math::Vec3<float>(), 0); + Math::Quaternion<float> old_q; + + while (!shutdown_event.WaitUntil(update_time)) { + update_time += update_duration; + old_q = q; + + { + std::lock_guard<std::mutex> guard(tilt_mutex); + + // Find the quaternion describing current 3DS tilting + q = MakeQuaternion(Math::MakeVec(-tilt_direction.y, 0.0f, tilt_direction.x), + tilt_angle); + } + + auto inv_q = q.Inverse(); + + // Set the gravity vector in world space + auto gravity = Math::MakeVec(0.0f, -1.0f, 0.0f); + + // Find the angular rate vector in world space + auto angular_rate = ((q - old_q) * inv_q).xyz * 2; + angular_rate *= 1000 / update_millisecond / MathUtil::PI * 180; + + // Transform the two vectors from world space to 3DS space + gravity = QuaternionRotate(inv_q, gravity); + angular_rate = QuaternionRotate(inv_q, angular_rate); + + // Update the sensor state + { + std::lock_guard<std::mutex> guard(status_mutex); + status = std::make_tuple(gravity, angular_rate); + } + } + } +}; + +// Interface wrapper held by input receiver as a unique_ptr. It holds the implementation class as +// a shared_ptr, which is also observed by the factory class as a weak_ptr. In this way the factory +// can forward all the inputs to the implementation only when it is valid. +class MotionEmuDeviceWrapper : public Input::MotionDevice { +public: + MotionEmuDeviceWrapper(int update_millisecond, float sensitivity) { + device = std::make_shared<MotionEmuDevice>(update_millisecond, sensitivity); + } + + std::tuple<Math::Vec3<float>, Math::Vec3<float>> GetStatus() const { + return device->GetStatus(); + } + + std::shared_ptr<MotionEmuDevice> device; +}; + +std::unique_ptr<Input::MotionDevice> MotionEmu::Create(const Common::ParamPackage& params) { + int update_period = params.Get("update_period", 100); + float sensitivity = params.Get("sensitivity", 0.01f); + auto device_wrapper = std::make_unique<MotionEmuDeviceWrapper>(update_period, sensitivity); + // Previously created device is disconnected here. Having two motion devices for 3DS is not + // expected. + current_device = device_wrapper->device; + return std::move(device_wrapper); +} + +void MotionEmu::BeginTilt(int x, int y) { + if (auto ptr = current_device.lock()) { + ptr->BeginTilt(x, y); + } +} + +void MotionEmu::Tilt(int x, int y) { + if (auto ptr = current_device.lock()) { + ptr->Tilt(x, y); + } +} + +void MotionEmu::EndTilt() { + if (auto ptr = current_device.lock()) { + ptr->EndTilt(); + } +} + +} // namespace InputCommon diff --git a/src/input_common/motion_emu.h b/src/input_common/motion_emu.h new file mode 100644 index 000000000..7a7e22467 --- /dev/null +++ b/src/input_common/motion_emu.h @@ -0,0 +1,46 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/frontend/input.h" + +namespace InputCommon { + +class MotionEmuDevice; + +class MotionEmu : public Input::Factory<Input::MotionDevice> { +public: + /** + * Creates a motion device emulated from mouse input + * @param params contains parameters for creating the device: + * - "update_period": update period in milliseconds + * - "sensitivity": the coefficient converting mouse movement to tilting angle + */ + std::unique_ptr<Input::MotionDevice> Create(const Common::ParamPackage& params) override; + + /** + * Signals that a motion sensor tilt has begun. + * @param x the x-coordinate of the cursor + * @param y the y-coordinate of the cursor + */ + void BeginTilt(int x, int y); + + /** + * Signals that a motion sensor tilt is occurring. + * @param x the x-coordinate of the cursor + * @param y the y-coordinate of the cursor + */ + void Tilt(int x, int y); + + /** + * Signals that a motion sensor tilt has ended. + */ + void EndTilt(); + +private: + std::weak_ptr<MotionEmuDevice> current_device; +}; + +} // namespace InputCommon diff --git a/src/input_common/sdl/sdl.cpp b/src/input_common/sdl/sdl.cpp index 756ee58b7..d404afa89 100644 --- a/src/input_common/sdl/sdl.cpp +++ b/src/input_common/sdl/sdl.cpp @@ -159,7 +159,7 @@ public: * - "axis"(optional): the index of the axis to bind * - "direction"(only used for hat): the direction name of the hat to bind. Can be "up", * "down", "left" or "right" - * - "threshould"(only used for axis): a float value in (-1.0, 1.0) which the button is + * - "threshold"(only used for axis): a float value in (-1.0, 1.0) which the button is * triggered if the axis value crosses * - "direction"(only used for axis): "+" means the button is triggered when the axis value * is greater than the threshold; "-" means the button is triggered when the axis value diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt new file mode 100644 index 000000000..ac9d028da --- /dev/null +++ b/src/network/CMakeLists.txt @@ -0,0 +1,18 @@ +set(SRCS + network.cpp + packet.cpp + room.cpp + room_member.cpp + ) + +set(HEADERS + network.h + packet.h + room.h + room_member.h + ) + +create_directory_groups(${SRCS} ${HEADERS}) + +add_library(network STATIC ${SRCS} ${HEADERS}) +target_link_libraries(network PRIVATE common enet) diff --git a/src/network/network.cpp b/src/network/network.cpp new file mode 100644 index 000000000..51b5d6a9f --- /dev/null +++ b/src/network/network.cpp @@ -0,0 +1,50 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/assert.h" +#include "common/logging/log.h" +#include "enet/enet.h" +#include "network/network.h" + +namespace Network { + +static std::shared_ptr<RoomMember> g_room_member; ///< RoomMember (Client) for network games +static std::shared_ptr<Room> g_room; ///< Room (Server) for network games +// TODO(B3N30): Put these globals into a networking class + +bool Init() { + if (enet_initialize() != 0) { + LOG_ERROR(Network, "Error initalizing ENet"); + return false; + } + g_room = std::make_shared<Room>(); + g_room_member = std::make_shared<RoomMember>(); + LOG_DEBUG(Network, "initialized OK"); + return true; +} + +std::weak_ptr<Room> GetRoom() { + return g_room; +} + +std::weak_ptr<RoomMember> GetRoomMember() { + return g_room_member; +} + +void Shutdown() { + if (g_room_member) { + if (g_room_member->IsConnected()) + g_room_member->Leave(); + g_room_member.reset(); + } + if (g_room) { + if (g_room->GetState() == Room::State::Open) + g_room->Destroy(); + g_room.reset(); + } + enet_deinitialize(); + LOG_DEBUG(Network, "shutdown OK"); +} + +} // namespace Network diff --git a/src/network/network.h b/src/network/network.h new file mode 100644 index 000000000..6d002d693 --- /dev/null +++ b/src/network/network.h @@ -0,0 +1,25 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include "network/room.h" +#include "network/room_member.h" + +namespace Network { + +/// Initializes and registers the network device, the room, and the room member. +bool Init(); + +/// Returns a pointer to the room handle +std::weak_ptr<Room> GetRoom(); + +/// Returns a pointer to the room member handle +std::weak_ptr<RoomMember> GetRoomMember(); + +/// Unregisters the network device, the room, and the room member and shut them down. +void Shutdown(); + +} // namespace Network diff --git a/src/network/packet.cpp b/src/network/packet.cpp new file mode 100644 index 000000000..cc60f2fbc --- /dev/null +++ b/src/network/packet.cpp @@ -0,0 +1,263 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#ifdef _WIN32 +#include <winsock2.h> +#else +#include <arpa/inet.h> +#endif +#include <cstring> +#include <string> +#include "network/packet.h" + +namespace Network { + +#ifndef htonll +u64 htonll(u64 x) { + return ((1 == htonl(1)) ? (x) : ((uint64_t)htonl((x)&0xFFFFFFFF) << 32) | htonl((x) >> 32)); +} +#endif + +#ifndef ntohll +u64 ntohll(u64 x) { + return ((1 == ntohl(1)) ? (x) : ((uint64_t)ntohl((x)&0xFFFFFFFF) << 32) | ntohl((x) >> 32)); +} +#endif + +void Packet::Append(const void* in_data, std::size_t size_in_bytes) { + if (in_data && (size_in_bytes > 0)) { + std::size_t start = data.size(); + data.resize(start + size_in_bytes); + std::memcpy(&data[start], in_data, size_in_bytes); + } +} + +void Packet::Read(void* out_data, std::size_t size_in_bytes) { + if (out_data && CheckSize(size_in_bytes)) { + std::memcpy(out_data, &data[read_pos], size_in_bytes); + read_pos += size_in_bytes; + } +} + +void Packet::Clear() { + data.clear(); + read_pos = 0; + is_valid = true; +} + +const void* Packet::GetData() const { + return !data.empty() ? &data[0] : nullptr; +} + +void Packet::IgnoreBytes(u32 length) { + read_pos += length; +} + +std::size_t Packet::GetDataSize() const { + return data.size(); +} + +bool Packet::EndOfPacket() const { + return read_pos >= data.size(); +} + +Packet::operator bool() const { + return is_valid ? &Packet::CheckSize : nullptr; +} + +Packet& Packet::operator>>(bool& out_data) { + u8 value; + if (*this >> value) { + out_data = (value != 0); + } + return *this; +} + +Packet& Packet::operator>>(s8& out_data) { + Read(&out_data, sizeof(out_data)); + return *this; +} + +Packet& Packet::operator>>(u8& out_data) { + Read(&out_data, sizeof(out_data)); + return *this; +} + +Packet& Packet::operator>>(s16& out_data) { + s16 value; + Read(&value, sizeof(value)); + out_data = ntohs(value); + return *this; +} + +Packet& Packet::operator>>(u16& out_data) { + u16 value; + Read(&value, sizeof(value)); + out_data = ntohs(value); + return *this; +} + +Packet& Packet::operator>>(s32& out_data) { + s32 value; + Read(&value, sizeof(value)); + out_data = ntohl(value); + return *this; +} + +Packet& Packet::operator>>(u32& out_data) { + u32 value; + Read(&value, sizeof(value)); + out_data = ntohl(value); + return *this; +} + +Packet& Packet::operator>>(s64& out_data) { + s64 value; + Read(&value, sizeof(value)); + out_data = ntohll(value); + return *this; +} + +Packet& Packet::operator>>(u64& out_data) { + u64 value; + Read(&value, sizeof(value)); + out_data = ntohll(value); + return *this; +} + +Packet& Packet::operator>>(float& out_data) { + Read(&out_data, sizeof(out_data)); + return *this; +} + +Packet& Packet::operator>>(double& out_data) { + Read(&out_data, sizeof(out_data)); + return *this; +} + +Packet& Packet::operator>>(char* out_data) { + // First extract string length + u32 length = 0; + *this >> length; + + if ((length > 0) && CheckSize(length)) { + // Then extract characters + std::memcpy(out_data, &data[read_pos], length); + out_data[length] = '\0'; + + // Update reading position + read_pos += length; + } + + return *this; +} + +Packet& Packet::operator>>(std::string& out_data) { + // First extract string length + u32 length = 0; + *this >> length; + + out_data.clear(); + if ((length > 0) && CheckSize(length)) { + // Then extract characters + out_data.assign(&data[read_pos], length); + + // Update reading position + read_pos += length; + } + + return *this; +} + +Packet& Packet::operator<<(bool in_data) { + *this << static_cast<u8>(in_data); + return *this; +} + +Packet& Packet::operator<<(s8 in_data) { + Append(&in_data, sizeof(in_data)); + return *this; +} + +Packet& Packet::operator<<(u8 in_data) { + Append(&in_data, sizeof(in_data)); + return *this; +} + +Packet& Packet::operator<<(s16 in_data) { + s16 toWrite = htons(in_data); + Append(&toWrite, sizeof(toWrite)); + return *this; +} + +Packet& Packet::operator<<(u16 in_data) { + u16 toWrite = htons(in_data); + Append(&toWrite, sizeof(toWrite)); + return *this; +} + +Packet& Packet::operator<<(s32 in_data) { + s32 toWrite = htonl(in_data); + Append(&toWrite, sizeof(toWrite)); + return *this; +} + +Packet& Packet::operator<<(u32 in_data) { + u32 toWrite = htonl(in_data); + Append(&toWrite, sizeof(toWrite)); + return *this; +} + +Packet& Packet::operator<<(s64 in_data) { + s64 toWrite = htonll(in_data); + Append(&toWrite, sizeof(toWrite)); + return *this; +} + +Packet& Packet::operator<<(u64 in_data) { + u64 toWrite = htonll(in_data); + Append(&toWrite, sizeof(toWrite)); + return *this; +} + +Packet& Packet::operator<<(float in_data) { + Append(&in_data, sizeof(in_data)); + return *this; +} + +Packet& Packet::operator<<(double in_data) { + Append(&in_data, sizeof(in_data)); + return *this; +} + +Packet& Packet::operator<<(const char* in_data) { + // First insert string length + u32 length = std::strlen(in_data); + *this << length; + + // Then insert characters + Append(in_data, length * sizeof(char)); + + return *this; +} + +Packet& Packet::operator<<(const std::string& in_data) { + // First insert string length + u32 length = static_cast<u32>(in_data.size()); + *this << length; + + // Then insert characters + if (length > 0) + Append(in_data.c_str(), length * sizeof(std::string::value_type)); + + return *this; +} + +bool Packet::CheckSize(std::size_t size) { + is_valid = is_valid && (read_pos + size <= data.size()); + + return is_valid; +} + +} // namespace Network diff --git a/src/network/packet.h b/src/network/packet.h new file mode 100644 index 000000000..5a2e58dc2 --- /dev/null +++ b/src/network/packet.h @@ -0,0 +1,166 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <array> +#include <vector> +#include "common/common_types.h" + +namespace Network { + +/// A class that serializes data for network transfer. It also handles endianess +class Packet { +public: + Packet() = default; + ~Packet() = default; + + /** + * Append data to the end of the packet + * @param data Pointer to the sequence of bytes to append + * @param size_in_bytes Number of bytes to append + */ + void Append(const void* data, std::size_t size_in_bytes); + + /** + * Reads data from the current read position of the packet + * @param out_data Pointer where the data should get written to + * @param size_in_bytes Number of bytes to read + */ + void Read(void* out_data, std::size_t size_in_bytes); + + /** + * Clear the packet + * After calling Clear, the packet is empty. + */ + void Clear(); + + /** + * Ignores bytes while reading + * @param length THe number of bytes to ignore + */ + void IgnoreBytes(u32 length); + + /** + * Get a pointer to the data contained in the packet + * @return Pointer to the data + */ + const void* GetData() const; + + /** + * This function returns the number of bytes pointed to by + * what getData returns. + * @return Data size, in bytes + */ + std::size_t GetDataSize() const; + + /** + * This function is useful to know if there is some data + * left to be read, without actually reading it. + * @return True if all data was read, false otherwise + */ + bool EndOfPacket() const; + + explicit operator bool() const; + + /// Overloads of operator >> to read data from the packet + Packet& operator>>(bool& out_data); + Packet& operator>>(s8& out_data); + Packet& operator>>(u8& out_data); + Packet& operator>>(s16& out_data); + Packet& operator>>(u16& out_data); + Packet& operator>>(s32& out_data); + Packet& operator>>(u32& out_data); + Packet& operator>>(s64& out_data); + Packet& operator>>(u64& out_data); + Packet& operator>>(float& out_data); + Packet& operator>>(double& out_data); + Packet& operator>>(char* out_data); + Packet& operator>>(std::string& out_data); + template <typename T> + Packet& operator>>(std::vector<T>& out_data); + template <typename T, std::size_t S> + Packet& operator>>(std::array<T, S>& out_data); + + /// Overloads of operator << to write data into the packet + Packet& operator<<(bool in_data); + Packet& operator<<(s8 in_data); + Packet& operator<<(u8 in_data); + Packet& operator<<(s16 in_data); + Packet& operator<<(u16 in_data); + Packet& operator<<(s32 in_data); + Packet& operator<<(u32 in_data); + Packet& operator<<(s64 in_data); + Packet& operator<<(u64 in_data); + Packet& operator<<(float in_data); + Packet& operator<<(double in_data); + Packet& operator<<(const char* in_data); + Packet& operator<<(const std::string& in_data); + template <typename T> + Packet& operator<<(const std::vector<T>& in_data); + template <typename T, std::size_t S> + Packet& operator<<(const std::array<T, S>& data); + +private: + /** + * Check if the packet can extract a given number of bytes + * This function updates accordingly the state of the packet. + * @param size Size to check + * @return True if size bytes can be read from the packet + */ + bool CheckSize(std::size_t size); + + // Member data + std::vector<char> data; ///< Data stored in the packet + std::size_t read_pos = 0; ///< Current reading position in the packet + bool is_valid = true; ///< Reading state of the packet +}; + +template <typename T> +Packet& Packet::operator>>(std::vector<T>& out_data) { + // First extract the size + u32 size = 0; + *this >> size; + out_data.resize(size); + + // Then extract the data + for (std::size_t i = 0; i < out_data.size(); ++i) { + T character = 0; + *this >> character; + out_data[i] = character; + } + return *this; +} + +template <typename T, std::size_t S> +Packet& Packet::operator>>(std::array<T, S>& out_data) { + for (std::size_t i = 0; i < out_data.size(); ++i) { + T character = 0; + *this >> character; + out_data[i] = character; + } + return *this; +} + +template <typename T> +Packet& Packet::operator<<(const std::vector<T>& in_data) { + // First insert the size + *this << static_cast<u32>(in_data.size()); + + // Then insert the data + for (std::size_t i = 0; i < in_data.size(); ++i) { + *this << in_data[i]; + } + return *this; +} + +template <typename T, std::size_t S> +Packet& Packet::operator<<(const std::array<T, S>& in_data) { + for (std::size_t i = 0; i < in_data.size(); ++i) { + *this << in_data[i]; + } + return *this; +} + +} // namespace Network diff --git a/src/network/room.cpp b/src/network/room.cpp new file mode 100644 index 000000000..261049ab0 --- /dev/null +++ b/src/network/room.cpp @@ -0,0 +1,497 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <algorithm> +#include <atomic> +#include <mutex> +#include <random> +#include <thread> +#include "enet/enet.h" +#include "network/packet.h" +#include "network/room.h" + +namespace Network { + +/// Maximum number of concurrent connections allowed to this room. +static constexpr u32 MaxConcurrentConnections = 10; + +class Room::RoomImpl { +public: + // This MAC address is used to generate a 'Nintendo' like Mac address. + const MacAddress NintendoOUI; + std::mt19937 random_gen; ///< Random number generator. Used for GenerateMacAddress + + ENetHost* server = nullptr; ///< Network interface. + + std::atomic<State> state{State::Closed}; ///< Current state of the room. + RoomInformation room_information; ///< Information about this room. + + struct Member { + std::string nickname; ///< The nickname of the member. + GameInfo game_info; ///< The current game of the member + MacAddress mac_address; ///< The assigned mac address of the member. + ENetPeer* peer; ///< The remote peer. + }; + using MemberList = std::vector<Member>; + MemberList members; ///< Information about the members of this room + mutable std::mutex member_mutex; ///< Mutex for locking the members list + /// This should be a std::shared_mutex as soon as C++17 is supported + + RoomImpl() + : random_gen(std::random_device()()), NintendoOUI{0x00, 0x1F, 0x32, 0x00, 0x00, 0x00} {} + + /// Thread that receives and dispatches network packets + std::unique_ptr<std::thread> room_thread; + + /// Thread function that will receive and dispatch messages until the room is destroyed. + void ServerLoop(); + void StartLoop(); + + /** + * Parses and answers a room join request from a client. + * Validates the uniqueness of the username and assigns the MAC address + * that the client will use for the remainder of the connection. + */ + void HandleJoinRequest(const ENetEvent* event); + + /** + * Returns whether the nickname is valid, ie. isn't already taken by someone else in the room. + */ + bool IsValidNickname(const std::string& nickname) const; + + /** + * Returns whether the MAC address is valid, ie. isn't already taken by someone else in the + * room. + */ + bool IsValidMacAddress(const MacAddress& address) const; + + /** + * Sends a ID_ROOM_NAME_COLLISION message telling the client that the name is invalid. + */ + void SendNameCollision(ENetPeer* client); + + /** + * Sends a ID_ROOM_MAC_COLLISION message telling the client that the MAC is invalid. + */ + void SendMacCollision(ENetPeer* client); + + /** + * Sends a ID_ROOM_VERSION_MISMATCH message telling the client that the version is invalid. + */ + void SendVersionMismatch(ENetPeer* client); + + /** + * Notifies the member that its connection attempt was successful, + * and it is now part of the room. + */ + void SendJoinSuccess(ENetPeer* client, MacAddress mac_address); + + /** + * Notifies the members that the room is closed, + */ + void SendCloseMessage(); + + /** + * Sends the information about the room, along with the list of members + * to every connected client in the room. + * The packet has the structure: + * <MessageID>ID_ROOM_INFORMATION + * <String> room_name + * <u32> member_slots: The max number of clients allowed in this room + * <u32> num_members: the number of currently joined clients + * This is followed by the following three values for each member: + * <String> nickname of that member + * <MacAddress> mac_address of that member + * <String> game_name of that member + */ + void BroadcastRoomInformation(); + + /** + * Generates a free MAC address to assign to a new client. + * The first 3 bytes are the NintendoOUI 0x00, 0x1F, 0x32 + */ + MacAddress GenerateMacAddress(); + + /** + * Broadcasts this packet to all members except the sender. + * @param event The ENet event containing the data + */ + void HandleWifiPacket(const ENetEvent* event); + + /** + * Extracts a chat entry from a received ENet packet and adds it to the chat queue. + * @param event The ENet event that was received. + */ + void HandleChatPacket(const ENetEvent* event); + + /** + * Extracts the game name from a received ENet packet and broadcasts it. + * @param event The ENet event that was received. + */ + void HandleGameNamePacket(const ENetEvent* event); + + /** + * Removes the client from the members list if it was in it and announces the change + * to all other clients. + */ + void HandleClientDisconnection(ENetPeer* client); +}; + +// RoomImpl +void Room::RoomImpl::ServerLoop() { + while (state != State::Closed) { + ENetEvent event; + if (enet_host_service(server, &event, 100) > 0) { + switch (event.type) { + case ENET_EVENT_TYPE_RECEIVE: + switch (event.packet->data[0]) { + case IdJoinRequest: + HandleJoinRequest(&event); + break; + case IdSetGameInfo: + HandleGameNamePacket(&event); + break; + case IdWifiPacket: + HandleWifiPacket(&event); + break; + case IdChatMessage: + HandleChatPacket(&event); + break; + } + enet_packet_destroy(event.packet); + break; + case ENET_EVENT_TYPE_DISCONNECT: + HandleClientDisconnection(event.peer); + break; + } + } + } + // Close the connection to all members: + SendCloseMessage(); +} + +void Room::RoomImpl::StartLoop() { + room_thread = std::make_unique<std::thread>(&Room::RoomImpl::ServerLoop, this); +} + +void Room::RoomImpl::HandleJoinRequest(const ENetEvent* event) { + Packet packet; + packet.Append(event->packet->data, event->packet->dataLength); + packet.IgnoreBytes(sizeof(u8)); // Igonore the message type + std::string nickname; + packet >> nickname; + + MacAddress preferred_mac; + packet >> preferred_mac; + + u32 client_version; + packet >> client_version; + + if (!IsValidNickname(nickname)) { + SendNameCollision(event->peer); + return; + } + + if (preferred_mac != NoPreferredMac) { + // Verify if the preferred mac is available + if (!IsValidMacAddress(preferred_mac)) { + SendMacCollision(event->peer); + return; + } + } else { + // Assign a MAC address of this client automatically + preferred_mac = GenerateMacAddress(); + } + + if (client_version != network_version) { + SendVersionMismatch(event->peer); + return; + } + + // At this point the client is ready to be added to the room. + Member member{}; + member.mac_address = preferred_mac; + member.nickname = nickname; + member.peer = event->peer; + + { + std::lock_guard<std::mutex> lock(member_mutex); + members.push_back(std::move(member)); + } + + // Notify everyone that the room information has changed. + BroadcastRoomInformation(); + SendJoinSuccess(event->peer, preferred_mac); +} + +bool Room::RoomImpl::IsValidNickname(const std::string& nickname) const { + // A nickname is valid if it is not already taken by anybody else in the room. + // TODO(B3N30): Check for empty names, spaces, etc. + std::lock_guard<std::mutex> lock(member_mutex); + return std::all_of(members.begin(), members.end(), + [&nickname](const auto& member) { return member.nickname != nickname; }); +} + +bool Room::RoomImpl::IsValidMacAddress(const MacAddress& address) const { + // A MAC address is valid if it is not already taken by anybody else in the room. + std::lock_guard<std::mutex> lock(member_mutex); + return std::all_of(members.begin(), members.end(), + [&address](const auto& member) { return member.mac_address != address; }); +} + +void Room::RoomImpl::SendNameCollision(ENetPeer* client) { + Packet packet; + packet << static_cast<u8>(IdNameCollision); + + ENetPacket* enet_packet = + enet_packet_create(packet.GetData(), packet.GetDataSize(), ENET_PACKET_FLAG_RELIABLE); + enet_peer_send(client, 0, enet_packet); + enet_host_flush(server); +} + +void Room::RoomImpl::SendMacCollision(ENetPeer* client) { + Packet packet; + packet << static_cast<u8>(IdMacCollision); + + ENetPacket* enet_packet = + enet_packet_create(packet.GetData(), packet.GetDataSize(), ENET_PACKET_FLAG_RELIABLE); + enet_peer_send(client, 0, enet_packet); + enet_host_flush(server); +} + +void Room::RoomImpl::SendVersionMismatch(ENetPeer* client) { + Packet packet; + packet << static_cast<u8>(IdVersionMismatch); + packet << network_version; + + ENetPacket* enet_packet = + enet_packet_create(packet.GetData(), packet.GetDataSize(), ENET_PACKET_FLAG_RELIABLE); + enet_peer_send(client, 0, enet_packet); + enet_host_flush(server); +} + +void Room::RoomImpl::SendJoinSuccess(ENetPeer* client, MacAddress mac_address) { + Packet packet; + packet << static_cast<u8>(IdJoinSuccess); + packet << mac_address; + ENetPacket* enet_packet = + enet_packet_create(packet.GetData(), packet.GetDataSize(), ENET_PACKET_FLAG_RELIABLE); + enet_peer_send(client, 0, enet_packet); + enet_host_flush(server); +} + +void Room::RoomImpl::SendCloseMessage() { + Packet packet; + packet << static_cast<u8>(IdCloseRoom); + ENetPacket* enet_packet = + enet_packet_create(packet.GetData(), packet.GetDataSize(), ENET_PACKET_FLAG_RELIABLE); + std::lock_guard<std::mutex> lock(member_mutex); + for (auto& member : members) { + enet_peer_send(member.peer, 0, enet_packet); + } + enet_host_flush(server); + for (auto& member : members) { + enet_peer_disconnect(member.peer, 0); + } +} + +void Room::RoomImpl::BroadcastRoomInformation() { + Packet packet; + packet << static_cast<u8>(IdRoomInformation); + packet << room_information.name; + packet << room_information.member_slots; + + packet << static_cast<u32>(members.size()); + { + std::lock_guard<std::mutex> lock(member_mutex); + for (const auto& member : members) { + packet << member.nickname; + packet << member.mac_address; + packet << member.game_info.name; + packet << member.game_info.id; + } + } + + ENetPacket* enet_packet = + enet_packet_create(packet.GetData(), packet.GetDataSize(), ENET_PACKET_FLAG_RELIABLE); + enet_host_broadcast(server, 0, enet_packet); + enet_host_flush(server); +} + +MacAddress Room::RoomImpl::GenerateMacAddress() { + MacAddress result_mac = + NintendoOUI; // The first three bytes of each MAC address will be the NintendoOUI + std::uniform_int_distribution<> dis(0x00, 0xFF); // Random byte between 0 and 0xFF + do { + for (size_t i = 3; i < result_mac.size(); ++i) { + result_mac[i] = dis(random_gen); + } + } while (!IsValidMacAddress(result_mac)); + return result_mac; +} + +void Room::RoomImpl::HandleWifiPacket(const ENetEvent* event) { + Packet in_packet; + in_packet.Append(event->packet->data, event->packet->dataLength); + in_packet.IgnoreBytes(sizeof(u8)); // Message type + in_packet.IgnoreBytes(sizeof(u8)); // WifiPacket Type + in_packet.IgnoreBytes(sizeof(u8)); // WifiPacket Channel + in_packet.IgnoreBytes(sizeof(MacAddress)); // WifiPacket Transmitter Address + MacAddress destination_address; + in_packet >> destination_address; + + Packet out_packet; + out_packet.Append(event->packet->data, event->packet->dataLength); + ENetPacket* enet_packet = enet_packet_create(out_packet.GetData(), out_packet.GetDataSize(), + ENET_PACKET_FLAG_RELIABLE); + + if (destination_address == BroadcastMac) { // Send the data to everyone except the sender + std::lock_guard<std::mutex> lock(member_mutex); + for (const auto& member : members) { + if (member.peer != event->peer) + enet_peer_send(member.peer, 0, enet_packet); + } + } else { // Send the data only to the destination client + std::lock_guard<std::mutex> lock(member_mutex); + auto member = std::find_if(members.begin(), members.end(), + [destination_address](const Member& member) -> bool { + return member.mac_address == destination_address; + }); + if (member != members.end()) { + enet_peer_send(member->peer, 0, enet_packet); + } + } + enet_host_flush(server); +} + +void Room::RoomImpl::HandleChatPacket(const ENetEvent* event) { + Packet in_packet; + in_packet.Append(event->packet->data, event->packet->dataLength); + + in_packet.IgnoreBytes(sizeof(u8)); // Igonore the message type + std::string message; + in_packet >> message; + auto CompareNetworkAddress = [event](const Member member) -> bool { + return member.peer == event->peer; + }; + + std::lock_guard<std::mutex> lock(member_mutex); + const auto sending_member = std::find_if(members.begin(), members.end(), CompareNetworkAddress); + if (sending_member == members.end()) { + return; // Received a chat message from a unknown sender + } + + Packet out_packet; + out_packet << static_cast<u8>(IdChatMessage); + out_packet << sending_member->nickname; + out_packet << message; + + ENetPacket* enet_packet = enet_packet_create(out_packet.GetData(), out_packet.GetDataSize(), + ENET_PACKET_FLAG_RELIABLE); + for (const auto& member : members) { + if (member.peer != event->peer) + enet_peer_send(member.peer, 0, enet_packet); + } + enet_host_flush(server); +} + +void Room::RoomImpl::HandleGameNamePacket(const ENetEvent* event) { + Packet in_packet; + in_packet.Append(event->packet->data, event->packet->dataLength); + + in_packet.IgnoreBytes(sizeof(u8)); // Igonore the message type + GameInfo game_info; + in_packet >> game_info.name; + in_packet >> game_info.id; + + { + std::lock_guard<std::mutex> lock(member_mutex); + auto member = + std::find_if(members.begin(), members.end(), [event](const Member& member) -> bool { + return member.peer == event->peer; + }); + if (member != members.end()) { + member->game_info = game_info; + } + } + BroadcastRoomInformation(); +} + +void Room::RoomImpl::HandleClientDisconnection(ENetPeer* client) { + // Remove the client from the members list. + { + std::lock_guard<std::mutex> lock(member_mutex); + members.erase( + std::remove_if(members.begin(), members.end(), + [client](const Member& member) { return member.peer == client; }), + members.end()); + } + + // Announce the change to all clients. + enet_peer_disconnect(client, 0); + BroadcastRoomInformation(); +} + +// Room +Room::Room() : room_impl{std::make_unique<RoomImpl>()} {} + +Room::~Room() = default; + +void Room::Create(const std::string& name, const std::string& server_address, u16 server_port) { + ENetAddress address; + address.host = ENET_HOST_ANY; + if (!server_address.empty()) { + enet_address_set_host(&address, server_address.c_str()); + } + address.port = server_port; + + room_impl->server = enet_host_create(&address, MaxConcurrentConnections, NumChannels, 0, 0); + // TODO(B3N30): Allow specifying the maximum number of concurrent connections. + room_impl->state = State::Open; + + room_impl->room_information.name = name; + room_impl->room_information.member_slots = MaxConcurrentConnections; + room_impl->StartLoop(); +} + +Room::State Room::GetState() const { + return room_impl->state; +} + +const RoomInformation& Room::GetRoomInformation() const { + return room_impl->room_information; +} + +std::vector<Room::Member> Room::GetRoomMemberList() const { + std::vector<Room::Member> member_list; + std::lock_guard<std::mutex> lock(room_impl->member_mutex); + for (const auto& member_impl : room_impl->members) { + Member member; + member.nickname = member_impl.nickname; + member.mac_address = member_impl.mac_address; + member.game_info = member_impl.game_info; + member_list.push_back(member); + } + return member_list; +}; + +void Room::Destroy() { + room_impl->state = State::Closed; + room_impl->room_thread->join(); + room_impl->room_thread.reset(); + + if (room_impl->server) { + enet_host_destroy(room_impl->server); + } + room_impl->room_information = {}; + room_impl->server = nullptr; + { + std::lock_guard<std::mutex> lock(room_impl->member_mutex); + room_impl->members.clear(); + } + room_impl->room_information.member_slots = 0; + room_impl->room_information.name.clear(); +} + +} // namespace Network diff --git a/src/network/room.h b/src/network/room.h new file mode 100644 index 000000000..8285a4d0c --- /dev/null +++ b/src/network/room.h @@ -0,0 +1,101 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <array> +#include <memory> +#include <string> +#include <vector> +#include "common/common_types.h" + +namespace Network { + +constexpr u32 network_version = 1; ///< The version of this Room and RoomMember + +constexpr u16 DefaultRoomPort = 1234; +constexpr size_t NumChannels = 1; // Number of channels used for the connection + +struct RoomInformation { + std::string name; ///< Name of the server + u32 member_slots; ///< Maximum number of members in this room +}; + +struct GameInfo { + std::string name{""}; + u64 id{0}; +}; + +using MacAddress = std::array<u8, 6>; +/// A special MAC address that tells the room we're joining to assign us a MAC address +/// automatically. +constexpr MacAddress NoPreferredMac = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; + +// 802.11 broadcast MAC address +constexpr MacAddress BroadcastMac = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; + +// The different types of messages that can be sent. The first byte of each packet defines the type +enum RoomMessageTypes : u8 { + IdJoinRequest = 1, + IdJoinSuccess, + IdRoomInformation, + IdSetGameInfo, + IdWifiPacket, + IdChatMessage, + IdNameCollision, + IdMacCollision, + IdVersionMismatch, + IdCloseRoom +}; + +/// This is what a server [person creating a server] would use. +class Room final { +public: + enum class State : u8 { + Open, ///< The room is open and ready to accept connections. + Closed, ///< The room is not opened and can not accept connections. + }; + + struct Member { + std::string nickname; ///< The nickname of the member. + GameInfo game_info; ///< The current game of the member + MacAddress mac_address; ///< The assigned mac address of the member. + }; + + Room(); + ~Room(); + + /** + * Gets the current state of the room. + */ + State GetState() const; + + /** + * Gets the room information of the room. + */ + const RoomInformation& GetRoomInformation() const; + + /** + * Gets a list of the mbmers connected to the room. + */ + std::vector<Member> GetRoomMemberList() const; + + /** + * Creates the socket for this room. Will bind to default address if + * server is empty string. + */ + void Create(const std::string& name, const std::string& server = "", + u16 server_port = DefaultRoomPort); + + /** + * Destroys the socket + */ + void Destroy(); + +private: + class RoomImpl; + std::unique_ptr<RoomImpl> room_impl; +}; + +} // namespace Network diff --git a/src/network/room_member.cpp b/src/network/room_member.cpp new file mode 100644 index 000000000..f229ec6fd --- /dev/null +++ b/src/network/room_member.cpp @@ -0,0 +1,490 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <atomic> +#include <list> +#include <mutex> +#include <set> +#include <thread> +#include "common/assert.h" +#include "enet/enet.h" +#include "network/packet.h" +#include "network/room_member.h" + +namespace Network { + +constexpr u32 ConnectionTimeoutMs = 5000; + +class RoomMember::RoomMemberImpl { +public: + ENetHost* client = nullptr; ///< ENet network interface. + ENetPeer* server = nullptr; ///< The server peer the client is connected to + + /// Information about the clients connected to the same room as us. + MemberList member_information; + /// Information about the room we're connected to. + RoomInformation room_information; + + /// The current game name, id and version + GameInfo current_game_info; + + std::atomic<State> state{State::Idle}; ///< Current state of the RoomMember. + void SetState(const State new_state); + bool IsConnected() const; + + std::string nickname; ///< The nickname of this member. + MacAddress mac_address; ///< The mac_address of this member. + + std::mutex network_mutex; ///< Mutex that controls access to the `client` variable. + /// Thread that receives and dispatches network packets + std::unique_ptr<std::thread> loop_thread; + std::mutex send_list_mutex; ///< Mutex that controls access to the `send_list` variable. + std::list<Packet> send_list; ///< A list that stores all packets to send the async + + template <typename T> + using CallbackSet = std::set<CallbackHandle<T>>; + std::mutex callback_mutex; ///< The mutex used for handling callbacks + + class Callbacks { + public: + template <typename T> + CallbackSet<T>& Get(); + + private: + CallbackSet<WifiPacket> callback_set_wifi_packet; + CallbackSet<ChatEntry> callback_set_chat_messages; + CallbackSet<RoomInformation> callback_set_room_information; + CallbackSet<State> callback_set_state; + }; + Callbacks callbacks; ///< All CallbackSets to all events + + void MemberLoop(); + + void StartLoop(); + + /** + * Sends data to the room. It will be send on channel 0 with flag RELIABLE + * @param packet The data to send + */ + void Send(Packet&& packet); + + /** + * Sends a request to the server, asking for permission to join a room with the specified + * nickname and preferred mac. + * @params nickname The desired nickname. + * @params preferred_mac The preferred MAC address to use in the room, the NoPreferredMac tells + * the server to assign one for us. + */ + void SendJoinRequest(const std::string& nickname, + const MacAddress& preferred_mac = NoPreferredMac); + + /** + * Extracts a MAC Address from a received ENet packet. + * @param event The ENet event that was received. + */ + void HandleJoinPacket(const ENetEvent* event); + /** + * Extracts RoomInformation and MemberInformation from a received RakNet packet. + * @param event The ENet event that was received. + */ + void HandleRoomInformationPacket(const ENetEvent* event); + + /** + * Extracts a WifiPacket from a received ENet packet. + * @param event The ENet event that was received. + */ + void HandleWifiPackets(const ENetEvent* event); + + /** + * Extracts a chat entry from a received ENet packet and adds it to the chat queue. + * @param event The ENet event that was received. + */ + void HandleChatPacket(const ENetEvent* event); + + /** + * Disconnects the RoomMember from the Room + */ + void Disconnect(); + + template <typename T> + void Invoke(const T& data); + + template <typename T> + CallbackHandle<T> Bind(std::function<void(const T&)> callback); +}; + +// RoomMemberImpl +void RoomMember::RoomMemberImpl::SetState(const State new_state) { + if (state != new_state) { + state = new_state; + Invoke<State>(state); + } +} + +bool RoomMember::RoomMemberImpl::IsConnected() const { + return state == State::Joining || state == State::Joined; +} + +void RoomMember::RoomMemberImpl::MemberLoop() { + // Receive packets while the connection is open + while (IsConnected()) { + std::lock_guard<std::mutex> lock(network_mutex); + ENetEvent event; + if (enet_host_service(client, &event, 100) > 0) { + switch (event.type) { + case ENET_EVENT_TYPE_RECEIVE: + switch (event.packet->data[0]) { + case IdWifiPacket: + HandleWifiPackets(&event); + break; + case IdChatMessage: + HandleChatPacket(&event); + break; + case IdRoomInformation: + HandleRoomInformationPacket(&event); + break; + case IdJoinSuccess: + // The join request was successful, we are now in the room. + // If we joined successfully, there must be at least one client in the room: us. + ASSERT_MSG(member_information.size() > 0, + "We have not yet received member information."); + HandleJoinPacket(&event); // Get the MAC Address for the client + SetState(State::Joined); + break; + case IdNameCollision: + SetState(State::NameCollision); + break; + case IdMacCollision: + SetState(State::MacCollision); + break; + case IdVersionMismatch: + SetState(State::WrongVersion); + break; + case IdCloseRoom: + SetState(State::LostConnection); + break; + } + enet_packet_destroy(event.packet); + break; + case ENET_EVENT_TYPE_DISCONNECT: + SetState(State::LostConnection); + break; + } + } + { + std::lock_guard<std::mutex> lock(send_list_mutex); + for (const auto& packet : send_list) { + ENetPacket* enetPacket = enet_packet_create(packet.GetData(), packet.GetDataSize(), + ENET_PACKET_FLAG_RELIABLE); + enet_peer_send(server, 0, enetPacket); + } + enet_host_flush(client); + send_list.clear(); + } + } + Disconnect(); +}; + +void RoomMember::RoomMemberImpl::StartLoop() { + loop_thread = std::make_unique<std::thread>(&RoomMember::RoomMemberImpl::MemberLoop, this); +} + +void RoomMember::RoomMemberImpl::Send(Packet&& packet) { + std::lock_guard<std::mutex> lock(send_list_mutex); + send_list.push_back(std::move(packet)); +} + +void RoomMember::RoomMemberImpl::SendJoinRequest(const std::string& nickname, + const MacAddress& preferred_mac) { + Packet packet; + packet << static_cast<u8>(IdJoinRequest); + packet << nickname; + packet << preferred_mac; + packet << network_version; + Send(std::move(packet)); +} + +void RoomMember::RoomMemberImpl::HandleRoomInformationPacket(const ENetEvent* event) { + Packet packet; + packet.Append(event->packet->data, event->packet->dataLength); + + // Ignore the first byte, which is the message id. + packet.IgnoreBytes(sizeof(u8)); // Igonore the message type + + RoomInformation info{}; + packet >> info.name; + packet >> info.member_slots; + room_information.name = info.name; + room_information.member_slots = info.member_slots; + + u32 num_members; + packet >> num_members; + member_information.resize(num_members); + + for (auto& member : member_information) { + packet >> member.nickname; + packet >> member.mac_address; + packet >> member.game_info.name; + packet >> member.game_info.id; + } + Invoke(room_information); +} + +void RoomMember::RoomMemberImpl::HandleJoinPacket(const ENetEvent* event) { + Packet packet; + packet.Append(event->packet->data, event->packet->dataLength); + + // Ignore the first byte, which is the message id. + packet.IgnoreBytes(sizeof(u8)); // Igonore the message type + + // Parse the MAC Address from the packet + packet >> mac_address; + SetState(State::Joined); +} + +void RoomMember::RoomMemberImpl::HandleWifiPackets(const ENetEvent* event) { + WifiPacket wifi_packet{}; + Packet packet; + packet.Append(event->packet->data, event->packet->dataLength); + + // Ignore the first byte, which is the message id. + packet.IgnoreBytes(sizeof(u8)); // Igonore the message type + + // Parse the WifiPacket from the packet + u8 frame_type; + packet >> frame_type; + WifiPacket::PacketType type = static_cast<WifiPacket::PacketType>(frame_type); + + wifi_packet.type = type; + packet >> wifi_packet.channel; + packet >> wifi_packet.transmitter_address; + packet >> wifi_packet.destination_address; + + u32 data_length; + packet >> data_length; + + packet >> wifi_packet.data; + + Invoke<WifiPacket>(wifi_packet); +} + +void RoomMember::RoomMemberImpl::HandleChatPacket(const ENetEvent* event) { + Packet packet; + packet.Append(event->packet->data, event->packet->dataLength); + + // Ignore the first byte, which is the message id. + packet.IgnoreBytes(sizeof(u8)); + + ChatEntry chat_entry{}; + packet >> chat_entry.nickname; + packet >> chat_entry.message; + Invoke<ChatEntry>(chat_entry); +} + +void RoomMember::RoomMemberImpl::Disconnect() { + member_information.clear(); + room_information.member_slots = 0; + room_information.name.clear(); + + if (!server) + return; + enet_peer_disconnect(server, 0); + + ENetEvent event; + while (enet_host_service(client, &event, ConnectionTimeoutMs) > 0) { + switch (event.type) { + case ENET_EVENT_TYPE_RECEIVE: + enet_packet_destroy(event.packet); // Ignore all incoming data + break; + case ENET_EVENT_TYPE_DISCONNECT: + server = nullptr; + return; + } + } + // didn't disconnect gracefully force disconnect + enet_peer_reset(server); + server = nullptr; +} + +template <> +RoomMember::RoomMemberImpl::CallbackSet<WifiPacket>& RoomMember::RoomMemberImpl::Callbacks::Get() { + return callback_set_wifi_packet; +} + +template <> +RoomMember::RoomMemberImpl::CallbackSet<RoomMember::State>& +RoomMember::RoomMemberImpl::Callbacks::Get() { + return callback_set_state; +} + +template <> +RoomMember::RoomMemberImpl::CallbackSet<RoomInformation>& +RoomMember::RoomMemberImpl::Callbacks::Get() { + return callback_set_room_information; +} + +template <> +RoomMember::RoomMemberImpl::CallbackSet<ChatEntry>& RoomMember::RoomMemberImpl::Callbacks::Get() { + return callback_set_chat_messages; +} + +template <typename T> +void RoomMember::RoomMemberImpl::Invoke(const T& data) { + std::lock_guard<std::mutex> lock(callback_mutex); + CallbackSet<T> callback_set = callbacks.Get<T>(); + for (auto const& callback : callback_set) + (*callback)(data); +} + +template <typename T> +RoomMember::CallbackHandle<T> RoomMember::RoomMemberImpl::Bind( + std::function<void(const T&)> callback) { + std::lock_guard<std::mutex> lock(callback_mutex); + CallbackHandle<T> handle; + handle = std::make_shared<std::function<void(const T&)>>(callback); + callbacks.Get<T>().insert(handle); + return handle; +} + +// RoomMember +RoomMember::RoomMember() : room_member_impl{std::make_unique<RoomMemberImpl>()} { + room_member_impl->client = enet_host_create(nullptr, 1, NumChannels, 0, 0); + ASSERT_MSG(room_member_impl->client != nullptr, "Could not create client"); +} + +RoomMember::~RoomMember() { + ASSERT_MSG(!IsConnected(), "RoomMember is being destroyed while connected"); + enet_host_destroy(room_member_impl->client); +} + +RoomMember::State RoomMember::GetState() const { + return room_member_impl->state; +} + +const RoomMember::MemberList& RoomMember::GetMemberInformation() const { + return room_member_impl->member_information; +} + +const std::string& RoomMember::GetNickname() const { + return room_member_impl->nickname; +} + +const MacAddress& RoomMember::GetMacAddress() const { + ASSERT_MSG(IsConnected(), "Tried to get MAC address while not connected"); + return room_member_impl->mac_address; +} + +RoomInformation RoomMember::GetRoomInformation() const { + return room_member_impl->room_information; +} + +void RoomMember::Join(const std::string& nick, const char* server_addr, u16 server_port, + u16 client_port, const MacAddress& preferred_mac) { + // If the member is connected, kill the connection first + if (room_member_impl->loop_thread && room_member_impl->loop_thread->joinable()) { + room_member_impl->SetState(State::Error); + room_member_impl->loop_thread->join(); + room_member_impl->loop_thread.reset(); + } + // If the thread isn't running but the ptr still exists, reset it + else if (room_member_impl->loop_thread) { + room_member_impl->loop_thread.reset(); + } + + ENetAddress address{}; + enet_address_set_host(&address, server_addr); + address.port = server_port; + room_member_impl->server = + enet_host_connect(room_member_impl->client, &address, NumChannels, 0); + + if (!room_member_impl->server) { + room_member_impl->SetState(State::Error); + return; + } + + ENetEvent event{}; + int net = enet_host_service(room_member_impl->client, &event, ConnectionTimeoutMs); + if (net > 0 && event.type == ENET_EVENT_TYPE_CONNECT) { + room_member_impl->nickname = nick; + room_member_impl->SetState(State::Joining); + room_member_impl->StartLoop(); + room_member_impl->SendJoinRequest(nick, preferred_mac); + SendGameInfo(room_member_impl->current_game_info); + } else { + room_member_impl->SetState(State::CouldNotConnect); + } +} + +bool RoomMember::IsConnected() const { + return room_member_impl->IsConnected(); +} + +void RoomMember::SendWifiPacket(const WifiPacket& wifi_packet) { + Packet packet; + packet << static_cast<u8>(IdWifiPacket); + packet << static_cast<u8>(wifi_packet.type); + packet << wifi_packet.channel; + packet << wifi_packet.transmitter_address; + packet << wifi_packet.destination_address; + packet << wifi_packet.data; + room_member_impl->Send(std::move(packet)); +} + +void RoomMember::SendChatMessage(const std::string& message) { + Packet packet; + packet << static_cast<u8>(IdChatMessage); + packet << message; + room_member_impl->Send(std::move(packet)); +} + +void RoomMember::SendGameInfo(const GameInfo& game_info) { + room_member_impl->current_game_info = game_info; + if (!IsConnected()) + return; + + Packet packet; + packet << static_cast<u8>(IdSetGameInfo); + packet << game_info.name; + packet << game_info.id; + room_member_impl->Send(std::move(packet)); +} + +RoomMember::CallbackHandle<RoomMember::State> RoomMember::BindOnStateChanged( + std::function<void(const RoomMember::State&)> callback) { + return room_member_impl->Bind(callback); +} + +RoomMember::CallbackHandle<WifiPacket> RoomMember::BindOnWifiPacketReceived( + std::function<void(const WifiPacket&)> callback) { + return room_member_impl->Bind(callback); +} + +RoomMember::CallbackHandle<RoomInformation> RoomMember::BindOnRoomInformationChanged( + std::function<void(const RoomInformation&)> callback) { + return room_member_impl->Bind(callback); +} + +RoomMember::CallbackHandle<ChatEntry> RoomMember::BindOnChatMessageRecieved( + std::function<void(const ChatEntry&)> callback) { + return room_member_impl->Bind(callback); +} + +template <typename T> +void RoomMember::Unbind(CallbackHandle<T> handle) { + std::lock_guard<std::mutex> lock(room_member_impl->callback_mutex); + room_member_impl->callbacks.Get<T>().erase(handle); +} + +void RoomMember::Leave() { + room_member_impl->SetState(State::Idle); + room_member_impl->loop_thread->join(); + room_member_impl->loop_thread.reset(); +} + +template void RoomMember::Unbind(CallbackHandle<WifiPacket>); +template void RoomMember::Unbind(CallbackHandle<RoomMember::State>); +template void RoomMember::Unbind(CallbackHandle<RoomInformation>); +template void RoomMember::Unbind(CallbackHandle<ChatEntry>); + +} // namespace Network diff --git a/src/network/room_member.h b/src/network/room_member.h new file mode 100644 index 000000000..98770a234 --- /dev/null +++ b/src/network/room_member.h @@ -0,0 +1,182 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <functional> +#include <memory> +#include <string> +#include <vector> +#include "common/common_types.h" +#include "network/room.h" + +namespace Network { + +/// Information about the received WiFi packets. +/// Acts as our own 802.11 header. +struct WifiPacket { + enum class PacketType : u8 { Beacon, Data, Authentication, AssociationResponse }; + PacketType type; ///< The type of 802.11 frame. + std::vector<u8> data; ///< Raw 802.11 frame data, starting at the management frame header + /// for management frames. + MacAddress transmitter_address; ///< Mac address of the transmitter. + MacAddress destination_address; ///< Mac address of the receiver. + u8 channel; ///< WiFi channel where this frame was transmitted. +}; + +/// Represents a chat message. +struct ChatEntry { + std::string nickname; ///< Nickname of the client who sent this message. + std::string message; ///< Body of the message. +}; + +/** + * This is what a client [person joining a server] would use. + * It also has to be used if you host a game yourself (You'd create both, a Room and a + * RoomMembership for yourself) + */ +class RoomMember final { +public: + enum class State : u8 { + Idle, ///< Default state + Error, ///< Some error [permissions to network device missing or something] + Joining, ///< The client is attempting to join a room. + Joined, ///< The client is connected to the room and is ready to send/receive packets. + LostConnection, ///< Connection closed + + // Reasons why connection was rejected + NameCollision, ///< Somebody is already using this name + MacCollision, ///< Somebody is already using that mac-address + WrongVersion, ///< The room version is not the same as for this RoomMember + CouldNotConnect ///< The room is not responding to a connection attempt + }; + + struct MemberInformation { + std::string nickname; ///< Nickname of the member. + GameInfo game_info; ///< Name of the game they're currently playing, or empty if they're + /// not playing anything. + MacAddress mac_address; ///< MAC address associated with this member. + }; + using MemberList = std::vector<MemberInformation>; + + // The handle for the callback functions + template <typename T> + using CallbackHandle = std::shared_ptr<std::function<void(const T&)>>; + + /** + * Unbinds a callback function from the events. + * @param handle The connection handle to disconnect + */ + template <typename T> + void Unbind(CallbackHandle<T> handle); + + RoomMember(); + ~RoomMember(); + + /** + * Returns the status of our connection to the room. + */ + State GetState() const; + + /** + * Returns information about the members in the room we're currently connected to. + */ + const MemberList& GetMemberInformation() const; + + /** + * Returns the nickname of the RoomMember. + */ + const std::string& GetNickname() const; + + /** + * Returns the MAC address of the RoomMember. + */ + const MacAddress& GetMacAddress() const; + + /** + * Returns information about the room we're currently connected to. + */ + RoomInformation GetRoomInformation() const; + + /** + * Returns whether we're connected to a server or not. + */ + bool IsConnected() const; + + /** + * Attempts to join a room at the specified address and port, using the specified nickname. + * This may fail if the username is already taken. + */ + void Join(const std::string& nickname, const char* server_addr = "127.0.0.1", + const u16 serverPort = DefaultRoomPort, const u16 clientPort = 0, + const MacAddress& preferred_mac = NoPreferredMac); + + /** + * Sends a WiFi packet to the room. + * @param packet The WiFi packet to send. + */ + void SendWifiPacket(const WifiPacket& packet); + + /** + * Sends a chat message to the room. + * @param message The contents of the message. + */ + void SendChatMessage(const std::string& message); + + /** + * Sends the current game info to the room. + * @param game_info The game information. + */ + void SendGameInfo(const GameInfo& game_info); + + /** + * Binds a function to an event that will be triggered every time the State of the member + * changed. The function wil be called every time the event is triggered. The callback function + * must not bind or unbind a function. Doing so will cause a deadlock + * @param callback The function to call + * @return A handle used for removing the function from the registered list + */ + CallbackHandle<State> BindOnStateChanged(std::function<void(const State&)> callback); + + /** + * Binds a function to an event that will be triggered every time a WifiPacket is received. + * The function wil be called everytime the event is triggered. + * The callback function must not bind or unbind a function. Doing so will cause a deadlock + * @param callback The function to call + * @return A handle used for removing the function from the registered list + */ + CallbackHandle<WifiPacket> BindOnWifiPacketReceived( + std::function<void(const WifiPacket&)> callback); + + /** + * Binds a function to an event that will be triggered every time the RoomInformation changes. + * The function wil be called every time the event is triggered. + * The callback function must not bind or unbind a function. Doing so will cause a deadlock + * @param callback The function to call + * @return A handle used for removing the function from the registered list + */ + CallbackHandle<RoomInformation> BindOnRoomInformationChanged( + std::function<void(const RoomInformation&)> callback); + + /** + * Binds a function to an event that will be triggered every time a ChatMessage is received. + * The function wil be called every time the event is triggered. + * The callback function must not bind or unbind a function. Doing so will cause a deadlock + * @param callback The function to call + * @return A handle used for removing the function from the registered list + */ + CallbackHandle<ChatEntry> BindOnChatMessageRecieved( + std::function<void(const ChatEntry&)> callback); + + /** + * Leaves the current room. + */ + void Leave(); + +private: + class RoomMemberImpl; + std::unique_ptr<RoomMemberImpl> room_member_impl; +}; + +} // namespace Network diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index a14df325a..5e9c4c2bf 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -1,5 +1,7 @@ set(SRCS common/param_package.cpp + core/arm/arm_test_common.cpp + core/arm/dyncom/arm_dyncom_vfp_tests.cpp core/file_sys/path_parser.cpp core/hle/kernel/hle_ipc.cpp glad.cpp @@ -7,6 +9,7 @@ set(SRCS ) set(HEADERS + core/arm/arm_test_common.h ) create_directory_groups(${SRCS} ${HEADERS}) diff --git a/src/tests/core/arm/arm_test_common.cpp b/src/tests/core/arm/arm_test_common.cpp new file mode 100644 index 000000000..1df6c5677 --- /dev/null +++ b/src/tests/core/arm/arm_test_common.cpp @@ -0,0 +1,123 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/core.h" +#include "core/memory_setup.h" +#include "tests/core/arm/arm_test_common.h" + +namespace ArmTests { + +TestEnvironment::TestEnvironment(bool mutable_memory_) + : mutable_memory(mutable_memory_), test_memory(std::make_shared<TestMemory>(this)) { + Memory::MapIoRegion(0x00000000, 0x80000000, test_memory); + Memory::MapIoRegion(0x80000000, 0x80000000, test_memory); +} + +TestEnvironment::~TestEnvironment() { + Memory::UnmapRegion(0x80000000, 0x80000000); + Memory::UnmapRegion(0x00000000, 0x80000000); +} + +void TestEnvironment::SetMemory64(VAddr vaddr, u64 value) { + SetMemory32(vaddr + 0, static_cast<u32>(value)); + SetMemory32(vaddr + 4, static_cast<u32>(value >> 32)); +} + +void TestEnvironment::SetMemory32(VAddr vaddr, u32 value) { + SetMemory16(vaddr + 0, static_cast<u16>(value)); + SetMemory16(vaddr + 2, static_cast<u16>(value >> 16)); +} + +void TestEnvironment::SetMemory16(VAddr vaddr, u16 value) { + SetMemory8(vaddr + 0, static_cast<u8>(value)); + SetMemory8(vaddr + 1, static_cast<u8>(value >> 8)); +} + +void TestEnvironment::SetMemory8(VAddr vaddr, u8 value) { + test_memory->data[vaddr] = value; +} + +std::vector<WriteRecord> TestEnvironment::GetWriteRecords() const { + return write_records; +} + +void TestEnvironment::ClearWriteRecords() { + write_records.clear(); +} + +TestEnvironment::TestMemory::~TestMemory() {} + +bool TestEnvironment::TestMemory::IsValidAddress(VAddr addr) { + return true; +} + +u8 TestEnvironment::TestMemory::Read8(VAddr addr) { + auto iter = data.find(addr); + if (iter == data.end()) { + return addr; // Some arbitrary data + } + return iter->second; +} + +u16 TestEnvironment::TestMemory::Read16(VAddr addr) { + return Read8(addr) | static_cast<u16>(Read8(addr + 1)) << 8; +} + +u32 TestEnvironment::TestMemory::Read32(VAddr addr) { + return Read16(addr) | static_cast<u32>(Read16(addr + 2)) << 16; +} + +u64 TestEnvironment::TestMemory::Read64(VAddr addr) { + return Read32(addr) | static_cast<u64>(Read32(addr + 4)) << 32; +} + +bool TestEnvironment::TestMemory::ReadBlock(VAddr src_addr, void* dest_buffer, size_t size) { + VAddr addr = src_addr; + u8* data = static_cast<u8*>(dest_buffer); + + for (size_t i = 0; i < size; i++, addr++, data++) { + *data = Read8(addr); + } + + return true; +} + +void TestEnvironment::TestMemory::Write8(VAddr addr, u8 data) { + env->write_records.emplace_back(8, addr, data); + if (env->mutable_memory) + env->SetMemory8(addr, data); +} + +void TestEnvironment::TestMemory::Write16(VAddr addr, u16 data) { + env->write_records.emplace_back(16, addr, data); + if (env->mutable_memory) + env->SetMemory16(addr, data); +} + +void TestEnvironment::TestMemory::Write32(VAddr addr, u32 data) { + env->write_records.emplace_back(32, addr, data); + if (env->mutable_memory) + env->SetMemory32(addr, data); +} + +void TestEnvironment::TestMemory::Write64(VAddr addr, u64 data) { + env->write_records.emplace_back(64, addr, data); + if (env->mutable_memory) + env->SetMemory64(addr, data); +} + +bool TestEnvironment::TestMemory::WriteBlock(VAddr dest_addr, const void* src_buffer, size_t size) { + VAddr addr = dest_addr; + const u8* data = static_cast<const u8*>(src_buffer); + + for (size_t i = 0; i < size; i++, addr++, data++) { + env->write_records.emplace_back(8, addr, *data); + if (env->mutable_memory) + env->SetMemory8(addr, *data); + } + + return true; +} + +} // namespace ArmTests diff --git a/src/tests/core/arm/arm_test_common.h b/src/tests/core/arm/arm_test_common.h new file mode 100644 index 000000000..592c28594 --- /dev/null +++ b/src/tests/core/arm/arm_test_common.h @@ -0,0 +1,84 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <tuple> +#include <unordered_map> +#include <vector> + +#include "common/common_types.h" +#include "core/mmio.h" + +namespace ArmTests { + +struct WriteRecord { + WriteRecord(size_t size, VAddr addr, u64 data) : size(size), addr(addr), data(data) {} + size_t size; + VAddr addr; + u64 data; + bool operator==(const WriteRecord& o) const { + return std::tie(size, addr, data) == std::tie(o.size, o.addr, o.data); + } +}; + +class TestEnvironment final { +public: + /* + * Inititalise test environment + * @param mutable_memory If false, writes to memory can never be read back. + * (Memory is immutable.) + */ + explicit TestEnvironment(bool mutable_memory = false); + + /// Shutdown test environment + ~TestEnvironment(); + + /// Sets value at memory location vaddr. + void SetMemory8(VAddr vaddr, u8 value); + void SetMemory16(VAddr vaddr, u16 value); + void SetMemory32(VAddr vaddr, u32 value); + void SetMemory64(VAddr vaddr, u64 value); + + /** + * Whenever Memory::Write{8,16,32,64} is called within the test environment, + * a new write-record is made. + * @returns A vector of write records made since they were last cleared. + */ + std::vector<WriteRecord> GetWriteRecords() const; + + /// Empties the internal write-record store. + void ClearWriteRecords(); + +private: + friend struct TestMemory; + struct TestMemory final : Memory::MMIORegion { + explicit TestMemory(TestEnvironment* env_) : env(env_) {} + TestEnvironment* env; + + ~TestMemory() override; + + bool IsValidAddress(VAddr addr) override; + + u8 Read8(VAddr addr) override; + u16 Read16(VAddr addr) override; + u32 Read32(VAddr addr) override; + u64 Read64(VAddr addr) override; + + bool ReadBlock(VAddr src_addr, void* dest_buffer, size_t size) override; + + void Write8(VAddr addr, u8 data) override; + void Write16(VAddr addr, u16 data) override; + void Write32(VAddr addr, u32 data) override; + void Write64(VAddr addr, u64 data) override; + + bool WriteBlock(VAddr dest_addr, const void* src_buffer, size_t size) override; + + std::unordered_map<VAddr, u8> data; + }; + + bool mutable_memory; + std::shared_ptr<TestMemory> test_memory; + std::vector<WriteRecord> write_records; +}; + +} // namespace ArmTests diff --git a/src/tests/core/arm/dyncom/arm_dyncom_vfp_tests.cpp b/src/tests/core/arm/dyncom/arm_dyncom_vfp_tests.cpp new file mode 100644 index 000000000..86de41773 --- /dev/null +++ b/src/tests/core/arm/dyncom/arm_dyncom_vfp_tests.cpp @@ -0,0 +1,50 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <catch.hpp> + +#include "core/arm/dyncom/arm_dyncom.h" +#include "tests/core/arm/arm_test_common.h" + +namespace ArmTests { + +struct VfpTestCase { + u32 initial_fpscr; + u32 a; + u32 b; + u32 result; + u32 final_fpscr; +}; + +TEST_CASE("ARM_DynCom (vfp): vadd", "[arm_dyncom]") { + TestEnvironment test_env(false); + test_env.SetMemory32(0, 0xEE321A03); // vadd.f32 s2, s4, s6 + test_env.SetMemory32(4, 0xEAFFFFFE); // b +#0 + + ARM_DynCom dyncom(USER32MODE); + + std::vector<VfpTestCase> test_cases{{ +#include "vfp_vadd_f32.inc" + }}; + + for (const auto& test_case : test_cases) { + dyncom.down_count = 1000; // Ensure that CoreTimeing will not be called. + dyncom.SetPC(0); + dyncom.SetVFPSystemReg(VFP_FPSCR, test_case.initial_fpscr); + dyncom.SetVFPReg(4, test_case.a); + dyncom.SetVFPReg(6, test_case.b); + dyncom.ExecuteInstructions(1); + if (dyncom.GetVFPReg(2) != test_case.result || + dyncom.GetVFPSystemReg(VFP_FPSCR) != test_case.final_fpscr) { + printf("f: %x\n", test_case.initial_fpscr); + printf("a: %x\n", test_case.a); + printf("b: %x\n", test_case.b); + printf("c: %x (%x)\n", dyncom.GetVFPReg(2), test_case.result); + printf("f: %x (%x)\n", dyncom.GetVFPSystemReg(VFP_FPSCR), test_case.final_fpscr); + FAIL(); + } + } +} + +} // namespace ArmTests
\ No newline at end of file diff --git a/src/tests/core/arm/dyncom/vfp_vadd_f32.inc b/src/tests/core/arm/dyncom/vfp_vadd_f32.inc new file mode 100644 index 000000000..d0032c2e6 --- /dev/null +++ b/src/tests/core/arm/dyncom/vfp_vadd_f32.inc @@ -0,0 +1,13456 @@ +{0x3c00000, 0x0, 0x0, 0x0, 0x3c00000}, +{0x3c00000, 0x0, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x800000, 0x800000, 0x3c00000}, +{0x3c00000, 0x0, 0x800002, 0x800002, 0x3c00000}, +{0x3c00000, 0x0, 0x1398437, 0x1398437, 0x3c00000}, +{0x3c00000, 0x0, 0xba98d27, 0xba98d27, 0x3c00000}, +{0x3c00000, 0x0, 0xba98d7a, 0xba98d7a, 0x3c00000}, +{0x3c00000, 0x0, 0x751f853a, 0x751f853a, 0x3c00000}, +{0x3c00000, 0x0, 0x7f7ffff0, 0x7f7ffff0, 0x3c00000}, +{0x3c00000, 0x0, 0x7f7fffff, 0x7f7fffff, 0x3c00000}, +{0x3c00000, 0x0, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x0, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x0, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x0, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x0, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x0, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x0, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x0, 0x80000000, 0x0, 0x3c00000}, +{0x3c00000, 0x0, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x0, 0x80800000, 0x80800000, 0x3c00000}, +{0x3c00000, 0x0, 0x80800002, 0x80800002, 0x3c00000}, +{0x3c00000, 0x0, 0x81398437, 0x81398437, 0x3c00000}, +{0x3c00000, 0x0, 0x8ba98d27, 0x8ba98d27, 0x3c00000}, +{0x3c00000, 0x0, 0x8ba98d7a, 0x8ba98d7a, 0x3c00000}, +{0x3c00000, 0x0, 0xf51f853a, 0xf51f853a, 0x3c00000}, +{0x3c00000, 0x0, 0xff7ffff0, 0xff7ffff0, 0x3c00000}, +{0x3c00000, 0x0, 0xff7fffff, 0xff7fffff, 0x3c00000}, +{0x3c00000, 0x0, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x0, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x0, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x0, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x0, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x0, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x0, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x0, 0x4f3495cb, 0x4f3495cb, 0x3c00000}, +{0x3c00000, 0x0, 0xe73a5134, 0xe73a5134, 0x3c00000}, +{0x3c00000, 0x0, 0x7c994e9e, 0x7c994e9e, 0x3c00000}, +{0x3c00000, 0x0, 0x6164bd6c, 0x6164bd6c, 0x3c00000}, +{0x3c00000, 0x0, 0x9503366, 0x9503366, 0x3c00000}, +{0x3c00000, 0x0, 0xbf5a97c9, 0xbf5a97c9, 0x3c00000}, +{0x3c00000, 0x0, 0xe6ff1a14, 0xe6ff1a14, 0x3c00000}, +{0x3c00000, 0x0, 0x77f31e2f, 0x77f31e2f, 0x3c00000}, +{0x3c00000, 0x0, 0xaab4d7d8, 0xaab4d7d8, 0x3c00000}, +{0x3c00000, 0x0, 0x966320b, 0x966320b, 0x3c00000}, +{0x3c00000, 0x0, 0xb26bddee, 0xb26bddee, 0x3c00000}, +{0x3c00000, 0x0, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00000}, +{0x3c00000, 0x0, 0x317285d3, 0x317285d3, 0x3c00000}, +{0x3c00000, 0x0, 0x3c9623b1, 0x3c9623b1, 0x3c00000}, +{0x3c00000, 0x0, 0x51fd2c7c, 0x51fd2c7c, 0x3c00000}, +{0x3c00000, 0x0, 0x7b906a6c, 0x7b906a6c, 0x3c00000}, +{0x3c00000, 0x1, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x1, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x1, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x1, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x1, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x1, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x1, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x1, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x1, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x1, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x1, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x1, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x1, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x1, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x1, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x1, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x1, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x1, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x1, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x1, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x1, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x1, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x1, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x1, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x1, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x1, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x1, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x1, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x1, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x1, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x1, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x1, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x1, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x1, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x1, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x1, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x1, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x1, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x1, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x1, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x1, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x1, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x1, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x1, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x1, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x1, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x76, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x76, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x76, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x76, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x76, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x76, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x76, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x76, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x76, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x76, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x76, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x76, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x76, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x76, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x76, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x76, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x76, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x76, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x76, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x76, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x76, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x76, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x76, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x76, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x76, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x76, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x76, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x76, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x76, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x76, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x76, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x76, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x76, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x76, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x76, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x76, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x76, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x76, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x76, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x76, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x76, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x76, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x76, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x76, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x76, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x76, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x76, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x2b94, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x2b94, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x2b94, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x2b94, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x2b94, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x2b94, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x2b94, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x2b94, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x2b94, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x2b94, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x2b94, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x2b94, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x2b94, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x2b94, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x2b94, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x2b94, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x2b94, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x2b94, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x2b94, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x2b94, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x2b94, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x2b94, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x2b94, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x2b94, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x2b94, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x2b94, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x2b94, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x2b94, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x2b94, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x2b94, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x2b94, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x2b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x2b94, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x2b94, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x2b94, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x2b94, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x636d24, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x636d24, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x636d24, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x636d24, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x636d24, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x636d24, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x636d24, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x636d24, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x636d24, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x636d24, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x636d24, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x636d24, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x636d24, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x636d24, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x636d24, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x636d24, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x636d24, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x636d24, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x636d24, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x636d24, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x636d24, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x636d24, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x636d24, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x636d24, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x636d24, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x636d24, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x636d24, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x636d24, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x636d24, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x636d24, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fffff, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fffff, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fffff, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fffff, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fffff, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fffff, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x7fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x7fffff, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x800000, 0x0, 0x800000, 0x3c00000}, +{0x3c00000, 0x800000, 0x1, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x76, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x2b94, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x636d24, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x7fffff, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x800000, 0x1000000, 0x3c00000}, +{0x3c00000, 0x800000, 0x800002, 0x1000001, 0x3c00000}, +{0x3c00000, 0x800000, 0x1398437, 0x1798437, 0x3c00000}, +{0x3c00000, 0x800000, 0xba98d27, 0xba98d29, 0x3c00000}, +{0x3c00000, 0x800000, 0xba98d7a, 0xba98d7c, 0x3c00000}, +{0x3c00000, 0x800000, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x800000, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x800000, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x800000, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x800000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800000, 0x80000000, 0x800000, 0x3c00000}, +{0x3c00000, 0x800000, 0x80000001, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x80000076, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x80002b94, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x80636d24, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x807fffff, 0x800000, 0x3c00080}, +{0x3c00000, 0x800000, 0x80800000, 0x0, 0x3c00000}, +{0x3c00000, 0x800000, 0x80800002, 0x0, 0x3c00008}, +{0x3c00000, 0x800000, 0x81398437, 0x80f3086e, 0x3c00000}, +{0x3c00000, 0x800000, 0x8ba98d27, 0x8ba98d25, 0x3c00000}, +{0x3c00000, 0x800000, 0x8ba98d7a, 0x8ba98d78, 0x3c00000}, +{0x3c00000, 0x800000, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x800000, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x800000, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x800000, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x800000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800000, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x800000, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x800000, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x800000, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x800000, 0x9503366, 0x95033a6, 0x3c00000}, +{0x3c00000, 0x800000, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0x800000, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x800000, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x800000, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0x800000, 0x966320b, 0x966324b, 0x3c00000}, +{0x3c00000, 0x800000, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0x800000, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0x800000, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x800000, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x800000, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x800000, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x800002, 0x0, 0x800002, 0x3c00000}, +{0x3c00000, 0x800002, 0x1, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x76, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x2b94, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x636d24, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x7fffff, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x800000, 0x1000001, 0x3c00000}, +{0x3c00000, 0x800002, 0x800002, 0x1000002, 0x3c00000}, +{0x3c00000, 0x800002, 0x1398437, 0x1798438, 0x3c00000}, +{0x3c00000, 0x800002, 0xba98d27, 0xba98d29, 0x3c00010}, +{0x3c00000, 0x800002, 0xba98d7a, 0xba98d7c, 0x3c00010}, +{0x3c00000, 0x800002, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x800002, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x800002, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x800002, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x800002, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800002, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800002, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800002, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800002, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800002, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800002, 0x80000000, 0x800002, 0x3c00000}, +{0x3c00000, 0x800002, 0x80000001, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x80000076, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x80002b94, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x80636d24, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x807fffff, 0x800002, 0x3c00080}, +{0x3c00000, 0x800002, 0x80800000, 0x0, 0x3c00008}, +{0x3c00000, 0x800002, 0x80800002, 0x0, 0x3c00000}, +{0x3c00000, 0x800002, 0x81398437, 0x80f3086c, 0x3c00000}, +{0x3c00000, 0x800002, 0x8ba98d27, 0x8ba98d24, 0x3c00010}, +{0x3c00000, 0x800002, 0x8ba98d7a, 0x8ba98d77, 0x3c00010}, +{0x3c00000, 0x800002, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x800002, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x800002, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x800002, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x800002, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800002, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800002, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x800002, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800002, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800002, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x800002, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x800002, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x800002, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x800002, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x800002, 0x9503366, 0x95033a6, 0x3c00010}, +{0x3c00000, 0x800002, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0x800002, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x800002, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x800002, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0x800002, 0x966320b, 0x966324b, 0x3c00010}, +{0x3c00000, 0x800002, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0x800002, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0x800002, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x800002, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x800002, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x800002, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x1398437, 0x0, 0x1398437, 0x3c00000}, +{0x3c00000, 0x1398437, 0x1, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x76, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x2b94, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x636d24, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x7fffff, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x800000, 0x1798437, 0x3c00000}, +{0x3c00000, 0x1398437, 0x800002, 0x1798438, 0x3c00000}, +{0x3c00000, 0x1398437, 0x1398437, 0x1b98437, 0x3c00000}, +{0x3c00000, 0x1398437, 0xba98d27, 0xba98d2c, 0x3c00010}, +{0x3c00000, 0x1398437, 0xba98d7a, 0xba98d7f, 0x3c00010}, +{0x3c00000, 0x1398437, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x1398437, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x1398437, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x1398437, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x1398437, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x1398437, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x1398437, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x1398437, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x1398437, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x1398437, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x1398437, 0x80000000, 0x1398437, 0x3c00000}, +{0x3c00000, 0x1398437, 0x80000001, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x80000076, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x80002b94, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x80636d24, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x807fffff, 0x1398437, 0x3c00080}, +{0x3c00000, 0x1398437, 0x80800000, 0xf3086e, 0x3c00000}, +{0x3c00000, 0x1398437, 0x80800002, 0xf3086c, 0x3c00000}, +{0x3c00000, 0x1398437, 0x81398437, 0x0, 0x3c00000}, +{0x3c00000, 0x1398437, 0x8ba98d27, 0x8ba98d21, 0x3c00010}, +{0x3c00000, 0x1398437, 0x8ba98d7a, 0x8ba98d74, 0x3c00010}, +{0x3c00000, 0x1398437, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x1398437, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x1398437, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x1398437, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x1398437, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x1398437, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x1398437, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x1398437, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x1398437, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x1398437, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x1398437, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x1398437, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x1398437, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x1398437, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x1398437, 0x9503366, 0x950341f, 0x3c00010}, +{0x3c00000, 0x1398437, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0x1398437, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x1398437, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x1398437, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0x1398437, 0x966320b, 0x96632c4, 0x3c00010}, +{0x3c00000, 0x1398437, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0x1398437, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0x1398437, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x1398437, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x1398437, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x1398437, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x0, 0xba98d27, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x1, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x76, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x2b94, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x636d24, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x7fffff, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x800000, 0xba98d29, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x800002, 0xba98d29, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x1398437, 0xba98d2c, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xba98d27, 0xc298d27, 0x3c00000}, +{0x3c00000, 0xba98d27, 0xba98d7a, 0xc298d50, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d27, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d27, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d27, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x80000000, 0xba98d27, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x80000001, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x80000076, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x80002b94, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x80636d24, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x807fffff, 0xba98d27, 0x3c00080}, +{0x3c00000, 0xba98d27, 0x80800000, 0xba98d25, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x80800002, 0xba98d24, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x81398437, 0xba98d21, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x8ba98d27, 0x0, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x8ba98d7a, 0x83260000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d27, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d27, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d27, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d27, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x9503366, 0xbb00ec2, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x966320b, 0xbb0beb7, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xba98d27, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0xba98d27, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x0, 0xba98d7a, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x1, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x76, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x2b94, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x636d24, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x7fffff, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x800000, 0xba98d7c, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x800002, 0xba98d7c, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x1398437, 0xba98d7f, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xba98d27, 0xc298d50, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xba98d7a, 0xc298d7a, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d7a, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d7a, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d7a, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x80000000, 0xba98d7a, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x80000001, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x80000076, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x80002b94, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x80636d24, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x807fffff, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0xba98d7a, 0x80800000, 0xba98d78, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x80800002, 0xba98d77, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x81398437, 0xba98d74, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x8ba98d27, 0x3260000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x8ba98d7a, 0x0, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d7a, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d7a, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xba98d7a, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xba98d7a, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x9503366, 0xbb00f15, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x966320b, 0xbb0bf0a, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0xba98d7a, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x0, 0x751f853a, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x1, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x76, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x2b94, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x636d24, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x7fffff, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x800000, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x800002, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x1398437, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xba98d27, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xba98d7a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x751f853a, 0x759f853a, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x7f7ffff0, 0x7f7ffff9, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x7f7fffff, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x751f853a, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x751f853a, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x751f853a, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x751f853a, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x80000000, 0x751f853a, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x80000001, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x80000076, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x80002b94, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x80636d24, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x807fffff, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x751f853a, 0x80800000, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x80800002, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x81398437, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x8ba98d27, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x8ba98d7a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xf51f853a, 0x0, 0x3c00000}, +{0x3c00000, 0x751f853a, 0xff7ffff0, 0xff7fffe6, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xff7fffff, 0xff7ffff5, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x751f853a, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x751f853a, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x751f853a, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x751f853a, 0x4f3495cb, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xe73a5134, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x7c994e9e, 0x7c994fdd, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x6164bd6c, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x9503366, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xbf5a97c9, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xe6ff1a14, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x77f31e2f, 0x77f81a58, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xaab4d7d8, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x966320b, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xb26bddee, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0xb5c8e5d3, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x317285d3, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x3c9623b1, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x51fd2c7c, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x751f853a, 0x7b906a6c, 0x7b906f68, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x0, 0x7f7ffff0, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x1, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x76, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x2b94, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x636d24, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x7fffff, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x800000, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x800002, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x1398437, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xba98d27, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xba98d7a, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x751f853a, 0x7f7ffff9, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x7f7ffff0, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7ffff0, 0x7f7fffff, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7ffff0, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7ffff0, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7ffff0, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7ffff0, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x80000000, 0x7f7ffff0, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x80000001, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x80000076, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x80002b94, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x80636d24, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x807fffff, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x7f7ffff0, 0x80800000, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x80800002, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x81398437, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x8ba98d27, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x8ba98d7a, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xf51f853a, 0x7f7fffe6, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xff7ffff0, 0x0, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0xff7fffff, 0xf5700000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7ffff0, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7ffff0, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7ffff0, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7ffff0, 0x4f3495cb, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xe73a5134, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x7c994e9e, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7ffff0, 0x6164bd6c, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x9503366, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xbf5a97c9, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xe6ff1a14, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x77f31e2f, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7ffff0, 0xaab4d7d8, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x966320b, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xb26bddee, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0xb5c8e5d3, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x317285d3, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x3c9623b1, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x51fd2c7c, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x7f7ffff0, 0x7b906a6c, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7fffff, 0x0, 0x7f7fffff, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x1, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x76, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x2b94, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x636d24, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x800000, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x800002, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x1398437, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xba98d27, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xba98d7a, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x751f853a, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7fffff, 0x7f7ffff0, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7fffff, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7fffff, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7fffff, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7fffff, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x80000000, 0x7f7fffff, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x80000001, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x80000076, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x80002b94, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x80636d24, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x807fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x7f7fffff, 0x80800000, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x80800002, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x81398437, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x8ba98d27, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x8ba98d7a, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xf51f853a, 0x7f7ffff5, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xff7ffff0, 0x75700000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0xff7fffff, 0x0, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7fffff, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7fffff, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f7fffff, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f7fffff, 0x4f3495cb, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xe73a5134, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x7c994e9e, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7fffff, 0x6164bd6c, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x9503366, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xbf5a97c9, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xe6ff1a14, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x77f31e2f, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f7fffff, 0xaab4d7d8, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x966320b, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xb26bddee, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0xb5c8e5d3, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x317285d3, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x3c9623b1, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x51fd2c7c, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x7f7fffff, 0x7b906a6c, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7f800000, 0x0, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x1, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x76, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x2b94, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x636d24, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x7fffff, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x800002, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x1398437, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xba98d27, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xba98d7a, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x751f853a, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7f7ffff0, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7f7fffff, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x80000000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x80000001, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x80000076, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x80002b94, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x80636d24, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x807fffff, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x7f800000, 0x80800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x80800002, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x81398437, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x8ba98d27, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x8ba98d7a, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xf51f853a, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xff7ffff0, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xff7fffff, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x4f3495cb, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xe73a5134, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7c994e9e, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x6164bd6c, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x9503366, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xbf5a97c9, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xe6ff1a14, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x77f31e2f, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xaab4d7d8, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x966320b, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xb26bddee, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0xb5c8e5d3, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x317285d3, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x3c9623b1, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x51fd2c7c, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800000, 0x7b906a6c, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7f800001, 0x0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x1, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x76, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x2b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x7fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x1398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x751f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7f7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7f7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7fc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7fd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7fffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x80000000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x80000001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x80000076, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x80002b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x80636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x807fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f800001, 0x80800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x80800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x81398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x8ba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x8ba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xf51f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xff7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xff7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xffc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xffd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xffffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x4f3495cb, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xe73a5134, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7c994e9e, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x6164bd6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x9503366, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xbf5a97c9, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xe6ff1a14, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x77f31e2f, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xaab4d7d8, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x966320b, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xb26bddee, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0xb5c8e5d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x317285d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x3c9623b1, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x51fd2c7c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f800001, 0x7b906a6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x1, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x76, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x2b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x7fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x1398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x751f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7f7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7f7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7fc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7fd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7fffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x80000000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x80000001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x80000076, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x80002b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x80636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x807fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7f984a37, 0x80800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x80800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x81398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x8ba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x8ba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xf51f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xff7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xff7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xffc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xffd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xffffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x4f3495cb, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xe73a5134, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7c994e9e, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x6164bd6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x9503366, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xbf5a97c9, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xe6ff1a14, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x77f31e2f, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xaab4d7d8, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x966320b, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xb26bddee, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0xb5c8e5d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x317285d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x3c9623b1, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x51fd2c7c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7f984a37, 0x7b906a6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x1, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x76, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x2b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x7fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x1398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x751f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7f7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7f7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7fc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7fd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7fffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x80000000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x80000001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x80000076, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x80002b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x80636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x807fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x7fbfffff, 0x80800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x80800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x81398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x8ba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x8ba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xf51f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xff7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xff7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xffc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xffd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xffffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x4f3495cb, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xe73a5134, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7c994e9e, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x6164bd6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x9503366, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xbf5a97c9, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xe6ff1a14, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x77f31e2f, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xaab4d7d8, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x966320b, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xb26bddee, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x317285d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x3c9623b1, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x51fd2c7c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fbfffff, 0x7b906a6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0x0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x1, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x76, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x2b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x7fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x1398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x751f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7f7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7f7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7f800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x80000000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x80000001, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x80000076, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x80002b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x80636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x807fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fc00000, 0x80800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x80800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x81398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x8ba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x8ba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xf51f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xff7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xff7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xff800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fc00000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x4f3495cb, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xe73a5134, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7c994e9e, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x6164bd6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x9503366, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xbf5a97c9, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xe6ff1a14, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x77f31e2f, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xaab4d7d8, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x966320b, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xb26bddee, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0xb5c8e5d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x317285d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x3c9623b1, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x51fd2c7c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fc00000, 0x7b906a6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x1, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x76, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x2b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x7fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x1398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x751f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7f7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7f800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fd9ba98, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fd9ba98, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fd9ba98, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x80000000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x80000001, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x80000076, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x80002b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x80636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x807fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fd9ba98, 0x80800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x80800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x81398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x8ba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xf51f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xff7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xff7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xff800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fd9ba98, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fd9ba98, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fd9ba98, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x4f3495cb, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xe73a5134, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7c994e9e, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x6164bd6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x9503366, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x77f31e2f, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x966320b, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xb26bddee, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x317285d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x3c9623b1, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fd9ba98, 0x7b906a6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x1, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x76, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x2b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x7fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x1398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x751f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7f7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7f7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7f800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fffffff, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fffffff, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fffffff, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x80000000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x80000001, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x80000076, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x80002b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x80636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x807fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x7fffffff, 0x80800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x80800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x81398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x8ba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x8ba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xf51f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xff7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xff7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xff800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fffffff, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fffffff, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7fffffff, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x4f3495cb, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xe73a5134, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7c994e9e, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x6164bd6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x9503366, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xbf5a97c9, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xe6ff1a14, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x77f31e2f, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xaab4d7d8, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x966320b, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xb26bddee, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0xb5c8e5d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x317285d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x3c9623b1, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x51fd2c7c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7fffffff, 0x7b906a6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x0, 0x0, 0x3c00000}, +{0x3c00000, 0x80000000, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x800000, 0x800000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x800002, 0x800002, 0x3c00000}, +{0x3c00000, 0x80000000, 0x1398437, 0x1398437, 0x3c00000}, +{0x3c00000, 0x80000000, 0xba98d27, 0xba98d27, 0x3c00000}, +{0x3c00000, 0x80000000, 0xba98d7a, 0xba98d7a, 0x3c00000}, +{0x3c00000, 0x80000000, 0x751f853a, 0x751f853a, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7f7ffff0, 0x7f7ffff0, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7f7fffff, 0x7f7fffff, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80000000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80000000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80000000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x80000000, 0x80000000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80000000, 0x80800000, 0x80800000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x80800002, 0x80800002, 0x3c00000}, +{0x3c00000, 0x80000000, 0x81398437, 0x81398437, 0x3c00000}, +{0x3c00000, 0x80000000, 0x8ba98d27, 0x8ba98d27, 0x3c00000}, +{0x3c00000, 0x80000000, 0x8ba98d7a, 0x8ba98d7a, 0x3c00000}, +{0x3c00000, 0x80000000, 0xf51f853a, 0xf51f853a, 0x3c00000}, +{0x3c00000, 0x80000000, 0xff7ffff0, 0xff7ffff0, 0x3c00000}, +{0x3c00000, 0x80000000, 0xff7fffff, 0xff7fffff, 0x3c00000}, +{0x3c00000, 0x80000000, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x80000000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80000000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80000000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80000000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80000000, 0x4f3495cb, 0x4f3495cb, 0x3c00000}, +{0x3c00000, 0x80000000, 0xe73a5134, 0xe73a5134, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7c994e9e, 0x7c994e9e, 0x3c00000}, +{0x3c00000, 0x80000000, 0x6164bd6c, 0x6164bd6c, 0x3c00000}, +{0x3c00000, 0x80000000, 0x9503366, 0x9503366, 0x3c00000}, +{0x3c00000, 0x80000000, 0xbf5a97c9, 0xbf5a97c9, 0x3c00000}, +{0x3c00000, 0x80000000, 0xe6ff1a14, 0xe6ff1a14, 0x3c00000}, +{0x3c00000, 0x80000000, 0x77f31e2f, 0x77f31e2f, 0x3c00000}, +{0x3c00000, 0x80000000, 0xaab4d7d8, 0xaab4d7d8, 0x3c00000}, +{0x3c00000, 0x80000000, 0x966320b, 0x966320b, 0x3c00000}, +{0x3c00000, 0x80000000, 0xb26bddee, 0xb26bddee, 0x3c00000}, +{0x3c00000, 0x80000000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00000}, +{0x3c00000, 0x80000000, 0x317285d3, 0x317285d3, 0x3c00000}, +{0x3c00000, 0x80000000, 0x3c9623b1, 0x3c9623b1, 0x3c00000}, +{0x3c00000, 0x80000000, 0x51fd2c7c, 0x51fd2c7c, 0x3c00000}, +{0x3c00000, 0x80000000, 0x7b906a6c, 0x7b906a6c, 0x3c00000}, +{0x3c00000, 0x80000001, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x80000001, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x80000001, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x80000001, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x80000001, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000001, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000001, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000001, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80000001, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x80000001, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x80000001, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x80000001, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x80000001, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x80000001, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x80000001, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x80000001, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000001, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000001, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000001, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000001, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000001, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000001, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x80000001, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x80000001, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x80000001, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x80000001, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x80000001, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x80000001, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x80000001, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x80000001, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x80000001, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x80000001, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x80000001, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x80000001, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x80000001, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x80000001, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x80000076, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x80000076, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x80000076, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x80000076, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x80000076, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000076, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000076, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000076, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80000076, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x80000076, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x80000076, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x80000076, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x80000076, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x80000076, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x80000076, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x80000076, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000076, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000076, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80000076, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000076, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000076, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80000076, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x80000076, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x80000076, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x80000076, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x80000076, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x80000076, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x80000076, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x80000076, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x80000076, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x80000076, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x80000076, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x80000076, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x80000076, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x80000076, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x80000076, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80002b94, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80002b94, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80002b94, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80002b94, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80002b94, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80002b94, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x80002b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x80002b94, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80636d24, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80636d24, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80636d24, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80636d24, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80636d24, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x80636d24, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x80636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x80636d24, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x0, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x1, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x76, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x2b94, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x800000, 0x800000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x800002, 0x800002, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x1398437, 0x1398437, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xba98d27, 0xba98d27, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xba98d7a, 0xba98d7a, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x751f853a, 0x751f853a, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7f7fffff, 0x7f7fffff, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7f800000, 0x7f800000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7f800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x807fffff, 0x7f984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x807fffff, 0x7fbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x807fffff, 0x7fc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7fd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7fffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80000000, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80000001, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80000076, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80002b94, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80636d24, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x807fffff, 0x0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80800000, 0x80800000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x80800002, 0x80800002, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x81398437, 0x81398437, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x8ba98d27, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xf51f853a, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xff7ffff0, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xff7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xff800000, 0xff800000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xff800001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x807fffff, 0xff984a37, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x807fffff, 0xffbfffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0x807fffff, 0xffc00000, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xffd9ba98, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xffffffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x4f3495cb, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xe73a5134, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7c994e9e, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x6164bd6c, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x9503366, 0x9503366, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x77f31e2f, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x966320b, 0x966320b, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xb26bddee, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0x807fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x317285d3, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x3c9623b1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x807fffff, 0x7b906a6c, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x80800000, 0x0, 0x80800000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x1, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x76, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x2b94, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x636d24, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x7fffff, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x800000, 0x0, 0x3c00000}, +{0x3c00000, 0x80800000, 0x800002, 0x0, 0x3c00008}, +{0x3c00000, 0x80800000, 0x1398437, 0xf3086e, 0x3c00000}, +{0x3c00000, 0x80800000, 0xba98d27, 0xba98d25, 0x3c00000}, +{0x3c00000, 0x80800000, 0xba98d7a, 0xba98d78, 0x3c00000}, +{0x3c00000, 0x80800000, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x80800000, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x80800000, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x80800000, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x80000000, 0x80800000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x80000001, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x80000076, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x80002b94, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x80636d24, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x807fffff, 0x80800000, 0x3c00080}, +{0x3c00000, 0x80800000, 0x80800000, 0x81000000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x80800002, 0x81000001, 0x3c00000}, +{0x3c00000, 0x80800000, 0x81398437, 0x81798437, 0x3c00000}, +{0x3c00000, 0x80800000, 0x8ba98d27, 0x8ba98d29, 0x3c00000}, +{0x3c00000, 0x80800000, 0x8ba98d7a, 0x8ba98d7c, 0x3c00000}, +{0x3c00000, 0x80800000, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0x80800000, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0x80800000, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0x80800000, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x80800000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800000, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x80800000, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0x80800000, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x80800000, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x80800000, 0x9503366, 0x9503326, 0x3c00000}, +{0x3c00000, 0x80800000, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0x80800000, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0x80800000, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x80800000, 0xaab4d7d8, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0x80800000, 0x966320b, 0x96631cb, 0x3c00000}, +{0x3c00000, 0x80800000, 0xb26bddee, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0x80800000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0x80800000, 0x317285d3, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x80800000, 0x3c9623b1, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x80800000, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x80800000, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x80800002, 0x0, 0x80800002, 0x3c00000}, +{0x3c00000, 0x80800002, 0x1, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x76, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x2b94, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x636d24, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x7fffff, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x800000, 0x0, 0x3c00008}, +{0x3c00000, 0x80800002, 0x800002, 0x0, 0x3c00000}, +{0x3c00000, 0x80800002, 0x1398437, 0xf3086c, 0x3c00000}, +{0x3c00000, 0x80800002, 0xba98d27, 0xba98d24, 0x3c00010}, +{0x3c00000, 0x80800002, 0xba98d7a, 0xba98d77, 0x3c00010}, +{0x3c00000, 0x80800002, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x80800002, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x80800002, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x80800002, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x80800002, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800002, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800002, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800002, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800002, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800002, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800002, 0x80000000, 0x80800002, 0x3c00000}, +{0x3c00000, 0x80800002, 0x80000001, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x80000076, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x80002b94, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x80636d24, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x807fffff, 0x80800002, 0x3c00080}, +{0x3c00000, 0x80800002, 0x80800000, 0x81000001, 0x3c00000}, +{0x3c00000, 0x80800002, 0x80800002, 0x81000002, 0x3c00000}, +{0x3c00000, 0x80800002, 0x81398437, 0x81798438, 0x3c00000}, +{0x3c00000, 0x80800002, 0x8ba98d27, 0x8ba98d29, 0x3c00010}, +{0x3c00000, 0x80800002, 0x8ba98d7a, 0x8ba98d7c, 0x3c00010}, +{0x3c00000, 0x80800002, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0x80800002, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0x80800002, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0x80800002, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x80800002, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800002, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800002, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x80800002, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800002, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800002, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x80800002, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x80800002, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0x80800002, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x80800002, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x80800002, 0x9503366, 0x9503325, 0x3c00010}, +{0x3c00000, 0x80800002, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0x80800002, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0x80800002, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x80800002, 0xaab4d7d8, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0x80800002, 0x966320b, 0x96631ca, 0x3c00010}, +{0x3c00000, 0x80800002, 0xb26bddee, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0x80800002, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0x80800002, 0x317285d3, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x80800002, 0x3c9623b1, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x80800002, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x80800002, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x81398437, 0x0, 0x81398437, 0x3c00000}, +{0x3c00000, 0x81398437, 0x1, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x76, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x2b94, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x636d24, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x7fffff, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x800000, 0x80f3086e, 0x3c00000}, +{0x3c00000, 0x81398437, 0x800002, 0x80f3086c, 0x3c00000}, +{0x3c00000, 0x81398437, 0x1398437, 0x0, 0x3c00000}, +{0x3c00000, 0x81398437, 0xba98d27, 0xba98d21, 0x3c00010}, +{0x3c00000, 0x81398437, 0xba98d7a, 0xba98d74, 0x3c00010}, +{0x3c00000, 0x81398437, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x81398437, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x81398437, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x81398437, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x81398437, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x81398437, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x81398437, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x81398437, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x81398437, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x81398437, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x81398437, 0x80000000, 0x81398437, 0x3c00000}, +{0x3c00000, 0x81398437, 0x80000001, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x80000076, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x80002b94, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x80636d24, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x807fffff, 0x81398437, 0x3c00080}, +{0x3c00000, 0x81398437, 0x80800000, 0x81798437, 0x3c00000}, +{0x3c00000, 0x81398437, 0x80800002, 0x81798438, 0x3c00000}, +{0x3c00000, 0x81398437, 0x81398437, 0x81b98437, 0x3c00000}, +{0x3c00000, 0x81398437, 0x8ba98d27, 0x8ba98d2c, 0x3c00010}, +{0x3c00000, 0x81398437, 0x8ba98d7a, 0x8ba98d7f, 0x3c00010}, +{0x3c00000, 0x81398437, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0x81398437, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0x81398437, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0x81398437, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x81398437, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x81398437, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x81398437, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x81398437, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x81398437, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x81398437, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x81398437, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x81398437, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0x81398437, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x81398437, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x81398437, 0x9503366, 0x95032ac, 0x3c00010}, +{0x3c00000, 0x81398437, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0x81398437, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0x81398437, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x81398437, 0xaab4d7d8, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0x81398437, 0x966320b, 0x9663151, 0x3c00010}, +{0x3c00000, 0x81398437, 0xb26bddee, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0x81398437, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0x81398437, 0x317285d3, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x81398437, 0x3c9623b1, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x81398437, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x81398437, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x0, 0x8ba98d27, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x1, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x76, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x2b94, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x636d24, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x7fffff, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x800000, 0x8ba98d25, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x800002, 0x8ba98d24, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x1398437, 0x8ba98d21, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xba98d27, 0x0, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0xba98d7a, 0x3260000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d27, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d27, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d27, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x80000000, 0x8ba98d27, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x80000001, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x80000076, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x80002b94, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x80636d24, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x807fffff, 0x8ba98d27, 0x3c00080}, +{0x3c00000, 0x8ba98d27, 0x80800000, 0x8ba98d29, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x80800002, 0x8ba98d29, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x81398437, 0x8ba98d2c, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x8ba98d27, 0x8c298d27, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x8ba98d7a, 0x8c298d50, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d27, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d27, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d27, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d27, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x9503366, 0x8ba30b8b, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xaab4d7d8, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x966320b, 0x8ba25b96, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xb26bddee, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x317285d3, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x3c9623b1, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x8ba98d27, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x0, 0x8ba98d7a, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x1, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x76, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x2b94, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x636d24, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x7fffff, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x800000, 0x8ba98d78, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x800002, 0x8ba98d77, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x1398437, 0x8ba98d74, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xba98d27, 0x83260000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0xba98d7a, 0x0, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d7a, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d7a, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d7a, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x80000000, 0x8ba98d7a, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x80000001, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x80000076, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x80002b94, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x80636d24, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x807fffff, 0x8ba98d7a, 0x3c00080}, +{0x3c00000, 0x8ba98d7a, 0x80800000, 0x8ba98d7c, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x80800002, 0x8ba98d7c, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x81398437, 0x8ba98d7f, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x8ba98d27, 0x8c298d50, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x8ba98d7a, 0x8c298d7a, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d7a, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d7a, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x8ba98d7a, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x8ba98d7a, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x9503366, 0x8ba30bde, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xaab4d7d8, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x966320b, 0x8ba25be9, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xb26bddee, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0xb5c8e5d3, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x317285d3, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x3c9623b1, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x8ba98d7a, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x0, 0xf51f853a, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x1, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x76, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x2b94, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x636d24, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x7fffff, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x800000, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x800002, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x1398437, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xba98d27, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xba98d7a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x751f853a, 0x0, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x7f7ffff0, 0x7f7fffe6, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x7f7fffff, 0x7f7ffff5, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xf51f853a, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xf51f853a, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xf51f853a, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x80000000, 0xf51f853a, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x80000001, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x80000076, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x80002b94, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x80636d24, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x807fffff, 0xf51f853a, 0x3c00080}, +{0x3c00000, 0xf51f853a, 0x80800000, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x80800002, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x81398437, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x8ba98d27, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x8ba98d7a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xf51f853a, 0xf59f853a, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0xff7ffff0, 0xff7ffff9, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xff7fffff, 0xff7fffff, 0x3c00014}, +{0x3c00000, 0xf51f853a, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xf51f853a, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xf51f853a, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xf51f853a, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xf51f853a, 0x4f3495cb, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xe73a5134, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x7c994e9e, 0x7c994d5e, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x6164bd6c, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x9503366, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xbf5a97c9, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xe6ff1a14, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x77f31e2f, 0x77ee2205, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xaab4d7d8, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x966320b, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xb26bddee, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0xb5c8e5d3, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x317285d3, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x3c9623b1, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x51fd2c7c, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0xf51f853a, 0x7b906a6c, 0x7b90656f, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x0, 0xff7ffff0, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x1, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x76, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x2b94, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x636d24, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x7fffff, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x800000, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x800002, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x1398437, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xba98d27, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xba98d7a, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x751f853a, 0xff7fffe6, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x7f7ffff0, 0x0, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x7f7fffff, 0x75700000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7ffff0, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7ffff0, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7ffff0, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x80000000, 0xff7ffff0, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x80000001, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x80000076, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x80002b94, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x80636d24, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x807fffff, 0xff7ffff0, 0x3c00080}, +{0x3c00000, 0xff7ffff0, 0x80800000, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x80800002, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x81398437, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x8ba98d27, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x8ba98d7a, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xf51f853a, 0xff7ffff9, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xff7ffff0, 0xff7fffff, 0x3c00014}, +{0x3c00000, 0xff7ffff0, 0xff7fffff, 0xff7fffff, 0x3c00014}, +{0x3c00000, 0xff7ffff0, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7ffff0, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7ffff0, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7ffff0, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7ffff0, 0x4f3495cb, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xe73a5134, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x7c994e9e, 0xff7b357b, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x6164bd6c, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x9503366, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xbf5a97c9, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xe6ff1a14, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x77f31e2f, 0xff7ffe09, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xaab4d7d8, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x966320b, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xb26bddee, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0xb5c8e5d3, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x317285d3, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x3c9623b1, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x51fd2c7c, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0xff7ffff0, 0x7b906a6c, 0xff7edf1b, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x0, 0xff7fffff, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x1, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x76, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x2b94, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x636d24, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x7fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x800000, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x800002, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x1398437, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xba98d27, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xba98d7a, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x751f853a, 0xff7ffff5, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x7f7ffff0, 0xf5700000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x7f7fffff, 0x0, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7fffff, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7fffff, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7fffff, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x80000000, 0xff7fffff, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x80000001, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x80000076, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x80002b94, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x80636d24, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x807fffff, 0xff7fffff, 0x3c00080}, +{0x3c00000, 0xff7fffff, 0x80800000, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x80800002, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x81398437, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x8ba98d27, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x8ba98d7a, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xf51f853a, 0xff7fffff, 0x3c00014}, +{0x3c00000, 0xff7fffff, 0xff7ffff0, 0xff7fffff, 0x3c00014}, +{0x3c00000, 0xff7fffff, 0xff7fffff, 0xff7fffff, 0x3c00014}, +{0x3c00000, 0xff7fffff, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7fffff, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7fffff, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff7fffff, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff7fffff, 0x4f3495cb, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xe73a5134, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x7c994e9e, 0xff7b358a, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x6164bd6c, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x9503366, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xbf5a97c9, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xe6ff1a14, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x77f31e2f, 0xff7ffe18, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xaab4d7d8, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x966320b, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xb26bddee, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0xb5c8e5d3, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x317285d3, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x3c9623b1, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x51fd2c7c, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0xff7fffff, 0x7b906a6c, 0xff7edf2a, 0x3c00010}, +{0x3c00000, 0xff800000, 0x0, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x1, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x76, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x2b94, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x636d24, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x7fffff, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x800002, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x1398437, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xba98d27, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xba98d7a, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x751f853a, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7f7ffff0, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7f7fffff, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x80000000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x80000001, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x80000076, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x80002b94, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x80636d24, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x807fffff, 0xff800000, 0x3c00080}, +{0x3c00000, 0xff800000, 0x80800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x80800002, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x81398437, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x8ba98d27, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x8ba98d7a, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xf51f853a, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xff7ffff0, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xff7fffff, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x4f3495cb, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xe73a5134, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7c994e9e, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x6164bd6c, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x9503366, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xbf5a97c9, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xe6ff1a14, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x77f31e2f, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xaab4d7d8, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x966320b, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xb26bddee, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0xb5c8e5d3, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x317285d3, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x3c9623b1, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x51fd2c7c, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800000, 0x7b906a6c, 0xff800000, 0x3c00000}, +{0x3c00000, 0xff800001, 0x0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x1, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x76, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x2b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x7fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x1398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x751f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7f7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7f7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7fc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7fd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7fffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x80000000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x80000001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x80000076, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x80002b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x80636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x807fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff800001, 0x80800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x80800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x81398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x8ba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x8ba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xf51f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xff7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xff7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xffc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xffd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xffffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x4f3495cb, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xe73a5134, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7c994e9e, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x6164bd6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x9503366, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xbf5a97c9, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xe6ff1a14, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x77f31e2f, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xaab4d7d8, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x966320b, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xb26bddee, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0xb5c8e5d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x317285d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x3c9623b1, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x51fd2c7c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff800001, 0x7b906a6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x1, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x76, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x2b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x7fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x1398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x751f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7f7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7f7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7fc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7fd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7fffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x80000000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x80000001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x80000076, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x80002b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x80636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x807fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xff984a37, 0x80800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x80800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x81398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x8ba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x8ba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xf51f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xff7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xff7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xffc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xffd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xffffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x4f3495cb, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xe73a5134, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7c994e9e, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x6164bd6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x9503366, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xbf5a97c9, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xe6ff1a14, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x77f31e2f, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xaab4d7d8, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x966320b, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xb26bddee, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0xb5c8e5d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x317285d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x3c9623b1, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x51fd2c7c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xff984a37, 0x7b906a6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x1, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x76, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x2b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x7fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x1398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x751f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7f7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7f7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7f800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7fc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7fd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7fffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x80000000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x80000001, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x80000076, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x80002b94, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x80636d24, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x807fffff, 0x7fc00000, 0x3c00081}, +{0x3c00000, 0xffbfffff, 0x80800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x80800002, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x81398437, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x8ba98d27, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x8ba98d7a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xf51f853a, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xff7ffff0, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xff7fffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xff800000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xffc00000, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xffd9ba98, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xffffffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x4f3495cb, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xe73a5134, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7c994e9e, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x6164bd6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x9503366, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xbf5a97c9, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xe6ff1a14, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x77f31e2f, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xaab4d7d8, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x966320b, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xb26bddee, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x317285d3, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x3c9623b1, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x51fd2c7c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffbfffff, 0x7b906a6c, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0x0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x1, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x76, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x2b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x7fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x1398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x751f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7f7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7f7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7f800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x80000000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x80000001, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x80000076, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x80002b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x80636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x807fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffc00000, 0x80800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x80800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x81398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x8ba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x8ba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xf51f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xff7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xff7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xff800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffc00000, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x4f3495cb, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xe73a5134, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7c994e9e, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x6164bd6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x9503366, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xbf5a97c9, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xe6ff1a14, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x77f31e2f, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xaab4d7d8, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x966320b, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xb26bddee, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0xb5c8e5d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x317285d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x3c9623b1, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x51fd2c7c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffc00000, 0x7b906a6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x1, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x76, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x2b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x7fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x1398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x751f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7f7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7f800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffd9ba98, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffd9ba98, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffd9ba98, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x80000000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x80000001, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x80000076, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x80002b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x80636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x807fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffd9ba98, 0x80800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x80800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x81398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x8ba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xf51f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xff7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xff7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xff800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffd9ba98, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffd9ba98, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffd9ba98, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x4f3495cb, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xe73a5134, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7c994e9e, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x6164bd6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x9503366, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x77f31e2f, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x966320b, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xb26bddee, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x317285d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x3c9623b1, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffd9ba98, 0x7b906a6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x1, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x76, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x2b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x7fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x1398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x751f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7f7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7f7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7f800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffffffff, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffffffff, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffffffff, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x80000000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x80000001, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x80000076, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x80002b94, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x80636d24, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x807fffff, 0x7fc00000, 0x3c00080}, +{0x3c00000, 0xffffffff, 0x80800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x80800002, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x81398437, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x8ba98d27, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x8ba98d7a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xf51f853a, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xff7ffff0, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xff7fffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xff800000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffffffff, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffffffff, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xffffffff, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x4f3495cb, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xe73a5134, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7c994e9e, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x6164bd6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x9503366, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xbf5a97c9, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xe6ff1a14, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x77f31e2f, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xaab4d7d8, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x966320b, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xb26bddee, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0xb5c8e5d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x317285d3, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x3c9623b1, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x51fd2c7c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xffffffff, 0x7b906a6c, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x0, 0x4f3495cb, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x1, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x76, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x2b94, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x636d24, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x7fffff, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x800000, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x800002, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x1398437, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xba98d27, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xba98d7a, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x4f3495cb, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x4f3495cb, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x4f3495cb, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x80000000, 0x4f3495cb, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x80000001, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x80000076, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x80002b94, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x80636d24, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x807fffff, 0x4f3495cb, 0x3c00080}, +{0x3c00000, 0x4f3495cb, 0x80800000, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x80800002, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x81398437, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x8ba98d27, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x8ba98d7a, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x4f3495cb, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x4f3495cb, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x4f3495cb, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0x4f3495cb, 0x4fb495cb, 0x3c00000}, +{0x3c00000, 0x4f3495cb, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x9503366, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xbf5a97c9, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xaab4d7d8, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x966320b, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xb26bddee, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0xb5c8e5d3, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x317285d3, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x3c9623b1, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x51fd2c7c, 0x52016895, 0x3c00010}, +{0x3c00000, 0x4f3495cb, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x0, 0xe73a5134, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x1, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x76, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x2b94, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x636d24, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x7fffff, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x800000, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x800002, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x1398437, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xba98d27, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xba98d7a, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe73a5134, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe73a5134, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe73a5134, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x80000000, 0xe73a5134, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x80000001, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x80000076, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x80002b94, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x80636d24, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x807fffff, 0xe73a5134, 0x3c00080}, +{0x3c00000, 0xe73a5134, 0x80800000, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x80800002, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x81398437, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x8ba98d27, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x8ba98d7a, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe73a5134, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe73a5134, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe73a5134, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x4f3495cb, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xe73a5134, 0xe7ba5134, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x6164bd6c, 0xe73a42e8, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x9503366, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xbf5a97c9, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xe6ff1a14, 0xe79cef1f, 0x3c00000}, +{0x3c00000, 0xe73a5134, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xaab4d7d8, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x966320b, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xb26bddee, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0xb5c8e5d3, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x317285d3, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x3c9623b1, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x51fd2c7c, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0xe73a5134, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x0, 0x7c994e9e, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x1, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x76, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x2b94, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x636d24, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x7fffff, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x800000, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x800002, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x1398437, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xba98d27, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xba98d7a, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x751f853a, 0x7c994fdd, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x7f7ffff0, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7c994e9e, 0x7f7fffff, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7c994e9e, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7c994e9e, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7c994e9e, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7c994e9e, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x80000000, 0x7c994e9e, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x80000001, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x80000076, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x80002b94, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x80636d24, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x807fffff, 0x7c994e9e, 0x3c00080}, +{0x3c00000, 0x7c994e9e, 0x80800000, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x80800002, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x81398437, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x8ba98d27, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x8ba98d7a, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xf51f853a, 0x7c994d5e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xff7ffff0, 0xff7b357b, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xff7fffff, 0xff7b358a, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7c994e9e, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7c994e9e, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7c994e9e, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x4f3495cb, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xe73a5134, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x7c994e9e, 0x7d194e9e, 0x3c00000}, +{0x3c00000, 0x7c994e9e, 0x6164bd6c, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x9503366, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xbf5a97c9, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xe6ff1a14, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x77f31e2f, 0x7c998b65, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xaab4d7d8, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x966320b, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xb26bddee, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0xb5c8e5d3, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x317285d3, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x3c9623b1, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x51fd2c7c, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x7c994e9e, 0x7b906a6c, 0x7cbd6939, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x0, 0x6164bd6c, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x1, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x76, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x2b94, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x636d24, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x7fffff, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x800000, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x800002, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x1398437, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xba98d27, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xba98d7a, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x6164bd6c, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x6164bd6c, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x6164bd6c, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x80000000, 0x6164bd6c, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x80000001, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x80000076, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x80002b94, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x80636d24, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x807fffff, 0x6164bd6c, 0x3c00080}, +{0x3c00000, 0x6164bd6c, 0x80800000, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x80800002, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x81398437, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x8ba98d27, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x8ba98d7a, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x6164bd6c, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x6164bd6c, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x6164bd6c, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x4f3495cb, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xe73a5134, 0xe73a42e8, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x6164bd6c, 0x61e4bd6c, 0x3c00000}, +{0x3c00000, 0x6164bd6c, 0x9503366, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xbf5a97c9, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xe6ff1a14, 0xe6fefd7c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xaab4d7d8, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x966320b, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xb26bddee, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0xb5c8e5d3, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x317285d3, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x3c9623b1, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x51fd2c7c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x6164bd6c, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x9503366, 0x0, 0x9503366, 0x3c00000}, +{0x3c00000, 0x9503366, 0x1, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x76, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x2b94, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x636d24, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x7fffff, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x800000, 0x95033a6, 0x3c00000}, +{0x3c00000, 0x9503366, 0x800002, 0x95033a6, 0x3c00010}, +{0x3c00000, 0x9503366, 0x1398437, 0x950341f, 0x3c00010}, +{0x3c00000, 0x9503366, 0xba98d27, 0xbb00ec2, 0x3c00010}, +{0x3c00000, 0x9503366, 0xba98d7a, 0xbb00f15, 0x3c00010}, +{0x3c00000, 0x9503366, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x9503366, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x9503366, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x9503366, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x9503366, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x9503366, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x9503366, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x9503366, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x9503366, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x9503366, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x9503366, 0x80000000, 0x9503366, 0x3c00000}, +{0x3c00000, 0x9503366, 0x80000001, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x80000076, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x80002b94, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x80636d24, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x807fffff, 0x9503366, 0x3c00080}, +{0x3c00000, 0x9503366, 0x80800000, 0x9503326, 0x3c00000}, +{0x3c00000, 0x9503366, 0x80800002, 0x9503325, 0x3c00010}, +{0x3c00000, 0x9503366, 0x81398437, 0x95032ac, 0x3c00010}, +{0x3c00000, 0x9503366, 0x8ba98d27, 0x8ba30b8b, 0x3c00010}, +{0x3c00000, 0x9503366, 0x8ba98d7a, 0x8ba30bde, 0x3c00010}, +{0x3c00000, 0x9503366, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x9503366, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x9503366, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x9503366, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x9503366, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x9503366, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x9503366, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x9503366, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x9503366, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x9503366, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x9503366, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x9503366, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x9503366, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x9503366, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x9503366, 0x9503366, 0x9d03366, 0x3c00000}, +{0x3c00000, 0x9503366, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0x9503366, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x9503366, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x9503366, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0x9503366, 0x966320b, 0x9db32b8, 0x3c00010}, +{0x3c00000, 0x9503366, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0x9503366, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0x9503366, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x9503366, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x9503366, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x9503366, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x0, 0xbf5a97c9, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x1, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x76, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x2b94, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x636d24, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x7fffff, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x800000, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x800002, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x1398437, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xba98d27, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xba98d7a, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xbf5a97c9, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xbf5a97c9, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xbf5a97c9, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x80000000, 0xbf5a97c9, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x80000001, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x80000076, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x80002b94, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x80636d24, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x807fffff, 0xbf5a97c9, 0x3c00080}, +{0x3c00000, 0xbf5a97c9, 0x80800000, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x80800002, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x81398437, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x8ba98d27, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x8ba98d7a, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xbf5a97c9, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xbf5a97c9, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xbf5a97c9, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x9503366, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xbf5a97c9, 0xbfda97c9, 0x3c00000}, +{0x3c00000, 0xbf5a97c9, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xaab4d7d8, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x966320b, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xb26bddee, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0xb5c8e5d3, 0xbf5a97e2, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x317285d3, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x3c9623b1, 0xbf55e6ab, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0xbf5a97c9, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x0, 0xe6ff1a14, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x1, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x76, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x2b94, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x636d24, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x7fffff, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x800000, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x800002, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x1398437, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xba98d27, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xba98d7a, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe6ff1a14, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe6ff1a14, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe6ff1a14, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x80000000, 0xe6ff1a14, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x80000001, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x80000076, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x80002b94, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x80636d24, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x807fffff, 0xe6ff1a14, 0x3c00080}, +{0x3c00000, 0xe6ff1a14, 0x80800000, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x80800002, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x81398437, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x8ba98d27, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x8ba98d7a, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe6ff1a14, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe6ff1a14, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xe6ff1a14, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x4f3495cb, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xe73a5134, 0xe79cef1f, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x6164bd6c, 0xe6fefd7c, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x9503366, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xbf5a97c9, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xe6ff1a14, 0xe77f1a14, 0x3c00000}, +{0x3c00000, 0xe6ff1a14, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xaab4d7d8, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x966320b, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xb26bddee, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0xb5c8e5d3, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x317285d3, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x3c9623b1, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x51fd2c7c, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0xe6ff1a14, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x0, 0x77f31e2f, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x1, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x76, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x2b94, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x636d24, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x7fffff, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x800000, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x800002, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x1398437, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xba98d27, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xba98d7a, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x751f853a, 0x77f81a58, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x7f7ffff0, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x77f31e2f, 0x7f7fffff, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x77f31e2f, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x77f31e2f, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x77f31e2f, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x77f31e2f, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x80000000, 0x77f31e2f, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x80000001, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x80000076, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x80002b94, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x80636d24, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x807fffff, 0x77f31e2f, 0x3c00080}, +{0x3c00000, 0x77f31e2f, 0x80800000, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x80800002, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x81398437, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x8ba98d27, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x8ba98d7a, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xf51f853a, 0x77ee2205, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xff7ffff0, 0xff7ffe09, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xff7fffff, 0xff7ffe18, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x77f31e2f, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x77f31e2f, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x77f31e2f, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0x4f3495cb, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xe73a5134, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x7c994e9e, 0x7c998b65, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x6164bd6c, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x9503366, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xbf5a97c9, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xe6ff1a14, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x77f31e2f, 0x78731e2f, 0x3c00000}, +{0x3c00000, 0x77f31e2f, 0xaab4d7d8, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x966320b, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xb26bddee, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0xb5c8e5d3, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x317285d3, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x3c9623b1, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x51fd2c7c, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x77f31e2f, 0x7b906a6c, 0x7b915d8a, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x0, 0xaab4d7d8, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x1, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x76, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x2b94, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x636d24, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x7fffff, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x800000, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x800002, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x1398437, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xba98d27, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xba98d7a, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xaab4d7d8, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xaab4d7d8, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xaab4d7d8, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x80000000, 0xaab4d7d8, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x80000001, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x80000076, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x80002b94, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x80636d24, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x807fffff, 0xaab4d7d8, 0x3c00080}, +{0x3c00000, 0xaab4d7d8, 0x80800000, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x80800002, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x81398437, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x8ba98d27, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x8ba98d7a, 0xaab4d7d8, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xaab4d7d8, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xaab4d7d8, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xaab4d7d8, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x9503366, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xaab4d7d8, 0xab34d7d8, 0x3c00000}, +{0x3c00000, 0xaab4d7d8, 0x966320b, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xb26bddee, 0xb26bdf57, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0xb5c8e5d3, 0xb5c8e5d5, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x317285d3, 0x3172802c, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x3c9623b1, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0xaab4d7d8, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x966320b, 0x0, 0x966320b, 0x3c00000}, +{0x3c00000, 0x966320b, 0x1, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x76, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x2b94, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x636d24, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x7fffff, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x800000, 0x966324b, 0x3c00000}, +{0x3c00000, 0x966320b, 0x800002, 0x966324b, 0x3c00010}, +{0x3c00000, 0x966320b, 0x1398437, 0x96632c4, 0x3c00010}, +{0x3c00000, 0x966320b, 0xba98d27, 0xbb0beb7, 0x3c00010}, +{0x3c00000, 0x966320b, 0xba98d7a, 0xbb0bf0a, 0x3c00010}, +{0x3c00000, 0x966320b, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x966320b, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x966320b, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x966320b, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x966320b, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x966320b, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x966320b, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x966320b, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x966320b, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x966320b, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x966320b, 0x80000000, 0x966320b, 0x3c00000}, +{0x3c00000, 0x966320b, 0x80000001, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x80000076, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x80002b94, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x80636d24, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x807fffff, 0x966320b, 0x3c00080}, +{0x3c00000, 0x966320b, 0x80800000, 0x96631cb, 0x3c00000}, +{0x3c00000, 0x966320b, 0x80800002, 0x96631ca, 0x3c00010}, +{0x3c00000, 0x966320b, 0x81398437, 0x9663151, 0x3c00010}, +{0x3c00000, 0x966320b, 0x8ba98d27, 0x8ba25b96, 0x3c00010}, +{0x3c00000, 0x966320b, 0x8ba98d7a, 0x8ba25be9, 0x3c00010}, +{0x3c00000, 0x966320b, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x966320b, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x966320b, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x966320b, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x966320b, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x966320b, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x966320b, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x966320b, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x966320b, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x966320b, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x966320b, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x966320b, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x966320b, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x966320b, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x966320b, 0x9503366, 0x9db32b8, 0x3c00010}, +{0x3c00000, 0x966320b, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0x966320b, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x966320b, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x966320b, 0xaab4d7d8, 0xaab4d7d7, 0x3c00010}, +{0x3c00000, 0x966320b, 0x966320b, 0x9e6320b, 0x3c00000}, +{0x3c00000, 0x966320b, 0xb26bddee, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0x966320b, 0xb5c8e5d3, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0x966320b, 0x317285d3, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x966320b, 0x3c9623b1, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x966320b, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x966320b, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x0, 0xb26bddee, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x1, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x76, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x2b94, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x636d24, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x7fffff, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x800000, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x800002, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x1398437, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xba98d27, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xba98d7a, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb26bddee, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb26bddee, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb26bddee, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x80000000, 0xb26bddee, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x80000001, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x80000076, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x80002b94, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x80636d24, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x807fffff, 0xb26bddee, 0x3c00080}, +{0x3c00000, 0xb26bddee, 0x80800000, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x80800002, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x81398437, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x8ba98d27, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x8ba98d7a, 0xb26bddee, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb26bddee, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb26bddee, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb26bddee, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x9503366, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xbf5a97c9, 0xbf5a97c9, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xaab4d7d8, 0xb26bdf57, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x966320b, 0xb26bdded, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0xb26bddee, 0xb2ebddee, 0x3c00000}, +{0x3c00000, 0xb26bddee, 0xb5c8e5d3, 0xb5cabd8e, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x317285d3, 0xb22f3c79, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x3c9623b1, 0x3c9623a9, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0xb26bddee, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x0, 0xb5c8e5d3, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x1, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x76, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x2b94, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x636d24, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x7fffff, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x800000, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x800002, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x1398437, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xba98d27, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xba98d7a, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x751f853a, 0x751f8539, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x7f7ffff0, 0x7f7fffef, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x7f7fffff, 0x7f7ffffe, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb5c8e5d3, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb5c8e5d3, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb5c8e5d3, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x80000000, 0xb5c8e5d3, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x80000001, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x80000076, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x80002b94, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x80636d24, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x807fffff, 0xb5c8e5d3, 0x3c00080}, +{0x3c00000, 0xb5c8e5d3, 0x80800000, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x80800002, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x81398437, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x8ba98d27, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x8ba98d7a, 0xb5c8e5d3, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xf51f853a, 0xf51f853a, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xff7ffff0, 0xff7ffff0, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xff7fffff, 0xff7fffff, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb5c8e5d3, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb5c8e5d3, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0xb5c8e5d3, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x4f3495cb, 0x4f3495ca, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xe73a5134, 0xe73a5134, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x7c994e9e, 0x7c994e9d, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x6164bd6c, 0x6164bd6b, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x9503366, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xbf5a97c9, 0xbf5a97e2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xe6ff1a14, 0xe6ff1a14, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x77f31e2f, 0x77f31e2e, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xaab4d7d8, 0xb5c8e5d5, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x966320b, 0xb5c8e5d2, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xb26bddee, 0xb5cabd8e, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0xb5c8e5d3, 0xb648e5d3, 0x3c00000}, +{0x3c00000, 0xb5c8e5d3, 0x317285d3, 0xb5c86c90, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x3c9623b1, 0x3c96208d, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x51fd2c7c, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0xb5c8e5d3, 0x7b906a6c, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x0, 0x317285d3, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x1, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x76, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x2b94, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x636d24, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x7fffff, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x800000, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x800002, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x1398437, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xba98d27, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xba98d7a, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x317285d3, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x317285d3, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x317285d3, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x80000000, 0x317285d3, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x80000001, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x80000076, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x80002b94, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x80636d24, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x807fffff, 0x317285d3, 0x3c00080}, +{0x3c00000, 0x317285d3, 0x80800000, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x80800002, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x81398437, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x8ba98d27, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x8ba98d7a, 0x317285d2, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x317285d3, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x317285d3, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x317285d3, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x9503366, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xbf5a97c9, 0xbf5a97c8, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xaab4d7d8, 0x3172802c, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x966320b, 0x317285d3, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xb26bddee, 0xb22f3c79, 0x3c00010}, +{0x3c00000, 0x317285d3, 0xb5c8e5d3, 0xb5c86c90, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x317285d3, 0x31f285d3, 0x3c00000}, +{0x3c00000, 0x317285d3, 0x3c9623b1, 0x3c9623b2, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x317285d3, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x0, 0x3c9623b1, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x1, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x76, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x2b94, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x636d24, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x7fffff, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x800000, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x800002, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x1398437, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xba98d27, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xba98d7a, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x3c9623b1, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x3c9623b1, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x3c9623b1, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x80000000, 0x3c9623b1, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x80000001, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x80000076, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x80002b94, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x80636d24, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x807fffff, 0x3c9623b1, 0x3c00080}, +{0x3c00000, 0x3c9623b1, 0x80800000, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x80800002, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x81398437, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x8ba98d27, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x8ba98d7a, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x3c9623b1, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x3c9623b1, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x3c9623b1, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x4f3495cb, 0x4f3495cb, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x9503366, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xbf5a97c9, 0xbf55e6ab, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xaab4d7d8, 0x3c9623b0, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x966320b, 0x3c9623b1, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xb26bddee, 0x3c9623a9, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0xb5c8e5d3, 0x3c96208d, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x317285d3, 0x3c9623b2, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x3c9623b1, 0x3d1623b1, 0x3c00000}, +{0x3c00000, 0x3c9623b1, 0x51fd2c7c, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x3c9623b1, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x0, 0x51fd2c7c, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x1, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x76, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x2b94, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x636d24, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x7fffff, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x800000, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x800002, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x1398437, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xba98d27, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xba98d7a, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x751f853a, 0x751f853a, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x7f7ffff0, 0x7f7ffff0, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x7f7fffff, 0x7f7fffff, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x51fd2c7c, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x51fd2c7c, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x51fd2c7c, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x80000000, 0x51fd2c7c, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x80000001, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x80000076, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x80002b94, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x80636d24, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x807fffff, 0x51fd2c7c, 0x3c00080}, +{0x3c00000, 0x51fd2c7c, 0x80800000, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x80800002, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x81398437, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x8ba98d27, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x8ba98d7a, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xf51f853a, 0xf51f8539, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xff7ffff0, 0xff7fffef, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xff7fffff, 0xff7ffffe, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x51fd2c7c, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x51fd2c7c, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x51fd2c7c, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x4f3495cb, 0x52016895, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xe73a5134, 0xe73a5133, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x7c994e9e, 0x7c994e9e, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x6164bd6c, 0x6164bd6c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x9503366, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xbf5a97c9, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xe6ff1a14, 0xe6ff1a13, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x77f31e2f, 0x77f31e2f, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xaab4d7d8, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x966320b, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xb26bddee, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0xb5c8e5d3, 0x51fd2c7b, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x317285d3, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x3c9623b1, 0x51fd2c7c, 0x3c00010}, +{0x3c00000, 0x51fd2c7c, 0x51fd2c7c, 0x527d2c7c, 0x3c00000}, +{0x3c00000, 0x51fd2c7c, 0x7b906a6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x0, 0x7b906a6c, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x1, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x76, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x2b94, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x636d24, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x7fffff, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x800000, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x800002, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x1398437, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xba98d27, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xba98d7a, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x751f853a, 0x7b906f68, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x7f7ffff0, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7b906a6c, 0x7f7fffff, 0x7f7fffff, 0x3c00014}, +{0x3c00000, 0x7b906a6c, 0x7f800000, 0x7f800000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x7f800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7b906a6c, 0x7f984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7b906a6c, 0x7fbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7b906a6c, 0x7fc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x7fd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x7fffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x80000000, 0x7b906a6c, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x80000001, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x80000076, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x80002b94, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x80636d24, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x807fffff, 0x7b906a6c, 0x3c00080}, +{0x3c00000, 0x7b906a6c, 0x80800000, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x80800002, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x81398437, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x8ba98d27, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x8ba98d7a, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xf51f853a, 0x7b90656f, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xff7ffff0, 0xff7edf1b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xff7fffff, 0xff7edf2a, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xff800000, 0xff800000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0xff800001, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7b906a6c, 0xff984a37, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7b906a6c, 0xffbfffff, 0x7fc00000, 0x3c00001}, +{0x3c00000, 0x7b906a6c, 0xffc00000, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0xffd9ba98, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0xffffffff, 0x7fc00000, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x4f3495cb, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xe73a5134, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x7c994e9e, 0x7cbd6939, 0x3c00000}, +{0x3c00000, 0x7b906a6c, 0x6164bd6c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x9503366, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xbf5a97c9, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xe6ff1a14, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x77f31e2f, 0x7b915d8a, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xaab4d7d8, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x966320b, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xb26bddee, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0xb5c8e5d3, 0x7b906a6b, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x317285d3, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x3c9623b1, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x51fd2c7c, 0x7b906a6c, 0x3c00010}, +{0x3c00000, 0x7b906a6c, 0x7b906a6c, 0x7c106a6c, 0x3c00000}, +{0x3800000, 0x0, 0x0, 0x0, 0x3800000}, +{0x3800000, 0x0, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x800000, 0x800000, 0x3800000}, +{0x3800000, 0x0, 0x800002, 0x800002, 0x3800000}, +{0x3800000, 0x0, 0x1398437, 0x1398437, 0x3800000}, +{0x3800000, 0x0, 0xba98d27, 0xba98d27, 0x3800000}, +{0x3800000, 0x0, 0xba98d7a, 0xba98d7a, 0x3800000}, +{0x3800000, 0x0, 0x751f853a, 0x751f853a, 0x3800000}, +{0x3800000, 0x0, 0x7f7ffff0, 0x7f7ffff0, 0x3800000}, +{0x3800000, 0x0, 0x7f7fffff, 0x7f7fffff, 0x3800000}, +{0x3800000, 0x0, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x0, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x0, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x0, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x0, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x0, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x0, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x0, 0x80000000, 0x80000000, 0x3800000}, +{0x3800000, 0x0, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x0, 0x80800000, 0x80800000, 0x3800000}, +{0x3800000, 0x0, 0x80800002, 0x80800002, 0x3800000}, +{0x3800000, 0x0, 0x81398437, 0x81398437, 0x3800000}, +{0x3800000, 0x0, 0x8ba98d27, 0x8ba98d27, 0x3800000}, +{0x3800000, 0x0, 0x8ba98d7a, 0x8ba98d7a, 0x3800000}, +{0x3800000, 0x0, 0xf51f853a, 0xf51f853a, 0x3800000}, +{0x3800000, 0x0, 0xff7ffff0, 0xff7ffff0, 0x3800000}, +{0x3800000, 0x0, 0xff7fffff, 0xff7fffff, 0x3800000}, +{0x3800000, 0x0, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x0, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x0, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x0, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x0, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x0, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x0, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x0, 0x4f3495cb, 0x4f3495cb, 0x3800000}, +{0x3800000, 0x0, 0xe73a5134, 0xe73a5134, 0x3800000}, +{0x3800000, 0x0, 0x7c994e9e, 0x7c994e9e, 0x3800000}, +{0x3800000, 0x0, 0x6164bd6c, 0x6164bd6c, 0x3800000}, +{0x3800000, 0x0, 0x9503366, 0x9503366, 0x3800000}, +{0x3800000, 0x0, 0xbf5a97c9, 0xbf5a97c9, 0x3800000}, +{0x3800000, 0x0, 0xe6ff1a14, 0xe6ff1a14, 0x3800000}, +{0x3800000, 0x0, 0x77f31e2f, 0x77f31e2f, 0x3800000}, +{0x3800000, 0x0, 0xaab4d7d8, 0xaab4d7d8, 0x3800000}, +{0x3800000, 0x0, 0x966320b, 0x966320b, 0x3800000}, +{0x3800000, 0x0, 0xb26bddee, 0xb26bddee, 0x3800000}, +{0x3800000, 0x0, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800000}, +{0x3800000, 0x0, 0x317285d3, 0x317285d3, 0x3800000}, +{0x3800000, 0x0, 0x3c9623b1, 0x3c9623b1, 0x3800000}, +{0x3800000, 0x0, 0x51fd2c7c, 0x51fd2c7c, 0x3800000}, +{0x3800000, 0x0, 0x7b906a6c, 0x7b906a6c, 0x3800000}, +{0x3800000, 0x1, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x1, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x1, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x1, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x1, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x1, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x1, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x1, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x1, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x1, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x1, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x1, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x1, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x1, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x1, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x1, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x1, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x1, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x1, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x1, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x1, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x1, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x1, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x1, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x1, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x1, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x1, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x1, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x1, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x1, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x1, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x1, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x1, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x1, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x1, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x1, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x1, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x1, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x1, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x1, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x1, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x1, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x1, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x1, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x1, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x1, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x1, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x1, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x76, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x76, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x76, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x76, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x76, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x76, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x76, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x76, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x76, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x76, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x76, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x76, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x76, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x76, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x76, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x76, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x76, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x76, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x76, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x76, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x76, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x76, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x76, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x76, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x76, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x76, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x76, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x76, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x76, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x76, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x76, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x76, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x76, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x76, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x76, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x76, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x76, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x76, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x76, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x76, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x76, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x76, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x76, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x76, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x76, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x76, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x76, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x76, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x2b94, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x2b94, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x2b94, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x2b94, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x2b94, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x2b94, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x2b94, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x2b94, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x2b94, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x2b94, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x2b94, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x2b94, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x2b94, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x2b94, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x2b94, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x2b94, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x2b94, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x2b94, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x2b94, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x2b94, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x2b94, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x2b94, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x2b94, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x2b94, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x2b94, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x2b94, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x2b94, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x2b94, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x2b94, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x2b94, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x2b94, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x2b94, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x2b94, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x2b94, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x2b94, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x2b94, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x2b94, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x2b94, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x2b94, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x2b94, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x2b94, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x2b94, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x2b94, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x2b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x2b94, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x2b94, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x2b94, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x2b94, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x636d24, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x636d24, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x636d24, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x636d24, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x636d24, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x636d24, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x636d24, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x636d24, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x636d24, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x636d24, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x636d24, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x636d24, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x636d24, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x636d24, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x636d24, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x636d24, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x636d24, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x636d24, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x636d24, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x636d24, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x636d24, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x636d24, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x636d24, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x636d24, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x636d24, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x636d24, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x636d24, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x636d24, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x636d24, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x636d24, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x636d24, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x636d24, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x636d24, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x636d24, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x636d24, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x636d24, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x636d24, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x636d24, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x636d24, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x636d24, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x636d24, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7fffff, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x7fffff, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x7fffff, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x7fffff, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x7fffff, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x7fffff, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x7fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7fffff, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7fffff, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x7fffff, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fffff, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fffff, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fffff, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffff, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffff, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffff, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x7fffff, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x7fffff, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x7fffff, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x7fffff, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x7fffff, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x7fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x7fffff, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x7fffff, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x7fffff, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x7fffff, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x7fffff, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fffff, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fffff, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fffff, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffff, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffff, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffff, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x7fffff, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x7fffff, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7fffff, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x7fffff, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x7fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x7fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x7fffff, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x7fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x7fffff, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x7fffff, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x7fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x7fffff, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x7fffff, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x7fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x7fffff, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x800000, 0x0, 0x800000, 0x3800000}, +{0x3800000, 0x800000, 0x1, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x76, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x2b94, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x636d24, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x7fffff, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x800000, 0x1000000, 0x3800000}, +{0x3800000, 0x800000, 0x800002, 0x1000001, 0x3800000}, +{0x3800000, 0x800000, 0x1398437, 0x1798437, 0x3800000}, +{0x3800000, 0x800000, 0xba98d27, 0xba98d29, 0x3800000}, +{0x3800000, 0x800000, 0xba98d7a, 0xba98d7c, 0x3800000}, +{0x3800000, 0x800000, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x800000, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x800000, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x800000, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x800000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800000, 0x80000000, 0x800000, 0x3800000}, +{0x3800000, 0x800000, 0x80000001, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x80000076, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x80002b94, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x80636d24, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x807fffff, 0x800000, 0x3800080}, +{0x3800000, 0x800000, 0x80800000, 0x80000000, 0x3800000}, +{0x3800000, 0x800000, 0x80800002, 0x0, 0x3800008}, +{0x3800000, 0x800000, 0x81398437, 0x80f3086e, 0x3800000}, +{0x3800000, 0x800000, 0x8ba98d27, 0x8ba98d25, 0x3800000}, +{0x3800000, 0x800000, 0x8ba98d7a, 0x8ba98d78, 0x3800000}, +{0x3800000, 0x800000, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x800000, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x800000, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x800000, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x800000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800000, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x800000, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x800000, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x800000, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x800000, 0x9503366, 0x95033a6, 0x3800000}, +{0x3800000, 0x800000, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0x800000, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x800000, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x800000, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0x800000, 0x966320b, 0x966324b, 0x3800000}, +{0x3800000, 0x800000, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0x800000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0x800000, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0x800000, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x800000, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x800000, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x800002, 0x0, 0x800002, 0x3800000}, +{0x3800000, 0x800002, 0x1, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x76, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x2b94, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x636d24, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x7fffff, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x800000, 0x1000001, 0x3800000}, +{0x3800000, 0x800002, 0x800002, 0x1000002, 0x3800000}, +{0x3800000, 0x800002, 0x1398437, 0x1798438, 0x3800000}, +{0x3800000, 0x800002, 0xba98d27, 0xba98d29, 0x3800010}, +{0x3800000, 0x800002, 0xba98d7a, 0xba98d7c, 0x3800010}, +{0x3800000, 0x800002, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x800002, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x800002, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x800002, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x800002, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800002, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800002, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800002, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800002, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800002, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800002, 0x80000000, 0x800002, 0x3800000}, +{0x3800000, 0x800002, 0x80000001, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x80000076, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x80002b94, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x80636d24, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x807fffff, 0x800002, 0x3800080}, +{0x3800000, 0x800002, 0x80800000, 0x0, 0x3800008}, +{0x3800000, 0x800002, 0x80800002, 0x80000000, 0x3800000}, +{0x3800000, 0x800002, 0x81398437, 0x80f3086c, 0x3800000}, +{0x3800000, 0x800002, 0x8ba98d27, 0x8ba98d25, 0x3800010}, +{0x3800000, 0x800002, 0x8ba98d7a, 0x8ba98d78, 0x3800010}, +{0x3800000, 0x800002, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x800002, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x800002, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x800002, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x800002, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800002, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800002, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x800002, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800002, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800002, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x800002, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x800002, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x800002, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x800002, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x800002, 0x9503366, 0x95033a6, 0x3800010}, +{0x3800000, 0x800002, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0x800002, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x800002, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x800002, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0x800002, 0x966320b, 0x966324b, 0x3800010}, +{0x3800000, 0x800002, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0x800002, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0x800002, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0x800002, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x800002, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x800002, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x1398437, 0x0, 0x1398437, 0x3800000}, +{0x3800000, 0x1398437, 0x1, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x76, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x2b94, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x636d24, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x7fffff, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x800000, 0x1798437, 0x3800000}, +{0x3800000, 0x1398437, 0x800002, 0x1798438, 0x3800000}, +{0x3800000, 0x1398437, 0x1398437, 0x1b98437, 0x3800000}, +{0x3800000, 0x1398437, 0xba98d27, 0xba98d2c, 0x3800010}, +{0x3800000, 0x1398437, 0xba98d7a, 0xba98d7f, 0x3800010}, +{0x3800000, 0x1398437, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x1398437, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x1398437, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x1398437, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x1398437, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x1398437, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x1398437, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x1398437, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x1398437, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x1398437, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x1398437, 0x80000000, 0x1398437, 0x3800000}, +{0x3800000, 0x1398437, 0x80000001, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x80000076, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x80002b94, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x80636d24, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x807fffff, 0x1398437, 0x3800080}, +{0x3800000, 0x1398437, 0x80800000, 0xf3086e, 0x3800000}, +{0x3800000, 0x1398437, 0x80800002, 0xf3086c, 0x3800000}, +{0x3800000, 0x1398437, 0x81398437, 0x80000000, 0x3800000}, +{0x3800000, 0x1398437, 0x8ba98d27, 0x8ba98d22, 0x3800010}, +{0x3800000, 0x1398437, 0x8ba98d7a, 0x8ba98d75, 0x3800010}, +{0x3800000, 0x1398437, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x1398437, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x1398437, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x1398437, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x1398437, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x1398437, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x1398437, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x1398437, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x1398437, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x1398437, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x1398437, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x1398437, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x1398437, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x1398437, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x1398437, 0x9503366, 0x950341f, 0x3800010}, +{0x3800000, 0x1398437, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0x1398437, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x1398437, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x1398437, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0x1398437, 0x966320b, 0x96632c4, 0x3800010}, +{0x3800000, 0x1398437, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0x1398437, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0x1398437, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0x1398437, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x1398437, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x1398437, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0xba98d27, 0x0, 0xba98d27, 0x3800000}, +{0x3800000, 0xba98d27, 0x1, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x76, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x2b94, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x636d24, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x7fffff, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x800000, 0xba98d29, 0x3800000}, +{0x3800000, 0xba98d27, 0x800002, 0xba98d29, 0x3800010}, +{0x3800000, 0xba98d27, 0x1398437, 0xba98d2c, 0x3800010}, +{0x3800000, 0xba98d27, 0xba98d27, 0xc298d27, 0x3800000}, +{0x3800000, 0xba98d27, 0xba98d7a, 0xc298d50, 0x3800010}, +{0x3800000, 0xba98d27, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0xba98d27, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0xba98d27, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0xba98d27, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xba98d27, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d27, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d27, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d27, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d27, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d27, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d27, 0x80000000, 0xba98d27, 0x3800000}, +{0x3800000, 0xba98d27, 0x80000001, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x80000076, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x80002b94, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x80636d24, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x807fffff, 0xba98d27, 0x3800080}, +{0x3800000, 0xba98d27, 0x80800000, 0xba98d25, 0x3800000}, +{0x3800000, 0xba98d27, 0x80800002, 0xba98d24, 0x3800010}, +{0x3800000, 0xba98d27, 0x81398437, 0xba98d21, 0x3800010}, +{0x3800000, 0xba98d27, 0x8ba98d27, 0x80000000, 0x3800000}, +{0x3800000, 0xba98d27, 0x8ba98d7a, 0x83260000, 0x3800000}, +{0x3800000, 0xba98d27, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0xba98d27, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xba98d27, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0xba98d27, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xba98d27, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d27, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d27, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d27, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d27, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d27, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d27, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0xba98d27, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0xba98d27, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0xba98d27, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0xba98d27, 0x9503366, 0xbb00ec2, 0x3800010}, +{0x3800000, 0xba98d27, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xba98d27, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xba98d27, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0xba98d27, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xba98d27, 0x966320b, 0xbb0beb7, 0x3800010}, +{0x3800000, 0xba98d27, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0xba98d27, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xba98d27, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0xba98d27, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0xba98d27, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0xba98d27, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0xba98d7a, 0x0, 0xba98d7a, 0x3800000}, +{0x3800000, 0xba98d7a, 0x1, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x76, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x2b94, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x636d24, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x7fffff, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x800000, 0xba98d7c, 0x3800000}, +{0x3800000, 0xba98d7a, 0x800002, 0xba98d7c, 0x3800010}, +{0x3800000, 0xba98d7a, 0x1398437, 0xba98d7f, 0x3800010}, +{0x3800000, 0xba98d7a, 0xba98d27, 0xc298d50, 0x3800010}, +{0x3800000, 0xba98d7a, 0xba98d7a, 0xc298d7a, 0x3800000}, +{0x3800000, 0xba98d7a, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0xba98d7a, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0xba98d7a, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0xba98d7a, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xba98d7a, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d7a, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d7a, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d7a, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d7a, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d7a, 0x80000000, 0xba98d7a, 0x3800000}, +{0x3800000, 0xba98d7a, 0x80000001, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x80000076, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x80002b94, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x80636d24, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x807fffff, 0xba98d7a, 0x3800080}, +{0x3800000, 0xba98d7a, 0x80800000, 0xba98d78, 0x3800000}, +{0x3800000, 0xba98d7a, 0x80800002, 0xba98d77, 0x3800010}, +{0x3800000, 0xba98d7a, 0x81398437, 0xba98d74, 0x3800010}, +{0x3800000, 0xba98d7a, 0x8ba98d27, 0x3260000, 0x3800000}, +{0x3800000, 0xba98d7a, 0x8ba98d7a, 0x80000000, 0x3800000}, +{0x3800000, 0xba98d7a, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0xba98d7a, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xba98d7a, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0xba98d7a, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xba98d7a, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d7a, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d7a, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xba98d7a, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d7a, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d7a, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xba98d7a, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0xba98d7a, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0xba98d7a, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0xba98d7a, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0xba98d7a, 0x9503366, 0xbb00f15, 0x3800010}, +{0x3800000, 0xba98d7a, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xba98d7a, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xba98d7a, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0xba98d7a, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xba98d7a, 0x966320b, 0xbb0bf0a, 0x3800010}, +{0x3800000, 0xba98d7a, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0xba98d7a, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xba98d7a, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0xba98d7a, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0xba98d7a, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0xba98d7a, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x751f853a, 0x0, 0x751f853a, 0x3800000}, +{0x3800000, 0x751f853a, 0x1, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x76, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x2b94, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x636d24, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x7fffff, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x800000, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x800002, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x1398437, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0xba98d27, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0xba98d7a, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x751f853a, 0x759f853a, 0x3800000}, +{0x3800000, 0x751f853a, 0x7f7ffff0, 0x7f7ffff9, 0x3800010}, +{0x3800000, 0x751f853a, 0x7f7fffff, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x751f853a, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x751f853a, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x751f853a, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x751f853a, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x751f853a, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x751f853a, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x751f853a, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x751f853a, 0x80000000, 0x751f853a, 0x3800000}, +{0x3800000, 0x751f853a, 0x80000001, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x80000076, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x80002b94, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x80636d24, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x807fffff, 0x751f853a, 0x3800080}, +{0x3800000, 0x751f853a, 0x80800000, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x80800002, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x81398437, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x8ba98d27, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x8ba98d7a, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0xf51f853a, 0x80000000, 0x3800000}, +{0x3800000, 0x751f853a, 0xff7ffff0, 0xff7fffe7, 0x3800010}, +{0x3800000, 0x751f853a, 0xff7fffff, 0xff7ffff6, 0x3800010}, +{0x3800000, 0x751f853a, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x751f853a, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x751f853a, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x751f853a, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x751f853a, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x751f853a, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x751f853a, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x751f853a, 0x4f3495cb, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0xe73a5134, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x7c994e9e, 0x7c994fdd, 0x3800010}, +{0x3800000, 0x751f853a, 0x6164bd6c, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x9503366, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0xbf5a97c9, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0xe6ff1a14, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x77f31e2f, 0x77f81a58, 0x3800010}, +{0x3800000, 0x751f853a, 0xaab4d7d8, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x966320b, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0xb26bddee, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0xb5c8e5d3, 0x751f8539, 0x3800010}, +{0x3800000, 0x751f853a, 0x317285d3, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x3c9623b1, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x51fd2c7c, 0x751f853a, 0x3800010}, +{0x3800000, 0x751f853a, 0x7b906a6c, 0x7b906f68, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x0, 0x7f7ffff0, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x1, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x76, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x2b94, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x636d24, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x7fffff, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x800000, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x800002, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x1398437, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xba98d27, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xba98d7a, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x751f853a, 0x7f7ffff9, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x7f7ffff0, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7ffff0, 0x7f7fffff, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7ffff0, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7ffff0, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7ffff0, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7ffff0, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x80000000, 0x7f7ffff0, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x80000001, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x80000076, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x80002b94, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x80636d24, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x807fffff, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x7f7ffff0, 0x80800000, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x80800002, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x81398437, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x8ba98d27, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x8ba98d7a, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xf51f853a, 0x7f7fffe6, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xff7ffff0, 0x80000000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0xff7fffff, 0xf5700000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7ffff0, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7ffff0, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7ffff0, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7ffff0, 0x4f3495cb, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xe73a5134, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x7c994e9e, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7ffff0, 0x6164bd6c, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x9503366, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xbf5a97c9, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xe6ff1a14, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x77f31e2f, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7ffff0, 0xaab4d7d8, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x966320b, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xb26bddee, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0xb5c8e5d3, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x317285d3, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x3c9623b1, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x51fd2c7c, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x7f7ffff0, 0x7b906a6c, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7fffff, 0x0, 0x7f7fffff, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x1, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x76, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x2b94, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x636d24, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x800000, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x800002, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x1398437, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xba98d27, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xba98d7a, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x751f853a, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7fffff, 0x7f7ffff0, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7fffff, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7fffff, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7fffff, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7fffff, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x80000000, 0x7f7fffff, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x80000001, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x80000076, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x80002b94, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x80636d24, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x807fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x7f7fffff, 0x80800000, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x80800002, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x81398437, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x8ba98d27, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x8ba98d7a, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xf51f853a, 0x7f7ffff5, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xff7ffff0, 0x75700000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0xff7fffff, 0x80000000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7fffff, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7fffff, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f7fffff, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f7fffff, 0x4f3495cb, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xe73a5134, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x7c994e9e, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7fffff, 0x6164bd6c, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x9503366, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xbf5a97c9, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xe6ff1a14, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x77f31e2f, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f7fffff, 0xaab4d7d8, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x966320b, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xb26bddee, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0xb5c8e5d3, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x317285d3, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x3c9623b1, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x51fd2c7c, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x7f7fffff, 0x7b906a6c, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7f800000, 0x0, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x1, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x76, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x2b94, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x636d24, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x7fffff, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x800002, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x1398437, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xba98d27, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xba98d7a, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x751f853a, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7f7ffff0, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7f7fffff, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f800000, 0x80000000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x80000001, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x80000076, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x80002b94, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x80636d24, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x807fffff, 0x7f800000, 0x3800080}, +{0x3800000, 0x7f800000, 0x80800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x80800002, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x81398437, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x8ba98d27, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x8ba98d7a, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xf51f853a, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xff7ffff0, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xff7fffff, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f800000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f800000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7f800000, 0x4f3495cb, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xe73a5134, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7c994e9e, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x6164bd6c, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x9503366, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xbf5a97c9, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xe6ff1a14, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x77f31e2f, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xaab4d7d8, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x966320b, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xb26bddee, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0xb5c8e5d3, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x317285d3, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x3c9623b1, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x51fd2c7c, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800000, 0x7b906a6c, 0x7f800000, 0x3800000}, +{0x3800000, 0x7f800001, 0x0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x1, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x76, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x2b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x7fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x1398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x751f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7f7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7f7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7fc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7fd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7fffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x80000000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x80000001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x80000076, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x80002b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x80636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x807fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f800001, 0x80800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x80800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x81398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x8ba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x8ba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xf51f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xff7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xff7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xffc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xffd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xffffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x4f3495cb, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xe73a5134, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7c994e9e, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x6164bd6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x9503366, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xbf5a97c9, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xe6ff1a14, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x77f31e2f, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xaab4d7d8, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x966320b, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xb26bddee, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0xb5c8e5d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x317285d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x3c9623b1, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x51fd2c7c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f800001, 0x7b906a6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x1, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x76, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x2b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x7fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x1398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x751f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7f7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7f7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7fc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7fd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7fffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x80000000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x80000001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x80000076, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x80002b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x80636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x807fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7f984a37, 0x80800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x80800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x81398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x8ba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x8ba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xf51f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xff7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xff7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xffc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xffd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xffffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x4f3495cb, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xe73a5134, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7c994e9e, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x6164bd6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x9503366, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xbf5a97c9, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xe6ff1a14, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x77f31e2f, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xaab4d7d8, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x966320b, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xb26bddee, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0xb5c8e5d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x317285d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x3c9623b1, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x51fd2c7c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7f984a37, 0x7b906a6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x1, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x76, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x2b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x7fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x1398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x751f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7f7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7f7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7fc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7fd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7fffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x80000000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x80000001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x80000076, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x80002b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x80636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x807fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x7fbfffff, 0x80800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x80800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x81398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x8ba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x8ba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xf51f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xff7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xff7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xffc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xffd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xffffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x4f3495cb, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xe73a5134, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7c994e9e, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x6164bd6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x9503366, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xbf5a97c9, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xe6ff1a14, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x77f31e2f, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xaab4d7d8, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x966320b, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xb26bddee, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x317285d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x3c9623b1, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x51fd2c7c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fbfffff, 0x7b906a6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0x0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x1, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x76, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x2b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x7fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x1398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x751f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7f7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7f7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7f800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x80000000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x80000001, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x80000076, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x80002b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x80636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x807fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fc00000, 0x80800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x80800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x81398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x8ba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x8ba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xf51f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xff7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xff7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xff800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fc00000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x4f3495cb, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xe73a5134, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7c994e9e, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x6164bd6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x9503366, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xbf5a97c9, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xe6ff1a14, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x77f31e2f, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xaab4d7d8, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x966320b, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xb26bddee, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0xb5c8e5d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x317285d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x3c9623b1, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x51fd2c7c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fc00000, 0x7b906a6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x1, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x76, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x2b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x7fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x1398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x751f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7f7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7f800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fd9ba98, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fd9ba98, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fd9ba98, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x80000000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x80000001, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x80000076, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x80002b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x80636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x807fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fd9ba98, 0x80800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x80800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x81398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x8ba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xf51f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xff7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xff7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xff800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fd9ba98, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fd9ba98, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fd9ba98, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x4f3495cb, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xe73a5134, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7c994e9e, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x6164bd6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x9503366, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x77f31e2f, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x966320b, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xb26bddee, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x317285d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x3c9623b1, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fd9ba98, 0x7b906a6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x1, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x76, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x2b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x7fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x1398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x751f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7f7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7f7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7f800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fffffff, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fffffff, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fffffff, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x80000000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x80000001, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x80000076, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x80002b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x80636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x807fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x7fffffff, 0x80800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x80800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x81398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x8ba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x8ba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xf51f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xff7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xff7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xff800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fffffff, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fffffff, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7fffffff, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x4f3495cb, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xe73a5134, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7c994e9e, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x6164bd6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x9503366, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xbf5a97c9, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xe6ff1a14, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x77f31e2f, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xaab4d7d8, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x966320b, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xb26bddee, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0xb5c8e5d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x317285d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x3c9623b1, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x51fd2c7c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7fffffff, 0x7b906a6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0x0, 0x80000000, 0x3800000}, +{0x3800000, 0x80000000, 0x1, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x76, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x2b94, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x636d24, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x7fffff, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x800000, 0x800000, 0x3800000}, +{0x3800000, 0x80000000, 0x800002, 0x800002, 0x3800000}, +{0x3800000, 0x80000000, 0x1398437, 0x1398437, 0x3800000}, +{0x3800000, 0x80000000, 0xba98d27, 0xba98d27, 0x3800000}, +{0x3800000, 0x80000000, 0xba98d7a, 0xba98d7a, 0x3800000}, +{0x3800000, 0x80000000, 0x751f853a, 0x751f853a, 0x3800000}, +{0x3800000, 0x80000000, 0x7f7ffff0, 0x7f7ffff0, 0x3800000}, +{0x3800000, 0x80000000, 0x7f7fffff, 0x7f7fffff, 0x3800000}, +{0x3800000, 0x80000000, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x80000000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80000000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80000000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80000000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0x80000000, 0x80000000, 0x3800000}, +{0x3800000, 0x80000000, 0x80000001, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x80000076, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x80002b94, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x80636d24, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x807fffff, 0x80000000, 0x3800080}, +{0x3800000, 0x80000000, 0x80800000, 0x80800000, 0x3800000}, +{0x3800000, 0x80000000, 0x80800002, 0x80800002, 0x3800000}, +{0x3800000, 0x80000000, 0x81398437, 0x81398437, 0x3800000}, +{0x3800000, 0x80000000, 0x8ba98d27, 0x8ba98d27, 0x3800000}, +{0x3800000, 0x80000000, 0x8ba98d7a, 0x8ba98d7a, 0x3800000}, +{0x3800000, 0x80000000, 0xf51f853a, 0xf51f853a, 0x3800000}, +{0x3800000, 0x80000000, 0xff7ffff0, 0xff7ffff0, 0x3800000}, +{0x3800000, 0x80000000, 0xff7fffff, 0xff7fffff, 0x3800000}, +{0x3800000, 0x80000000, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x80000000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80000000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80000000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80000000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80000000, 0x4f3495cb, 0x4f3495cb, 0x3800000}, +{0x3800000, 0x80000000, 0xe73a5134, 0xe73a5134, 0x3800000}, +{0x3800000, 0x80000000, 0x7c994e9e, 0x7c994e9e, 0x3800000}, +{0x3800000, 0x80000000, 0x6164bd6c, 0x6164bd6c, 0x3800000}, +{0x3800000, 0x80000000, 0x9503366, 0x9503366, 0x3800000}, +{0x3800000, 0x80000000, 0xbf5a97c9, 0xbf5a97c9, 0x3800000}, +{0x3800000, 0x80000000, 0xe6ff1a14, 0xe6ff1a14, 0x3800000}, +{0x3800000, 0x80000000, 0x77f31e2f, 0x77f31e2f, 0x3800000}, +{0x3800000, 0x80000000, 0xaab4d7d8, 0xaab4d7d8, 0x3800000}, +{0x3800000, 0x80000000, 0x966320b, 0x966320b, 0x3800000}, +{0x3800000, 0x80000000, 0xb26bddee, 0xb26bddee, 0x3800000}, +{0x3800000, 0x80000000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800000}, +{0x3800000, 0x80000000, 0x317285d3, 0x317285d3, 0x3800000}, +{0x3800000, 0x80000000, 0x3c9623b1, 0x3c9623b1, 0x3800000}, +{0x3800000, 0x80000000, 0x51fd2c7c, 0x51fd2c7c, 0x3800000}, +{0x3800000, 0x80000000, 0x7b906a6c, 0x7b906a6c, 0x3800000}, +{0x3800000, 0x80000001, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x80000001, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x80000001, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x80000001, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x80000001, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x80000001, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x80000001, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x80000001, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x80000001, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x80000001, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000001, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000001, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000001, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000001, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000001, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000001, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x80000001, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x80000001, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x80000001, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x80000001, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x80000001, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x80000001, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x80000001, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x80000001, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x80000001, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x80000001, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x80000001, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000001, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000001, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000001, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000001, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000001, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000001, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x80000001, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x80000001, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x80000001, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x80000001, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x80000001, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x80000001, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x80000001, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x80000001, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x80000001, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x80000001, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x80000001, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x80000001, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x80000001, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x80000001, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x80000001, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x80000076, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x80000076, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x80000076, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x80000076, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x80000076, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x80000076, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x80000076, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x80000076, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x80000076, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x80000076, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000076, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000076, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000076, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000076, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000076, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000076, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x80000076, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x80000076, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x80000076, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x80000076, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x80000076, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x80000076, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x80000076, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x80000076, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x80000076, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x80000076, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x80000076, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000076, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000076, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80000076, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000076, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000076, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80000076, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x80000076, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x80000076, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x80000076, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x80000076, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x80000076, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x80000076, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x80000076, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x80000076, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x80000076, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x80000076, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x80000076, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x80000076, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x80000076, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x80000076, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x80000076, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x80002b94, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x80002b94, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x80002b94, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x80002b94, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x80002b94, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x80002b94, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x80002b94, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x80002b94, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x80002b94, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x80002b94, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80002b94, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80002b94, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80002b94, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80002b94, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80002b94, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80002b94, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x80002b94, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x80002b94, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x80002b94, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x80002b94, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x80002b94, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x80002b94, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x80002b94, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x80002b94, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x80002b94, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x80002b94, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x80002b94, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80002b94, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80002b94, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80002b94, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80002b94, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80002b94, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80002b94, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x80002b94, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x80002b94, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x80002b94, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x80002b94, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x80002b94, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x80002b94, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x80002b94, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x80002b94, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x80002b94, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x80002b94, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x80002b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x80002b94, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x80002b94, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x80002b94, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x80002b94, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x80636d24, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x80636d24, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x80636d24, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x80636d24, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x80636d24, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x80636d24, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x80636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x80636d24, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x80636d24, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x80636d24, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80636d24, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80636d24, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80636d24, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80636d24, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80636d24, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80636d24, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x80636d24, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x80636d24, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x80636d24, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x80636d24, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x80636d24, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x80636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x80636d24, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x80636d24, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x80636d24, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x80636d24, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x80636d24, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80636d24, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80636d24, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x80636d24, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80636d24, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80636d24, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x80636d24, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x80636d24, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x80636d24, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x80636d24, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x80636d24, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x80636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x80636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x80636d24, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x80636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x80636d24, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x80636d24, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x80636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x80636d24, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x80636d24, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x80636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x80636d24, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x807fffff, 0x0, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x1, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x76, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x2b94, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x636d24, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x7fffff, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x800000, 0x800000, 0x3800080}, +{0x3800000, 0x807fffff, 0x800002, 0x800002, 0x3800080}, +{0x3800000, 0x807fffff, 0x1398437, 0x1398437, 0x3800080}, +{0x3800000, 0x807fffff, 0xba98d27, 0xba98d27, 0x3800080}, +{0x3800000, 0x807fffff, 0xba98d7a, 0xba98d7a, 0x3800080}, +{0x3800000, 0x807fffff, 0x751f853a, 0x751f853a, 0x3800080}, +{0x3800000, 0x807fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3800080}, +{0x3800000, 0x807fffff, 0x7f7fffff, 0x7f7fffff, 0x3800080}, +{0x3800000, 0x807fffff, 0x7f800000, 0x7f800000, 0x3800080}, +{0x3800000, 0x807fffff, 0x7f800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x807fffff, 0x7f984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x807fffff, 0x7fbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x807fffff, 0x7fc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x807fffff, 0x7fd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x807fffff, 0x7fffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x807fffff, 0x80000000, 0x80000000, 0x3800080}, +{0x3800000, 0x807fffff, 0x80000001, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x80000076, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x80002b94, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x80636d24, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x807fffff, 0x0, 0x3800080}, +{0x3800000, 0x807fffff, 0x80800000, 0x80800000, 0x3800080}, +{0x3800000, 0x807fffff, 0x80800002, 0x80800002, 0x3800080}, +{0x3800000, 0x807fffff, 0x81398437, 0x81398437, 0x3800080}, +{0x3800000, 0x807fffff, 0x8ba98d27, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x807fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x807fffff, 0xf51f853a, 0xf51f853a, 0x3800080}, +{0x3800000, 0x807fffff, 0xff7ffff0, 0xff7ffff0, 0x3800080}, +{0x3800000, 0x807fffff, 0xff7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0x807fffff, 0xff800000, 0xff800000, 0x3800080}, +{0x3800000, 0x807fffff, 0xff800001, 0x7fc00000, 0x3800081}, +{0x3800000, 0x807fffff, 0xff984a37, 0x7fc00000, 0x3800081}, +{0x3800000, 0x807fffff, 0xffbfffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0x807fffff, 0xffc00000, 0x7fc00000, 0x3800080}, +{0x3800000, 0x807fffff, 0xffd9ba98, 0x7fc00000, 0x3800080}, +{0x3800000, 0x807fffff, 0xffffffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0x807fffff, 0x4f3495cb, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x807fffff, 0xe73a5134, 0xe73a5134, 0x3800080}, +{0x3800000, 0x807fffff, 0x7c994e9e, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x807fffff, 0x6164bd6c, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x807fffff, 0x9503366, 0x9503366, 0x3800080}, +{0x3800000, 0x807fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0x807fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0x807fffff, 0x77f31e2f, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x807fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0x807fffff, 0x966320b, 0x966320b, 0x3800080}, +{0x3800000, 0x807fffff, 0xb26bddee, 0xb26bddee, 0x3800080}, +{0x3800000, 0x807fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0x807fffff, 0x317285d3, 0x317285d3, 0x3800080}, +{0x3800000, 0x807fffff, 0x3c9623b1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x807fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x807fffff, 0x7b906a6c, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x80800000, 0x0, 0x80800000, 0x3800000}, +{0x3800000, 0x80800000, 0x1, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x76, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x2b94, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x636d24, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x7fffff, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x800000, 0x80000000, 0x3800000}, +{0x3800000, 0x80800000, 0x800002, 0x0, 0x3800008}, +{0x3800000, 0x80800000, 0x1398437, 0xf3086e, 0x3800000}, +{0x3800000, 0x80800000, 0xba98d27, 0xba98d25, 0x3800000}, +{0x3800000, 0x80800000, 0xba98d7a, 0xba98d78, 0x3800000}, +{0x3800000, 0x80800000, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0x80800000, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x80800000, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x80800000, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x80800000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800000, 0x80000000, 0x80800000, 0x3800000}, +{0x3800000, 0x80800000, 0x80000001, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x80000076, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x80002b94, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x80636d24, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x807fffff, 0x80800000, 0x3800080}, +{0x3800000, 0x80800000, 0x80800000, 0x81000000, 0x3800000}, +{0x3800000, 0x80800000, 0x80800002, 0x81000001, 0x3800000}, +{0x3800000, 0x80800000, 0x81398437, 0x81798437, 0x3800000}, +{0x3800000, 0x80800000, 0x8ba98d27, 0x8ba98d29, 0x3800000}, +{0x3800000, 0x80800000, 0x8ba98d7a, 0x8ba98d7c, 0x3800000}, +{0x3800000, 0x80800000, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0x80800000, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0x80800000, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0x80800000, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x80800000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800000, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x80800000, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0x80800000, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x80800000, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x80800000, 0x9503366, 0x9503326, 0x3800000}, +{0x3800000, 0x80800000, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0x80800000, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0x80800000, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x80800000, 0xaab4d7d8, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0x80800000, 0x966320b, 0x96631cb, 0x3800000}, +{0x3800000, 0x80800000, 0xb26bddee, 0xb26bddef, 0x3800010}, +{0x3800000, 0x80800000, 0xb5c8e5d3, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0x80800000, 0x317285d3, 0x317285d2, 0x3800010}, +{0x3800000, 0x80800000, 0x3c9623b1, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x80800000, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x80800000, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x80800002, 0x0, 0x80800002, 0x3800000}, +{0x3800000, 0x80800002, 0x1, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x76, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x2b94, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x636d24, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x7fffff, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x800000, 0x0, 0x3800008}, +{0x3800000, 0x80800002, 0x800002, 0x80000000, 0x3800000}, +{0x3800000, 0x80800002, 0x1398437, 0xf3086c, 0x3800000}, +{0x3800000, 0x80800002, 0xba98d27, 0xba98d24, 0x3800010}, +{0x3800000, 0x80800002, 0xba98d7a, 0xba98d77, 0x3800010}, +{0x3800000, 0x80800002, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0x80800002, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x80800002, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x80800002, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x80800002, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800002, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800002, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800002, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800002, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800002, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800002, 0x80000000, 0x80800002, 0x3800000}, +{0x3800000, 0x80800002, 0x80000001, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x80000076, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x80002b94, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x80636d24, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x807fffff, 0x80800002, 0x3800080}, +{0x3800000, 0x80800002, 0x80800000, 0x81000001, 0x3800000}, +{0x3800000, 0x80800002, 0x80800002, 0x81000002, 0x3800000}, +{0x3800000, 0x80800002, 0x81398437, 0x81798438, 0x3800000}, +{0x3800000, 0x80800002, 0x8ba98d27, 0x8ba98d2a, 0x3800010}, +{0x3800000, 0x80800002, 0x8ba98d7a, 0x8ba98d7d, 0x3800010}, +{0x3800000, 0x80800002, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0x80800002, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0x80800002, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0x80800002, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x80800002, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800002, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800002, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x80800002, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800002, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800002, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x80800002, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x80800002, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0x80800002, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x80800002, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x80800002, 0x9503366, 0x9503325, 0x3800010}, +{0x3800000, 0x80800002, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0x80800002, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0x80800002, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x80800002, 0xaab4d7d8, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0x80800002, 0x966320b, 0x96631ca, 0x3800010}, +{0x3800000, 0x80800002, 0xb26bddee, 0xb26bddef, 0x3800010}, +{0x3800000, 0x80800002, 0xb5c8e5d3, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0x80800002, 0x317285d3, 0x317285d2, 0x3800010}, +{0x3800000, 0x80800002, 0x3c9623b1, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x80800002, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x80800002, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x81398437, 0x0, 0x81398437, 0x3800000}, +{0x3800000, 0x81398437, 0x1, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x76, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x2b94, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x636d24, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x7fffff, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x800000, 0x80f3086e, 0x3800000}, +{0x3800000, 0x81398437, 0x800002, 0x80f3086c, 0x3800000}, +{0x3800000, 0x81398437, 0x1398437, 0x80000000, 0x3800000}, +{0x3800000, 0x81398437, 0xba98d27, 0xba98d21, 0x3800010}, +{0x3800000, 0x81398437, 0xba98d7a, 0xba98d74, 0x3800010}, +{0x3800000, 0x81398437, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0x81398437, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x81398437, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x81398437, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x81398437, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x81398437, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x81398437, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x81398437, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x81398437, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x81398437, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x81398437, 0x80000000, 0x81398437, 0x3800000}, +{0x3800000, 0x81398437, 0x80000001, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x80000076, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x80002b94, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x80636d24, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x807fffff, 0x81398437, 0x3800080}, +{0x3800000, 0x81398437, 0x80800000, 0x81798437, 0x3800000}, +{0x3800000, 0x81398437, 0x80800002, 0x81798438, 0x3800000}, +{0x3800000, 0x81398437, 0x81398437, 0x81b98437, 0x3800000}, +{0x3800000, 0x81398437, 0x8ba98d27, 0x8ba98d2d, 0x3800010}, +{0x3800000, 0x81398437, 0x8ba98d7a, 0x8ba98d80, 0x3800010}, +{0x3800000, 0x81398437, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0x81398437, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0x81398437, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0x81398437, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x81398437, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x81398437, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x81398437, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x81398437, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x81398437, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x81398437, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x81398437, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x81398437, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0x81398437, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x81398437, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x81398437, 0x9503366, 0x95032ac, 0x3800010}, +{0x3800000, 0x81398437, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0x81398437, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0x81398437, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x81398437, 0xaab4d7d8, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0x81398437, 0x966320b, 0x9663151, 0x3800010}, +{0x3800000, 0x81398437, 0xb26bddee, 0xb26bddef, 0x3800010}, +{0x3800000, 0x81398437, 0xb5c8e5d3, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0x81398437, 0x317285d3, 0x317285d2, 0x3800010}, +{0x3800000, 0x81398437, 0x3c9623b1, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x81398437, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x81398437, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x0, 0x8ba98d27, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x1, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x76, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x2b94, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x636d24, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x7fffff, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x800000, 0x8ba98d25, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x800002, 0x8ba98d25, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x1398437, 0x8ba98d22, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xba98d27, 0x80000000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0xba98d7a, 0x3260000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d27, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d27, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d27, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x80000000, 0x8ba98d27, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x80000001, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x80000076, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x80002b94, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x80636d24, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x807fffff, 0x8ba98d27, 0x3800080}, +{0x3800000, 0x8ba98d27, 0x80800000, 0x8ba98d29, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x80800002, 0x8ba98d2a, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x81398437, 0x8ba98d2d, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x8ba98d27, 0x8c298d27, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x8ba98d7a, 0x8c298d51, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0x8ba98d27, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d27, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d27, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d27, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d27, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x9503366, 0x8ba30b8c, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xaab4d7d8, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x966320b, 0x8ba25b97, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xb26bddee, 0xb26bddef, 0x3800010}, +{0x3800000, 0x8ba98d27, 0xb5c8e5d3, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x317285d3, 0x317285d2, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x3c9623b1, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x8ba98d27, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x0, 0x8ba98d7a, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x1, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x76, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x2b94, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x636d24, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x7fffff, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x800000, 0x8ba98d78, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x800002, 0x8ba98d78, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x1398437, 0x8ba98d75, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xba98d27, 0x83260000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0xba98d7a, 0x80000000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d7a, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d7a, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d7a, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x80000000, 0x8ba98d7a, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x80000001, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x80000076, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x80002b94, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x80636d24, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x807fffff, 0x8ba98d7a, 0x3800080}, +{0x3800000, 0x8ba98d7a, 0x80800000, 0x8ba98d7c, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x80800002, 0x8ba98d7d, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x81398437, 0x8ba98d80, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x8ba98d27, 0x8c298d51, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x8ba98d7a, 0x8c298d7a, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0x8ba98d7a, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d7a, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d7a, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x8ba98d7a, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x8ba98d7a, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x9503366, 0x8ba30bdf, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xaab4d7d8, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x966320b, 0x8ba25bea, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xb26bddee, 0xb26bddef, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0xb5c8e5d3, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x317285d3, 0x317285d2, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x3c9623b1, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x8ba98d7a, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x0, 0xf51f853a, 0x3800000}, +{0x3800000, 0xf51f853a, 0x1, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x76, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x2b94, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x636d24, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x7fffff, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x800000, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x800002, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x1398437, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0xba98d27, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0xba98d7a, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x751f853a, 0x80000000, 0x3800000}, +{0x3800000, 0xf51f853a, 0x7f7ffff0, 0x7f7fffe6, 0x3800010}, +{0x3800000, 0xf51f853a, 0x7f7fffff, 0x7f7ffff5, 0x3800010}, +{0x3800000, 0xf51f853a, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xf51f853a, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xf51f853a, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xf51f853a, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xf51f853a, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xf51f853a, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xf51f853a, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xf51f853a, 0x80000000, 0xf51f853a, 0x3800000}, +{0x3800000, 0xf51f853a, 0x80000001, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x80000076, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x80002b94, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x80636d24, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x807fffff, 0xf51f853a, 0x3800080}, +{0x3800000, 0xf51f853a, 0x80800000, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x80800002, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x81398437, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x8ba98d27, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x8ba98d7a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0xf51f853a, 0xf59f853a, 0x3800000}, +{0x3800000, 0xf51f853a, 0xff7ffff0, 0xff7ffffa, 0x3800010}, +{0x3800000, 0xf51f853a, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xf51f853a, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xf51f853a, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xf51f853a, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xf51f853a, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xf51f853a, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xf51f853a, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xf51f853a, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xf51f853a, 0x4f3495cb, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0xe73a5134, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x7c994e9e, 0x7c994d5e, 0x3800010}, +{0x3800000, 0xf51f853a, 0x6164bd6c, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x9503366, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0xbf5a97c9, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0xe6ff1a14, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x77f31e2f, 0x77ee2205, 0x3800010}, +{0x3800000, 0xf51f853a, 0xaab4d7d8, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x966320b, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0xb26bddee, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0xb5c8e5d3, 0xf51f853b, 0x3800010}, +{0x3800000, 0xf51f853a, 0x317285d3, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x3c9623b1, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x51fd2c7c, 0xf51f853a, 0x3800010}, +{0x3800000, 0xf51f853a, 0x7b906a6c, 0x7b90656f, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x0, 0xff7ffff0, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x1, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x76, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x2b94, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x636d24, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x7fffff, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x800000, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x800002, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x1398437, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xba98d27, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xba98d7a, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x751f853a, 0xff7fffe7, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x7f7ffff0, 0x80000000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x7f7fffff, 0x75700000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7ffff0, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7ffff0, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7ffff0, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x80000000, 0xff7ffff0, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x80000001, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x80000076, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x80002b94, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x80636d24, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x807fffff, 0xff7ffff0, 0x3800080}, +{0x3800000, 0xff7ffff0, 0x80800000, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x80800002, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x81398437, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x8ba98d27, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x8ba98d7a, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xf51f853a, 0xff7ffffa, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xff7ffff0, 0xff800000, 0x3800014}, +{0x3800000, 0xff7ffff0, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xff7ffff0, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7ffff0, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7ffff0, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7ffff0, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7ffff0, 0x4f3495cb, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xe73a5134, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x7c994e9e, 0xff7b357c, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x6164bd6c, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x9503366, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xbf5a97c9, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xe6ff1a14, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x77f31e2f, 0xff7ffe0a, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xaab4d7d8, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x966320b, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xb26bddee, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0xb5c8e5d3, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x317285d3, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x3c9623b1, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x51fd2c7c, 0xff7ffff0, 0x3800010}, +{0x3800000, 0xff7ffff0, 0x7b906a6c, 0xff7edf1c, 0x3800010}, +{0x3800000, 0xff7fffff, 0x0, 0xff7fffff, 0x3800000}, +{0x3800000, 0xff7fffff, 0x1, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x76, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x2b94, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x636d24, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x7fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x800000, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x800002, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x1398437, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0xba98d27, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0xba98d7a, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x751f853a, 0xff7ffff6, 0x3800010}, +{0x3800000, 0xff7fffff, 0x7f7ffff0, 0xf5700000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x7f7fffff, 0x80000000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7fffff, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7fffff, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7fffff, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x80000000, 0xff7fffff, 0x3800000}, +{0x3800000, 0xff7fffff, 0x80000001, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x80000076, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x80002b94, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x80636d24, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x807fffff, 0xff7fffff, 0x3800080}, +{0x3800000, 0xff7fffff, 0x80800000, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x80800002, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x81398437, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x8ba98d27, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x8ba98d7a, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0xf51f853a, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0xff7ffff0, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xff7fffff, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7fffff, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7fffff, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff7fffff, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7fffff, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7fffff, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff7fffff, 0x4f3495cb, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0xe73a5134, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x7c994e9e, 0xff7b358b, 0x3800010}, +{0x3800000, 0xff7fffff, 0x6164bd6c, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x9503366, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0xbf5a97c9, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0xe6ff1a14, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x77f31e2f, 0xff7ffe19, 0x3800010}, +{0x3800000, 0xff7fffff, 0xaab4d7d8, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x966320b, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0xb26bddee, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0xb5c8e5d3, 0xff800000, 0x3800014}, +{0x3800000, 0xff7fffff, 0x317285d3, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x3c9623b1, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x51fd2c7c, 0xff7fffff, 0x3800010}, +{0x3800000, 0xff7fffff, 0x7b906a6c, 0xff7edf2b, 0x3800010}, +{0x3800000, 0xff800000, 0x0, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x1, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x76, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x2b94, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x636d24, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x7fffff, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x800000, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x800002, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x1398437, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xba98d27, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xba98d7a, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x751f853a, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x7f7ffff0, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x7f7fffff, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff800000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff800000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff800000, 0x80000000, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x80000001, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x80000076, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x80002b94, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x80636d24, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x807fffff, 0xff800000, 0x3800080}, +{0x3800000, 0xff800000, 0x80800000, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x80800002, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x81398437, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x8ba98d27, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x8ba98d7a, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xf51f853a, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xff7ffff0, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xff7fffff, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff800000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff800000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xff800000, 0x4f3495cb, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xe73a5134, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x7c994e9e, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x6164bd6c, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x9503366, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xbf5a97c9, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xe6ff1a14, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x77f31e2f, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xaab4d7d8, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x966320b, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xb26bddee, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0xb5c8e5d3, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x317285d3, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x3c9623b1, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x51fd2c7c, 0xff800000, 0x3800000}, +{0x3800000, 0xff800000, 0x7b906a6c, 0xff800000, 0x3800000}, +{0x3800000, 0xff800001, 0x0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x1, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x76, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x2b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x7fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x1398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x751f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7f7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7f7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7fc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7fd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7fffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x80000000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x80000001, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x80000076, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x80002b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x80636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x807fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff800001, 0x80800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x80800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x81398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x8ba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x8ba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xf51f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xff7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xff7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xffc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xffd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xffffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x4f3495cb, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xe73a5134, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7c994e9e, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x6164bd6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x9503366, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xbf5a97c9, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xe6ff1a14, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x77f31e2f, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xaab4d7d8, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x966320b, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xb26bddee, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0xb5c8e5d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x317285d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x3c9623b1, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x51fd2c7c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff800001, 0x7b906a6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x1, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x76, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x2b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x7fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x1398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x751f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7f7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7f7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7fc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7fd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7fffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x80000000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x80000001, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x80000076, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x80002b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x80636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x807fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0xff984a37, 0x80800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x80800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x81398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x8ba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x8ba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xf51f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xff7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xff7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xffc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xffd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xffffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x4f3495cb, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xe73a5134, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7c994e9e, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x6164bd6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x9503366, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xbf5a97c9, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xe6ff1a14, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x77f31e2f, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xaab4d7d8, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x966320b, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xb26bddee, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0xb5c8e5d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x317285d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x3c9623b1, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x51fd2c7c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xff984a37, 0x7b906a6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x1, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x76, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x2b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x7fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x1398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x751f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7f7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7f7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7f800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7fc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7fd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7fffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x80000000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x80000001, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x80000076, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x80002b94, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x80636d24, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x807fffff, 0x7fc00000, 0x3800081}, +{0x3800000, 0xffbfffff, 0x80800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x80800002, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x81398437, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x8ba98d27, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x8ba98d7a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xf51f853a, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xff7ffff0, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xff7fffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xff800000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xffc00000, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xffd9ba98, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xffffffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x4f3495cb, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xe73a5134, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7c994e9e, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x6164bd6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x9503366, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xbf5a97c9, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xe6ff1a14, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x77f31e2f, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xaab4d7d8, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x966320b, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xb26bddee, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x317285d3, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x3c9623b1, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x51fd2c7c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffbfffff, 0x7b906a6c, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0x0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x1, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x76, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x2b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x7fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x1398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x751f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7f7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7f7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7f800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x80000000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x80000001, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x80000076, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x80002b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x80636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x807fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffc00000, 0x80800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x80800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x81398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x8ba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x8ba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xf51f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xff7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xff7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xff800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffc00000, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x4f3495cb, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xe73a5134, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7c994e9e, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x6164bd6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x9503366, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xbf5a97c9, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xe6ff1a14, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x77f31e2f, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xaab4d7d8, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x966320b, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xb26bddee, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0xb5c8e5d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x317285d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x3c9623b1, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x51fd2c7c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffc00000, 0x7b906a6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x1, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x76, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x2b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x7fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x1398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x751f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7f7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7f800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffd9ba98, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffd9ba98, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffd9ba98, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x80000000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x80000001, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x80000076, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x80002b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x80636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x807fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffd9ba98, 0x80800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x80800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x81398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x8ba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xf51f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xff7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xff7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xff800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffd9ba98, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffd9ba98, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffd9ba98, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x4f3495cb, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xe73a5134, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7c994e9e, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x6164bd6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x9503366, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x77f31e2f, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x966320b, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xb26bddee, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x317285d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x3c9623b1, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffd9ba98, 0x7b906a6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x1, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x76, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x2b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x7fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x1398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x751f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7f7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7f7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7f800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffffffff, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffffffff, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffffffff, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x80000000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x80000001, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x80000076, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x80002b94, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x80636d24, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x807fffff, 0x7fc00000, 0x3800080}, +{0x3800000, 0xffffffff, 0x80800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x80800002, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x81398437, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x8ba98d27, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x8ba98d7a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xf51f853a, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xff7ffff0, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xff7fffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xff800000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffffffff, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffffffff, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xffffffff, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x4f3495cb, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xe73a5134, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7c994e9e, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x6164bd6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x9503366, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xbf5a97c9, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xe6ff1a14, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x77f31e2f, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xaab4d7d8, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x966320b, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xb26bddee, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0xb5c8e5d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x317285d3, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x3c9623b1, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x51fd2c7c, 0x7fc00000, 0x3800000}, +{0x3800000, 0xffffffff, 0x7b906a6c, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x0, 0x4f3495cb, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x1, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x76, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x2b94, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x636d24, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x7fffff, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x800000, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x800002, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x1398437, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xba98d27, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xba98d7a, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x4f3495cb, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x4f3495cb, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x4f3495cb, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x80000000, 0x4f3495cb, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x80000001, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x80000076, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x80002b94, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x80636d24, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x807fffff, 0x4f3495cb, 0x3800080}, +{0x3800000, 0x4f3495cb, 0x80800000, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x80800002, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x81398437, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x8ba98d27, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x8ba98d7a, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x4f3495cb, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x4f3495cb, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x4f3495cb, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x4f3495cb, 0x4f3495cb, 0x4fb495cb, 0x3800000}, +{0x3800000, 0x4f3495cb, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x9503366, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xbf5a97c9, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xaab4d7d8, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x966320b, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xb26bddee, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0xb5c8e5d3, 0x4f3495ca, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x317285d3, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x3c9623b1, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x51fd2c7c, 0x52016895, 0x3800010}, +{0x3800000, 0x4f3495cb, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0xe73a5134, 0x0, 0xe73a5134, 0x3800000}, +{0x3800000, 0xe73a5134, 0x1, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x76, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x2b94, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x636d24, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x7fffff, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x800000, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0x800002, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0x1398437, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0xba98d27, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0xba98d7a, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0xe73a5134, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0xe73a5134, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0xe73a5134, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xe73a5134, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe73a5134, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe73a5134, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe73a5134, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe73a5134, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe73a5134, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe73a5134, 0x80000000, 0xe73a5134, 0x3800000}, +{0x3800000, 0xe73a5134, 0x80000001, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x80000076, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x80002b94, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x80636d24, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x807fffff, 0xe73a5134, 0x3800080}, +{0x3800000, 0xe73a5134, 0x80800000, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0x80800002, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0x81398437, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0x8ba98d27, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0x8ba98d7a, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xe73a5134, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xe73a5134, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xe73a5134, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xe73a5134, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe73a5134, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe73a5134, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe73a5134, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe73a5134, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe73a5134, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe73a5134, 0x4f3495cb, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0xe73a5134, 0xe7ba5134, 0x3800000}, +{0x3800000, 0xe73a5134, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0xe73a5134, 0x6164bd6c, 0xe73a42e9, 0x3800010}, +{0x3800000, 0xe73a5134, 0x9503366, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0xbf5a97c9, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0xe6ff1a14, 0xe79cef1f, 0x3800000}, +{0x3800000, 0xe73a5134, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0xe73a5134, 0xaab4d7d8, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0x966320b, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0xb26bddee, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0xb5c8e5d3, 0xe73a5135, 0x3800010}, +{0x3800000, 0xe73a5134, 0x317285d3, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0x3c9623b1, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0x51fd2c7c, 0xe73a5134, 0x3800010}, +{0x3800000, 0xe73a5134, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x0, 0x7c994e9e, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x1, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x76, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x2b94, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x636d24, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x7fffff, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x800000, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x800002, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x1398437, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xba98d27, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xba98d7a, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x751f853a, 0x7c994fdd, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x7f7ffff0, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7c994e9e, 0x7f7fffff, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7c994e9e, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7c994e9e, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7c994e9e, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7c994e9e, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x80000000, 0x7c994e9e, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x80000001, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x80000076, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x80002b94, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x80636d24, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x807fffff, 0x7c994e9e, 0x3800080}, +{0x3800000, 0x7c994e9e, 0x80800000, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x80800002, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x81398437, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x8ba98d27, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x8ba98d7a, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xf51f853a, 0x7c994d5e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xff7ffff0, 0xff7b357c, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xff7fffff, 0xff7b358b, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7c994e9e, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7c994e9e, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7c994e9e, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x4f3495cb, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xe73a5134, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x7c994e9e, 0x7d194e9e, 0x3800000}, +{0x3800000, 0x7c994e9e, 0x6164bd6c, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x9503366, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xbf5a97c9, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xe6ff1a14, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x77f31e2f, 0x7c998b65, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xaab4d7d8, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x966320b, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xb26bddee, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0xb5c8e5d3, 0x7c994e9d, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x317285d3, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x3c9623b1, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x51fd2c7c, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x7c994e9e, 0x7b906a6c, 0x7cbd6939, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x0, 0x6164bd6c, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x1, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x76, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x2b94, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x636d24, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x7fffff, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x800000, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x800002, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x1398437, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xba98d27, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xba98d7a, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x6164bd6c, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x6164bd6c, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x6164bd6c, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x80000000, 0x6164bd6c, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x80000001, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x80000076, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x80002b94, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x80636d24, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x807fffff, 0x6164bd6c, 0x3800080}, +{0x3800000, 0x6164bd6c, 0x80800000, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x80800002, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x81398437, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x8ba98d27, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x8ba98d7a, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x6164bd6c, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x6164bd6c, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x6164bd6c, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x4f3495cb, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xe73a5134, 0xe73a42e9, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x6164bd6c, 0x61e4bd6c, 0x3800000}, +{0x3800000, 0x6164bd6c, 0x9503366, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xbf5a97c9, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xe6ff1a14, 0xe6fefd7d, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xaab4d7d8, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x966320b, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xb26bddee, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0xb5c8e5d3, 0x6164bd6b, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x317285d3, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x3c9623b1, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x51fd2c7c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x6164bd6c, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x9503366, 0x0, 0x9503366, 0x3800000}, +{0x3800000, 0x9503366, 0x1, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x76, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x2b94, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x636d24, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x7fffff, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x800000, 0x95033a6, 0x3800000}, +{0x3800000, 0x9503366, 0x800002, 0x95033a6, 0x3800010}, +{0x3800000, 0x9503366, 0x1398437, 0x950341f, 0x3800010}, +{0x3800000, 0x9503366, 0xba98d27, 0xbb00ec2, 0x3800010}, +{0x3800000, 0x9503366, 0xba98d7a, 0xbb00f15, 0x3800010}, +{0x3800000, 0x9503366, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x9503366, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x9503366, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x9503366, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x9503366, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x9503366, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x9503366, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x9503366, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x9503366, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x9503366, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x9503366, 0x80000000, 0x9503366, 0x3800000}, +{0x3800000, 0x9503366, 0x80000001, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x80000076, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x80002b94, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x80636d24, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x807fffff, 0x9503366, 0x3800080}, +{0x3800000, 0x9503366, 0x80800000, 0x9503326, 0x3800000}, +{0x3800000, 0x9503366, 0x80800002, 0x9503325, 0x3800010}, +{0x3800000, 0x9503366, 0x81398437, 0x95032ac, 0x3800010}, +{0x3800000, 0x9503366, 0x8ba98d27, 0x8ba30b8c, 0x3800010}, +{0x3800000, 0x9503366, 0x8ba98d7a, 0x8ba30bdf, 0x3800010}, +{0x3800000, 0x9503366, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x9503366, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x9503366, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x9503366, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x9503366, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x9503366, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x9503366, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x9503366, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x9503366, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x9503366, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x9503366, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x9503366, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x9503366, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x9503366, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x9503366, 0x9503366, 0x9d03366, 0x3800000}, +{0x3800000, 0x9503366, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0x9503366, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x9503366, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x9503366, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0x9503366, 0x966320b, 0x9db32b8, 0x3800010}, +{0x3800000, 0x9503366, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0x9503366, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0x9503366, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0x9503366, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x9503366, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x9503366, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x0, 0xbf5a97c9, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x1, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x76, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x2b94, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x636d24, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x7fffff, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x800000, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x800002, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x1398437, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xba98d27, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xba98d7a, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xbf5a97c9, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xbf5a97c9, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xbf5a97c9, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x80000000, 0xbf5a97c9, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x80000001, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x80000076, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x80002b94, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x80636d24, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x807fffff, 0xbf5a97c9, 0x3800080}, +{0x3800000, 0xbf5a97c9, 0x80800000, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x80800002, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x81398437, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x8ba98d27, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x8ba98d7a, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xbf5a97c9, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xbf5a97c9, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xbf5a97c9, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xbf5a97c9, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x9503366, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xbf5a97c9, 0xbfda97c9, 0x3800000}, +{0x3800000, 0xbf5a97c9, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xaab4d7d8, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x966320b, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xb26bddee, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0xb5c8e5d3, 0xbf5a97e3, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x317285d3, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x3c9623b1, 0xbf55e6ac, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0xbf5a97c9, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x0, 0xe6ff1a14, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x1, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x76, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x2b94, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x636d24, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x7fffff, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x800000, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x800002, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x1398437, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xba98d27, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xba98d7a, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe6ff1a14, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe6ff1a14, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe6ff1a14, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x80000000, 0xe6ff1a14, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x80000001, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x80000076, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x80002b94, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x80636d24, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x807fffff, 0xe6ff1a14, 0x3800080}, +{0x3800000, 0xe6ff1a14, 0x80800000, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x80800002, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x81398437, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x8ba98d27, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x8ba98d7a, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xe6ff1a14, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe6ff1a14, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe6ff1a14, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xe6ff1a14, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x4f3495cb, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xe73a5134, 0xe79cef1f, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x6164bd6c, 0xe6fefd7d, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x9503366, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xbf5a97c9, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xe6ff1a14, 0xe77f1a14, 0x3800000}, +{0x3800000, 0xe6ff1a14, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xaab4d7d8, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x966320b, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xb26bddee, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0xb5c8e5d3, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x317285d3, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x3c9623b1, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x51fd2c7c, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0xe6ff1a14, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x0, 0x77f31e2f, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x1, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x76, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x2b94, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x636d24, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x7fffff, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x800000, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x800002, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x1398437, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xba98d27, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xba98d7a, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x751f853a, 0x77f81a58, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x7f7ffff0, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x77f31e2f, 0x7f7fffff, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x77f31e2f, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x77f31e2f, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x77f31e2f, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x77f31e2f, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x80000000, 0x77f31e2f, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x80000001, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x80000076, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x80002b94, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x80636d24, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x807fffff, 0x77f31e2f, 0x3800080}, +{0x3800000, 0x77f31e2f, 0x80800000, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x80800002, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x81398437, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x8ba98d27, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x8ba98d7a, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xf51f853a, 0x77ee2205, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xff7ffff0, 0xff7ffe0a, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xff7fffff, 0xff7ffe19, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x77f31e2f, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x77f31e2f, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x77f31e2f, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x77f31e2f, 0x4f3495cb, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xe73a5134, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x7c994e9e, 0x7c998b65, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x6164bd6c, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x9503366, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xbf5a97c9, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xe6ff1a14, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x77f31e2f, 0x78731e2f, 0x3800000}, +{0x3800000, 0x77f31e2f, 0xaab4d7d8, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x966320b, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xb26bddee, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0xb5c8e5d3, 0x77f31e2e, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x317285d3, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x3c9623b1, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x51fd2c7c, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x77f31e2f, 0x7b906a6c, 0x7b915d8a, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x0, 0xaab4d7d8, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x1, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x76, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x2b94, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x636d24, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x7fffff, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x800000, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x800002, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x1398437, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xba98d27, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xba98d7a, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xaab4d7d8, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xaab4d7d8, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xaab4d7d8, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x80000000, 0xaab4d7d8, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x80000001, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x80000076, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x80002b94, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x80636d24, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x807fffff, 0xaab4d7d8, 0x3800080}, +{0x3800000, 0xaab4d7d8, 0x80800000, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x80800002, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x81398437, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x8ba98d27, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x8ba98d7a, 0xaab4d7d9, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xaab4d7d8, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xaab4d7d8, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xaab4d7d8, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xaab4d7d8, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x9503366, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xaab4d7d8, 0xab34d7d8, 0x3800000}, +{0x3800000, 0xaab4d7d8, 0x966320b, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xb26bddee, 0xb26bdf58, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0xb5c8e5d3, 0xb5c8e5d6, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x317285d3, 0x3172802c, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x3c9623b1, 0x3c9623b0, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0xaab4d7d8, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x966320b, 0x0, 0x966320b, 0x3800000}, +{0x3800000, 0x966320b, 0x1, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x76, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x2b94, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x636d24, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x7fffff, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x800000, 0x966324b, 0x3800000}, +{0x3800000, 0x966320b, 0x800002, 0x966324b, 0x3800010}, +{0x3800000, 0x966320b, 0x1398437, 0x96632c4, 0x3800010}, +{0x3800000, 0x966320b, 0xba98d27, 0xbb0beb7, 0x3800010}, +{0x3800000, 0x966320b, 0xba98d7a, 0xbb0bf0a, 0x3800010}, +{0x3800000, 0x966320b, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x966320b, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x966320b, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x966320b, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x966320b, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x966320b, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x966320b, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x966320b, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x966320b, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x966320b, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x966320b, 0x80000000, 0x966320b, 0x3800000}, +{0x3800000, 0x966320b, 0x80000001, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x80000076, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x80002b94, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x80636d24, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x807fffff, 0x966320b, 0x3800080}, +{0x3800000, 0x966320b, 0x80800000, 0x96631cb, 0x3800000}, +{0x3800000, 0x966320b, 0x80800002, 0x96631ca, 0x3800010}, +{0x3800000, 0x966320b, 0x81398437, 0x9663151, 0x3800010}, +{0x3800000, 0x966320b, 0x8ba98d27, 0x8ba25b97, 0x3800010}, +{0x3800000, 0x966320b, 0x8ba98d7a, 0x8ba25bea, 0x3800010}, +{0x3800000, 0x966320b, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x966320b, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x966320b, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x966320b, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x966320b, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x966320b, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x966320b, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x966320b, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x966320b, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x966320b, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x966320b, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x966320b, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x966320b, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x966320b, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x966320b, 0x9503366, 0x9db32b8, 0x3800010}, +{0x3800000, 0x966320b, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0x966320b, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x966320b, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x966320b, 0xaab4d7d8, 0xaab4d7d8, 0x3800010}, +{0x3800000, 0x966320b, 0x966320b, 0x9e6320b, 0x3800000}, +{0x3800000, 0x966320b, 0xb26bddee, 0xb26bddee, 0x3800010}, +{0x3800000, 0x966320b, 0xb5c8e5d3, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0x966320b, 0x317285d3, 0x317285d3, 0x3800010}, +{0x3800000, 0x966320b, 0x3c9623b1, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x966320b, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x966320b, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0xb26bddee, 0x0, 0xb26bddee, 0x3800000}, +{0x3800000, 0xb26bddee, 0x1, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x76, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x2b94, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x636d24, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x7fffff, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x800000, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0x800002, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0x1398437, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0xba98d27, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0xba98d7a, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0xb26bddee, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0xb26bddee, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0xb26bddee, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xb26bddee, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb26bddee, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb26bddee, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb26bddee, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb26bddee, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb26bddee, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb26bddee, 0x80000000, 0xb26bddee, 0x3800000}, +{0x3800000, 0xb26bddee, 0x80000001, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x80000076, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x80002b94, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x80636d24, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x807fffff, 0xb26bddee, 0x3800080}, +{0x3800000, 0xb26bddee, 0x80800000, 0xb26bddef, 0x3800010}, +{0x3800000, 0xb26bddee, 0x80800002, 0xb26bddef, 0x3800010}, +{0x3800000, 0xb26bddee, 0x81398437, 0xb26bddef, 0x3800010}, +{0x3800000, 0xb26bddee, 0x8ba98d27, 0xb26bddef, 0x3800010}, +{0x3800000, 0xb26bddee, 0x8ba98d7a, 0xb26bddef, 0x3800010}, +{0x3800000, 0xb26bddee, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xb26bddee, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xb26bddee, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xb26bddee, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xb26bddee, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb26bddee, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb26bddee, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb26bddee, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb26bddee, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb26bddee, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb26bddee, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0xb26bddee, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0xb26bddee, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0xb26bddee, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0xb26bddee, 0x9503366, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0xbf5a97c9, 0xbf5a97ca, 0x3800010}, +{0x3800000, 0xb26bddee, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xb26bddee, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0xb26bddee, 0xaab4d7d8, 0xb26bdf58, 0x3800010}, +{0x3800000, 0xb26bddee, 0x966320b, 0xb26bddee, 0x3800010}, +{0x3800000, 0xb26bddee, 0xb26bddee, 0xb2ebddee, 0x3800000}, +{0x3800000, 0xb26bddee, 0xb5c8e5d3, 0xb5cabd8f, 0x3800010}, +{0x3800000, 0xb26bddee, 0x317285d3, 0xb22f3c7a, 0x3800010}, +{0x3800000, 0xb26bddee, 0x3c9623b1, 0x3c9623a9, 0x3800010}, +{0x3800000, 0xb26bddee, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0xb26bddee, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x0, 0xb5c8e5d3, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x1, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x76, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x2b94, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x636d24, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x7fffff, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x800000, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x800002, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x1398437, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xba98d27, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xba98d7a, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x751f853a, 0x751f8539, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x7f7ffff0, 0x7f7fffef, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x7f7fffff, 0x7f7ffffe, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb5c8e5d3, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb5c8e5d3, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb5c8e5d3, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x80000000, 0xb5c8e5d3, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x80000001, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x80000076, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x80002b94, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x80636d24, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x807fffff, 0xb5c8e5d3, 0x3800080}, +{0x3800000, 0xb5c8e5d3, 0x80800000, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x80800002, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x81398437, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x8ba98d27, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x8ba98d7a, 0xb5c8e5d4, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xf51f853a, 0xf51f853b, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xff7ffff0, 0xff7ffff1, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xff7fffff, 0xff800000, 0x3800014}, +{0x3800000, 0xb5c8e5d3, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb5c8e5d3, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb5c8e5d3, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0xb5c8e5d3, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x4f3495cb, 0x4f3495ca, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xe73a5134, 0xe73a5135, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x7c994e9e, 0x7c994e9d, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x6164bd6c, 0x6164bd6b, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x9503366, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xbf5a97c9, 0xbf5a97e3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xe6ff1a14, 0xe6ff1a15, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x77f31e2f, 0x77f31e2e, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xaab4d7d8, 0xb5c8e5d6, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x966320b, 0xb5c8e5d3, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xb26bddee, 0xb5cabd8f, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0xb5c8e5d3, 0xb648e5d3, 0x3800000}, +{0x3800000, 0xb5c8e5d3, 0x317285d3, 0xb5c86c91, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x3c9623b1, 0x3c96208d, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x51fd2c7c, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0xb5c8e5d3, 0x7b906a6c, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x317285d3, 0x0, 0x317285d3, 0x3800000}, +{0x3800000, 0x317285d3, 0x1, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x76, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x2b94, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x636d24, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x7fffff, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x800000, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0x800002, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0x1398437, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0xba98d27, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0xba98d7a, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x317285d3, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x317285d3, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x317285d3, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x317285d3, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x317285d3, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x317285d3, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x317285d3, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x317285d3, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x317285d3, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x317285d3, 0x80000000, 0x317285d3, 0x3800000}, +{0x3800000, 0x317285d3, 0x80000001, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x80000076, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x80002b94, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x80636d24, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x807fffff, 0x317285d3, 0x3800080}, +{0x3800000, 0x317285d3, 0x80800000, 0x317285d2, 0x3800010}, +{0x3800000, 0x317285d3, 0x80800002, 0x317285d2, 0x3800010}, +{0x3800000, 0x317285d3, 0x81398437, 0x317285d2, 0x3800010}, +{0x3800000, 0x317285d3, 0x8ba98d27, 0x317285d2, 0x3800010}, +{0x3800000, 0x317285d3, 0x8ba98d7a, 0x317285d2, 0x3800010}, +{0x3800000, 0x317285d3, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x317285d3, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x317285d3, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x317285d3, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x317285d3, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x317285d3, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x317285d3, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x317285d3, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x317285d3, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x317285d3, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x317285d3, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x317285d3, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x317285d3, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x317285d3, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x317285d3, 0x9503366, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0xbf5a97c9, 0xbf5a97c9, 0x3800010}, +{0x3800000, 0x317285d3, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x317285d3, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x317285d3, 0xaab4d7d8, 0x3172802c, 0x3800010}, +{0x3800000, 0x317285d3, 0x966320b, 0x317285d3, 0x3800010}, +{0x3800000, 0x317285d3, 0xb26bddee, 0xb22f3c7a, 0x3800010}, +{0x3800000, 0x317285d3, 0xb5c8e5d3, 0xb5c86c91, 0x3800010}, +{0x3800000, 0x317285d3, 0x317285d3, 0x31f285d3, 0x3800000}, +{0x3800000, 0x317285d3, 0x3c9623b1, 0x3c9623b2, 0x3800010}, +{0x3800000, 0x317285d3, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x317285d3, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x0, 0x3c9623b1, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x1, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x76, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x2b94, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x636d24, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x7fffff, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x800000, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x800002, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x1398437, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xba98d27, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xba98d7a, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x3c9623b1, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x3c9623b1, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x3c9623b1, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x80000000, 0x3c9623b1, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x80000001, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x80000076, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x80002b94, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x80636d24, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x807fffff, 0x3c9623b1, 0x3800080}, +{0x3800000, 0x3c9623b1, 0x80800000, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x80800002, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x81398437, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x8ba98d27, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x8ba98d7a, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x3c9623b1, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x3c9623b1, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x3c9623b1, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x4f3495cb, 0x4f3495cb, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x9503366, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xbf5a97c9, 0xbf55e6ac, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xaab4d7d8, 0x3c9623b0, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x966320b, 0x3c9623b1, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xb26bddee, 0x3c9623a9, 0x3800010}, +{0x3800000, 0x3c9623b1, 0xb5c8e5d3, 0x3c96208d, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x317285d3, 0x3c9623b2, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x3c9623b1, 0x3d1623b1, 0x3800000}, +{0x3800000, 0x3c9623b1, 0x51fd2c7c, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x3c9623b1, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x0, 0x51fd2c7c, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x1, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x76, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x2b94, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x636d24, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x7fffff, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x800000, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x800002, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x1398437, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xba98d27, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xba98d7a, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x751f853a, 0x751f853a, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x7f7ffff0, 0x7f7ffff0, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x7f7fffff, 0x7f7fffff, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x51fd2c7c, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x51fd2c7c, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x51fd2c7c, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x80000000, 0x51fd2c7c, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x80000001, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x80000076, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x80002b94, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x80636d24, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x807fffff, 0x51fd2c7c, 0x3800080}, +{0x3800000, 0x51fd2c7c, 0x80800000, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x80800002, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x81398437, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x8ba98d27, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x8ba98d7a, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xf51f853a, 0xf51f853a, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xff7ffff0, 0xff7ffff0, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xff7fffff, 0xff7fffff, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x51fd2c7c, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x51fd2c7c, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x51fd2c7c, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x4f3495cb, 0x52016895, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xe73a5134, 0xe73a5134, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x7c994e9e, 0x7c994e9e, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x6164bd6c, 0x6164bd6c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x9503366, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xbf5a97c9, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xe6ff1a14, 0xe6ff1a14, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x77f31e2f, 0x77f31e2f, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xaab4d7d8, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x966320b, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xb26bddee, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0xb5c8e5d3, 0x51fd2c7b, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x317285d3, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x3c9623b1, 0x51fd2c7c, 0x3800010}, +{0x3800000, 0x51fd2c7c, 0x51fd2c7c, 0x527d2c7c, 0x3800000}, +{0x3800000, 0x51fd2c7c, 0x7b906a6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x0, 0x7b906a6c, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x1, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x76, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x2b94, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x636d24, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x7fffff, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x800000, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x800002, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x1398437, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xba98d27, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xba98d7a, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x751f853a, 0x7b906f68, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x7f7ffff0, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7b906a6c, 0x7f7fffff, 0x7f7fffff, 0x3800014}, +{0x3800000, 0x7b906a6c, 0x7f800000, 0x7f800000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x7f800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7b906a6c, 0x7f984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7b906a6c, 0x7fbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7b906a6c, 0x7fc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x7fd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x7fffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x80000000, 0x7b906a6c, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x80000001, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x80000076, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x80002b94, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x80636d24, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x807fffff, 0x7b906a6c, 0x3800080}, +{0x3800000, 0x7b906a6c, 0x80800000, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x80800002, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x81398437, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x8ba98d27, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x8ba98d7a, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xf51f853a, 0x7b90656f, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xff7ffff0, 0xff7edf1c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xff7fffff, 0xff7edf2b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xff800000, 0xff800000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0xff800001, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7b906a6c, 0xff984a37, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7b906a6c, 0xffbfffff, 0x7fc00000, 0x3800001}, +{0x3800000, 0x7b906a6c, 0xffc00000, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0xffd9ba98, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0xffffffff, 0x7fc00000, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x4f3495cb, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xe73a5134, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x7c994e9e, 0x7cbd6939, 0x3800000}, +{0x3800000, 0x7b906a6c, 0x6164bd6c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x9503366, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xbf5a97c9, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xe6ff1a14, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x77f31e2f, 0x7b915d8a, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xaab4d7d8, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x966320b, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xb26bddee, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0xb5c8e5d3, 0x7b906a6b, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x317285d3, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x3c9623b1, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x51fd2c7c, 0x7b906a6c, 0x3800010}, +{0x3800000, 0x7b906a6c, 0x7b906a6c, 0x7c106a6c, 0x3800000}, +{0x3400000, 0x0, 0x0, 0x0, 0x3400000}, +{0x3400000, 0x0, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x800000, 0x800000, 0x3400000}, +{0x3400000, 0x0, 0x800002, 0x800002, 0x3400000}, +{0x3400000, 0x0, 0x1398437, 0x1398437, 0x3400000}, +{0x3400000, 0x0, 0xba98d27, 0xba98d27, 0x3400000}, +{0x3400000, 0x0, 0xba98d7a, 0xba98d7a, 0x3400000}, +{0x3400000, 0x0, 0x751f853a, 0x751f853a, 0x3400000}, +{0x3400000, 0x0, 0x7f7ffff0, 0x7f7ffff0, 0x3400000}, +{0x3400000, 0x0, 0x7f7fffff, 0x7f7fffff, 0x3400000}, +{0x3400000, 0x0, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x0, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x0, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x0, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x0, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x0, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x0, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x0, 0x80000000, 0x0, 0x3400000}, +{0x3400000, 0x0, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x0, 0x80800000, 0x80800000, 0x3400000}, +{0x3400000, 0x0, 0x80800002, 0x80800002, 0x3400000}, +{0x3400000, 0x0, 0x81398437, 0x81398437, 0x3400000}, +{0x3400000, 0x0, 0x8ba98d27, 0x8ba98d27, 0x3400000}, +{0x3400000, 0x0, 0x8ba98d7a, 0x8ba98d7a, 0x3400000}, +{0x3400000, 0x0, 0xf51f853a, 0xf51f853a, 0x3400000}, +{0x3400000, 0x0, 0xff7ffff0, 0xff7ffff0, 0x3400000}, +{0x3400000, 0x0, 0xff7fffff, 0xff7fffff, 0x3400000}, +{0x3400000, 0x0, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x0, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x0, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x0, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x0, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x0, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x0, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x0, 0x4f3495cb, 0x4f3495cb, 0x3400000}, +{0x3400000, 0x0, 0xe73a5134, 0xe73a5134, 0x3400000}, +{0x3400000, 0x0, 0x7c994e9e, 0x7c994e9e, 0x3400000}, +{0x3400000, 0x0, 0x6164bd6c, 0x6164bd6c, 0x3400000}, +{0x3400000, 0x0, 0x9503366, 0x9503366, 0x3400000}, +{0x3400000, 0x0, 0xbf5a97c9, 0xbf5a97c9, 0x3400000}, +{0x3400000, 0x0, 0xe6ff1a14, 0xe6ff1a14, 0x3400000}, +{0x3400000, 0x0, 0x77f31e2f, 0x77f31e2f, 0x3400000}, +{0x3400000, 0x0, 0xaab4d7d8, 0xaab4d7d8, 0x3400000}, +{0x3400000, 0x0, 0x966320b, 0x966320b, 0x3400000}, +{0x3400000, 0x0, 0xb26bddee, 0xb26bddee, 0x3400000}, +{0x3400000, 0x0, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400000}, +{0x3400000, 0x0, 0x317285d3, 0x317285d3, 0x3400000}, +{0x3400000, 0x0, 0x3c9623b1, 0x3c9623b1, 0x3400000}, +{0x3400000, 0x0, 0x51fd2c7c, 0x51fd2c7c, 0x3400000}, +{0x3400000, 0x0, 0x7b906a6c, 0x7b906a6c, 0x3400000}, +{0x3400000, 0x1, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x1, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x1, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x1, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x1, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x1, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x1, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x1, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x1, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x1, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x1, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x1, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x1, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x1, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x1, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x1, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x1, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x1, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x1, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x1, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x1, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x1, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x1, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x1, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x1, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x1, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x1, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x1, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x1, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x1, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x1, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x1, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x1, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x1, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x1, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x1, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x1, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x1, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x1, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x1, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x1, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x1, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x1, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x1, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x1, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x1, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x1, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x76, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x76, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x76, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x76, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x76, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x76, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x76, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x76, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x76, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x76, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x76, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x76, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x76, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x76, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x76, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x76, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x76, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x76, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x76, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x76, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x76, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x76, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x76, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x76, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x76, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x76, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x76, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x76, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x76, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x76, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x76, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x76, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x76, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x76, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x76, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x76, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x76, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x76, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x76, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x76, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x76, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x76, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x76, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x76, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x76, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x76, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x76, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x2b94, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x2b94, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x2b94, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x2b94, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x2b94, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x2b94, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x2b94, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x2b94, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x2b94, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x2b94, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x2b94, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x2b94, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x2b94, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x2b94, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x2b94, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x2b94, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x2b94, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x2b94, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x2b94, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x2b94, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x2b94, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x2b94, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x2b94, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x2b94, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x2b94, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x2b94, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x2b94, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x2b94, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x2b94, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x2b94, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x2b94, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x2b94, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x2b94, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x2b94, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x2b94, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x2b94, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x2b94, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x2b94, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x2b94, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x2b94, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x2b94, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x2b94, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x2b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x2b94, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x2b94, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x2b94, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x2b94, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x636d24, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x636d24, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x636d24, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x636d24, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x636d24, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x636d24, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x636d24, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x636d24, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x636d24, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x636d24, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x636d24, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x636d24, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x636d24, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x636d24, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x636d24, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x636d24, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x636d24, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x636d24, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x636d24, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x636d24, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x636d24, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x636d24, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x636d24, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x636d24, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x636d24, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x636d24, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x636d24, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x636d24, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x636d24, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x636d24, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x636d24, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x636d24, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x636d24, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x636d24, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x636d24, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x636d24, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x636d24, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x636d24, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x636d24, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x636d24, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7fffff, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x7fffff, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x7fffff, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x7fffff, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x7fffff, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x7fffff, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x7fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7fffff, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7fffff, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x7fffff, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fffff, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fffff, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fffff, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffff, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffff, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffff, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x7fffff, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x7fffff, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x7fffff, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x7fffff, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x7fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x7fffff, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x7fffff, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x7fffff, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x7fffff, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x7fffff, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fffff, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fffff, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fffff, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffff, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffff, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffff, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x7fffff, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x7fffff, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7fffff, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x7fffff, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x7fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x7fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x7fffff, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x7fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x7fffff, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x7fffff, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x7fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x7fffff, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x7fffff, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x7fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x7fffff, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x800000, 0x0, 0x800000, 0x3400000}, +{0x3400000, 0x800000, 0x1, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x76, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x2b94, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x636d24, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x7fffff, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x800000, 0x1000000, 0x3400000}, +{0x3400000, 0x800000, 0x800002, 0x1000001, 0x3400000}, +{0x3400000, 0x800000, 0x1398437, 0x1798437, 0x3400000}, +{0x3400000, 0x800000, 0xba98d27, 0xba98d29, 0x3400000}, +{0x3400000, 0x800000, 0xba98d7a, 0xba98d7c, 0x3400000}, +{0x3400000, 0x800000, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x800000, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x800000, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x800000, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x800000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800000, 0x80000000, 0x800000, 0x3400000}, +{0x3400000, 0x800000, 0x80000001, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x80000076, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x80002b94, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x80636d24, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x807fffff, 0x800000, 0x3400080}, +{0x3400000, 0x800000, 0x80800000, 0x0, 0x3400000}, +{0x3400000, 0x800000, 0x80800002, 0x0, 0x3400008}, +{0x3400000, 0x800000, 0x81398437, 0x80f3086e, 0x3400000}, +{0x3400000, 0x800000, 0x8ba98d27, 0x8ba98d25, 0x3400000}, +{0x3400000, 0x800000, 0x8ba98d7a, 0x8ba98d78, 0x3400000}, +{0x3400000, 0x800000, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x800000, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x800000, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x800000, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x800000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800000, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x800000, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x800000, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x800000, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x800000, 0x9503366, 0x95033a6, 0x3400000}, +{0x3400000, 0x800000, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0x800000, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x800000, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x800000, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0x800000, 0x966320b, 0x966324b, 0x3400000}, +{0x3400000, 0x800000, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0x800000, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0x800000, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0x800000, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x800000, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x800000, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x800002, 0x0, 0x800002, 0x3400000}, +{0x3400000, 0x800002, 0x1, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x76, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x2b94, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x636d24, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x7fffff, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x800000, 0x1000001, 0x3400000}, +{0x3400000, 0x800002, 0x800002, 0x1000002, 0x3400000}, +{0x3400000, 0x800002, 0x1398437, 0x1798438, 0x3400000}, +{0x3400000, 0x800002, 0xba98d27, 0xba98d2a, 0x3400010}, +{0x3400000, 0x800002, 0xba98d7a, 0xba98d7d, 0x3400010}, +{0x3400000, 0x800002, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x800002, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x800002, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x800002, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x800002, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800002, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800002, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800002, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800002, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800002, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800002, 0x80000000, 0x800002, 0x3400000}, +{0x3400000, 0x800002, 0x80000001, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x80000076, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x80002b94, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x80636d24, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x807fffff, 0x800002, 0x3400080}, +{0x3400000, 0x800002, 0x80800000, 0x0, 0x3400008}, +{0x3400000, 0x800002, 0x80800002, 0x0, 0x3400000}, +{0x3400000, 0x800002, 0x81398437, 0x80f3086c, 0x3400000}, +{0x3400000, 0x800002, 0x8ba98d27, 0x8ba98d24, 0x3400010}, +{0x3400000, 0x800002, 0x8ba98d7a, 0x8ba98d77, 0x3400010}, +{0x3400000, 0x800002, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x800002, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x800002, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x800002, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x800002, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800002, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800002, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x800002, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800002, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800002, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x800002, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x800002, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x800002, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x800002, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x800002, 0x9503366, 0x95033a7, 0x3400010}, +{0x3400000, 0x800002, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0x800002, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x800002, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x800002, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0x800002, 0x966320b, 0x966324c, 0x3400010}, +{0x3400000, 0x800002, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0x800002, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0x800002, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0x800002, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x800002, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x800002, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x1398437, 0x0, 0x1398437, 0x3400000}, +{0x3400000, 0x1398437, 0x1, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x76, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x2b94, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x636d24, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x7fffff, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x800000, 0x1798437, 0x3400000}, +{0x3400000, 0x1398437, 0x800002, 0x1798438, 0x3400000}, +{0x3400000, 0x1398437, 0x1398437, 0x1b98437, 0x3400000}, +{0x3400000, 0x1398437, 0xba98d27, 0xba98d2d, 0x3400010}, +{0x3400000, 0x1398437, 0xba98d7a, 0xba98d80, 0x3400010}, +{0x3400000, 0x1398437, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x1398437, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x1398437, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x1398437, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x1398437, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x1398437, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x1398437, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x1398437, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x1398437, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x1398437, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x1398437, 0x80000000, 0x1398437, 0x3400000}, +{0x3400000, 0x1398437, 0x80000001, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x80000076, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x80002b94, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x80636d24, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x807fffff, 0x1398437, 0x3400080}, +{0x3400000, 0x1398437, 0x80800000, 0xf3086e, 0x3400000}, +{0x3400000, 0x1398437, 0x80800002, 0xf3086c, 0x3400000}, +{0x3400000, 0x1398437, 0x81398437, 0x0, 0x3400000}, +{0x3400000, 0x1398437, 0x8ba98d27, 0x8ba98d21, 0x3400010}, +{0x3400000, 0x1398437, 0x8ba98d7a, 0x8ba98d74, 0x3400010}, +{0x3400000, 0x1398437, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x1398437, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x1398437, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x1398437, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x1398437, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x1398437, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x1398437, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x1398437, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x1398437, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x1398437, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x1398437, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x1398437, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x1398437, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x1398437, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x1398437, 0x9503366, 0x9503420, 0x3400010}, +{0x3400000, 0x1398437, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0x1398437, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x1398437, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x1398437, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0x1398437, 0x966320b, 0x96632c5, 0x3400010}, +{0x3400000, 0x1398437, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0x1398437, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0x1398437, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0x1398437, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x1398437, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x1398437, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0xba98d27, 0x0, 0xba98d27, 0x3400000}, +{0x3400000, 0xba98d27, 0x1, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x76, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x2b94, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x636d24, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x7fffff, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x800000, 0xba98d29, 0x3400000}, +{0x3400000, 0xba98d27, 0x800002, 0xba98d2a, 0x3400010}, +{0x3400000, 0xba98d27, 0x1398437, 0xba98d2d, 0x3400010}, +{0x3400000, 0xba98d27, 0xba98d27, 0xc298d27, 0x3400000}, +{0x3400000, 0xba98d27, 0xba98d7a, 0xc298d51, 0x3400010}, +{0x3400000, 0xba98d27, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0xba98d27, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0xba98d27, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0xba98d27, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xba98d27, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d27, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d27, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d27, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d27, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d27, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d27, 0x80000000, 0xba98d27, 0x3400000}, +{0x3400000, 0xba98d27, 0x80000001, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x80000076, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x80002b94, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x80636d24, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x807fffff, 0xba98d27, 0x3400080}, +{0x3400000, 0xba98d27, 0x80800000, 0xba98d25, 0x3400000}, +{0x3400000, 0xba98d27, 0x80800002, 0xba98d25, 0x3400010}, +{0x3400000, 0xba98d27, 0x81398437, 0xba98d22, 0x3400010}, +{0x3400000, 0xba98d27, 0x8ba98d27, 0x0, 0x3400000}, +{0x3400000, 0xba98d27, 0x8ba98d7a, 0x83260000, 0x3400000}, +{0x3400000, 0xba98d27, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0xba98d27, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0xba98d27, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xba98d27, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xba98d27, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d27, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d27, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d27, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d27, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d27, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d27, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0xba98d27, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0xba98d27, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0xba98d27, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0xba98d27, 0x9503366, 0xbb00ec3, 0x3400010}, +{0x3400000, 0xba98d27, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xba98d27, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xba98d27, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0xba98d27, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xba98d27, 0x966320b, 0xbb0beb8, 0x3400010}, +{0x3400000, 0xba98d27, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0xba98d27, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xba98d27, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0xba98d27, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0xba98d27, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0xba98d27, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0xba98d7a, 0x0, 0xba98d7a, 0x3400000}, +{0x3400000, 0xba98d7a, 0x1, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x76, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x2b94, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x636d24, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x7fffff, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x800000, 0xba98d7c, 0x3400000}, +{0x3400000, 0xba98d7a, 0x800002, 0xba98d7d, 0x3400010}, +{0x3400000, 0xba98d7a, 0x1398437, 0xba98d80, 0x3400010}, +{0x3400000, 0xba98d7a, 0xba98d27, 0xc298d51, 0x3400010}, +{0x3400000, 0xba98d7a, 0xba98d7a, 0xc298d7a, 0x3400000}, +{0x3400000, 0xba98d7a, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0xba98d7a, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0xba98d7a, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0xba98d7a, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xba98d7a, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d7a, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d7a, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d7a, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d7a, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d7a, 0x80000000, 0xba98d7a, 0x3400000}, +{0x3400000, 0xba98d7a, 0x80000001, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x80000076, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x80002b94, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x80636d24, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x807fffff, 0xba98d7a, 0x3400080}, +{0x3400000, 0xba98d7a, 0x80800000, 0xba98d78, 0x3400000}, +{0x3400000, 0xba98d7a, 0x80800002, 0xba98d78, 0x3400010}, +{0x3400000, 0xba98d7a, 0x81398437, 0xba98d75, 0x3400010}, +{0x3400000, 0xba98d7a, 0x8ba98d27, 0x3260000, 0x3400000}, +{0x3400000, 0xba98d7a, 0x8ba98d7a, 0x0, 0x3400000}, +{0x3400000, 0xba98d7a, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0xba98d7a, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0xba98d7a, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xba98d7a, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xba98d7a, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d7a, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d7a, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xba98d7a, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d7a, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d7a, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xba98d7a, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0xba98d7a, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0xba98d7a, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0xba98d7a, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0xba98d7a, 0x9503366, 0xbb00f16, 0x3400010}, +{0x3400000, 0xba98d7a, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xba98d7a, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xba98d7a, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0xba98d7a, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xba98d7a, 0x966320b, 0xbb0bf0b, 0x3400010}, +{0x3400000, 0xba98d7a, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0xba98d7a, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xba98d7a, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0xba98d7a, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0xba98d7a, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0xba98d7a, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x751f853a, 0x0, 0x751f853a, 0x3400000}, +{0x3400000, 0x751f853a, 0x1, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x76, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x2b94, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x636d24, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x7fffff, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x800000, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x800002, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x1398437, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0xba98d27, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0xba98d7a, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x751f853a, 0x759f853a, 0x3400000}, +{0x3400000, 0x751f853a, 0x7f7ffff0, 0x7f7ffffa, 0x3400010}, +{0x3400000, 0x751f853a, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x751f853a, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x751f853a, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x751f853a, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x751f853a, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x751f853a, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x751f853a, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x751f853a, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x751f853a, 0x80000000, 0x751f853a, 0x3400000}, +{0x3400000, 0x751f853a, 0x80000001, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x80000076, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x80002b94, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x80636d24, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x807fffff, 0x751f853a, 0x3400080}, +{0x3400000, 0x751f853a, 0x80800000, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x80800002, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x81398437, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x8ba98d27, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x8ba98d7a, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0xf51f853a, 0x0, 0x3400000}, +{0x3400000, 0x751f853a, 0xff7ffff0, 0xff7fffe6, 0x3400010}, +{0x3400000, 0x751f853a, 0xff7fffff, 0xff7ffff5, 0x3400010}, +{0x3400000, 0x751f853a, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x751f853a, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x751f853a, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x751f853a, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x751f853a, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x751f853a, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x751f853a, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x751f853a, 0x4f3495cb, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0xe73a5134, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x7c994e9e, 0x7c994fde, 0x3400010}, +{0x3400000, 0x751f853a, 0x6164bd6c, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x9503366, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0xbf5a97c9, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0xe6ff1a14, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x77f31e2f, 0x77f81a59, 0x3400010}, +{0x3400000, 0x751f853a, 0xaab4d7d8, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x966320b, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0xb26bddee, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0xb5c8e5d3, 0x751f853a, 0x3400010}, +{0x3400000, 0x751f853a, 0x317285d3, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x3c9623b1, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x51fd2c7c, 0x751f853b, 0x3400010}, +{0x3400000, 0x751f853a, 0x7b906a6c, 0x7b906f69, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x0, 0x7f7ffff0, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x1, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x76, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x2b94, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x636d24, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x7fffff, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x800000, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x800002, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x1398437, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xba98d27, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xba98d7a, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x751f853a, 0x7f7ffffa, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x7f7ffff0, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7ffff0, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7ffff0, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7ffff0, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7ffff0, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7ffff0, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x80000000, 0x7f7ffff0, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x80000001, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x80000076, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x80002b94, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x80636d24, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x807fffff, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x7f7ffff0, 0x80800000, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x80800002, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x81398437, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x8ba98d27, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x8ba98d7a, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xf51f853a, 0x7f7fffe7, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xff7ffff0, 0x0, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0xff7fffff, 0xf5700000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7ffff0, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7ffff0, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7ffff0, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7ffff0, 0x4f3495cb, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xe73a5134, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x7c994e9e, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7ffff0, 0x6164bd6c, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x9503366, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xbf5a97c9, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xe6ff1a14, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x77f31e2f, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7ffff0, 0xaab4d7d8, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x966320b, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xb26bddee, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0xb5c8e5d3, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x317285d3, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x3c9623b1, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x51fd2c7c, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x7f7ffff0, 0x7b906a6c, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x0, 0x7f7fffff, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x1, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x76, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x2b94, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x636d24, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x800000, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x800002, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x1398437, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0xba98d27, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0xba98d7a, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x751f853a, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x7f7ffff0, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7fffff, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7fffff, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7fffff, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x80000000, 0x7f7fffff, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x80000001, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x80000076, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x80002b94, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x80636d24, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x807fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x7f7fffff, 0x80800000, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x80800002, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x81398437, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x8ba98d27, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x8ba98d7a, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0xf51f853a, 0x7f7ffff6, 0x3400010}, +{0x3400000, 0x7f7fffff, 0xff7ffff0, 0x75700000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0xff7fffff, 0x0, 0x3400000}, +{0x3400000, 0x7f7fffff, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7fffff, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7fffff, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f7fffff, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f7fffff, 0x4f3495cb, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0xe73a5134, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x7c994e9e, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x6164bd6c, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x9503366, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0xbf5a97c9, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0xe6ff1a14, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x77f31e2f, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0xaab4d7d8, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x966320b, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0xb26bddee, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0xb5c8e5d3, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x7f7fffff, 0x317285d3, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x3c9623b1, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x51fd2c7c, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f7fffff, 0x7b906a6c, 0x7f800000, 0x3400014}, +{0x3400000, 0x7f800000, 0x0, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x1, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x76, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x2b94, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x636d24, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x7fffff, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x800002, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x1398437, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xba98d27, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xba98d7a, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x751f853a, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7f7ffff0, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7f7fffff, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f800000, 0x80000000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x80000001, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x80000076, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x80002b94, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x80636d24, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x807fffff, 0x7f800000, 0x3400080}, +{0x3400000, 0x7f800000, 0x80800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x80800002, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x81398437, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x8ba98d27, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x8ba98d7a, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xf51f853a, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xff7ffff0, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xff7fffff, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f800000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f800000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7f800000, 0x4f3495cb, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xe73a5134, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7c994e9e, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x6164bd6c, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x9503366, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xbf5a97c9, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xe6ff1a14, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x77f31e2f, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xaab4d7d8, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x966320b, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xb26bddee, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0xb5c8e5d3, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x317285d3, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x3c9623b1, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x51fd2c7c, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800000, 0x7b906a6c, 0x7f800000, 0x3400000}, +{0x3400000, 0x7f800001, 0x0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x1, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x76, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x2b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x7fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x1398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x751f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7f7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7f7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7fc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7fd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7fffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x80000000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x80000001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x80000076, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x80002b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x80636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x807fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f800001, 0x80800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x80800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x81398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x8ba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x8ba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xf51f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xff7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xff7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xffc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xffd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xffffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x4f3495cb, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xe73a5134, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7c994e9e, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x6164bd6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x9503366, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xbf5a97c9, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xe6ff1a14, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x77f31e2f, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xaab4d7d8, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x966320b, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xb26bddee, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0xb5c8e5d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x317285d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x3c9623b1, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x51fd2c7c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f800001, 0x7b906a6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x1, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x76, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x2b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x7fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x1398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x751f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7f7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7f7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7fc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7fd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7fffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x80000000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x80000001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x80000076, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x80002b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x80636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x807fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7f984a37, 0x80800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x80800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x81398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x8ba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x8ba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xf51f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xff7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xff7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xffc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xffd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xffffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x4f3495cb, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xe73a5134, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7c994e9e, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x6164bd6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x9503366, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xbf5a97c9, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xe6ff1a14, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x77f31e2f, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xaab4d7d8, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x966320b, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xb26bddee, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0xb5c8e5d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x317285d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x3c9623b1, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x51fd2c7c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7f984a37, 0x7b906a6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x1, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x76, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x2b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x7fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x1398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x751f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7f7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7f7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7fc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7fd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7fffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x80000000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x80000001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x80000076, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x80002b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x80636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x807fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x7fbfffff, 0x80800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x80800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x81398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x8ba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x8ba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xf51f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xff7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xff7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xffc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xffd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xffffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x4f3495cb, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xe73a5134, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7c994e9e, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x6164bd6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x9503366, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xbf5a97c9, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xe6ff1a14, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x77f31e2f, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xaab4d7d8, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x966320b, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xb26bddee, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x317285d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x3c9623b1, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x51fd2c7c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fbfffff, 0x7b906a6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0x0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x1, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x76, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x2b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x7fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x1398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x751f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7f7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7f7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7f800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x80000000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x80000001, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x80000076, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x80002b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x80636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x807fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fc00000, 0x80800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x80800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x81398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x8ba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x8ba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xf51f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xff7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xff7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xff800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fc00000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x4f3495cb, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xe73a5134, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7c994e9e, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x6164bd6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x9503366, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xbf5a97c9, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xe6ff1a14, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x77f31e2f, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xaab4d7d8, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x966320b, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xb26bddee, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0xb5c8e5d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x317285d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x3c9623b1, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x51fd2c7c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fc00000, 0x7b906a6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x1, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x76, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x2b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x7fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x1398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x751f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7f7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7f800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fd9ba98, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fd9ba98, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fd9ba98, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x80000000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x80000001, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x80000076, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x80002b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x80636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x807fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fd9ba98, 0x80800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x80800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x81398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x8ba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xf51f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xff7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xff7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xff800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fd9ba98, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fd9ba98, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fd9ba98, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x4f3495cb, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xe73a5134, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7c994e9e, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x6164bd6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x9503366, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x77f31e2f, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x966320b, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xb26bddee, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x317285d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x3c9623b1, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fd9ba98, 0x7b906a6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x1, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x76, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x2b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x7fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x1398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x751f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7f7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7f7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7f800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fffffff, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fffffff, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fffffff, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x80000000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x80000001, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x80000076, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x80002b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x80636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x807fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x7fffffff, 0x80800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x80800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x81398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x8ba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x8ba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xf51f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xff7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xff7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xff800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fffffff, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fffffff, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7fffffff, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x4f3495cb, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xe73a5134, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7c994e9e, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x6164bd6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x9503366, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xbf5a97c9, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xe6ff1a14, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x77f31e2f, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xaab4d7d8, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x966320b, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xb26bddee, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0xb5c8e5d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x317285d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x3c9623b1, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x51fd2c7c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7fffffff, 0x7b906a6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0x0, 0x0, 0x3400000}, +{0x3400000, 0x80000000, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x800000, 0x800000, 0x3400000}, +{0x3400000, 0x80000000, 0x800002, 0x800002, 0x3400000}, +{0x3400000, 0x80000000, 0x1398437, 0x1398437, 0x3400000}, +{0x3400000, 0x80000000, 0xba98d27, 0xba98d27, 0x3400000}, +{0x3400000, 0x80000000, 0xba98d7a, 0xba98d7a, 0x3400000}, +{0x3400000, 0x80000000, 0x751f853a, 0x751f853a, 0x3400000}, +{0x3400000, 0x80000000, 0x7f7ffff0, 0x7f7ffff0, 0x3400000}, +{0x3400000, 0x80000000, 0x7f7fffff, 0x7f7fffff, 0x3400000}, +{0x3400000, 0x80000000, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x80000000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80000000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80000000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80000000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0x80000000, 0x80000000, 0x3400000}, +{0x3400000, 0x80000000, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x80000000, 0x80800000, 0x80800000, 0x3400000}, +{0x3400000, 0x80000000, 0x80800002, 0x80800002, 0x3400000}, +{0x3400000, 0x80000000, 0x81398437, 0x81398437, 0x3400000}, +{0x3400000, 0x80000000, 0x8ba98d27, 0x8ba98d27, 0x3400000}, +{0x3400000, 0x80000000, 0x8ba98d7a, 0x8ba98d7a, 0x3400000}, +{0x3400000, 0x80000000, 0xf51f853a, 0xf51f853a, 0x3400000}, +{0x3400000, 0x80000000, 0xff7ffff0, 0xff7ffff0, 0x3400000}, +{0x3400000, 0x80000000, 0xff7fffff, 0xff7fffff, 0x3400000}, +{0x3400000, 0x80000000, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x80000000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80000000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80000000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80000000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80000000, 0x4f3495cb, 0x4f3495cb, 0x3400000}, +{0x3400000, 0x80000000, 0xe73a5134, 0xe73a5134, 0x3400000}, +{0x3400000, 0x80000000, 0x7c994e9e, 0x7c994e9e, 0x3400000}, +{0x3400000, 0x80000000, 0x6164bd6c, 0x6164bd6c, 0x3400000}, +{0x3400000, 0x80000000, 0x9503366, 0x9503366, 0x3400000}, +{0x3400000, 0x80000000, 0xbf5a97c9, 0xbf5a97c9, 0x3400000}, +{0x3400000, 0x80000000, 0xe6ff1a14, 0xe6ff1a14, 0x3400000}, +{0x3400000, 0x80000000, 0x77f31e2f, 0x77f31e2f, 0x3400000}, +{0x3400000, 0x80000000, 0xaab4d7d8, 0xaab4d7d8, 0x3400000}, +{0x3400000, 0x80000000, 0x966320b, 0x966320b, 0x3400000}, +{0x3400000, 0x80000000, 0xb26bddee, 0xb26bddee, 0x3400000}, +{0x3400000, 0x80000000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400000}, +{0x3400000, 0x80000000, 0x317285d3, 0x317285d3, 0x3400000}, +{0x3400000, 0x80000000, 0x3c9623b1, 0x3c9623b1, 0x3400000}, +{0x3400000, 0x80000000, 0x51fd2c7c, 0x51fd2c7c, 0x3400000}, +{0x3400000, 0x80000000, 0x7b906a6c, 0x7b906a6c, 0x3400000}, +{0x3400000, 0x80000001, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x80000001, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x80000001, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x80000001, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x80000001, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x80000001, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x80000001, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x80000001, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x80000001, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x80000001, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000001, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000001, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000001, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000001, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000001, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000001, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x80000001, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x80000001, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x80000001, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x80000001, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x80000001, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x80000001, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x80000001, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x80000001, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x80000001, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x80000001, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000001, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000001, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000001, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000001, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000001, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000001, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x80000001, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x80000001, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x80000001, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x80000001, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x80000001, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x80000001, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x80000001, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x80000001, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x80000001, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x80000001, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x80000001, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x80000001, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x80000001, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x80000001, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x80000001, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x80000076, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x80000076, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x80000076, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x80000076, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x80000076, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x80000076, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x80000076, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x80000076, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x80000076, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x80000076, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000076, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000076, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000076, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000076, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000076, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000076, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x80000076, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x80000076, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x80000076, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x80000076, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x80000076, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x80000076, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x80000076, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x80000076, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x80000076, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x80000076, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000076, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000076, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80000076, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000076, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000076, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80000076, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x80000076, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x80000076, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x80000076, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x80000076, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x80000076, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x80000076, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x80000076, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x80000076, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x80000076, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x80000076, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x80000076, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x80000076, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x80000076, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x80000076, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x80000076, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x80002b94, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x80002b94, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x80002b94, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x80002b94, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x80002b94, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x80002b94, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x80002b94, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x80002b94, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x80002b94, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x80002b94, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80002b94, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80002b94, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80002b94, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80002b94, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80002b94, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80002b94, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x80002b94, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x80002b94, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x80002b94, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x80002b94, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x80002b94, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x80002b94, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x80002b94, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x80002b94, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x80002b94, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x80002b94, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80002b94, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80002b94, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80002b94, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80002b94, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80002b94, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80002b94, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x80002b94, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x80002b94, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x80002b94, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x80002b94, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x80002b94, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x80002b94, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x80002b94, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x80002b94, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x80002b94, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x80002b94, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x80002b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x80002b94, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x80002b94, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x80002b94, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x80002b94, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x80636d24, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x80636d24, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x80636d24, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x80636d24, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x80636d24, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x80636d24, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x80636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x80636d24, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x80636d24, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x80636d24, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80636d24, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80636d24, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80636d24, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80636d24, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80636d24, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80636d24, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x80636d24, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x80636d24, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x80636d24, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x80636d24, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x80636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x80636d24, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x80636d24, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x80636d24, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x80636d24, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x80636d24, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80636d24, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80636d24, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x80636d24, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80636d24, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80636d24, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x80636d24, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x80636d24, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x80636d24, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x80636d24, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x80636d24, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x80636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x80636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x80636d24, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x80636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x80636d24, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x80636d24, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x80636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x80636d24, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x80636d24, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x80636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x80636d24, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x807fffff, 0x0, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x1, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x76, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x2b94, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x636d24, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x7fffff, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x800000, 0x800000, 0x3400080}, +{0x3400000, 0x807fffff, 0x800002, 0x800002, 0x3400080}, +{0x3400000, 0x807fffff, 0x1398437, 0x1398437, 0x3400080}, +{0x3400000, 0x807fffff, 0xba98d27, 0xba98d27, 0x3400080}, +{0x3400000, 0x807fffff, 0xba98d7a, 0xba98d7a, 0x3400080}, +{0x3400000, 0x807fffff, 0x751f853a, 0x751f853a, 0x3400080}, +{0x3400000, 0x807fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3400080}, +{0x3400000, 0x807fffff, 0x7f7fffff, 0x7f7fffff, 0x3400080}, +{0x3400000, 0x807fffff, 0x7f800000, 0x7f800000, 0x3400080}, +{0x3400000, 0x807fffff, 0x7f800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x807fffff, 0x7f984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x807fffff, 0x7fbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x807fffff, 0x7fc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x807fffff, 0x7fd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x807fffff, 0x7fffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x807fffff, 0x80000000, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x80000001, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x80000076, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x80002b94, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x80636d24, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x807fffff, 0x0, 0x3400080}, +{0x3400000, 0x807fffff, 0x80800000, 0x80800000, 0x3400080}, +{0x3400000, 0x807fffff, 0x80800002, 0x80800002, 0x3400080}, +{0x3400000, 0x807fffff, 0x81398437, 0x81398437, 0x3400080}, +{0x3400000, 0x807fffff, 0x8ba98d27, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x807fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x807fffff, 0xf51f853a, 0xf51f853a, 0x3400080}, +{0x3400000, 0x807fffff, 0xff7ffff0, 0xff7ffff0, 0x3400080}, +{0x3400000, 0x807fffff, 0xff7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0x807fffff, 0xff800000, 0xff800000, 0x3400080}, +{0x3400000, 0x807fffff, 0xff800001, 0x7fc00000, 0x3400081}, +{0x3400000, 0x807fffff, 0xff984a37, 0x7fc00000, 0x3400081}, +{0x3400000, 0x807fffff, 0xffbfffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0x807fffff, 0xffc00000, 0x7fc00000, 0x3400080}, +{0x3400000, 0x807fffff, 0xffd9ba98, 0x7fc00000, 0x3400080}, +{0x3400000, 0x807fffff, 0xffffffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0x807fffff, 0x4f3495cb, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x807fffff, 0xe73a5134, 0xe73a5134, 0x3400080}, +{0x3400000, 0x807fffff, 0x7c994e9e, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x807fffff, 0x6164bd6c, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x807fffff, 0x9503366, 0x9503366, 0x3400080}, +{0x3400000, 0x807fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0x807fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0x807fffff, 0x77f31e2f, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x807fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0x807fffff, 0x966320b, 0x966320b, 0x3400080}, +{0x3400000, 0x807fffff, 0xb26bddee, 0xb26bddee, 0x3400080}, +{0x3400000, 0x807fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0x807fffff, 0x317285d3, 0x317285d3, 0x3400080}, +{0x3400000, 0x807fffff, 0x3c9623b1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x807fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x807fffff, 0x7b906a6c, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x80800000, 0x0, 0x80800000, 0x3400000}, +{0x3400000, 0x80800000, 0x1, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x76, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x2b94, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x636d24, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x7fffff, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x800000, 0x0, 0x3400000}, +{0x3400000, 0x80800000, 0x800002, 0x0, 0x3400008}, +{0x3400000, 0x80800000, 0x1398437, 0xf3086e, 0x3400000}, +{0x3400000, 0x80800000, 0xba98d27, 0xba98d25, 0x3400000}, +{0x3400000, 0x80800000, 0xba98d7a, 0xba98d78, 0x3400000}, +{0x3400000, 0x80800000, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0x80800000, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x80800000, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x80800000, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x80800000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800000, 0x80000000, 0x80800000, 0x3400000}, +{0x3400000, 0x80800000, 0x80000001, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x80000076, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x80002b94, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x80636d24, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x807fffff, 0x80800000, 0x3400080}, +{0x3400000, 0x80800000, 0x80800000, 0x81000000, 0x3400000}, +{0x3400000, 0x80800000, 0x80800002, 0x81000001, 0x3400000}, +{0x3400000, 0x80800000, 0x81398437, 0x81798437, 0x3400000}, +{0x3400000, 0x80800000, 0x8ba98d27, 0x8ba98d29, 0x3400000}, +{0x3400000, 0x80800000, 0x8ba98d7a, 0x8ba98d7c, 0x3400000}, +{0x3400000, 0x80800000, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0x80800000, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0x80800000, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0x80800000, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x80800000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800000, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x80800000, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0x80800000, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x80800000, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x80800000, 0x9503366, 0x9503326, 0x3400000}, +{0x3400000, 0x80800000, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0x80800000, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0x80800000, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x80800000, 0xaab4d7d8, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0x80800000, 0x966320b, 0x96631cb, 0x3400000}, +{0x3400000, 0x80800000, 0xb26bddee, 0xb26bddee, 0x3400010}, +{0x3400000, 0x80800000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0x80800000, 0x317285d3, 0x317285d3, 0x3400010}, +{0x3400000, 0x80800000, 0x3c9623b1, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x80800000, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x80800000, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x80800002, 0x0, 0x80800002, 0x3400000}, +{0x3400000, 0x80800002, 0x1, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x76, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x2b94, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x636d24, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x7fffff, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x800000, 0x0, 0x3400008}, +{0x3400000, 0x80800002, 0x800002, 0x0, 0x3400000}, +{0x3400000, 0x80800002, 0x1398437, 0xf3086c, 0x3400000}, +{0x3400000, 0x80800002, 0xba98d27, 0xba98d25, 0x3400010}, +{0x3400000, 0x80800002, 0xba98d7a, 0xba98d78, 0x3400010}, +{0x3400000, 0x80800002, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0x80800002, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x80800002, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x80800002, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x80800002, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800002, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800002, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800002, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800002, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800002, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800002, 0x80000000, 0x80800002, 0x3400000}, +{0x3400000, 0x80800002, 0x80000001, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x80000076, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x80002b94, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x80636d24, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x807fffff, 0x80800002, 0x3400080}, +{0x3400000, 0x80800002, 0x80800000, 0x81000001, 0x3400000}, +{0x3400000, 0x80800002, 0x80800002, 0x81000002, 0x3400000}, +{0x3400000, 0x80800002, 0x81398437, 0x81798438, 0x3400000}, +{0x3400000, 0x80800002, 0x8ba98d27, 0x8ba98d29, 0x3400010}, +{0x3400000, 0x80800002, 0x8ba98d7a, 0x8ba98d7c, 0x3400010}, +{0x3400000, 0x80800002, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0x80800002, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0x80800002, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0x80800002, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x80800002, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800002, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800002, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x80800002, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800002, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800002, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x80800002, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x80800002, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0x80800002, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x80800002, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x80800002, 0x9503366, 0x9503326, 0x3400010}, +{0x3400000, 0x80800002, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0x80800002, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0x80800002, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x80800002, 0xaab4d7d8, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0x80800002, 0x966320b, 0x96631cb, 0x3400010}, +{0x3400000, 0x80800002, 0xb26bddee, 0xb26bddee, 0x3400010}, +{0x3400000, 0x80800002, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0x80800002, 0x317285d3, 0x317285d3, 0x3400010}, +{0x3400000, 0x80800002, 0x3c9623b1, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x80800002, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x80800002, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x81398437, 0x0, 0x81398437, 0x3400000}, +{0x3400000, 0x81398437, 0x1, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x76, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x2b94, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x636d24, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x7fffff, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x800000, 0x80f3086e, 0x3400000}, +{0x3400000, 0x81398437, 0x800002, 0x80f3086c, 0x3400000}, +{0x3400000, 0x81398437, 0x1398437, 0x0, 0x3400000}, +{0x3400000, 0x81398437, 0xba98d27, 0xba98d22, 0x3400010}, +{0x3400000, 0x81398437, 0xba98d7a, 0xba98d75, 0x3400010}, +{0x3400000, 0x81398437, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0x81398437, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x81398437, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x81398437, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x81398437, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x81398437, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x81398437, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x81398437, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x81398437, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x81398437, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x81398437, 0x80000000, 0x81398437, 0x3400000}, +{0x3400000, 0x81398437, 0x80000001, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x80000076, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x80002b94, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x80636d24, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x807fffff, 0x81398437, 0x3400080}, +{0x3400000, 0x81398437, 0x80800000, 0x81798437, 0x3400000}, +{0x3400000, 0x81398437, 0x80800002, 0x81798438, 0x3400000}, +{0x3400000, 0x81398437, 0x81398437, 0x81b98437, 0x3400000}, +{0x3400000, 0x81398437, 0x8ba98d27, 0x8ba98d2c, 0x3400010}, +{0x3400000, 0x81398437, 0x8ba98d7a, 0x8ba98d7f, 0x3400010}, +{0x3400000, 0x81398437, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0x81398437, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0x81398437, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0x81398437, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x81398437, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x81398437, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x81398437, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x81398437, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x81398437, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x81398437, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x81398437, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x81398437, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0x81398437, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x81398437, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x81398437, 0x9503366, 0x95032ad, 0x3400010}, +{0x3400000, 0x81398437, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0x81398437, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0x81398437, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x81398437, 0xaab4d7d8, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0x81398437, 0x966320b, 0x9663152, 0x3400010}, +{0x3400000, 0x81398437, 0xb26bddee, 0xb26bddee, 0x3400010}, +{0x3400000, 0x81398437, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0x81398437, 0x317285d3, 0x317285d3, 0x3400010}, +{0x3400000, 0x81398437, 0x3c9623b1, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x81398437, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x81398437, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x0, 0x8ba98d27, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x1, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x76, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x2b94, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x636d24, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x7fffff, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x800000, 0x8ba98d25, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x800002, 0x8ba98d24, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x1398437, 0x8ba98d21, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xba98d27, 0x0, 0x3400000}, +{0x3400000, 0x8ba98d27, 0xba98d7a, 0x3260000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d27, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d27, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d27, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x80000000, 0x8ba98d27, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x80000001, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x80000076, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x80002b94, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x80636d24, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x807fffff, 0x8ba98d27, 0x3400080}, +{0x3400000, 0x8ba98d27, 0x80800000, 0x8ba98d29, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x80800002, 0x8ba98d29, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x81398437, 0x8ba98d2c, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x8ba98d27, 0x8c298d27, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x8ba98d7a, 0x8c298d50, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d27, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d27, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d27, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d27, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x9503366, 0x8ba30b8b, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xaab4d7d8, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x966320b, 0x8ba25b96, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xb26bddee, 0xb26bddee, 0x3400010}, +{0x3400000, 0x8ba98d27, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x317285d3, 0x317285d3, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x3c9623b1, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x8ba98d27, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x0, 0x8ba98d7a, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x1, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x76, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x2b94, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x636d24, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x7fffff, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x800000, 0x8ba98d78, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x800002, 0x8ba98d77, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x1398437, 0x8ba98d74, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xba98d27, 0x83260000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0xba98d7a, 0x0, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d7a, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d7a, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d7a, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x80000000, 0x8ba98d7a, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x80000001, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x80000076, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x80002b94, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x80636d24, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x807fffff, 0x8ba98d7a, 0x3400080}, +{0x3400000, 0x8ba98d7a, 0x80800000, 0x8ba98d7c, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x80800002, 0x8ba98d7c, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x81398437, 0x8ba98d7f, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x8ba98d27, 0x8c298d50, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x8ba98d7a, 0x8c298d7a, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d7a, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d7a, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x8ba98d7a, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x8ba98d7a, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x9503366, 0x8ba30bde, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xaab4d7d8, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x966320b, 0x8ba25be9, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xb26bddee, 0xb26bddee, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0xb5c8e5d3, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x317285d3, 0x317285d3, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x3c9623b1, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x8ba98d7a, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0xf51f853a, 0x0, 0xf51f853a, 0x3400000}, +{0x3400000, 0xf51f853a, 0x1, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x76, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x2b94, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x636d24, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x7fffff, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x800000, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x800002, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x1398437, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0xba98d27, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0xba98d7a, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x751f853a, 0x0, 0x3400000}, +{0x3400000, 0xf51f853a, 0x7f7ffff0, 0x7f7fffe7, 0x3400010}, +{0x3400000, 0xf51f853a, 0x7f7fffff, 0x7f7ffff6, 0x3400010}, +{0x3400000, 0xf51f853a, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xf51f853a, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xf51f853a, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xf51f853a, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xf51f853a, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xf51f853a, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xf51f853a, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xf51f853a, 0x80000000, 0xf51f853a, 0x3400000}, +{0x3400000, 0xf51f853a, 0x80000001, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x80000076, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x80002b94, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x80636d24, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x807fffff, 0xf51f853a, 0x3400080}, +{0x3400000, 0xf51f853a, 0x80800000, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x80800002, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x81398437, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x8ba98d27, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x8ba98d7a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0xf51f853a, 0xf59f853a, 0x3400000}, +{0x3400000, 0xf51f853a, 0xff7ffff0, 0xff7ffff9, 0x3400010}, +{0x3400000, 0xf51f853a, 0xff7fffff, 0xff7fffff, 0x3400014}, +{0x3400000, 0xf51f853a, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xf51f853a, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xf51f853a, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xf51f853a, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xf51f853a, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xf51f853a, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xf51f853a, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xf51f853a, 0x4f3495cb, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0xe73a5134, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x7c994e9e, 0x7c994d5f, 0x3400010}, +{0x3400000, 0xf51f853a, 0x6164bd6c, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x9503366, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0xbf5a97c9, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0xe6ff1a14, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x77f31e2f, 0x77ee2206, 0x3400010}, +{0x3400000, 0xf51f853a, 0xaab4d7d8, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x966320b, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0xb26bddee, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0xb5c8e5d3, 0xf51f853a, 0x3400010}, +{0x3400000, 0xf51f853a, 0x317285d3, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x3c9623b1, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x51fd2c7c, 0xf51f8539, 0x3400010}, +{0x3400000, 0xf51f853a, 0x7b906a6c, 0x7b906570, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x0, 0xff7ffff0, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x1, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x76, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x2b94, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x636d24, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x7fffff, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x800000, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x800002, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x1398437, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xba98d27, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xba98d7a, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x751f853a, 0xff7fffe6, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x7f7ffff0, 0x0, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x7f7fffff, 0x75700000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7ffff0, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7ffff0, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7ffff0, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x80000000, 0xff7ffff0, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x80000001, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x80000076, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x80002b94, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x80636d24, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x807fffff, 0xff7ffff0, 0x3400080}, +{0x3400000, 0xff7ffff0, 0x80800000, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x80800002, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x81398437, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x8ba98d27, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x8ba98d7a, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xf51f853a, 0xff7ffff9, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xff7ffff0, 0xff7fffff, 0x3400014}, +{0x3400000, 0xff7ffff0, 0xff7fffff, 0xff7fffff, 0x3400014}, +{0x3400000, 0xff7ffff0, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7ffff0, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7ffff0, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7ffff0, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7ffff0, 0x4f3495cb, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xe73a5134, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x7c994e9e, 0xff7b357b, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x6164bd6c, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x9503366, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xbf5a97c9, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xe6ff1a14, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x77f31e2f, 0xff7ffe09, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xaab4d7d8, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x966320b, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xb26bddee, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0xb5c8e5d3, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x317285d3, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x3c9623b1, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x51fd2c7c, 0xff7fffef, 0x3400010}, +{0x3400000, 0xff7ffff0, 0x7b906a6c, 0xff7edf1b, 0x3400010}, +{0x3400000, 0xff7fffff, 0x0, 0xff7fffff, 0x3400000}, +{0x3400000, 0xff7fffff, 0x1, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x76, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x2b94, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x636d24, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x7fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x800000, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x800002, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x1398437, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0xba98d27, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0xba98d7a, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x751f853a, 0xff7ffff5, 0x3400010}, +{0x3400000, 0xff7fffff, 0x7f7ffff0, 0xf5700000, 0x3400000}, +{0x3400000, 0xff7fffff, 0x7f7fffff, 0x0, 0x3400000}, +{0x3400000, 0xff7fffff, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xff7fffff, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7fffff, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7fffff, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7fffff, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7fffff, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7fffff, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7fffff, 0x80000000, 0xff7fffff, 0x3400000}, +{0x3400000, 0xff7fffff, 0x80000001, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x80000076, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x80002b94, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x80636d24, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x807fffff, 0xff7fffff, 0x3400080}, +{0x3400000, 0xff7fffff, 0x80800000, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x80800002, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x81398437, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x8ba98d27, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x8ba98d7a, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0xf51f853a, 0xff7fffff, 0x3400014}, +{0x3400000, 0xff7fffff, 0xff7ffff0, 0xff7fffff, 0x3400014}, +{0x3400000, 0xff7fffff, 0xff7fffff, 0xff7fffff, 0x3400014}, +{0x3400000, 0xff7fffff, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xff7fffff, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7fffff, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7fffff, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff7fffff, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7fffff, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7fffff, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff7fffff, 0x4f3495cb, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0xe73a5134, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x7c994e9e, 0xff7b358a, 0x3400010}, +{0x3400000, 0xff7fffff, 0x6164bd6c, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x9503366, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0xbf5a97c9, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0xe6ff1a14, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x77f31e2f, 0xff7ffe18, 0x3400010}, +{0x3400000, 0xff7fffff, 0xaab4d7d8, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x966320b, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0xb26bddee, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0xb5c8e5d3, 0xff7fffff, 0x3400010}, +{0x3400000, 0xff7fffff, 0x317285d3, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x3c9623b1, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x51fd2c7c, 0xff7ffffe, 0x3400010}, +{0x3400000, 0xff7fffff, 0x7b906a6c, 0xff7edf2a, 0x3400010}, +{0x3400000, 0xff800000, 0x0, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x1, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x76, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x2b94, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x636d24, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x7fffff, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x800000, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x800002, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x1398437, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xba98d27, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xba98d7a, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x751f853a, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x7f7ffff0, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x7f7fffff, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff800000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff800000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff800000, 0x80000000, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x80000001, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x80000076, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x80002b94, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x80636d24, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x807fffff, 0xff800000, 0x3400080}, +{0x3400000, 0xff800000, 0x80800000, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x80800002, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x81398437, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x8ba98d27, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x8ba98d7a, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xf51f853a, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xff7ffff0, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xff7fffff, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff800000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff800000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xff800000, 0x4f3495cb, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xe73a5134, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x7c994e9e, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x6164bd6c, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x9503366, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xbf5a97c9, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xe6ff1a14, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x77f31e2f, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xaab4d7d8, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x966320b, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xb26bddee, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0xb5c8e5d3, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x317285d3, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x3c9623b1, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x51fd2c7c, 0xff800000, 0x3400000}, +{0x3400000, 0xff800000, 0x7b906a6c, 0xff800000, 0x3400000}, +{0x3400000, 0xff800001, 0x0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x1, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x76, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x2b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x7fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x1398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x751f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7f7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7f7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7fc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7fd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7fffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x80000000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x80000001, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x80000076, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x80002b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x80636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x807fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff800001, 0x80800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x80800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x81398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x8ba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x8ba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xf51f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xff7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xff7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xffc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xffd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xffffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x4f3495cb, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xe73a5134, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7c994e9e, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x6164bd6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x9503366, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xbf5a97c9, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xe6ff1a14, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x77f31e2f, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xaab4d7d8, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x966320b, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xb26bddee, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0xb5c8e5d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x317285d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x3c9623b1, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x51fd2c7c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff800001, 0x7b906a6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x1, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x76, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x2b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x7fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x1398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x751f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7f7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7f7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7fc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7fd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7fffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x80000000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x80000001, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x80000076, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x80002b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x80636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x807fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0xff984a37, 0x80800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x80800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x81398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x8ba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x8ba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xf51f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xff7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xff7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xffc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xffd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xffffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x4f3495cb, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xe73a5134, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7c994e9e, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x6164bd6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x9503366, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xbf5a97c9, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xe6ff1a14, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x77f31e2f, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xaab4d7d8, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x966320b, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xb26bddee, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0xb5c8e5d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x317285d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x3c9623b1, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x51fd2c7c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xff984a37, 0x7b906a6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x1, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x76, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x2b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x7fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x1398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x751f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7f7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7f7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7f800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7fc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7fd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7fffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x80000000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x80000001, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x80000076, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x80002b94, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x80636d24, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x807fffff, 0x7fc00000, 0x3400081}, +{0x3400000, 0xffbfffff, 0x80800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x80800002, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x81398437, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x8ba98d27, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x8ba98d7a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xf51f853a, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xff7ffff0, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xff7fffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xff800000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xffc00000, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xffd9ba98, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xffffffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x4f3495cb, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xe73a5134, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7c994e9e, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x6164bd6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x9503366, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xbf5a97c9, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xe6ff1a14, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x77f31e2f, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xaab4d7d8, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x966320b, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xb26bddee, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x317285d3, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x3c9623b1, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x51fd2c7c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffbfffff, 0x7b906a6c, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0x0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x1, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x76, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x2b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x7fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x1398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x751f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7f7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7f7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7f800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x80000000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x80000001, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x80000076, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x80002b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x80636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x807fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffc00000, 0x80800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x80800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x81398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x8ba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x8ba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xf51f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xff7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xff7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xff800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffc00000, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x4f3495cb, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xe73a5134, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7c994e9e, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x6164bd6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x9503366, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xbf5a97c9, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xe6ff1a14, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x77f31e2f, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xaab4d7d8, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x966320b, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xb26bddee, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0xb5c8e5d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x317285d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x3c9623b1, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x51fd2c7c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffc00000, 0x7b906a6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x1, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x76, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x2b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x7fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x1398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x751f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7f7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7f800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffd9ba98, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffd9ba98, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffd9ba98, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x80000000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x80000001, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x80000076, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x80002b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x80636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x807fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffd9ba98, 0x80800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x80800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x81398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x8ba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xf51f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xff7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xff7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xff800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffd9ba98, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffd9ba98, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffd9ba98, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x4f3495cb, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xe73a5134, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7c994e9e, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x6164bd6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x9503366, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x77f31e2f, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x966320b, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xb26bddee, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x317285d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x3c9623b1, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffd9ba98, 0x7b906a6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x1, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x76, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x2b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x7fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x1398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x751f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7f7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7f7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7f800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffffffff, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffffffff, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffffffff, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x80000000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x80000001, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x80000076, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x80002b94, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x80636d24, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x807fffff, 0x7fc00000, 0x3400080}, +{0x3400000, 0xffffffff, 0x80800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x80800002, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x81398437, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x8ba98d27, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x8ba98d7a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xf51f853a, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xff7ffff0, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xff7fffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xff800000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffffffff, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffffffff, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xffffffff, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x4f3495cb, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xe73a5134, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7c994e9e, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x6164bd6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x9503366, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xbf5a97c9, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xe6ff1a14, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x77f31e2f, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xaab4d7d8, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x966320b, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xb26bddee, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0xb5c8e5d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x317285d3, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x3c9623b1, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x51fd2c7c, 0x7fc00000, 0x3400000}, +{0x3400000, 0xffffffff, 0x7b906a6c, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x0, 0x4f3495cb, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x1, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x76, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x2b94, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x636d24, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x7fffff, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x800000, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x800002, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x1398437, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xba98d27, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xba98d7a, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x4f3495cb, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x4f3495cb, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x4f3495cb, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x4f3495cb, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x80000000, 0x4f3495cb, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x80000001, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x80000076, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x80002b94, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x80636d24, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x807fffff, 0x4f3495cb, 0x3400080}, +{0x3400000, 0x4f3495cb, 0x80800000, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x80800002, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x81398437, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x8ba98d27, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x8ba98d7a, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x4f3495cb, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x4f3495cb, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x4f3495cb, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x4f3495cb, 0x4f3495cb, 0x4fb495cb, 0x3400000}, +{0x3400000, 0x4f3495cb, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x9503366, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xbf5a97c9, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xaab4d7d8, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x966320b, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xb26bddee, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0xb5c8e5d3, 0x4f3495cb, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x317285d3, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x3c9623b1, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x51fd2c7c, 0x52016896, 0x3400010}, +{0x3400000, 0x4f3495cb, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0xe73a5134, 0x0, 0xe73a5134, 0x3400000}, +{0x3400000, 0xe73a5134, 0x1, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x76, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x2b94, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x636d24, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x7fffff, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x800000, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0x800002, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0x1398437, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0xba98d27, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0xba98d7a, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0xe73a5134, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0xe73a5134, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0xe73a5134, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xe73a5134, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe73a5134, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe73a5134, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe73a5134, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe73a5134, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe73a5134, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe73a5134, 0x80000000, 0xe73a5134, 0x3400000}, +{0x3400000, 0xe73a5134, 0x80000001, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x80000076, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x80002b94, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x80636d24, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x807fffff, 0xe73a5134, 0x3400080}, +{0x3400000, 0xe73a5134, 0x80800000, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0x80800002, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0x81398437, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0x8ba98d27, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0x8ba98d7a, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xe73a5134, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xe73a5134, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0xe73a5134, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xe73a5134, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe73a5134, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe73a5134, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe73a5134, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe73a5134, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe73a5134, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe73a5134, 0x4f3495cb, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0xe73a5134, 0xe7ba5134, 0x3400000}, +{0x3400000, 0xe73a5134, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0xe73a5134, 0x6164bd6c, 0xe73a42e8, 0x3400010}, +{0x3400000, 0xe73a5134, 0x9503366, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0xbf5a97c9, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0xe6ff1a14, 0xe79cef1f, 0x3400000}, +{0x3400000, 0xe73a5134, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0xe73a5134, 0xaab4d7d8, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0x966320b, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0xb26bddee, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0xb5c8e5d3, 0xe73a5134, 0x3400010}, +{0x3400000, 0xe73a5134, 0x317285d3, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0x3c9623b1, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0x51fd2c7c, 0xe73a5133, 0x3400010}, +{0x3400000, 0xe73a5134, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x0, 0x7c994e9e, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x1, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x76, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x2b94, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x636d24, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x7fffff, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x800000, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x800002, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x1398437, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xba98d27, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xba98d7a, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x751f853a, 0x7c994fde, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x7f7ffff0, 0x7f800000, 0x3400014}, +{0x3400000, 0x7c994e9e, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x7c994e9e, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7c994e9e, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7c994e9e, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7c994e9e, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x80000000, 0x7c994e9e, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x80000001, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x80000076, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x80002b94, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x80636d24, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x807fffff, 0x7c994e9e, 0x3400080}, +{0x3400000, 0x7c994e9e, 0x80800000, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x80800002, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x81398437, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x8ba98d27, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x8ba98d7a, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xf51f853a, 0x7c994d5f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xff7ffff0, 0xff7b357b, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xff7fffff, 0xff7b358a, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7c994e9e, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7c994e9e, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7c994e9e, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x4f3495cb, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xe73a5134, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x7c994e9e, 0x7d194e9e, 0x3400000}, +{0x3400000, 0x7c994e9e, 0x6164bd6c, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x9503366, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xbf5a97c9, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xe6ff1a14, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x77f31e2f, 0x7c998b66, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xaab4d7d8, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x966320b, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xb26bddee, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0xb5c8e5d3, 0x7c994e9e, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x317285d3, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x3c9623b1, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x51fd2c7c, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x7c994e9e, 0x7b906a6c, 0x7cbd6939, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x0, 0x6164bd6c, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x1, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x76, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x2b94, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x636d24, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x7fffff, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x800000, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x800002, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x1398437, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xba98d27, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xba98d7a, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x6164bd6c, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x6164bd6c, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x6164bd6c, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x6164bd6c, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x80000000, 0x6164bd6c, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x80000001, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x80000076, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x80002b94, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x80636d24, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x807fffff, 0x6164bd6c, 0x3400080}, +{0x3400000, 0x6164bd6c, 0x80800000, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x80800002, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x81398437, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x8ba98d27, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x8ba98d7a, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x6164bd6c, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x6164bd6c, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x6164bd6c, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x4f3495cb, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xe73a5134, 0xe73a42e8, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x6164bd6c, 0x61e4bd6c, 0x3400000}, +{0x3400000, 0x6164bd6c, 0x9503366, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xbf5a97c9, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xe6ff1a14, 0xe6fefd7c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xaab4d7d8, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x966320b, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xb26bddee, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0xb5c8e5d3, 0x6164bd6c, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x317285d3, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x3c9623b1, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x51fd2c7c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x6164bd6c, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x9503366, 0x0, 0x9503366, 0x3400000}, +{0x3400000, 0x9503366, 0x1, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x76, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x2b94, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x636d24, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x7fffff, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x800000, 0x95033a6, 0x3400000}, +{0x3400000, 0x9503366, 0x800002, 0x95033a7, 0x3400010}, +{0x3400000, 0x9503366, 0x1398437, 0x9503420, 0x3400010}, +{0x3400000, 0x9503366, 0xba98d27, 0xbb00ec3, 0x3400010}, +{0x3400000, 0x9503366, 0xba98d7a, 0xbb00f16, 0x3400010}, +{0x3400000, 0x9503366, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x9503366, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x9503366, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x9503366, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x9503366, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x9503366, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x9503366, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x9503366, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x9503366, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x9503366, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x9503366, 0x80000000, 0x9503366, 0x3400000}, +{0x3400000, 0x9503366, 0x80000001, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x80000076, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x80002b94, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x80636d24, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x807fffff, 0x9503366, 0x3400080}, +{0x3400000, 0x9503366, 0x80800000, 0x9503326, 0x3400000}, +{0x3400000, 0x9503366, 0x80800002, 0x9503326, 0x3400010}, +{0x3400000, 0x9503366, 0x81398437, 0x95032ad, 0x3400010}, +{0x3400000, 0x9503366, 0x8ba98d27, 0x8ba30b8b, 0x3400010}, +{0x3400000, 0x9503366, 0x8ba98d7a, 0x8ba30bde, 0x3400010}, +{0x3400000, 0x9503366, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x9503366, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x9503366, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x9503366, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x9503366, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x9503366, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x9503366, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x9503366, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x9503366, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x9503366, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x9503366, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x9503366, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x9503366, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x9503366, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x9503366, 0x9503366, 0x9d03366, 0x3400000}, +{0x3400000, 0x9503366, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0x9503366, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x9503366, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x9503366, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0x9503366, 0x966320b, 0x9db32b9, 0x3400010}, +{0x3400000, 0x9503366, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0x9503366, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0x9503366, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0x9503366, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x9503366, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x9503366, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x0, 0xbf5a97c9, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x1, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x76, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x2b94, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x636d24, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x7fffff, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x800000, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x800002, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x1398437, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xba98d27, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xba98d7a, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xbf5a97c9, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xbf5a97c9, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xbf5a97c9, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x80000000, 0xbf5a97c9, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x80000001, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x80000076, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x80002b94, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x80636d24, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x807fffff, 0xbf5a97c9, 0x3400080}, +{0x3400000, 0xbf5a97c9, 0x80800000, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x80800002, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x81398437, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x8ba98d27, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x8ba98d7a, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xbf5a97c9, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xbf5a97c9, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xbf5a97c9, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x9503366, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xbf5a97c9, 0xbfda97c9, 0x3400000}, +{0x3400000, 0xbf5a97c9, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xaab4d7d8, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x966320b, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xb26bddee, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0xb5c8e5d3, 0xbf5a97e2, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x317285d3, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x3c9623b1, 0xbf55e6ab, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0xbf5a97c9, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x0, 0xe6ff1a14, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x1, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x76, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x2b94, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x636d24, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x7fffff, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x800000, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x800002, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x1398437, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xba98d27, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xba98d7a, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe6ff1a14, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe6ff1a14, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe6ff1a14, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x80000000, 0xe6ff1a14, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x80000001, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x80000076, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x80002b94, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x80636d24, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x807fffff, 0xe6ff1a14, 0x3400080}, +{0x3400000, 0xe6ff1a14, 0x80800000, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x80800002, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x81398437, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x8ba98d27, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x8ba98d7a, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe6ff1a14, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe6ff1a14, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xe6ff1a14, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x4f3495cb, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xe73a5134, 0xe79cef1f, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x6164bd6c, 0xe6fefd7c, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x9503366, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xbf5a97c9, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xe6ff1a14, 0xe77f1a14, 0x3400000}, +{0x3400000, 0xe6ff1a14, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xaab4d7d8, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x966320b, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xb26bddee, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0xb5c8e5d3, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x317285d3, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x3c9623b1, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x51fd2c7c, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0xe6ff1a14, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x0, 0x77f31e2f, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x1, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x76, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x2b94, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x636d24, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x7fffff, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x800000, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x800002, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x1398437, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xba98d27, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xba98d7a, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x751f853a, 0x77f81a59, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x7f7ffff0, 0x7f800000, 0x3400014}, +{0x3400000, 0x77f31e2f, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x77f31e2f, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x77f31e2f, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x77f31e2f, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x77f31e2f, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x80000000, 0x77f31e2f, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x80000001, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x80000076, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x80002b94, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x80636d24, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x807fffff, 0x77f31e2f, 0x3400080}, +{0x3400000, 0x77f31e2f, 0x80800000, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x80800002, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x81398437, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x8ba98d27, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x8ba98d7a, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xf51f853a, 0x77ee2206, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xff7ffff0, 0xff7ffe09, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xff7fffff, 0xff7ffe18, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x77f31e2f, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x77f31e2f, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x77f31e2f, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x77f31e2f, 0x4f3495cb, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xe73a5134, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x7c994e9e, 0x7c998b66, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x6164bd6c, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x9503366, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xbf5a97c9, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xe6ff1a14, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x77f31e2f, 0x78731e2f, 0x3400000}, +{0x3400000, 0x77f31e2f, 0xaab4d7d8, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x966320b, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xb26bddee, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0xb5c8e5d3, 0x77f31e2f, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x317285d3, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x3c9623b1, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x51fd2c7c, 0x77f31e30, 0x3400010}, +{0x3400000, 0x77f31e2f, 0x7b906a6c, 0x7b915d8b, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x0, 0xaab4d7d8, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x1, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x76, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x2b94, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x636d24, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x7fffff, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x800000, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x800002, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x1398437, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xba98d27, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xba98d7a, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xaab4d7d8, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xaab4d7d8, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xaab4d7d8, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x80000000, 0xaab4d7d8, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x80000001, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x80000076, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x80002b94, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x80636d24, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x807fffff, 0xaab4d7d8, 0x3400080}, +{0x3400000, 0xaab4d7d8, 0x80800000, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x80800002, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x81398437, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x8ba98d27, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x8ba98d7a, 0xaab4d7d8, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xaab4d7d8, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xaab4d7d8, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xaab4d7d8, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x9503366, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xaab4d7d8, 0xab34d7d8, 0x3400000}, +{0x3400000, 0xaab4d7d8, 0x966320b, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xb26bddee, 0xb26bdf57, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0xb5c8e5d3, 0xb5c8e5d5, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x317285d3, 0x3172802d, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x3c9623b1, 0x3c9623b1, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0xaab4d7d8, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x966320b, 0x0, 0x966320b, 0x3400000}, +{0x3400000, 0x966320b, 0x1, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x76, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x2b94, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x636d24, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x7fffff, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x800000, 0x966324b, 0x3400000}, +{0x3400000, 0x966320b, 0x800002, 0x966324c, 0x3400010}, +{0x3400000, 0x966320b, 0x1398437, 0x96632c5, 0x3400010}, +{0x3400000, 0x966320b, 0xba98d27, 0xbb0beb8, 0x3400010}, +{0x3400000, 0x966320b, 0xba98d7a, 0xbb0bf0b, 0x3400010}, +{0x3400000, 0x966320b, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x966320b, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x966320b, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x966320b, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x966320b, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x966320b, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x966320b, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x966320b, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x966320b, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x966320b, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x966320b, 0x80000000, 0x966320b, 0x3400000}, +{0x3400000, 0x966320b, 0x80000001, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x80000076, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x80002b94, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x80636d24, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x807fffff, 0x966320b, 0x3400080}, +{0x3400000, 0x966320b, 0x80800000, 0x96631cb, 0x3400000}, +{0x3400000, 0x966320b, 0x80800002, 0x96631cb, 0x3400010}, +{0x3400000, 0x966320b, 0x81398437, 0x9663152, 0x3400010}, +{0x3400000, 0x966320b, 0x8ba98d27, 0x8ba25b96, 0x3400010}, +{0x3400000, 0x966320b, 0x8ba98d7a, 0x8ba25be9, 0x3400010}, +{0x3400000, 0x966320b, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x966320b, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x966320b, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x966320b, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x966320b, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x966320b, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x966320b, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x966320b, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x966320b, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x966320b, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x966320b, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x966320b, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x966320b, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x966320b, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x966320b, 0x9503366, 0x9db32b9, 0x3400010}, +{0x3400000, 0x966320b, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0x966320b, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x966320b, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x966320b, 0xaab4d7d8, 0xaab4d7d7, 0x3400010}, +{0x3400000, 0x966320b, 0x966320b, 0x9e6320b, 0x3400000}, +{0x3400000, 0x966320b, 0xb26bddee, 0xb26bdded, 0x3400010}, +{0x3400000, 0x966320b, 0xb5c8e5d3, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0x966320b, 0x317285d3, 0x317285d4, 0x3400010}, +{0x3400000, 0x966320b, 0x3c9623b1, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x966320b, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x966320b, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0xb26bddee, 0x0, 0xb26bddee, 0x3400000}, +{0x3400000, 0xb26bddee, 0x1, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x76, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x2b94, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x636d24, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x7fffff, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x800000, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0x800002, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0x1398437, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0xba98d27, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0xba98d7a, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0xb26bddee, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0xb26bddee, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0xb26bddee, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xb26bddee, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb26bddee, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb26bddee, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb26bddee, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb26bddee, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb26bddee, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb26bddee, 0x80000000, 0xb26bddee, 0x3400000}, +{0x3400000, 0xb26bddee, 0x80000001, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x80000076, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x80002b94, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x80636d24, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x807fffff, 0xb26bddee, 0x3400080}, +{0x3400000, 0xb26bddee, 0x80800000, 0xb26bddee, 0x3400010}, +{0x3400000, 0xb26bddee, 0x80800002, 0xb26bddee, 0x3400010}, +{0x3400000, 0xb26bddee, 0x81398437, 0xb26bddee, 0x3400010}, +{0x3400000, 0xb26bddee, 0x8ba98d27, 0xb26bddee, 0x3400010}, +{0x3400000, 0xb26bddee, 0x8ba98d7a, 0xb26bddee, 0x3400010}, +{0x3400000, 0xb26bddee, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xb26bddee, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xb26bddee, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0xb26bddee, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xb26bddee, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb26bddee, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb26bddee, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb26bddee, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb26bddee, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb26bddee, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb26bddee, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0xb26bddee, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0xb26bddee, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0xb26bddee, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0xb26bddee, 0x9503366, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0xbf5a97c9, 0xbf5a97c9, 0x3400010}, +{0x3400000, 0xb26bddee, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xb26bddee, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0xb26bddee, 0xaab4d7d8, 0xb26bdf57, 0x3400010}, +{0x3400000, 0xb26bddee, 0x966320b, 0xb26bdded, 0x3400010}, +{0x3400000, 0xb26bddee, 0xb26bddee, 0xb2ebddee, 0x3400000}, +{0x3400000, 0xb26bddee, 0xb5c8e5d3, 0xb5cabd8e, 0x3400010}, +{0x3400000, 0xb26bddee, 0x317285d3, 0xb22f3c79, 0x3400010}, +{0x3400000, 0xb26bddee, 0x3c9623b1, 0x3c9623aa, 0x3400010}, +{0x3400000, 0xb26bddee, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0xb26bddee, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x0, 0xb5c8e5d3, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x1, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x76, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x2b94, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x636d24, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x7fffff, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x800000, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x800002, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x1398437, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xba98d27, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xba98d7a, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x751f853a, 0x751f853a, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x7f7ffff0, 0x7f7ffff0, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x7f7fffff, 0x7f7fffff, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb5c8e5d3, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb5c8e5d3, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb5c8e5d3, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x80000000, 0xb5c8e5d3, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x80000001, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x80000076, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x80002b94, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x80636d24, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x807fffff, 0xb5c8e5d3, 0x3400080}, +{0x3400000, 0xb5c8e5d3, 0x80800000, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x80800002, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x81398437, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x8ba98d27, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x8ba98d7a, 0xb5c8e5d3, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xf51f853a, 0xf51f853a, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xff7ffff0, 0xff7ffff0, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xff7fffff, 0xff7fffff, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb5c8e5d3, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb5c8e5d3, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0xb5c8e5d3, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x4f3495cb, 0x4f3495cb, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xe73a5134, 0xe73a5134, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x7c994e9e, 0x7c994e9e, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x6164bd6c, 0x6164bd6c, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x9503366, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xbf5a97c9, 0xbf5a97e2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xe6ff1a14, 0xe6ff1a14, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x77f31e2f, 0x77f31e2f, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xaab4d7d8, 0xb5c8e5d5, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x966320b, 0xb5c8e5d2, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xb26bddee, 0xb5cabd8e, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0xb5c8e5d3, 0xb648e5d3, 0x3400000}, +{0x3400000, 0xb5c8e5d3, 0x317285d3, 0xb5c86c90, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x3c9623b1, 0x3c96208e, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x51fd2c7c, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0xb5c8e5d3, 0x7b906a6c, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x317285d3, 0x0, 0x317285d3, 0x3400000}, +{0x3400000, 0x317285d3, 0x1, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x76, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x2b94, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x636d24, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x7fffff, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x800000, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0x800002, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0x1398437, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0xba98d27, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0xba98d7a, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x317285d3, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x317285d3, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x317285d3, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x317285d3, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x317285d3, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x317285d3, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x317285d3, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x317285d3, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x317285d3, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x317285d3, 0x80000000, 0x317285d3, 0x3400000}, +{0x3400000, 0x317285d3, 0x80000001, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x80000076, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x80002b94, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x80636d24, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x807fffff, 0x317285d3, 0x3400080}, +{0x3400000, 0x317285d3, 0x80800000, 0x317285d3, 0x3400010}, +{0x3400000, 0x317285d3, 0x80800002, 0x317285d3, 0x3400010}, +{0x3400000, 0x317285d3, 0x81398437, 0x317285d3, 0x3400010}, +{0x3400000, 0x317285d3, 0x8ba98d27, 0x317285d3, 0x3400010}, +{0x3400000, 0x317285d3, 0x8ba98d7a, 0x317285d3, 0x3400010}, +{0x3400000, 0x317285d3, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x317285d3, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x317285d3, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x317285d3, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x317285d3, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x317285d3, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x317285d3, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x317285d3, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x317285d3, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x317285d3, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x317285d3, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x317285d3, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x317285d3, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x317285d3, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x317285d3, 0x9503366, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0xbf5a97c9, 0xbf5a97c8, 0x3400010}, +{0x3400000, 0x317285d3, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x317285d3, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x317285d3, 0xaab4d7d8, 0x3172802d, 0x3400010}, +{0x3400000, 0x317285d3, 0x966320b, 0x317285d4, 0x3400010}, +{0x3400000, 0x317285d3, 0xb26bddee, 0xb22f3c79, 0x3400010}, +{0x3400000, 0x317285d3, 0xb5c8e5d3, 0xb5c86c90, 0x3400010}, +{0x3400000, 0x317285d3, 0x317285d3, 0x31f285d3, 0x3400000}, +{0x3400000, 0x317285d3, 0x3c9623b1, 0x3c9623b3, 0x3400010}, +{0x3400000, 0x317285d3, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x317285d3, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x0, 0x3c9623b1, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x1, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x76, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x2b94, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x636d24, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x7fffff, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x800000, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x800002, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x1398437, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xba98d27, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xba98d7a, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x3c9623b1, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x3c9623b1, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x3c9623b1, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x3c9623b1, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x80000000, 0x3c9623b1, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x80000001, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x80000076, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x80002b94, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x80636d24, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x807fffff, 0x3c9623b1, 0x3400080}, +{0x3400000, 0x3c9623b1, 0x80800000, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x80800002, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x81398437, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x8ba98d27, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x8ba98d7a, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x3c9623b1, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x3c9623b1, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x3c9623b1, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x4f3495cb, 0x4f3495cc, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x9503366, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xbf5a97c9, 0xbf55e6ab, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xaab4d7d8, 0x3c9623b1, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x966320b, 0x3c9623b2, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xb26bddee, 0x3c9623aa, 0x3400010}, +{0x3400000, 0x3c9623b1, 0xb5c8e5d3, 0x3c96208e, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x317285d3, 0x3c9623b3, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x3c9623b1, 0x3d1623b1, 0x3400000}, +{0x3400000, 0x3c9623b1, 0x51fd2c7c, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x3c9623b1, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x0, 0x51fd2c7c, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x1, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x76, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x2b94, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x636d24, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x7fffff, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x800000, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x800002, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x1398437, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xba98d27, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xba98d7a, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x751f853a, 0x751f853b, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x7f7ffff0, 0x7f7ffff1, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x51fd2c7c, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x51fd2c7c, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x51fd2c7c, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x51fd2c7c, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x80000000, 0x51fd2c7c, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x80000001, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x80000076, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x80002b94, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x80636d24, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x807fffff, 0x51fd2c7c, 0x3400080}, +{0x3400000, 0x51fd2c7c, 0x80800000, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x80800002, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x81398437, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x8ba98d27, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x8ba98d7a, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xf51f853a, 0xf51f8539, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xff7ffff0, 0xff7fffef, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xff7fffff, 0xff7ffffe, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x51fd2c7c, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x51fd2c7c, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x51fd2c7c, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x4f3495cb, 0x52016896, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xe73a5134, 0xe73a5133, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x7c994e9e, 0x7c994e9f, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x6164bd6c, 0x6164bd6d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x9503366, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xbf5a97c9, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xe6ff1a14, 0xe6ff1a13, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x77f31e2f, 0x77f31e30, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xaab4d7d8, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x966320b, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xb26bddee, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0xb5c8e5d3, 0x51fd2c7c, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x317285d3, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x3c9623b1, 0x51fd2c7d, 0x3400010}, +{0x3400000, 0x51fd2c7c, 0x51fd2c7c, 0x527d2c7c, 0x3400000}, +{0x3400000, 0x51fd2c7c, 0x7b906a6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x0, 0x7b906a6c, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x1, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x76, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x2b94, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x636d24, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x7fffff, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x800000, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x800002, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x1398437, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xba98d27, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xba98d7a, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x751f853a, 0x7b906f69, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x7f7ffff0, 0x7f800000, 0x3400014}, +{0x3400000, 0x7b906a6c, 0x7f7fffff, 0x7f800000, 0x3400014}, +{0x3400000, 0x7b906a6c, 0x7f800000, 0x7f800000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x7f800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7b906a6c, 0x7f984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7b906a6c, 0x7fbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7b906a6c, 0x7fc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x7fd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x7fffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x80000000, 0x7b906a6c, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x80000001, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x80000076, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x80002b94, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x80636d24, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x807fffff, 0x7b906a6c, 0x3400080}, +{0x3400000, 0x7b906a6c, 0x80800000, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x80800002, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x81398437, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x8ba98d27, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x8ba98d7a, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xf51f853a, 0x7b906570, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xff7ffff0, 0xff7edf1b, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xff7fffff, 0xff7edf2a, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xff800000, 0xff800000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0xff800001, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7b906a6c, 0xff984a37, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7b906a6c, 0xffbfffff, 0x7fc00000, 0x3400001}, +{0x3400000, 0x7b906a6c, 0xffc00000, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0xffd9ba98, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0xffffffff, 0x7fc00000, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x4f3495cb, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xe73a5134, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x7c994e9e, 0x7cbd6939, 0x3400000}, +{0x3400000, 0x7b906a6c, 0x6164bd6c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x9503366, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xbf5a97c9, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xe6ff1a14, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x77f31e2f, 0x7b915d8b, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xaab4d7d8, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x966320b, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xb26bddee, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0xb5c8e5d3, 0x7b906a6c, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x317285d3, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x3c9623b1, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x51fd2c7c, 0x7b906a6d, 0x3400010}, +{0x3400000, 0x7b906a6c, 0x7b906a6c, 0x7c106a6c, 0x3400000}, +{0x3000000, 0x0, 0x0, 0x0, 0x3000000}, +{0x3000000, 0x0, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x800000, 0x800000, 0x3000000}, +{0x3000000, 0x0, 0x800002, 0x800002, 0x3000000}, +{0x3000000, 0x0, 0x1398437, 0x1398437, 0x3000000}, +{0x3000000, 0x0, 0xba98d27, 0xba98d27, 0x3000000}, +{0x3000000, 0x0, 0xba98d7a, 0xba98d7a, 0x3000000}, +{0x3000000, 0x0, 0x751f853a, 0x751f853a, 0x3000000}, +{0x3000000, 0x0, 0x7f7ffff0, 0x7f7ffff0, 0x3000000}, +{0x3000000, 0x0, 0x7f7fffff, 0x7f7fffff, 0x3000000}, +{0x3000000, 0x0, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x0, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x0, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x0, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x0, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x0, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x0, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x0, 0x80000000, 0x0, 0x3000000}, +{0x3000000, 0x0, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x0, 0x80800000, 0x80800000, 0x3000000}, +{0x3000000, 0x0, 0x80800002, 0x80800002, 0x3000000}, +{0x3000000, 0x0, 0x81398437, 0x81398437, 0x3000000}, +{0x3000000, 0x0, 0x8ba98d27, 0x8ba98d27, 0x3000000}, +{0x3000000, 0x0, 0x8ba98d7a, 0x8ba98d7a, 0x3000000}, +{0x3000000, 0x0, 0xf51f853a, 0xf51f853a, 0x3000000}, +{0x3000000, 0x0, 0xff7ffff0, 0xff7ffff0, 0x3000000}, +{0x3000000, 0x0, 0xff7fffff, 0xff7fffff, 0x3000000}, +{0x3000000, 0x0, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x0, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x0, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x0, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x0, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x0, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x0, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x0, 0x4f3495cb, 0x4f3495cb, 0x3000000}, +{0x3000000, 0x0, 0xe73a5134, 0xe73a5134, 0x3000000}, +{0x3000000, 0x0, 0x7c994e9e, 0x7c994e9e, 0x3000000}, +{0x3000000, 0x0, 0x6164bd6c, 0x6164bd6c, 0x3000000}, +{0x3000000, 0x0, 0x9503366, 0x9503366, 0x3000000}, +{0x3000000, 0x0, 0xbf5a97c9, 0xbf5a97c9, 0x3000000}, +{0x3000000, 0x0, 0xe6ff1a14, 0xe6ff1a14, 0x3000000}, +{0x3000000, 0x0, 0x77f31e2f, 0x77f31e2f, 0x3000000}, +{0x3000000, 0x0, 0xaab4d7d8, 0xaab4d7d8, 0x3000000}, +{0x3000000, 0x0, 0x966320b, 0x966320b, 0x3000000}, +{0x3000000, 0x0, 0xb26bddee, 0xb26bddee, 0x3000000}, +{0x3000000, 0x0, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000000}, +{0x3000000, 0x0, 0x317285d3, 0x317285d3, 0x3000000}, +{0x3000000, 0x0, 0x3c9623b1, 0x3c9623b1, 0x3000000}, +{0x3000000, 0x0, 0x51fd2c7c, 0x51fd2c7c, 0x3000000}, +{0x3000000, 0x0, 0x7b906a6c, 0x7b906a6c, 0x3000000}, +{0x3000000, 0x1, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x1, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x1, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x1, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x1, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x1, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x1, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x1, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x1, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x1, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x1, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x1, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x1, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x1, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x1, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x1, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x1, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x1, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x1, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x1, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x1, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x1, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x1, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x1, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x1, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x1, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x1, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x1, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x1, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x1, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x1, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x1, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x1, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x1, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x1, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x1, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x1, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x1, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x1, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x1, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x1, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x1, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x1, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x1, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x1, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x1, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x1, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x76, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x76, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x76, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x76, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x76, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x76, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x76, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x76, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x76, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x76, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x76, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x76, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x76, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x76, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x76, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x76, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x76, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x76, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x76, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x76, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x76, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x76, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x76, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x76, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x76, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x76, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x76, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x76, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x76, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x76, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x76, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x76, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x76, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x76, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x76, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x76, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x76, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x76, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x76, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x76, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x76, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x76, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x76, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x76, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x76, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x76, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x76, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x2b94, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x2b94, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x2b94, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x2b94, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x2b94, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x2b94, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x2b94, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x2b94, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x2b94, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x2b94, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x2b94, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x2b94, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x2b94, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x2b94, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x2b94, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x2b94, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x2b94, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x2b94, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x2b94, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x2b94, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x2b94, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x2b94, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x2b94, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x2b94, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x2b94, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x2b94, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x2b94, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x2b94, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x2b94, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x2b94, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x2b94, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x2b94, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x2b94, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x2b94, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x2b94, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x2b94, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x2b94, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x2b94, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x2b94, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x2b94, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x2b94, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x2b94, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x2b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x2b94, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x2b94, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x2b94, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x2b94, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x636d24, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x636d24, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x636d24, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x636d24, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x636d24, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x636d24, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x636d24, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x636d24, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x636d24, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x636d24, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x636d24, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x636d24, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x636d24, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x636d24, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x636d24, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x636d24, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x636d24, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x636d24, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x636d24, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x636d24, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x636d24, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x636d24, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x636d24, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x636d24, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x636d24, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x636d24, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x636d24, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x636d24, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x636d24, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x636d24, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x636d24, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x636d24, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x636d24, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x636d24, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x636d24, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x636d24, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x636d24, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x636d24, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x636d24, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x636d24, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7fffff, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x7fffff, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x7fffff, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x7fffff, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x7fffff, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x7fffff, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x7fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7fffff, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7fffff, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x7fffff, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fffff, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fffff, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fffff, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffff, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffff, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffff, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x7fffff, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x7fffff, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x7fffff, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x7fffff, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x7fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x7fffff, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x7fffff, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x7fffff, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x7fffff, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x7fffff, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fffff, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fffff, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fffff, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffff, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffff, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffff, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x7fffff, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x7fffff, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7fffff, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x7fffff, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x7fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x7fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x7fffff, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x7fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x7fffff, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x7fffff, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x7fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x7fffff, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x7fffff, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x7fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x7fffff, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x800000, 0x0, 0x800000, 0x3000000}, +{0x3000000, 0x800000, 0x1, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x76, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x2b94, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x636d24, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x7fffff, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x800000, 0x1000000, 0x3000000}, +{0x3000000, 0x800000, 0x800002, 0x1000001, 0x3000000}, +{0x3000000, 0x800000, 0x1398437, 0x1798437, 0x3000000}, +{0x3000000, 0x800000, 0xba98d27, 0xba98d29, 0x3000000}, +{0x3000000, 0x800000, 0xba98d7a, 0xba98d7c, 0x3000000}, +{0x3000000, 0x800000, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x800000, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x800000, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x800000, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x800000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800000, 0x80000000, 0x800000, 0x3000000}, +{0x3000000, 0x800000, 0x80000001, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x80000076, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x80002b94, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x80636d24, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x807fffff, 0x800000, 0x3000080}, +{0x3000000, 0x800000, 0x80800000, 0x0, 0x3000000}, +{0x3000000, 0x800000, 0x80800002, 0x0, 0x3000008}, +{0x3000000, 0x800000, 0x81398437, 0x80f3086e, 0x3000000}, +{0x3000000, 0x800000, 0x8ba98d27, 0x8ba98d25, 0x3000000}, +{0x3000000, 0x800000, 0x8ba98d7a, 0x8ba98d78, 0x3000000}, +{0x3000000, 0x800000, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x800000, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x800000, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x800000, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x800000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800000, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x800000, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x800000, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x800000, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x800000, 0x9503366, 0x95033a6, 0x3000000}, +{0x3000000, 0x800000, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x800000, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x800000, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x800000, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x800000, 0x966320b, 0x966324b, 0x3000000}, +{0x3000000, 0x800000, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x800000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x800000, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x800000, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x800000, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x800000, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x800002, 0x0, 0x800002, 0x3000000}, +{0x3000000, 0x800002, 0x1, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x76, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x2b94, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x636d24, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x7fffff, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x800000, 0x1000001, 0x3000000}, +{0x3000000, 0x800002, 0x800002, 0x1000002, 0x3000000}, +{0x3000000, 0x800002, 0x1398437, 0x1798438, 0x3000000}, +{0x3000000, 0x800002, 0xba98d27, 0xba98d29, 0x3000010}, +{0x3000000, 0x800002, 0xba98d7a, 0xba98d7c, 0x3000010}, +{0x3000000, 0x800002, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x800002, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x800002, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x800002, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x800002, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800002, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800002, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800002, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800002, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800002, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800002, 0x80000000, 0x800002, 0x3000000}, +{0x3000000, 0x800002, 0x80000001, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x80000076, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x80002b94, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x80636d24, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x807fffff, 0x800002, 0x3000080}, +{0x3000000, 0x800002, 0x80800000, 0x0, 0x3000008}, +{0x3000000, 0x800002, 0x80800002, 0x0, 0x3000000}, +{0x3000000, 0x800002, 0x81398437, 0x80f3086c, 0x3000000}, +{0x3000000, 0x800002, 0x8ba98d27, 0x8ba98d25, 0x3000010}, +{0x3000000, 0x800002, 0x8ba98d7a, 0x8ba98d78, 0x3000010}, +{0x3000000, 0x800002, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x800002, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x800002, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x800002, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x800002, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800002, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800002, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x800002, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800002, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800002, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x800002, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x800002, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x800002, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x800002, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x800002, 0x9503366, 0x95033a6, 0x3000010}, +{0x3000000, 0x800002, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x800002, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x800002, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x800002, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x800002, 0x966320b, 0x966324b, 0x3000010}, +{0x3000000, 0x800002, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x800002, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x800002, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x800002, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x800002, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x800002, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x1398437, 0x0, 0x1398437, 0x3000000}, +{0x3000000, 0x1398437, 0x1, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x76, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x2b94, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x636d24, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x7fffff, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x800000, 0x1798437, 0x3000000}, +{0x3000000, 0x1398437, 0x800002, 0x1798438, 0x3000000}, +{0x3000000, 0x1398437, 0x1398437, 0x1b98437, 0x3000000}, +{0x3000000, 0x1398437, 0xba98d27, 0xba98d2d, 0x3000010}, +{0x3000000, 0x1398437, 0xba98d7a, 0xba98d80, 0x3000010}, +{0x3000000, 0x1398437, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x1398437, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x1398437, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x1398437, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x1398437, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x1398437, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x1398437, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x1398437, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x1398437, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x1398437, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x1398437, 0x80000000, 0x1398437, 0x3000000}, +{0x3000000, 0x1398437, 0x80000001, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x80000076, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x80002b94, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x80636d24, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x807fffff, 0x1398437, 0x3000080}, +{0x3000000, 0x1398437, 0x80800000, 0xf3086e, 0x3000000}, +{0x3000000, 0x1398437, 0x80800002, 0xf3086c, 0x3000000}, +{0x3000000, 0x1398437, 0x81398437, 0x0, 0x3000000}, +{0x3000000, 0x1398437, 0x8ba98d27, 0x8ba98d21, 0x3000010}, +{0x3000000, 0x1398437, 0x8ba98d7a, 0x8ba98d74, 0x3000010}, +{0x3000000, 0x1398437, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x1398437, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x1398437, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x1398437, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x1398437, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x1398437, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x1398437, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x1398437, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x1398437, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x1398437, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x1398437, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x1398437, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x1398437, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x1398437, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x1398437, 0x9503366, 0x9503420, 0x3000010}, +{0x3000000, 0x1398437, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x1398437, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x1398437, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x1398437, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x1398437, 0x966320b, 0x96632c5, 0x3000010}, +{0x3000000, 0x1398437, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x1398437, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x1398437, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x1398437, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x1398437, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x1398437, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xba98d27, 0x0, 0xba98d27, 0x3000000}, +{0x3000000, 0xba98d27, 0x1, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x76, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x2b94, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x636d24, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x7fffff, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x800000, 0xba98d29, 0x3000000}, +{0x3000000, 0xba98d27, 0x800002, 0xba98d29, 0x3000010}, +{0x3000000, 0xba98d27, 0x1398437, 0xba98d2d, 0x3000010}, +{0x3000000, 0xba98d27, 0xba98d27, 0xc298d27, 0x3000000}, +{0x3000000, 0xba98d27, 0xba98d7a, 0xc298d50, 0x3000010}, +{0x3000000, 0xba98d27, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xba98d27, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xba98d27, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xba98d27, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xba98d27, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d27, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d27, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d27, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d27, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d27, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d27, 0x80000000, 0xba98d27, 0x3000000}, +{0x3000000, 0xba98d27, 0x80000001, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x80000076, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x80002b94, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x80636d24, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x807fffff, 0xba98d27, 0x3000080}, +{0x3000000, 0xba98d27, 0x80800000, 0xba98d25, 0x3000000}, +{0x3000000, 0xba98d27, 0x80800002, 0xba98d25, 0x3000010}, +{0x3000000, 0xba98d27, 0x81398437, 0xba98d21, 0x3000010}, +{0x3000000, 0xba98d27, 0x8ba98d27, 0x0, 0x3000000}, +{0x3000000, 0xba98d27, 0x8ba98d7a, 0x83260000, 0x3000000}, +{0x3000000, 0xba98d27, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xba98d27, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xba98d27, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xba98d27, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xba98d27, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d27, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d27, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d27, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d27, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d27, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d27, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0xba98d27, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0xba98d27, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xba98d27, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0xba98d27, 0x9503366, 0xbb00ec2, 0x3000010}, +{0x3000000, 0xba98d27, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xba98d27, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xba98d27, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xba98d27, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xba98d27, 0x966320b, 0xbb0beb7, 0x3000010}, +{0x3000000, 0xba98d27, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0xba98d27, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xba98d27, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0xba98d27, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0xba98d27, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0xba98d27, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xba98d7a, 0x0, 0xba98d7a, 0x3000000}, +{0x3000000, 0xba98d7a, 0x1, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x76, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x2b94, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x636d24, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x7fffff, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x800000, 0xba98d7c, 0x3000000}, +{0x3000000, 0xba98d7a, 0x800002, 0xba98d7c, 0x3000010}, +{0x3000000, 0xba98d7a, 0x1398437, 0xba98d80, 0x3000010}, +{0x3000000, 0xba98d7a, 0xba98d27, 0xc298d50, 0x3000010}, +{0x3000000, 0xba98d7a, 0xba98d7a, 0xc298d7a, 0x3000000}, +{0x3000000, 0xba98d7a, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xba98d7a, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xba98d7a, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xba98d7a, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xba98d7a, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d7a, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d7a, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d7a, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d7a, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d7a, 0x80000000, 0xba98d7a, 0x3000000}, +{0x3000000, 0xba98d7a, 0x80000001, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x80000076, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x80002b94, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x80636d24, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x807fffff, 0xba98d7a, 0x3000080}, +{0x3000000, 0xba98d7a, 0x80800000, 0xba98d78, 0x3000000}, +{0x3000000, 0xba98d7a, 0x80800002, 0xba98d78, 0x3000010}, +{0x3000000, 0xba98d7a, 0x81398437, 0xba98d74, 0x3000010}, +{0x3000000, 0xba98d7a, 0x8ba98d27, 0x3260000, 0x3000000}, +{0x3000000, 0xba98d7a, 0x8ba98d7a, 0x0, 0x3000000}, +{0x3000000, 0xba98d7a, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xba98d7a, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xba98d7a, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xba98d7a, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xba98d7a, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d7a, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d7a, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xba98d7a, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d7a, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d7a, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xba98d7a, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0xba98d7a, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0xba98d7a, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xba98d7a, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0xba98d7a, 0x9503366, 0xbb00f15, 0x3000010}, +{0x3000000, 0xba98d7a, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xba98d7a, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xba98d7a, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xba98d7a, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xba98d7a, 0x966320b, 0xbb0bf0a, 0x3000010}, +{0x3000000, 0xba98d7a, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0xba98d7a, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xba98d7a, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0xba98d7a, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0xba98d7a, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0xba98d7a, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x751f853a, 0x0, 0x751f853a, 0x3000000}, +{0x3000000, 0x751f853a, 0x1, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x76, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x2b94, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x636d24, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x7fffff, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x800000, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x800002, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x1398437, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xba98d27, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xba98d7a, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x751f853a, 0x759f853a, 0x3000000}, +{0x3000000, 0x751f853a, 0x7f7ffff0, 0x7f7ffffa, 0x3000010}, +{0x3000000, 0x751f853a, 0x7f7fffff, 0x7f800000, 0x3000014}, +{0x3000000, 0x751f853a, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x751f853a, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x751f853a, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x751f853a, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x751f853a, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x751f853a, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x751f853a, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x751f853a, 0x80000000, 0x751f853a, 0x3000000}, +{0x3000000, 0x751f853a, 0x80000001, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x80000076, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x80002b94, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x80636d24, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x807fffff, 0x751f853a, 0x3000080}, +{0x3000000, 0x751f853a, 0x80800000, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x80800002, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x81398437, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x8ba98d27, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x8ba98d7a, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xf51f853a, 0x0, 0x3000000}, +{0x3000000, 0x751f853a, 0xff7ffff0, 0xff7fffe6, 0x3000010}, +{0x3000000, 0x751f853a, 0xff7fffff, 0xff7ffff5, 0x3000010}, +{0x3000000, 0x751f853a, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x751f853a, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x751f853a, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x751f853a, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x751f853a, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x751f853a, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x751f853a, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x751f853a, 0x4f3495cb, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xe73a5134, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x7c994e9e, 0x7c994fdd, 0x3000010}, +{0x3000000, 0x751f853a, 0x6164bd6c, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x9503366, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xbf5a97c9, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xe6ff1a14, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x77f31e2f, 0x77f81a59, 0x3000010}, +{0x3000000, 0x751f853a, 0xaab4d7d8, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x966320b, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xb26bddee, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0xb5c8e5d3, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x317285d3, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x3c9623b1, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x51fd2c7c, 0x751f853a, 0x3000010}, +{0x3000000, 0x751f853a, 0x7b906a6c, 0x7b906f68, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x0, 0x7f7ffff0, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x1, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x76, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x2b94, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x636d24, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x7fffff, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x800000, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x800002, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x1398437, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xba98d27, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xba98d7a, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x751f853a, 0x7f7ffffa, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x7f7ffff0, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7ffff0, 0x7f7fffff, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7ffff0, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7ffff0, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7ffff0, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7ffff0, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x80000000, 0x7f7ffff0, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x80000001, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x80000076, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x80002b94, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x80636d24, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x807fffff, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x7f7ffff0, 0x80800000, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x80800002, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x81398437, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x8ba98d27, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x8ba98d7a, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xf51f853a, 0x7f7fffe6, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xff7ffff0, 0x0, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0xff7fffff, 0xf5700000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7ffff0, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7ffff0, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7ffff0, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7ffff0, 0x4f3495cb, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xe73a5134, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x7c994e9e, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7ffff0, 0x6164bd6c, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x9503366, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xbf5a97c9, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xe6ff1a14, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x77f31e2f, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7ffff0, 0xaab4d7d8, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x966320b, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xb26bddee, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0xb5c8e5d3, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x317285d3, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x3c9623b1, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x51fd2c7c, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x7f7ffff0, 0x7b906a6c, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7fffff, 0x0, 0x7f7fffff, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x1, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x76, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x2b94, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x636d24, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x800000, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x800002, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x1398437, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xba98d27, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xba98d7a, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x751f853a, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7fffff, 0x7f7ffff0, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7fffff, 0x7f7fffff, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7fffff, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7fffff, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7fffff, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7fffff, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x80000000, 0x7f7fffff, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x80000001, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x80000076, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x80002b94, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x80636d24, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x807fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x7f7fffff, 0x80800000, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x80800002, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x81398437, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x8ba98d27, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x8ba98d7a, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xf51f853a, 0x7f7ffff5, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xff7ffff0, 0x75700000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0xff7fffff, 0x0, 0x3000000}, +{0x3000000, 0x7f7fffff, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7fffff, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7fffff, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f7fffff, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f7fffff, 0x4f3495cb, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xe73a5134, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x7c994e9e, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7fffff, 0x6164bd6c, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x9503366, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xbf5a97c9, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xe6ff1a14, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x77f31e2f, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f7fffff, 0xaab4d7d8, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x966320b, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xb26bddee, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0xb5c8e5d3, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x317285d3, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x3c9623b1, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x51fd2c7c, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x7f7fffff, 0x7b906a6c, 0x7f800000, 0x3000014}, +{0x3000000, 0x7f800000, 0x0, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x1, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x76, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x2b94, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x636d24, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x7fffff, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x800002, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x1398437, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xba98d27, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xba98d7a, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x751f853a, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7f7ffff0, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7f7fffff, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f800000, 0x80000000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x80000001, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x80000076, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x80002b94, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x80636d24, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x807fffff, 0x7f800000, 0x3000080}, +{0x3000000, 0x7f800000, 0x80800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x80800002, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x81398437, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x8ba98d27, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x8ba98d7a, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xf51f853a, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xff7ffff0, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xff7fffff, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f800000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f800000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7f800000, 0x4f3495cb, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xe73a5134, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7c994e9e, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x6164bd6c, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x9503366, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xbf5a97c9, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xe6ff1a14, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x77f31e2f, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xaab4d7d8, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x966320b, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xb26bddee, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0xb5c8e5d3, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x317285d3, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x3c9623b1, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x51fd2c7c, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800000, 0x7b906a6c, 0x7f800000, 0x3000000}, +{0x3000000, 0x7f800001, 0x0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x1, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x76, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x2b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x7fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x1398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x751f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7f7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7f7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7fc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7fd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7fffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x80000000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x80000001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x80000076, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x80002b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x80636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x807fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f800001, 0x80800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x80800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x81398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x8ba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x8ba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xf51f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xff7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xff7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xffc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xffd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xffffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x4f3495cb, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xe73a5134, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7c994e9e, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x6164bd6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x9503366, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xbf5a97c9, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xe6ff1a14, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x77f31e2f, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xaab4d7d8, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x966320b, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xb26bddee, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0xb5c8e5d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x317285d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x3c9623b1, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x51fd2c7c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f800001, 0x7b906a6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x1, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x76, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x2b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x7fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x1398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x751f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7f7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7f7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7fc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7fd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7fffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x80000000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x80000001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x80000076, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x80002b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x80636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x807fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7f984a37, 0x80800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x80800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x81398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x8ba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x8ba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xf51f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xff7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xff7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xffc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xffd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xffffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x4f3495cb, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xe73a5134, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7c994e9e, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x6164bd6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x9503366, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xbf5a97c9, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xe6ff1a14, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x77f31e2f, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xaab4d7d8, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x966320b, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xb26bddee, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0xb5c8e5d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x317285d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x3c9623b1, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x51fd2c7c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7f984a37, 0x7b906a6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x1, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x76, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x2b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x7fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x1398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x751f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7f7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7f7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7fc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7fd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7fffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x80000000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x80000001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x80000076, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x80002b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x80636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x807fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x7fbfffff, 0x80800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x80800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x81398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x8ba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x8ba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xf51f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xff7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xff7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xffc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xffd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xffffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x4f3495cb, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xe73a5134, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7c994e9e, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x6164bd6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x9503366, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xbf5a97c9, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xe6ff1a14, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x77f31e2f, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xaab4d7d8, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x966320b, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xb26bddee, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x317285d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x3c9623b1, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x51fd2c7c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fbfffff, 0x7b906a6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0x0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x1, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x76, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x2b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x7fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x1398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x751f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7f7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7f7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7f800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x80000000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x80000001, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x80000076, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x80002b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x80636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x807fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fc00000, 0x80800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x80800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x81398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x8ba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x8ba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xf51f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xff7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xff7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xff800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fc00000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x4f3495cb, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xe73a5134, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7c994e9e, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x6164bd6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x9503366, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xbf5a97c9, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xe6ff1a14, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x77f31e2f, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xaab4d7d8, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x966320b, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xb26bddee, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0xb5c8e5d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x317285d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x3c9623b1, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x51fd2c7c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fc00000, 0x7b906a6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x1, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x76, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x2b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x7fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x1398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x751f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7f7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7f800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fd9ba98, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fd9ba98, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fd9ba98, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x80000000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x80000001, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x80000076, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x80002b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x80636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x807fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fd9ba98, 0x80800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x80800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x81398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x8ba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xf51f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xff7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xff7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xff800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fd9ba98, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fd9ba98, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fd9ba98, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x4f3495cb, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xe73a5134, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7c994e9e, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x6164bd6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x9503366, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x77f31e2f, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x966320b, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xb26bddee, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x317285d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x3c9623b1, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fd9ba98, 0x7b906a6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x1, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x76, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x2b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x7fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x1398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x751f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7f7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7f7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7f800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fffffff, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fffffff, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fffffff, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x80000000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x80000001, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x80000076, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x80002b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x80636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x807fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x7fffffff, 0x80800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x80800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x81398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x8ba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x8ba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xf51f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xff7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xff7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xff800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fffffff, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fffffff, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7fffffff, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x4f3495cb, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xe73a5134, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7c994e9e, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x6164bd6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x9503366, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xbf5a97c9, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xe6ff1a14, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x77f31e2f, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xaab4d7d8, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x966320b, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xb26bddee, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0xb5c8e5d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x317285d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x3c9623b1, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x51fd2c7c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7fffffff, 0x7b906a6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0x0, 0x0, 0x3000000}, +{0x3000000, 0x80000000, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x800000, 0x800000, 0x3000000}, +{0x3000000, 0x80000000, 0x800002, 0x800002, 0x3000000}, +{0x3000000, 0x80000000, 0x1398437, 0x1398437, 0x3000000}, +{0x3000000, 0x80000000, 0xba98d27, 0xba98d27, 0x3000000}, +{0x3000000, 0x80000000, 0xba98d7a, 0xba98d7a, 0x3000000}, +{0x3000000, 0x80000000, 0x751f853a, 0x751f853a, 0x3000000}, +{0x3000000, 0x80000000, 0x7f7ffff0, 0x7f7ffff0, 0x3000000}, +{0x3000000, 0x80000000, 0x7f7fffff, 0x7f7fffff, 0x3000000}, +{0x3000000, 0x80000000, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x80000000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80000000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80000000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80000000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0x80000000, 0x80000000, 0x3000000}, +{0x3000000, 0x80000000, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x80000000, 0x80800000, 0x80800000, 0x3000000}, +{0x3000000, 0x80000000, 0x80800002, 0x80800002, 0x3000000}, +{0x3000000, 0x80000000, 0x81398437, 0x81398437, 0x3000000}, +{0x3000000, 0x80000000, 0x8ba98d27, 0x8ba98d27, 0x3000000}, +{0x3000000, 0x80000000, 0x8ba98d7a, 0x8ba98d7a, 0x3000000}, +{0x3000000, 0x80000000, 0xf51f853a, 0xf51f853a, 0x3000000}, +{0x3000000, 0x80000000, 0xff7ffff0, 0xff7ffff0, 0x3000000}, +{0x3000000, 0x80000000, 0xff7fffff, 0xff7fffff, 0x3000000}, +{0x3000000, 0x80000000, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x80000000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80000000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80000000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80000000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80000000, 0x4f3495cb, 0x4f3495cb, 0x3000000}, +{0x3000000, 0x80000000, 0xe73a5134, 0xe73a5134, 0x3000000}, +{0x3000000, 0x80000000, 0x7c994e9e, 0x7c994e9e, 0x3000000}, +{0x3000000, 0x80000000, 0x6164bd6c, 0x6164bd6c, 0x3000000}, +{0x3000000, 0x80000000, 0x9503366, 0x9503366, 0x3000000}, +{0x3000000, 0x80000000, 0xbf5a97c9, 0xbf5a97c9, 0x3000000}, +{0x3000000, 0x80000000, 0xe6ff1a14, 0xe6ff1a14, 0x3000000}, +{0x3000000, 0x80000000, 0x77f31e2f, 0x77f31e2f, 0x3000000}, +{0x3000000, 0x80000000, 0xaab4d7d8, 0xaab4d7d8, 0x3000000}, +{0x3000000, 0x80000000, 0x966320b, 0x966320b, 0x3000000}, +{0x3000000, 0x80000000, 0xb26bddee, 0xb26bddee, 0x3000000}, +{0x3000000, 0x80000000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000000}, +{0x3000000, 0x80000000, 0x317285d3, 0x317285d3, 0x3000000}, +{0x3000000, 0x80000000, 0x3c9623b1, 0x3c9623b1, 0x3000000}, +{0x3000000, 0x80000000, 0x51fd2c7c, 0x51fd2c7c, 0x3000000}, +{0x3000000, 0x80000000, 0x7b906a6c, 0x7b906a6c, 0x3000000}, +{0x3000000, 0x80000001, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x80000001, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x80000001, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x80000001, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x80000001, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x80000001, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x80000001, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x80000001, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x80000001, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x80000001, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000001, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000001, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000001, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000001, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000001, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000001, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x80000001, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x80000001, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x80000001, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x80000001, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x80000001, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x80000001, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x80000001, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x80000001, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x80000001, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x80000001, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000001, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000001, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000001, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000001, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000001, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000001, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x80000001, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x80000001, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x80000001, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x80000001, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x80000001, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x80000001, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x80000001, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x80000001, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x80000001, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x80000001, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x80000001, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x80000001, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x80000001, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x80000001, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x80000001, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x80000076, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x80000076, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x80000076, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x80000076, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x80000076, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x80000076, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x80000076, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x80000076, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x80000076, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x80000076, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000076, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000076, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000076, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000076, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000076, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000076, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x80000076, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x80000076, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x80000076, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x80000076, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x80000076, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x80000076, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x80000076, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x80000076, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x80000076, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x80000076, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000076, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000076, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80000076, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000076, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000076, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80000076, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x80000076, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x80000076, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x80000076, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x80000076, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x80000076, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x80000076, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x80000076, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x80000076, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x80000076, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x80000076, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x80000076, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x80000076, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x80000076, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x80000076, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x80000076, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x80002b94, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x80002b94, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x80002b94, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x80002b94, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x80002b94, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x80002b94, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x80002b94, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x80002b94, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x80002b94, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x80002b94, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80002b94, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80002b94, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80002b94, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80002b94, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80002b94, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80002b94, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x80002b94, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x80002b94, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x80002b94, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x80002b94, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x80002b94, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x80002b94, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x80002b94, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x80002b94, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x80002b94, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x80002b94, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80002b94, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80002b94, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80002b94, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80002b94, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80002b94, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80002b94, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x80002b94, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x80002b94, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x80002b94, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x80002b94, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x80002b94, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x80002b94, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x80002b94, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x80002b94, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x80002b94, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x80002b94, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x80002b94, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x80002b94, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x80002b94, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x80002b94, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x80002b94, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x80636d24, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x80636d24, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x80636d24, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x80636d24, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x80636d24, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x80636d24, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x80636d24, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x80636d24, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x80636d24, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x80636d24, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80636d24, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80636d24, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80636d24, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80636d24, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80636d24, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80636d24, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x80636d24, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x80636d24, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x80636d24, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x80636d24, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x80636d24, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x80636d24, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x80636d24, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x80636d24, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x80636d24, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x80636d24, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80636d24, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80636d24, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x80636d24, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80636d24, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80636d24, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x80636d24, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x80636d24, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x80636d24, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x80636d24, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x80636d24, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x80636d24, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x80636d24, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x80636d24, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x80636d24, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x80636d24, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x80636d24, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x80636d24, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x80636d24, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x80636d24, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x80636d24, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x80636d24, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x807fffff, 0x0, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x1, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x76, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x2b94, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x636d24, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x7fffff, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x800000, 0x800000, 0x3000080}, +{0x3000000, 0x807fffff, 0x800002, 0x800002, 0x3000080}, +{0x3000000, 0x807fffff, 0x1398437, 0x1398437, 0x3000080}, +{0x3000000, 0x807fffff, 0xba98d27, 0xba98d27, 0x3000080}, +{0x3000000, 0x807fffff, 0xba98d7a, 0xba98d7a, 0x3000080}, +{0x3000000, 0x807fffff, 0x751f853a, 0x751f853a, 0x3000080}, +{0x3000000, 0x807fffff, 0x7f7ffff0, 0x7f7ffff0, 0x3000080}, +{0x3000000, 0x807fffff, 0x7f7fffff, 0x7f7fffff, 0x3000080}, +{0x3000000, 0x807fffff, 0x7f800000, 0x7f800000, 0x3000080}, +{0x3000000, 0x807fffff, 0x7f800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x807fffff, 0x7f984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x807fffff, 0x7fbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x807fffff, 0x7fc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x807fffff, 0x7fd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x807fffff, 0x7fffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x807fffff, 0x80000000, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x80000001, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x80000076, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x80002b94, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x80636d24, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x807fffff, 0x0, 0x3000080}, +{0x3000000, 0x807fffff, 0x80800000, 0x80800000, 0x3000080}, +{0x3000000, 0x807fffff, 0x80800002, 0x80800002, 0x3000080}, +{0x3000000, 0x807fffff, 0x81398437, 0x81398437, 0x3000080}, +{0x3000000, 0x807fffff, 0x8ba98d27, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x807fffff, 0x8ba98d7a, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x807fffff, 0xf51f853a, 0xf51f853a, 0x3000080}, +{0x3000000, 0x807fffff, 0xff7ffff0, 0xff7ffff0, 0x3000080}, +{0x3000000, 0x807fffff, 0xff7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0x807fffff, 0xff800000, 0xff800000, 0x3000080}, +{0x3000000, 0x807fffff, 0xff800001, 0x7fc00000, 0x3000081}, +{0x3000000, 0x807fffff, 0xff984a37, 0x7fc00000, 0x3000081}, +{0x3000000, 0x807fffff, 0xffbfffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0x807fffff, 0xffc00000, 0x7fc00000, 0x3000080}, +{0x3000000, 0x807fffff, 0xffd9ba98, 0x7fc00000, 0x3000080}, +{0x3000000, 0x807fffff, 0xffffffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0x807fffff, 0x4f3495cb, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x807fffff, 0xe73a5134, 0xe73a5134, 0x3000080}, +{0x3000000, 0x807fffff, 0x7c994e9e, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x807fffff, 0x6164bd6c, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x807fffff, 0x9503366, 0x9503366, 0x3000080}, +{0x3000000, 0x807fffff, 0xbf5a97c9, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0x807fffff, 0xe6ff1a14, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0x807fffff, 0x77f31e2f, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x807fffff, 0xaab4d7d8, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0x807fffff, 0x966320b, 0x966320b, 0x3000080}, +{0x3000000, 0x807fffff, 0xb26bddee, 0xb26bddee, 0x3000080}, +{0x3000000, 0x807fffff, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0x807fffff, 0x317285d3, 0x317285d3, 0x3000080}, +{0x3000000, 0x807fffff, 0x3c9623b1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x807fffff, 0x51fd2c7c, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x807fffff, 0x7b906a6c, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x80800000, 0x0, 0x80800000, 0x3000000}, +{0x3000000, 0x80800000, 0x1, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x76, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x2b94, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x636d24, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x7fffff, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x800000, 0x0, 0x3000000}, +{0x3000000, 0x80800000, 0x800002, 0x0, 0x3000008}, +{0x3000000, 0x80800000, 0x1398437, 0xf3086e, 0x3000000}, +{0x3000000, 0x80800000, 0xba98d27, 0xba98d25, 0x3000000}, +{0x3000000, 0x80800000, 0xba98d7a, 0xba98d78, 0x3000000}, +{0x3000000, 0x80800000, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x80800000, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x80800000, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x80800000, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x80800000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800000, 0x80000000, 0x80800000, 0x3000000}, +{0x3000000, 0x80800000, 0x80000001, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x80000076, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x80002b94, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x80636d24, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x807fffff, 0x80800000, 0x3000080}, +{0x3000000, 0x80800000, 0x80800000, 0x81000000, 0x3000000}, +{0x3000000, 0x80800000, 0x80800002, 0x81000001, 0x3000000}, +{0x3000000, 0x80800000, 0x81398437, 0x81798437, 0x3000000}, +{0x3000000, 0x80800000, 0x8ba98d27, 0x8ba98d29, 0x3000000}, +{0x3000000, 0x80800000, 0x8ba98d7a, 0x8ba98d7c, 0x3000000}, +{0x3000000, 0x80800000, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x80800000, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x80800000, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x80800000, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x80800000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800000, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x80800000, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x80800000, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x80800000, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x80800000, 0x9503366, 0x9503326, 0x3000000}, +{0x3000000, 0x80800000, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x80800000, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x80800000, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x80800000, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x80800000, 0x966320b, 0x96631cb, 0x3000000}, +{0x3000000, 0x80800000, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x80800000, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x80800000, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x80800000, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x80800000, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x80800000, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x80800002, 0x0, 0x80800002, 0x3000000}, +{0x3000000, 0x80800002, 0x1, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x76, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x2b94, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x636d24, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x7fffff, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x800000, 0x0, 0x3000008}, +{0x3000000, 0x80800002, 0x800002, 0x0, 0x3000000}, +{0x3000000, 0x80800002, 0x1398437, 0xf3086c, 0x3000000}, +{0x3000000, 0x80800002, 0xba98d27, 0xba98d25, 0x3000010}, +{0x3000000, 0x80800002, 0xba98d7a, 0xba98d78, 0x3000010}, +{0x3000000, 0x80800002, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x80800002, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x80800002, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x80800002, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x80800002, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800002, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800002, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800002, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800002, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800002, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800002, 0x80000000, 0x80800002, 0x3000000}, +{0x3000000, 0x80800002, 0x80000001, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x80000076, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x80002b94, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x80636d24, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x807fffff, 0x80800002, 0x3000080}, +{0x3000000, 0x80800002, 0x80800000, 0x81000001, 0x3000000}, +{0x3000000, 0x80800002, 0x80800002, 0x81000002, 0x3000000}, +{0x3000000, 0x80800002, 0x81398437, 0x81798438, 0x3000000}, +{0x3000000, 0x80800002, 0x8ba98d27, 0x8ba98d29, 0x3000010}, +{0x3000000, 0x80800002, 0x8ba98d7a, 0x8ba98d7c, 0x3000010}, +{0x3000000, 0x80800002, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x80800002, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x80800002, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x80800002, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x80800002, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800002, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800002, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x80800002, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800002, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800002, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x80800002, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x80800002, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x80800002, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x80800002, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x80800002, 0x9503366, 0x9503326, 0x3000010}, +{0x3000000, 0x80800002, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x80800002, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x80800002, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x80800002, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x80800002, 0x966320b, 0x96631cb, 0x3000010}, +{0x3000000, 0x80800002, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x80800002, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x80800002, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x80800002, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x80800002, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x80800002, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x81398437, 0x0, 0x81398437, 0x3000000}, +{0x3000000, 0x81398437, 0x1, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x76, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x2b94, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x636d24, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x7fffff, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x800000, 0x80f3086e, 0x3000000}, +{0x3000000, 0x81398437, 0x800002, 0x80f3086c, 0x3000000}, +{0x3000000, 0x81398437, 0x1398437, 0x0, 0x3000000}, +{0x3000000, 0x81398437, 0xba98d27, 0xba98d21, 0x3000010}, +{0x3000000, 0x81398437, 0xba98d7a, 0xba98d74, 0x3000010}, +{0x3000000, 0x81398437, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x81398437, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x81398437, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x81398437, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x81398437, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x81398437, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x81398437, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x81398437, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x81398437, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x81398437, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x81398437, 0x80000000, 0x81398437, 0x3000000}, +{0x3000000, 0x81398437, 0x80000001, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x80000076, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x80002b94, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x80636d24, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x807fffff, 0x81398437, 0x3000080}, +{0x3000000, 0x81398437, 0x80800000, 0x81798437, 0x3000000}, +{0x3000000, 0x81398437, 0x80800002, 0x81798438, 0x3000000}, +{0x3000000, 0x81398437, 0x81398437, 0x81b98437, 0x3000000}, +{0x3000000, 0x81398437, 0x8ba98d27, 0x8ba98d2d, 0x3000010}, +{0x3000000, 0x81398437, 0x8ba98d7a, 0x8ba98d80, 0x3000010}, +{0x3000000, 0x81398437, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x81398437, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x81398437, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x81398437, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x81398437, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x81398437, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x81398437, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x81398437, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x81398437, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x81398437, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x81398437, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x81398437, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x81398437, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x81398437, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x81398437, 0x9503366, 0x95032ac, 0x3000010}, +{0x3000000, 0x81398437, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x81398437, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x81398437, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x81398437, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x81398437, 0x966320b, 0x9663151, 0x3000010}, +{0x3000000, 0x81398437, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x81398437, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x81398437, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x81398437, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x81398437, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x81398437, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x0, 0x8ba98d27, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x1, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x76, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x2b94, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x636d24, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x7fffff, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x800000, 0x8ba98d25, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x800002, 0x8ba98d25, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x1398437, 0x8ba98d21, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xba98d27, 0x0, 0x3000000}, +{0x3000000, 0x8ba98d27, 0xba98d7a, 0x3260000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d27, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d27, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d27, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x80000000, 0x8ba98d27, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x80000001, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x80000076, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x80002b94, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x80636d24, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x807fffff, 0x8ba98d27, 0x3000080}, +{0x3000000, 0x8ba98d27, 0x80800000, 0x8ba98d29, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x80800002, 0x8ba98d29, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x81398437, 0x8ba98d2d, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x8ba98d27, 0x8c298d27, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x8ba98d7a, 0x8c298d50, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d27, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d27, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d27, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d27, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x9503366, 0x8ba30b8c, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x966320b, 0x8ba25b97, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x8ba98d27, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x8ba98d27, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x0, 0x8ba98d7a, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x1, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x76, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x2b94, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x636d24, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x7fffff, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x800000, 0x8ba98d78, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x800002, 0x8ba98d78, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x1398437, 0x8ba98d74, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xba98d27, 0x83260000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0xba98d7a, 0x0, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d7a, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d7a, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d7a, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x80000000, 0x8ba98d7a, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x80000001, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x80000076, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x80002b94, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x80636d24, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x807fffff, 0x8ba98d7a, 0x3000080}, +{0x3000000, 0x8ba98d7a, 0x80800000, 0x8ba98d7c, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x80800002, 0x8ba98d7c, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x81398437, 0x8ba98d80, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x8ba98d27, 0x8c298d50, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x8ba98d7a, 0x8c298d7a, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d7a, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d7a, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x8ba98d7a, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x8ba98d7a, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x9503366, 0x8ba30bdf, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x966320b, 0x8ba25bea, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x8ba98d7a, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xf51f853a, 0x0, 0xf51f853a, 0x3000000}, +{0x3000000, 0xf51f853a, 0x1, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x76, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x2b94, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x636d24, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x7fffff, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x800000, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x800002, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x1398437, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xba98d27, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xba98d7a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x751f853a, 0x0, 0x3000000}, +{0x3000000, 0xf51f853a, 0x7f7ffff0, 0x7f7fffe6, 0x3000010}, +{0x3000000, 0xf51f853a, 0x7f7fffff, 0x7f7ffff5, 0x3000010}, +{0x3000000, 0xf51f853a, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xf51f853a, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xf51f853a, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xf51f853a, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xf51f853a, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xf51f853a, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xf51f853a, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xf51f853a, 0x80000000, 0xf51f853a, 0x3000000}, +{0x3000000, 0xf51f853a, 0x80000001, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x80000076, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x80002b94, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x80636d24, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x807fffff, 0xf51f853a, 0x3000080}, +{0x3000000, 0xf51f853a, 0x80800000, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x80800002, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x81398437, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x8ba98d27, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x8ba98d7a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xf51f853a, 0xf59f853a, 0x3000000}, +{0x3000000, 0xf51f853a, 0xff7ffff0, 0xff7ffffa, 0x3000010}, +{0x3000000, 0xf51f853a, 0xff7fffff, 0xff800000, 0x3000014}, +{0x3000000, 0xf51f853a, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xf51f853a, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xf51f853a, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xf51f853a, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xf51f853a, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xf51f853a, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xf51f853a, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xf51f853a, 0x4f3495cb, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xe73a5134, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x7c994e9e, 0x7c994d5f, 0x3000010}, +{0x3000000, 0xf51f853a, 0x6164bd6c, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x9503366, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xbf5a97c9, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xe6ff1a14, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x77f31e2f, 0x77ee2205, 0x3000010}, +{0x3000000, 0xf51f853a, 0xaab4d7d8, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x966320b, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xb26bddee, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0xb5c8e5d3, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x317285d3, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x3c9623b1, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x51fd2c7c, 0xf51f853a, 0x3000010}, +{0x3000000, 0xf51f853a, 0x7b906a6c, 0x7b906570, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x0, 0xff7ffff0, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x1, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x76, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x2b94, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x636d24, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x7fffff, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x800000, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x800002, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x1398437, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xba98d27, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xba98d7a, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x751f853a, 0xff7fffe6, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x7f7ffff0, 0x0, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x7f7fffff, 0x75700000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7ffff0, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7ffff0, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7ffff0, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x80000000, 0xff7ffff0, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x80000001, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x80000076, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x80002b94, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x80636d24, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x807fffff, 0xff7ffff0, 0x3000080}, +{0x3000000, 0xff7ffff0, 0x80800000, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x80800002, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x81398437, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x8ba98d27, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x8ba98d7a, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xf51f853a, 0xff7ffffa, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xff7ffff0, 0xff800000, 0x3000014}, +{0x3000000, 0xff7ffff0, 0xff7fffff, 0xff800000, 0x3000014}, +{0x3000000, 0xff7ffff0, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7ffff0, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7ffff0, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7ffff0, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7ffff0, 0x4f3495cb, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xe73a5134, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x7c994e9e, 0xff7b357b, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x6164bd6c, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x9503366, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xbf5a97c9, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xe6ff1a14, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x77f31e2f, 0xff7ffe0a, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xaab4d7d8, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x966320b, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xb26bddee, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0xb5c8e5d3, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x317285d3, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x3c9623b1, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x51fd2c7c, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xff7ffff0, 0x7b906a6c, 0xff7edf1b, 0x3000010}, +{0x3000000, 0xff7fffff, 0x0, 0xff7fffff, 0x3000000}, +{0x3000000, 0xff7fffff, 0x1, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x76, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x2b94, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x636d24, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x7fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x800000, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x800002, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x1398437, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xba98d27, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xba98d7a, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x751f853a, 0xff7ffff5, 0x3000010}, +{0x3000000, 0xff7fffff, 0x7f7ffff0, 0xf5700000, 0x3000000}, +{0x3000000, 0xff7fffff, 0x7f7fffff, 0x0, 0x3000000}, +{0x3000000, 0xff7fffff, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xff7fffff, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7fffff, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7fffff, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7fffff, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7fffff, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7fffff, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7fffff, 0x80000000, 0xff7fffff, 0x3000000}, +{0x3000000, 0xff7fffff, 0x80000001, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x80000076, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x80002b94, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x80636d24, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x807fffff, 0xff7fffff, 0x3000080}, +{0x3000000, 0xff7fffff, 0x80800000, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x80800002, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x81398437, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x8ba98d27, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x8ba98d7a, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xf51f853a, 0xff800000, 0x3000014}, +{0x3000000, 0xff7fffff, 0xff7ffff0, 0xff800000, 0x3000014}, +{0x3000000, 0xff7fffff, 0xff7fffff, 0xff800000, 0x3000014}, +{0x3000000, 0xff7fffff, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xff7fffff, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7fffff, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7fffff, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff7fffff, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7fffff, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7fffff, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff7fffff, 0x4f3495cb, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xe73a5134, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x7c994e9e, 0xff7b358a, 0x3000010}, +{0x3000000, 0xff7fffff, 0x6164bd6c, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x9503366, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xbf5a97c9, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xe6ff1a14, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x77f31e2f, 0xff7ffe19, 0x3000010}, +{0x3000000, 0xff7fffff, 0xaab4d7d8, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x966320b, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xb26bddee, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0xb5c8e5d3, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x317285d3, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x3c9623b1, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x51fd2c7c, 0xff7fffff, 0x3000010}, +{0x3000000, 0xff7fffff, 0x7b906a6c, 0xff7edf2a, 0x3000010}, +{0x3000000, 0xff800000, 0x0, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x1, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x76, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x2b94, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x636d24, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x7fffff, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x800000, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x800002, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x1398437, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xba98d27, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xba98d7a, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x751f853a, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x7f7ffff0, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x7f7fffff, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff800000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff800000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff800000, 0x80000000, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x80000001, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x80000076, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x80002b94, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x80636d24, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x807fffff, 0xff800000, 0x3000080}, +{0x3000000, 0xff800000, 0x80800000, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x80800002, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x81398437, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x8ba98d27, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x8ba98d7a, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xf51f853a, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xff7ffff0, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xff7fffff, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff800000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff800000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xff800000, 0x4f3495cb, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xe73a5134, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x7c994e9e, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x6164bd6c, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x9503366, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xbf5a97c9, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xe6ff1a14, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x77f31e2f, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xaab4d7d8, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x966320b, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xb26bddee, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0xb5c8e5d3, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x317285d3, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x3c9623b1, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x51fd2c7c, 0xff800000, 0x3000000}, +{0x3000000, 0xff800000, 0x7b906a6c, 0xff800000, 0x3000000}, +{0x3000000, 0xff800001, 0x0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x1, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x76, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x2b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x7fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x1398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x751f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7f7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7f7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7fc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7fd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7fffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x80000000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x80000001, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x80000076, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x80002b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x80636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x807fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff800001, 0x80800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x80800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x81398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x8ba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x8ba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xf51f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xff7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xff7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xffc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xffd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xffffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x4f3495cb, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xe73a5134, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7c994e9e, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x6164bd6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x9503366, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xbf5a97c9, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xe6ff1a14, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x77f31e2f, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xaab4d7d8, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x966320b, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xb26bddee, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0xb5c8e5d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x317285d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x3c9623b1, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x51fd2c7c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff800001, 0x7b906a6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x1, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x76, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x2b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x7fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x1398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x751f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7f7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7f7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7fc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7fd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7fffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x80000000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x80000001, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x80000076, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x80002b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x80636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x807fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0xff984a37, 0x80800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x80800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x81398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x8ba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x8ba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xf51f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xff7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xff7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xffc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xffd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xffffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x4f3495cb, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xe73a5134, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7c994e9e, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x6164bd6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x9503366, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xbf5a97c9, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xe6ff1a14, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x77f31e2f, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xaab4d7d8, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x966320b, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xb26bddee, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0xb5c8e5d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x317285d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x3c9623b1, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x51fd2c7c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xff984a37, 0x7b906a6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x1, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x76, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x2b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x7fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x1398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x751f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7f7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7f7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7f800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7fc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7fd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7fffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x80000000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x80000001, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x80000076, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x80002b94, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x80636d24, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x807fffff, 0x7fc00000, 0x3000081}, +{0x3000000, 0xffbfffff, 0x80800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x80800002, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x81398437, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x8ba98d27, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x8ba98d7a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xf51f853a, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xff7ffff0, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xff7fffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xff800000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xffc00000, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xffd9ba98, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xffffffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x4f3495cb, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xe73a5134, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7c994e9e, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x6164bd6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x9503366, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xbf5a97c9, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xe6ff1a14, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x77f31e2f, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xaab4d7d8, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x966320b, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xb26bddee, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0xb5c8e5d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x317285d3, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x3c9623b1, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x51fd2c7c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffbfffff, 0x7b906a6c, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0x0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x1, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x76, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x2b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x7fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x1398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x751f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7f7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7f7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7f800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x80000000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x80000001, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x80000076, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x80002b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x80636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x807fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffc00000, 0x80800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x80800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x81398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x8ba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x8ba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xf51f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xff7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xff7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xff800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffc00000, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x4f3495cb, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xe73a5134, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7c994e9e, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x6164bd6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x9503366, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xbf5a97c9, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xe6ff1a14, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x77f31e2f, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xaab4d7d8, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x966320b, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xb26bddee, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0xb5c8e5d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x317285d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x3c9623b1, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x51fd2c7c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffc00000, 0x7b906a6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x1, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x76, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x2b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x7fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x1398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x751f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7f7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7f7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7f800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffd9ba98, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffd9ba98, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffd9ba98, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x80000000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x80000001, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x80000076, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x80002b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x80636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x807fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffd9ba98, 0x80800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x80800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x81398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x8ba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x8ba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xf51f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xff7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xff7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xff800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffd9ba98, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffd9ba98, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffd9ba98, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x4f3495cb, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xe73a5134, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7c994e9e, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x6164bd6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x9503366, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xbf5a97c9, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xe6ff1a14, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x77f31e2f, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xaab4d7d8, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x966320b, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xb26bddee, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0xb5c8e5d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x317285d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x3c9623b1, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x51fd2c7c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffd9ba98, 0x7b906a6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x1, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x76, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x2b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x7fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x1398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x751f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7f7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7f7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7f800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffffffff, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffffffff, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffffffff, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x80000000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x80000001, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x80000076, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x80002b94, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x80636d24, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x807fffff, 0x7fc00000, 0x3000080}, +{0x3000000, 0xffffffff, 0x80800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x80800002, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x81398437, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x8ba98d27, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x8ba98d7a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xf51f853a, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xff7ffff0, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xff7fffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xff800000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffffffff, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffffffff, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xffffffff, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x4f3495cb, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xe73a5134, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7c994e9e, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x6164bd6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x9503366, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xbf5a97c9, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xe6ff1a14, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x77f31e2f, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xaab4d7d8, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x966320b, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xb26bddee, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0xb5c8e5d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x317285d3, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x3c9623b1, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x51fd2c7c, 0x7fc00000, 0x3000000}, +{0x3000000, 0xffffffff, 0x7b906a6c, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x0, 0x4f3495cb, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x1, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x76, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x2b94, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x636d24, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x7fffff, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x800000, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x800002, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x1398437, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xba98d27, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xba98d7a, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x4f3495cb, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x4f3495cb, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x4f3495cb, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x80000000, 0x4f3495cb, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x80000001, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x80000076, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x80002b94, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x80636d24, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x807fffff, 0x4f3495cb, 0x3000080}, +{0x3000000, 0x4f3495cb, 0x80800000, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x80800002, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x81398437, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x8ba98d27, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x8ba98d7a, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x4f3495cb, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x4f3495cb, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x4f3495cb, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x4f3495cb, 0x4f3495cb, 0x4fb495cb, 0x3000000}, +{0x3000000, 0x4f3495cb, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x9503366, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xbf5a97c9, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xaab4d7d8, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x966320b, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xb26bddee, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0xb5c8e5d3, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x317285d3, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x3c9623b1, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x51fd2c7c, 0x52016895, 0x3000010}, +{0x3000000, 0x4f3495cb, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xe73a5134, 0x0, 0xe73a5134, 0x3000000}, +{0x3000000, 0xe73a5134, 0x1, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x76, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x2b94, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x636d24, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x7fffff, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x800000, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x800002, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x1398437, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xba98d27, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xba98d7a, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xe73a5134, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xe73a5134, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xe73a5134, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xe73a5134, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe73a5134, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe73a5134, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe73a5134, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe73a5134, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe73a5134, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe73a5134, 0x80000000, 0xe73a5134, 0x3000000}, +{0x3000000, 0xe73a5134, 0x80000001, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x80000076, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x80002b94, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x80636d24, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x807fffff, 0xe73a5134, 0x3000080}, +{0x3000000, 0xe73a5134, 0x80800000, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x80800002, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x81398437, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x8ba98d27, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x8ba98d7a, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xe73a5134, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xe73a5134, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xe73a5134, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xe73a5134, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe73a5134, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe73a5134, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe73a5134, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe73a5134, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe73a5134, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe73a5134, 0x4f3495cb, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xe73a5134, 0xe7ba5134, 0x3000000}, +{0x3000000, 0xe73a5134, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xe73a5134, 0x6164bd6c, 0xe73a42e8, 0x3000010}, +{0x3000000, 0xe73a5134, 0x9503366, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xbf5a97c9, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xe6ff1a14, 0xe79cef1f, 0x3000000}, +{0x3000000, 0xe73a5134, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xe73a5134, 0xaab4d7d8, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x966320b, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xb26bddee, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0xb5c8e5d3, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x317285d3, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x3c9623b1, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x51fd2c7c, 0xe73a5134, 0x3000010}, +{0x3000000, 0xe73a5134, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x0, 0x7c994e9e, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x1, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x76, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x2b94, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x636d24, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x7fffff, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x800000, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x800002, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x1398437, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xba98d27, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xba98d7a, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x751f853a, 0x7c994fdd, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x7f7ffff0, 0x7f800000, 0x3000014}, +{0x3000000, 0x7c994e9e, 0x7f7fffff, 0x7f800000, 0x3000014}, +{0x3000000, 0x7c994e9e, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7c994e9e, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7c994e9e, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7c994e9e, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x80000000, 0x7c994e9e, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x80000001, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x80000076, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x80002b94, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x80636d24, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x807fffff, 0x7c994e9e, 0x3000080}, +{0x3000000, 0x7c994e9e, 0x80800000, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x80800002, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x81398437, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x8ba98d27, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x8ba98d7a, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xf51f853a, 0x7c994d5f, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xff7ffff0, 0xff7b357b, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xff7fffff, 0xff7b358a, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7c994e9e, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7c994e9e, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7c994e9e, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x4f3495cb, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xe73a5134, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x7c994e9e, 0x7d194e9e, 0x3000000}, +{0x3000000, 0x7c994e9e, 0x6164bd6c, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x9503366, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xbf5a97c9, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xe6ff1a14, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x77f31e2f, 0x7c998b66, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xaab4d7d8, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x966320b, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xb26bddee, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0xb5c8e5d3, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x317285d3, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x3c9623b1, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x51fd2c7c, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x7c994e9e, 0x7b906a6c, 0x7cbd6939, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x0, 0x6164bd6c, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x1, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x76, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x2b94, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x636d24, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x7fffff, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x800000, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x800002, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x1398437, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xba98d27, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xba98d7a, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x6164bd6c, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x6164bd6c, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x6164bd6c, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x80000000, 0x6164bd6c, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x80000001, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x80000076, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x80002b94, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x80636d24, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x807fffff, 0x6164bd6c, 0x3000080}, +{0x3000000, 0x6164bd6c, 0x80800000, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x80800002, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x81398437, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x8ba98d27, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x8ba98d7a, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x6164bd6c, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x6164bd6c, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x6164bd6c, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x4f3495cb, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xe73a5134, 0xe73a42e8, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x6164bd6c, 0x61e4bd6c, 0x3000000}, +{0x3000000, 0x6164bd6c, 0x9503366, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xbf5a97c9, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xe6ff1a14, 0xe6fefd7c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xaab4d7d8, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x966320b, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xb26bddee, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0xb5c8e5d3, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x317285d3, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x3c9623b1, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x51fd2c7c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x6164bd6c, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x9503366, 0x0, 0x9503366, 0x3000000}, +{0x3000000, 0x9503366, 0x1, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x76, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x2b94, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x636d24, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x7fffff, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x800000, 0x95033a6, 0x3000000}, +{0x3000000, 0x9503366, 0x800002, 0x95033a6, 0x3000010}, +{0x3000000, 0x9503366, 0x1398437, 0x9503420, 0x3000010}, +{0x3000000, 0x9503366, 0xba98d27, 0xbb00ec2, 0x3000010}, +{0x3000000, 0x9503366, 0xba98d7a, 0xbb00f15, 0x3000010}, +{0x3000000, 0x9503366, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x9503366, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x9503366, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x9503366, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x9503366, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x9503366, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x9503366, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x9503366, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x9503366, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x9503366, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x9503366, 0x80000000, 0x9503366, 0x3000000}, +{0x3000000, 0x9503366, 0x80000001, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x80000076, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x80002b94, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x80636d24, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x807fffff, 0x9503366, 0x3000080}, +{0x3000000, 0x9503366, 0x80800000, 0x9503326, 0x3000000}, +{0x3000000, 0x9503366, 0x80800002, 0x9503326, 0x3000010}, +{0x3000000, 0x9503366, 0x81398437, 0x95032ac, 0x3000010}, +{0x3000000, 0x9503366, 0x8ba98d27, 0x8ba30b8c, 0x3000010}, +{0x3000000, 0x9503366, 0x8ba98d7a, 0x8ba30bdf, 0x3000010}, +{0x3000000, 0x9503366, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x9503366, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x9503366, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x9503366, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x9503366, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x9503366, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x9503366, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x9503366, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x9503366, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x9503366, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x9503366, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x9503366, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x9503366, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x9503366, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x9503366, 0x9503366, 0x9d03366, 0x3000000}, +{0x3000000, 0x9503366, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x9503366, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x9503366, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x9503366, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x9503366, 0x966320b, 0x9db32b8, 0x3000010}, +{0x3000000, 0x9503366, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x9503366, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x9503366, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x9503366, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x9503366, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x9503366, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x0, 0xbf5a97c9, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x1, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x76, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x2b94, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x636d24, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x7fffff, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x800000, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x800002, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x1398437, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xba98d27, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xba98d7a, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xbf5a97c9, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xbf5a97c9, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xbf5a97c9, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x80000000, 0xbf5a97c9, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x80000001, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x80000076, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x80002b94, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x80636d24, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x807fffff, 0xbf5a97c9, 0x3000080}, +{0x3000000, 0xbf5a97c9, 0x80800000, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x80800002, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x81398437, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x8ba98d27, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x8ba98d7a, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xbf5a97c9, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xbf5a97c9, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xbf5a97c9, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x9503366, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xbf5a97c9, 0xbfda97c9, 0x3000000}, +{0x3000000, 0xbf5a97c9, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xaab4d7d8, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x966320b, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xb26bddee, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0xb5c8e5d3, 0xbf5a97e2, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x317285d3, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x3c9623b1, 0xbf55e6ab, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0xbf5a97c9, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x0, 0xe6ff1a14, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x1, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x76, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x2b94, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x636d24, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x7fffff, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x800000, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x800002, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x1398437, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xba98d27, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xba98d7a, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe6ff1a14, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe6ff1a14, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe6ff1a14, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x80000000, 0xe6ff1a14, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x80000001, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x80000076, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x80002b94, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x80636d24, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x807fffff, 0xe6ff1a14, 0x3000080}, +{0x3000000, 0xe6ff1a14, 0x80800000, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x80800002, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x81398437, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x8ba98d27, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x8ba98d7a, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe6ff1a14, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe6ff1a14, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xe6ff1a14, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x4f3495cb, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xe73a5134, 0xe79cef1f, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x6164bd6c, 0xe6fefd7c, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x9503366, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xbf5a97c9, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xe6ff1a14, 0xe77f1a14, 0x3000000}, +{0x3000000, 0xe6ff1a14, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xaab4d7d8, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x966320b, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xb26bddee, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0xb5c8e5d3, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x317285d3, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x3c9623b1, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x51fd2c7c, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xe6ff1a14, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x0, 0x77f31e2f, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x1, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x76, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x2b94, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x636d24, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x7fffff, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x800000, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x800002, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x1398437, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xba98d27, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xba98d7a, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x751f853a, 0x77f81a59, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x7f7ffff0, 0x7f800000, 0x3000014}, +{0x3000000, 0x77f31e2f, 0x7f7fffff, 0x7f800000, 0x3000014}, +{0x3000000, 0x77f31e2f, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x77f31e2f, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x77f31e2f, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x77f31e2f, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x80000000, 0x77f31e2f, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x80000001, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x80000076, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x80002b94, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x80636d24, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x807fffff, 0x77f31e2f, 0x3000080}, +{0x3000000, 0x77f31e2f, 0x80800000, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x80800002, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x81398437, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x8ba98d27, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x8ba98d7a, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xf51f853a, 0x77ee2205, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xff7ffff0, 0xff7ffe0a, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xff7fffff, 0xff7ffe19, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x77f31e2f, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x77f31e2f, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x77f31e2f, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x77f31e2f, 0x4f3495cb, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xe73a5134, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x7c994e9e, 0x7c998b66, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x6164bd6c, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x9503366, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xbf5a97c9, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xe6ff1a14, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x77f31e2f, 0x78731e2f, 0x3000000}, +{0x3000000, 0x77f31e2f, 0xaab4d7d8, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x966320b, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xb26bddee, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0xb5c8e5d3, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x317285d3, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x3c9623b1, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x51fd2c7c, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x77f31e2f, 0x7b906a6c, 0x7b915d8a, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x0, 0xaab4d7d8, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x1, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x76, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x2b94, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x636d24, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x7fffff, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x800000, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x800002, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x1398437, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xba98d27, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xba98d7a, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xaab4d7d8, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xaab4d7d8, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xaab4d7d8, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x80000000, 0xaab4d7d8, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x80000001, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x80000076, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x80002b94, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x80636d24, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x807fffff, 0xaab4d7d8, 0x3000080}, +{0x3000000, 0xaab4d7d8, 0x80800000, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x80800002, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x81398437, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x8ba98d27, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x8ba98d7a, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xaab4d7d8, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xaab4d7d8, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xaab4d7d8, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x9503366, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xaab4d7d8, 0xab34d7d8, 0x3000000}, +{0x3000000, 0xaab4d7d8, 0x966320b, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xb26bddee, 0xb26bdf58, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0xb5c8e5d3, 0xb5c8e5d6, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x317285d3, 0x3172802c, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0xaab4d7d8, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x966320b, 0x0, 0x966320b, 0x3000000}, +{0x3000000, 0x966320b, 0x1, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x76, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x2b94, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x636d24, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x7fffff, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x800000, 0x966324b, 0x3000000}, +{0x3000000, 0x966320b, 0x800002, 0x966324b, 0x3000010}, +{0x3000000, 0x966320b, 0x1398437, 0x96632c5, 0x3000010}, +{0x3000000, 0x966320b, 0xba98d27, 0xbb0beb7, 0x3000010}, +{0x3000000, 0x966320b, 0xba98d7a, 0xbb0bf0a, 0x3000010}, +{0x3000000, 0x966320b, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x966320b, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x966320b, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x966320b, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x966320b, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x966320b, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x966320b, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x966320b, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x966320b, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x966320b, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x966320b, 0x80000000, 0x966320b, 0x3000000}, +{0x3000000, 0x966320b, 0x80000001, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x80000076, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x80002b94, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x80636d24, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x807fffff, 0x966320b, 0x3000080}, +{0x3000000, 0x966320b, 0x80800000, 0x96631cb, 0x3000000}, +{0x3000000, 0x966320b, 0x80800002, 0x96631cb, 0x3000010}, +{0x3000000, 0x966320b, 0x81398437, 0x9663151, 0x3000010}, +{0x3000000, 0x966320b, 0x8ba98d27, 0x8ba25b97, 0x3000010}, +{0x3000000, 0x966320b, 0x8ba98d7a, 0x8ba25bea, 0x3000010}, +{0x3000000, 0x966320b, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x966320b, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x966320b, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x966320b, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x966320b, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x966320b, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x966320b, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x966320b, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x966320b, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x966320b, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x966320b, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x966320b, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x966320b, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x966320b, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x966320b, 0x9503366, 0x9db32b8, 0x3000010}, +{0x3000000, 0x966320b, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x966320b, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x966320b, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x966320b, 0xaab4d7d8, 0xaab4d7d8, 0x3000010}, +{0x3000000, 0x966320b, 0x966320b, 0x9e6320b, 0x3000000}, +{0x3000000, 0x966320b, 0xb26bddee, 0xb26bddee, 0x3000010}, +{0x3000000, 0x966320b, 0xb5c8e5d3, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0x966320b, 0x317285d3, 0x317285d3, 0x3000010}, +{0x3000000, 0x966320b, 0x3c9623b1, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x966320b, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x966320b, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xb26bddee, 0x0, 0xb26bddee, 0x3000000}, +{0x3000000, 0xb26bddee, 0x1, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x76, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x2b94, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x636d24, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x7fffff, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x800000, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x800002, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x1398437, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0xba98d27, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0xba98d7a, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xb26bddee, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xb26bddee, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xb26bddee, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xb26bddee, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb26bddee, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb26bddee, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb26bddee, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb26bddee, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb26bddee, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb26bddee, 0x80000000, 0xb26bddee, 0x3000000}, +{0x3000000, 0xb26bddee, 0x80000001, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x80000076, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x80002b94, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x80636d24, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x807fffff, 0xb26bddee, 0x3000080}, +{0x3000000, 0xb26bddee, 0x80800000, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x80800002, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x81398437, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x8ba98d27, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0x8ba98d7a, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xb26bddee, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xb26bddee, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xb26bddee, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xb26bddee, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb26bddee, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb26bddee, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb26bddee, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb26bddee, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb26bddee, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb26bddee, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0xb26bddee, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0xb26bddee, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xb26bddee, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0xb26bddee, 0x9503366, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0xb26bddee, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xb26bddee, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xb26bddee, 0xaab4d7d8, 0xb26bdf58, 0x3000010}, +{0x3000000, 0xb26bddee, 0x966320b, 0xb26bddee, 0x3000010}, +{0x3000000, 0xb26bddee, 0xb26bddee, 0xb2ebddee, 0x3000000}, +{0x3000000, 0xb26bddee, 0xb5c8e5d3, 0xb5cabd8f, 0x3000010}, +{0x3000000, 0xb26bddee, 0x317285d3, 0xb22f3c79, 0x3000010}, +{0x3000000, 0xb26bddee, 0x3c9623b1, 0x3c9623aa, 0x3000010}, +{0x3000000, 0xb26bddee, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0xb26bddee, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x0, 0xb5c8e5d3, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x1, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x76, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x2b94, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x636d24, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x7fffff, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x800000, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x800002, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x1398437, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xba98d27, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xba98d7a, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb5c8e5d3, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb5c8e5d3, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb5c8e5d3, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x80000000, 0xb5c8e5d3, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x80000001, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x80000076, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x80002b94, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x80636d24, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x807fffff, 0xb5c8e5d3, 0x3000080}, +{0x3000000, 0xb5c8e5d3, 0x80800000, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x80800002, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x81398437, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x8ba98d27, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x8ba98d7a, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb5c8e5d3, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb5c8e5d3, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0xb5c8e5d3, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x9503366, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xbf5a97c9, 0xbf5a97e2, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xaab4d7d8, 0xb5c8e5d6, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x966320b, 0xb5c8e5d3, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xb26bddee, 0xb5cabd8f, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0xb5c8e5d3, 0xb648e5d3, 0x3000000}, +{0x3000000, 0xb5c8e5d3, 0x317285d3, 0xb5c86c90, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x3c9623b1, 0x3c96208d, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0xb5c8e5d3, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x317285d3, 0x0, 0x317285d3, 0x3000000}, +{0x3000000, 0x317285d3, 0x1, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x76, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x2b94, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x636d24, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x7fffff, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x800000, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x800002, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x1398437, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0xba98d27, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0xba98d7a, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x317285d3, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x317285d3, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x317285d3, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x317285d3, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x317285d3, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x317285d3, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x317285d3, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x317285d3, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x317285d3, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x317285d3, 0x80000000, 0x317285d3, 0x3000000}, +{0x3000000, 0x317285d3, 0x80000001, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x80000076, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x80002b94, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x80636d24, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x807fffff, 0x317285d3, 0x3000080}, +{0x3000000, 0x317285d3, 0x80800000, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x80800002, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x81398437, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x8ba98d27, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0x8ba98d7a, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x317285d3, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x317285d3, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x317285d3, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x317285d3, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x317285d3, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x317285d3, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x317285d3, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x317285d3, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x317285d3, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x317285d3, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x317285d3, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x317285d3, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x317285d3, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x317285d3, 0x9503366, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0xbf5a97c9, 0xbf5a97c9, 0x3000010}, +{0x3000000, 0x317285d3, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x317285d3, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x317285d3, 0xaab4d7d8, 0x3172802c, 0x3000010}, +{0x3000000, 0x317285d3, 0x966320b, 0x317285d3, 0x3000010}, +{0x3000000, 0x317285d3, 0xb26bddee, 0xb22f3c79, 0x3000010}, +{0x3000000, 0x317285d3, 0xb5c8e5d3, 0xb5c86c90, 0x3000010}, +{0x3000000, 0x317285d3, 0x317285d3, 0x31f285d3, 0x3000000}, +{0x3000000, 0x317285d3, 0x3c9623b1, 0x3c9623b3, 0x3000010}, +{0x3000000, 0x317285d3, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x317285d3, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x0, 0x3c9623b1, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x1, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x76, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x2b94, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x636d24, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x7fffff, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x800000, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x800002, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x1398437, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xba98d27, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xba98d7a, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x3c9623b1, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x3c9623b1, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x3c9623b1, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x80000000, 0x3c9623b1, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x80000001, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x80000076, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x80002b94, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x80636d24, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x807fffff, 0x3c9623b1, 0x3000080}, +{0x3000000, 0x3c9623b1, 0x80800000, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x80800002, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x81398437, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x8ba98d27, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x8ba98d7a, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x3c9623b1, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x3c9623b1, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x3c9623b1, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x4f3495cb, 0x4f3495cb, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x9503366, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xbf5a97c9, 0xbf55e6ab, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xaab4d7d8, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x966320b, 0x3c9623b1, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xb26bddee, 0x3c9623aa, 0x3000010}, +{0x3000000, 0x3c9623b1, 0xb5c8e5d3, 0x3c96208d, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x317285d3, 0x3c9623b3, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x3c9623b1, 0x3d1623b1, 0x3000000}, +{0x3000000, 0x3c9623b1, 0x51fd2c7c, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x3c9623b1, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x0, 0x51fd2c7c, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x1, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x76, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x2b94, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x636d24, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x7fffff, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x800000, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x800002, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x1398437, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xba98d27, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xba98d7a, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x751f853a, 0x751f853a, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x7f7ffff0, 0x7f7ffff0, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x7f7fffff, 0x7f7fffff, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x51fd2c7c, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x51fd2c7c, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x51fd2c7c, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x80000000, 0x51fd2c7c, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x80000001, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x80000076, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x80002b94, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x80636d24, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x807fffff, 0x51fd2c7c, 0x3000080}, +{0x3000000, 0x51fd2c7c, 0x80800000, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x80800002, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x81398437, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x8ba98d27, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x8ba98d7a, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xf51f853a, 0xf51f853a, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xff7ffff0, 0xff7ffff0, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xff7fffff, 0xff7fffff, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x51fd2c7c, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x51fd2c7c, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x51fd2c7c, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x4f3495cb, 0x52016895, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xe73a5134, 0xe73a5134, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x7c994e9e, 0x7c994e9e, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x6164bd6c, 0x6164bd6c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x9503366, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xbf5a97c9, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xe6ff1a14, 0xe6ff1a14, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x77f31e2f, 0x77f31e2f, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xaab4d7d8, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x966320b, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xb26bddee, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0xb5c8e5d3, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x317285d3, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x3c9623b1, 0x51fd2c7c, 0x3000010}, +{0x3000000, 0x51fd2c7c, 0x51fd2c7c, 0x527d2c7c, 0x3000000}, +{0x3000000, 0x51fd2c7c, 0x7b906a6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x0, 0x7b906a6c, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x1, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x76, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x2b94, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x636d24, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x7fffff, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x800000, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x800002, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x1398437, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xba98d27, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xba98d7a, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x751f853a, 0x7b906f68, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x7f7ffff0, 0x7f800000, 0x3000014}, +{0x3000000, 0x7b906a6c, 0x7f7fffff, 0x7f800000, 0x3000014}, +{0x3000000, 0x7b906a6c, 0x7f800000, 0x7f800000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x7f800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7b906a6c, 0x7f984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7b906a6c, 0x7fbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7b906a6c, 0x7fc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x7fd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x7fffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x80000000, 0x7b906a6c, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x80000001, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x80000076, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x80002b94, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x80636d24, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x807fffff, 0x7b906a6c, 0x3000080}, +{0x3000000, 0x7b906a6c, 0x80800000, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x80800002, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x81398437, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x8ba98d27, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x8ba98d7a, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xf51f853a, 0x7b906570, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xff7ffff0, 0xff7edf1b, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xff7fffff, 0xff7edf2a, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xff800000, 0xff800000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0xff800001, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7b906a6c, 0xff984a37, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7b906a6c, 0xffbfffff, 0x7fc00000, 0x3000001}, +{0x3000000, 0x7b906a6c, 0xffc00000, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0xffd9ba98, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0xffffffff, 0x7fc00000, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x4f3495cb, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xe73a5134, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x7c994e9e, 0x7cbd6939, 0x3000000}, +{0x3000000, 0x7b906a6c, 0x6164bd6c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x9503366, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xbf5a97c9, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xe6ff1a14, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x77f31e2f, 0x7b915d8a, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xaab4d7d8, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x966320b, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xb26bddee, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0xb5c8e5d3, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x317285d3, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x3c9623b1, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x51fd2c7c, 0x7b906a6c, 0x3000010}, +{0x3000000, 0x7b906a6c, 0x7b906a6c, 0x7c106a6c, 0x3000000}, diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index 0961a3251..cffa4c952 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt @@ -15,6 +15,7 @@ set(SRCS shader/shader_interpreter.cpp swrasterizer/clipper.cpp swrasterizer/framebuffer.cpp + swrasterizer/lighting.cpp swrasterizer/proctex.cpp swrasterizer/rasterizer.cpp swrasterizer/swrasterizer.cpp @@ -55,6 +56,7 @@ set(HEADERS shader/shader_interpreter.h swrasterizer/clipper.h swrasterizer/framebuffer.h + swrasterizer/lighting.h swrasterizer/proctex.h swrasterizer/rasterizer.h swrasterizer/swrasterizer.h diff --git a/src/video_core/command_processor.cpp b/src/video_core/command_processor.cpp index 4633a1df1..f98ca3302 100644 --- a/src/video_core/command_processor.cpp +++ b/src/video_core/command_processor.cpp @@ -119,27 +119,6 @@ static void WriteUniformFloatReg(ShaderRegs& config, Shader::ShaderSetup& setup, } } -static void WriteProgramCode(ShaderRegs& config, Shader::ShaderSetup& setup, - unsigned max_program_code_length, u32 value) { - if (config.program.offset >= max_program_code_length) { - LOG_ERROR(HW_GPU, "Invalid %s program offset %d", GetShaderSetupTypeName(setup), - (int)config.program.offset); - } else { - setup.program_code[config.program.offset] = value; - config.program.offset++; - } -} - -static void WriteSwizzlePatterns(ShaderRegs& config, Shader::ShaderSetup& setup, u32 value) { - if (config.swizzle_patterns.offset >= setup.swizzle_data.size()) { - LOG_ERROR(HW_GPU, "Invalid %s swizzle pattern offset %d", GetShaderSetupTypeName(setup), - (int)config.swizzle_patterns.offset); - } else { - setup.swizzle_data[config.swizzle_patterns.offset] = value; - config.swizzle_patterns.offset++; - } -} - static void WritePicaReg(u32 id, u32 value, u32 mask) { auto& regs = g_state.regs; @@ -458,7 +437,13 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(gs.program.set_word[5], 0x2a1): case PICA_REG_INDEX_WORKAROUND(gs.program.set_word[6], 0x2a2): case PICA_REG_INDEX_WORKAROUND(gs.program.set_word[7], 0x2a3): { - WriteProgramCode(g_state.regs.gs, g_state.gs, 4096, value); + u32& offset = g_state.regs.gs.program.offset; + if (offset >= 4096) { + LOG_ERROR(HW_GPU, "Invalid GS program offset %u", offset); + } else { + g_state.gs.program_code[offset] = value; + offset++; + } break; } @@ -470,11 +455,18 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(gs.swizzle_patterns.set_word[5], 0x2ab): case PICA_REG_INDEX_WORKAROUND(gs.swizzle_patterns.set_word[6], 0x2ac): case PICA_REG_INDEX_WORKAROUND(gs.swizzle_patterns.set_word[7], 0x2ad): { - WriteSwizzlePatterns(g_state.regs.gs, g_state.gs, value); + u32& offset = g_state.regs.gs.swizzle_patterns.offset; + if (offset >= g_state.gs.swizzle_data.size()) { + LOG_ERROR(HW_GPU, "Invalid GS swizzle pattern offset %u", offset); + } else { + g_state.gs.swizzle_data[offset] = value; + offset++; + } break; } case PICA_REG_INDEX(vs.bool_uniforms): + // TODO (wwylele): does regs.pipeline.gs_unit_exclusive_configuration affect this? WriteUniformBoolReg(g_state.vs, g_state.regs.vs.bool_uniforms.Value()); break; @@ -482,6 +474,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(vs.int_uniforms[1], 0x2b2): case PICA_REG_INDEX_WORKAROUND(vs.int_uniforms[2], 0x2b3): case PICA_REG_INDEX_WORKAROUND(vs.int_uniforms[3], 0x2b4): { + // TODO (wwylele): does regs.pipeline.gs_unit_exclusive_configuration affect this? unsigned index = (id - PICA_REG_INDEX_WORKAROUND(vs.int_uniforms[0], 0x2b1)); auto values = regs.vs.int_uniforms[index]; WriteUniformIntReg(g_state.vs, index, @@ -497,6 +490,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(vs.uniform_setup.set_value[5], 0x2c6): case PICA_REG_INDEX_WORKAROUND(vs.uniform_setup.set_value[6], 0x2c7): case PICA_REG_INDEX_WORKAROUND(vs.uniform_setup.set_value[7], 0x2c8): { + // TODO (wwylele): does regs.pipeline.gs_unit_exclusive_configuration affect this? WriteUniformFloatReg(g_state.regs.vs, g_state.vs, vs_float_regs_counter, vs_uniform_write_buffer, value); break; @@ -510,7 +504,16 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(vs.program.set_word[5], 0x2d1): case PICA_REG_INDEX_WORKAROUND(vs.program.set_word[6], 0x2d2): case PICA_REG_INDEX_WORKAROUND(vs.program.set_word[7], 0x2d3): { - WriteProgramCode(g_state.regs.vs, g_state.vs, 512, value); + u32& offset = g_state.regs.vs.program.offset; + if (offset >= 512) { + LOG_ERROR(HW_GPU, "Invalid VS program offset %u", offset); + } else { + g_state.vs.program_code[offset] = value; + if (!g_state.regs.pipeline.gs_unit_exclusive_configuration) { + g_state.gs.program_code[offset] = value; + } + offset++; + } break; } @@ -522,7 +525,16 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(vs.swizzle_patterns.set_word[5], 0x2db): case PICA_REG_INDEX_WORKAROUND(vs.swizzle_patterns.set_word[6], 0x2dc): case PICA_REG_INDEX_WORKAROUND(vs.swizzle_patterns.set_word[7], 0x2dd): { - WriteSwizzlePatterns(g_state.regs.vs, g_state.vs, value); + u32& offset = g_state.regs.vs.swizzle_patterns.offset; + if (offset >= g_state.vs.swizzle_data.size()) { + LOG_ERROR(HW_GPU, "Invalid VS swizzle pattern offset %u", offset); + } else { + g_state.vs.swizzle_data[offset] = value; + if (!g_state.regs.pipeline.gs_unit_exclusive_configuration) { + g_state.gs.swizzle_data[offset] = value; + } + offset++; + } break; } diff --git a/src/video_core/pica_state.h b/src/video_core/pica_state.h index 2d23d34e6..864a2c9e6 100644 --- a/src/video_core/pica_state.h +++ b/src/video_core/pica_state.h @@ -79,7 +79,7 @@ struct State { std::array<ColorDifferenceEntry, 256> color_diff_table; } proctex; - struct { + struct Lighting { union LutEntry { // Used for raw access u32 raw; diff --git a/src/video_core/regs_framebuffer.h b/src/video_core/regs_framebuffer.h index a50bd4111..7b565f911 100644 --- a/src/video_core/regs_framebuffer.h +++ b/src/video_core/regs_framebuffer.h @@ -256,10 +256,9 @@ struct FramebufferRegs { return 3; case DepthFormat::D24S8: return 4; - default: - LOG_CRITICAL(HW_GPU, "Unknown depth format %u", format); - UNIMPLEMENTED(); } + + ASSERT_MSG(false, "Unknown depth format %u", format); } // Returns the number of bits per depth component of the specified depth format @@ -270,10 +269,9 @@ struct FramebufferRegs { case DepthFormat::D24: case DepthFormat::D24S8: return 24; - default: - LOG_CRITICAL(HW_GPU, "Unknown depth format %u", format); - UNIMPLEMENTED(); } + + ASSERT_MSG(false, "Unknown depth format %u", format); } INSERT_PADDING_WORDS(0x20); diff --git a/src/video_core/regs_pipeline.h b/src/video_core/regs_pipeline.h index 31c747d77..8b6369297 100644 --- a/src/video_core/regs_pipeline.h +++ b/src/video_core/regs_pipeline.h @@ -202,7 +202,14 @@ struct PipelineRegs { /// Number of input attributes to the vertex shader minus 1 BitField<0, 4, u32> max_input_attrib_index; - INSERT_PADDING_WORDS(2); + INSERT_PADDING_WORDS(1); + + // The shader unit 3, which can be used for both vertex and geometry shader, gets its + // configuration depending on this register. If this is not set, unit 3 will share some + // configuration with other units. It is known that program code and swizzle pattern uploaded + // via regs.vs will be also uploaded to unit 3 if this is not set. Although very likely, it is + // still unclear whether uniforms and other configuration can be also shared. + BitField<0, 1, u32> gs_unit_exclusive_configuration; enum class GPUMode : u32 { Drawing = 0, diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index ff3f69ba3..aa95ef21d 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -28,6 +28,9 @@ MICROPROFILE_DEFINE(OpenGL_Blits, "OpenGL", "Blits", MP_RGB(100, 100, 255)); MICROPROFILE_DEFINE(OpenGL_CacheManagement, "OpenGL", "Cache Mgmt", MP_RGB(100, 255, 100)); RasterizerOpenGL::RasterizerOpenGL() : shader_dirty(true) { + // Clipping plane 0 is always enabled for PICA fixed clip plane z <= 0 + state.clip_distance[0] = true; + // Create sampler objects for (size_t i = 0; i < texture_samplers.size(); ++i) { texture_samplers[i].Create(); @@ -117,48 +120,53 @@ RasterizerOpenGL::RasterizerOpenGL() : shader_dirty(true) { // Setup the noise LUT for proctex proctex_noise_lut.Create(); - state.proctex_noise_lut.texture_1d = proctex_noise_lut.handle; + state.proctex_noise_lut.texture_buffer = proctex_noise_lut.handle; state.Apply(); + proctex_noise_lut_buffer.Create(); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_noise_lut_buffer.handle); + glBufferData(GL_TEXTURE_BUFFER, sizeof(GLfloat) * 2 * 128, nullptr, GL_DYNAMIC_DRAW); glActiveTexture(TextureUnits::ProcTexNoiseLUT.Enum()); - glTexImage1D(GL_TEXTURE_1D, 0, GL_RG32F, 128, 0, GL_RG, GL_FLOAT, nullptr); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexBuffer(GL_TEXTURE_BUFFER, GL_RG32F, proctex_noise_lut_buffer.handle); // Setup the color map for proctex proctex_color_map.Create(); - state.proctex_color_map.texture_1d = proctex_color_map.handle; + state.proctex_color_map.texture_buffer = proctex_color_map.handle; state.Apply(); + proctex_color_map_buffer.Create(); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_color_map_buffer.handle); + glBufferData(GL_TEXTURE_BUFFER, sizeof(GLfloat) * 2 * 128, nullptr, GL_DYNAMIC_DRAW); glActiveTexture(TextureUnits::ProcTexColorMap.Enum()); - glTexImage1D(GL_TEXTURE_1D, 0, GL_RG32F, 128, 0, GL_RG, GL_FLOAT, nullptr); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexBuffer(GL_TEXTURE_BUFFER, GL_RG32F, proctex_color_map_buffer.handle); // Setup the alpha map for proctex proctex_alpha_map.Create(); - state.proctex_alpha_map.texture_1d = proctex_alpha_map.handle; + state.proctex_alpha_map.texture_buffer = proctex_alpha_map.handle; state.Apply(); + proctex_alpha_map_buffer.Create(); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_alpha_map_buffer.handle); + glBufferData(GL_TEXTURE_BUFFER, sizeof(GLfloat) * 2 * 128, nullptr, GL_DYNAMIC_DRAW); glActiveTexture(TextureUnits::ProcTexAlphaMap.Enum()); - glTexImage1D(GL_TEXTURE_1D, 0, GL_RG32F, 128, 0, GL_RG, GL_FLOAT, nullptr); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexBuffer(GL_TEXTURE_BUFFER, GL_RG32F, proctex_alpha_map_buffer.handle); // Setup the LUT for proctex proctex_lut.Create(); - state.proctex_lut.texture_1d = proctex_lut.handle; + state.proctex_lut.texture_buffer = proctex_lut.handle; state.Apply(); + proctex_lut_buffer.Create(); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_lut_buffer.handle); + glBufferData(GL_TEXTURE_BUFFER, sizeof(GLfloat) * 4 * 256, nullptr, GL_DYNAMIC_DRAW); glActiveTexture(TextureUnits::ProcTexLUT.Enum()); - glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA32F, 256, 0, GL_RGBA, GL_FLOAT, nullptr); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexBuffer(GL_TEXTURE_BUFFER, GL_RGBA32F, proctex_lut_buffer.handle); // Setup the difference LUT for proctex proctex_diff_lut.Create(); - state.proctex_diff_lut.texture_1d = proctex_diff_lut.handle; + state.proctex_diff_lut.texture_buffer = proctex_diff_lut.handle; state.Apply(); + proctex_diff_lut_buffer.Create(); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_diff_lut_buffer.handle); + glBufferData(GL_TEXTURE_BUFFER, sizeof(GLfloat) * 4 * 256, nullptr, GL_DYNAMIC_DRAW); glActiveTexture(TextureUnits::ProcTexDiffLUT.Enum()); - glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA32F, 256, 0, GL_RGBA, GL_FLOAT, nullptr); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexBuffer(GL_TEXTURE_BUFFER, GL_RGBA32F, proctex_diff_lut_buffer.handle); // Sync fixed function OpenGL state SyncCullMode(); @@ -1387,7 +1395,7 @@ void RasterizerOpenGL::SyncProcTexNoise() { // helper function for SyncProcTexNoiseLUT/ColorMap/AlphaMap static void SyncProcTexValueLUT(const std::array<Pica::State::ProcTex::ValueEntry, 128>& lut, - std::array<GLvec2, 128>& lut_data, GLenum texture) { + std::array<GLvec2, 128>& lut_data, GLuint buffer) { std::array<GLvec2, 128> new_data; std::transform(lut.begin(), lut.end(), new_data.begin(), [](const auto& entry) { return GLvec2{entry.ToFloat(), entry.DiffToFloat()}; @@ -1395,24 +1403,24 @@ static void SyncProcTexValueLUT(const std::array<Pica::State::ProcTex::ValueEntr if (new_data != lut_data) { lut_data = new_data; - glActiveTexture(texture); - glTexSubImage1D(GL_TEXTURE_1D, 0, 0, 128, GL_RG, GL_FLOAT, lut_data.data()); + glBindBuffer(GL_TEXTURE_BUFFER, buffer); + glBufferSubData(GL_TEXTURE_BUFFER, 0, new_data.size() * sizeof(GLvec2), new_data.data()); } } void RasterizerOpenGL::SyncProcTexNoiseLUT() { SyncProcTexValueLUT(Pica::g_state.proctex.noise_table, proctex_noise_lut_data, - TextureUnits::ProcTexNoiseLUT.Enum()); + proctex_noise_lut_buffer.handle); } void RasterizerOpenGL::SyncProcTexColorMap() { SyncProcTexValueLUT(Pica::g_state.proctex.color_map_table, proctex_color_map_data, - TextureUnits::ProcTexColorMap.Enum()); + proctex_color_map_buffer.handle); } void RasterizerOpenGL::SyncProcTexAlphaMap() { SyncProcTexValueLUT(Pica::g_state.proctex.alpha_map_table, proctex_alpha_map_data, - TextureUnits::ProcTexAlphaMap.Enum()); + proctex_alpha_map_buffer.handle); } void RasterizerOpenGL::SyncProcTexLUT() { @@ -1427,8 +1435,8 @@ void RasterizerOpenGL::SyncProcTexLUT() { if (new_data != proctex_lut_data) { proctex_lut_data = new_data; - glActiveTexture(TextureUnits::ProcTexLUT.Enum()); - glTexSubImage1D(GL_TEXTURE_1D, 0, 0, 256, GL_RGBA, GL_FLOAT, proctex_lut_data.data()); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_lut_buffer.handle); + glBufferSubData(GL_TEXTURE_BUFFER, 0, new_data.size() * sizeof(GLvec4), new_data.data()); } } @@ -1444,8 +1452,8 @@ void RasterizerOpenGL::SyncProcTexDiffLUT() { if (new_data != proctex_diff_lut_data) { proctex_diff_lut_data = new_data; - glActiveTexture(TextureUnits::ProcTexDiffLUT.Enum()); - glTexSubImage1D(GL_TEXTURE_1D, 0, 0, 256, GL_RGBA, GL_FLOAT, proctex_diff_lut_data.data()); + glBindBuffer(GL_TEXTURE_BUFFER, proctex_diff_lut_buffer.handle); + glBufferSubData(GL_TEXTURE_BUFFER, 0, new_data.size() * sizeof(GLvec4), new_data.data()); } } diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index a433c1d4a..78e218efe 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h @@ -287,18 +287,23 @@ private: OGLTexture fog_lut; std::array<GLvec2, 128> fog_lut_data{}; + OGLBuffer proctex_noise_lut_buffer; OGLTexture proctex_noise_lut; std::array<GLvec2, 128> proctex_noise_lut_data{}; + OGLBuffer proctex_color_map_buffer; OGLTexture proctex_color_map; std::array<GLvec2, 128> proctex_color_map_data{}; + OGLBuffer proctex_alpha_map_buffer; OGLTexture proctex_alpha_map; std::array<GLvec2, 128> proctex_alpha_map_data{}; + OGLBuffer proctex_lut_buffer; OGLTexture proctex_lut; std::array<GLvec4, 256> proctex_lut_data{}; + OGLBuffer proctex_diff_lut_buffer; OGLTexture proctex_diff_lut; std::array<GLvec4, 256> proctex_diff_lut_data{}; }; diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp index 8b717e43d..f37894e7a 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp @@ -542,10 +542,11 @@ RasterizerCacheOpenGL::GetFramebufferSurfaces( config.GetDepthBufferPhysicalAddress(), fb_area * Pica::FramebufferRegs::BytesPerDepthPixel(config.depth_format)); bool using_color_fb = config.GetColorBufferPhysicalAddress() != 0; - bool using_depth_fb = - config.GetDepthBufferPhysicalAddress() != 0 && - (regs.framebuffer.output_merger.depth_test_enable || - regs.framebuffer.output_merger.depth_write_enable || !framebuffers_overlap); + bool depth_write_enable = regs.framebuffer.output_merger.depth_write_enable && + regs.framebuffer.framebuffer.allow_depth_stencil_write; + bool using_depth_fb = config.GetDepthBufferPhysicalAddress() != 0 && + (regs.framebuffer.output_merger.depth_test_enable || depth_write_enable || + !framebuffers_overlap); if (framebuffers_overlap && using_color_fb && using_depth_fb) { LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; " diff --git a/src/video_core/renderer_opengl/gl_shader_gen.cpp b/src/video_core/renderer_opengl/gl_shader_gen.cpp index c93b108fb..c8fc7a0ff 100644 --- a/src/video_core/renderer_opengl/gl_shader_gen.cpp +++ b/src/video_core/renderer_opengl/gl_shader_gen.cpp @@ -8,6 +8,7 @@ #include "common/assert.h" #include "common/bit_field.h" #include "common/logging/log.h" +#include "core/core.h" #include "video_core/regs_framebuffer.h" #include "video_core/regs_lighting.h" #include "video_core/regs_rasterizer.h" @@ -525,11 +526,12 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) { "float geo_factor = 1.0;\n"; // Compute fragment normals and tangents - const std::string pertubation = - "2.0 * (" + SampleTexture(config, lighting.bump_selector) + ").rgb - 1.0"; + auto Perturbation = [&]() { + return "2.0 * (" + SampleTexture(config, lighting.bump_selector) + ").rgb - 1.0"; + }; if (lighting.bump_mode == LightingRegs::LightingBumpMode::NormalMap) { // Bump mapping is enabled using a normal map - out += "vec3 surface_normal = " + pertubation + ";\n"; + out += "vec3 surface_normal = " + Perturbation() + ";\n"; // Recompute Z-component of perturbation if 'renorm' is enabled, this provides a higher // precision result @@ -543,7 +545,7 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) { out += "vec3 surface_tangent = vec3(1.0, 0.0, 0.0);\n"; } else if (lighting.bump_mode == LightingRegs::LightingBumpMode::TangentMap) { // Bump mapping is enabled using a tangent map - out += "vec3 surface_tangent = " + pertubation + ";\n"; + out += "vec3 surface_tangent = " + Perturbation() + ";\n"; // Mathematically, recomputing Z-component of the tangent vector won't affect the relevant // computation below, which is also confirmed on 3DS. So we don't bother recomputing here // even if 'renorm' is enabled. @@ -593,8 +595,8 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) { // Note: even if the normal vector is modified by normal map, which is not the // normal of the tangent plane anymore, the half angle vector is still projected // using the modified normal vector. - std::string half_angle_proj = "normalize(half_vector) - normal / dot(normal, " - "normal) * dot(normal, normalize(half_vector))"; + std::string half_angle_proj = + "normalize(half_vector) - normal * dot(normal, normalize(half_vector))"; // Note: the half angle vector projection is confirmed not normalized before the dot // product. The result is in fact not cos(phi) as the name suggested. index = "dot(" + half_angle_proj + ", tangent)"; @@ -886,12 +888,12 @@ void AppendProcTexSampler(std::string& out, const PicaShaderConfig& config) { // coord=1.0 is lut[127]+lut_diff[127]. For other indices, the result is interpolated using // value entries and difference entries. out += R"( -float ProcTexLookupLUT(sampler1D lut, float coord) { +float ProcTexLookupLUT(samplerBuffer lut, float coord) { coord *= 128; float index_i = clamp(floor(coord), 0.0, 127.0); float index_f = coord - index_i; // fract() cannot be used here because 128.0 needs to be // extracted as index_i = 127.0 and index_f = 1.0 - vec2 entry = texelFetch(lut, int(index_i), 0).rg; + vec2 entry = texelFetch(lut, int(index_i)).rg; return clamp(entry.r + entry.g * index_f, 0.0, 1.0); } )"; @@ -979,14 +981,14 @@ float ProcTexNoiseCoef(vec2 x) { out += "int lut_index_i = int(lut_coord) + " + std::to_string(config.state.proctex.lut_offset) + ";\n"; out += "float lut_index_f = fract(lut_coord);\n"; - out += "vec4 final_color = texelFetch(proctex_lut, lut_index_i, 0) + lut_index_f * " - "texelFetch(proctex_diff_lut, lut_index_i, 0);\n"; + out += "vec4 final_color = texelFetch(proctex_lut, lut_index_i) + lut_index_f * " + "texelFetch(proctex_diff_lut, lut_index_i);\n"; break; case ProcTexFilter::Nearest: case ProcTexFilter::NearestMipmapLinear: case ProcTexFilter::NearestMipmapNearest: out += "lut_coord += " + std::to_string(config.state.proctex.lut_offset) + ";\n"; - out += "vec4 final_color = texelFetch(proctex_lut, int(round(lut_coord)), 0);\n"; + out += "vec4 final_color = texelFetch(proctex_lut, int(round(lut_coord)));\n"; break; } @@ -1053,11 +1055,11 @@ layout (std140) uniform shader_data { uniform sampler2D tex[3]; uniform samplerBuffer lighting_lut; uniform samplerBuffer fog_lut; -uniform sampler1D proctex_noise_lut; -uniform sampler1D proctex_color_map; -uniform sampler1D proctex_alpha_map; -uniform sampler1D proctex_lut; -uniform sampler1D proctex_diff_lut; +uniform samplerBuffer proctex_noise_lut; +uniform samplerBuffer proctex_color_map; +uniform samplerBuffer proctex_alpha_map; +uniform samplerBuffer proctex_lut; +uniform samplerBuffer proctex_diff_lut; // Rotate the vector v by the quaternion q vec3 quaternion_rotate(vec4 q, vec3 v) { @@ -1111,7 +1113,10 @@ vec4 secondary_fragment_color = vec4(0.0); "gl_FragCoord.y < scissor_y2)) discard;\n"; } - out += "float z_over_w = 1.0 - gl_FragCoord.z * 2.0;\n"; + // After perspective divide, OpenGL transform z_over_w from [-1, 1] to [near, far]. Here we use + // default near = 0 and far = 1, and undo the transformation to get the original z_over_w, then + // do our own transformation according to PICA specification. + out += "float z_over_w = 2.0 * gl_FragCoord.z - 1.0;\n"; out += "float depth = z_over_w * depth_scale + depth_offset;\n"; if (state.depthmap_enable == RasterizerRegs::DepthBuffering::WBuffering) { out += "depth /= gl_FragCoord.w;\n"; @@ -1151,6 +1156,11 @@ vec4 secondary_fragment_color = vec4(0.0); // Blend the fog out += "last_tex_env_out.rgb = mix(fog_color.rgb, last_tex_env_out.rgb, fog_factor);\n"; + } else if (state.fog_mode == TexturingRegs::FogMode::Gas) { + Core::Telemetry().AddField(Telemetry::FieldType::Session, "VideoCore_Pica_UseGasMode", + true); + LOG_CRITICAL(Render_OpenGL, "Unimplemented gas mode"); + UNIMPLEMENTED(); } out += "gl_FragDepth = depth;\n"; @@ -1194,7 +1204,9 @@ void main() { texcoord0_w = vert_texcoord0_w; normquat = vert_normquat; view = vert_view; - gl_Position = vec4(vert_position.x, vert_position.y, -vert_position.z, vert_position.w); + gl_Position = vert_position; + gl_ClipDistance[0] = -vert_position.z; // fixed PICA clipping plane z <= 0 + // TODO (wwylele): calculate gl_ClipDistance[1] from user-defined clipping plane } )"; diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp index eface2dea..06a905766 100644 --- a/src/video_core/renderer_opengl/gl_state.cpp +++ b/src/video_core/renderer_opengl/gl_state.cpp @@ -56,11 +56,11 @@ OpenGLState::OpenGLState() { fog_lut.texture_buffer = 0; - proctex_lut.texture_1d = 0; - proctex_diff_lut.texture_1d = 0; - proctex_color_map.texture_1d = 0; - proctex_alpha_map.texture_1d = 0; - proctex_noise_lut.texture_1d = 0; + proctex_lut.texture_buffer = 0; + proctex_diff_lut.texture_buffer = 0; + proctex_color_map.texture_buffer = 0; + proctex_alpha_map.texture_buffer = 0; + proctex_noise_lut.texture_buffer = 0; draw.read_framebuffer = 0; draw.draw_framebuffer = 0; @@ -68,6 +68,8 @@ OpenGLState::OpenGLState() { draw.vertex_buffer = 0; draw.uniform_buffer = 0; draw.shader_program = 0; + + clip_distance = {}; } void OpenGLState::Apply() const { @@ -204,33 +206,33 @@ void OpenGLState::Apply() const { } // ProcTex Noise LUT - if (proctex_noise_lut.texture_1d != cur_state.proctex_noise_lut.texture_1d) { + if (proctex_noise_lut.texture_buffer != cur_state.proctex_noise_lut.texture_buffer) { glActiveTexture(TextureUnits::ProcTexNoiseLUT.Enum()); - glBindTexture(GL_TEXTURE_1D, proctex_noise_lut.texture_1d); + glBindTexture(GL_TEXTURE_BUFFER, proctex_noise_lut.texture_buffer); } // ProcTex Color Map - if (proctex_color_map.texture_1d != cur_state.proctex_color_map.texture_1d) { + if (proctex_color_map.texture_buffer != cur_state.proctex_color_map.texture_buffer) { glActiveTexture(TextureUnits::ProcTexColorMap.Enum()); - glBindTexture(GL_TEXTURE_1D, proctex_color_map.texture_1d); + glBindTexture(GL_TEXTURE_BUFFER, proctex_color_map.texture_buffer); } // ProcTex Alpha Map - if (proctex_alpha_map.texture_1d != cur_state.proctex_alpha_map.texture_1d) { + if (proctex_alpha_map.texture_buffer != cur_state.proctex_alpha_map.texture_buffer) { glActiveTexture(TextureUnits::ProcTexAlphaMap.Enum()); - glBindTexture(GL_TEXTURE_1D, proctex_alpha_map.texture_1d); + glBindTexture(GL_TEXTURE_BUFFER, proctex_alpha_map.texture_buffer); } // ProcTex LUT - if (proctex_lut.texture_1d != cur_state.proctex_lut.texture_1d) { + if (proctex_lut.texture_buffer != cur_state.proctex_lut.texture_buffer) { glActiveTexture(TextureUnits::ProcTexLUT.Enum()); - glBindTexture(GL_TEXTURE_1D, proctex_lut.texture_1d); + glBindTexture(GL_TEXTURE_BUFFER, proctex_lut.texture_buffer); } // ProcTex Diff LUT - if (proctex_diff_lut.texture_1d != cur_state.proctex_diff_lut.texture_1d) { + if (proctex_diff_lut.texture_buffer != cur_state.proctex_diff_lut.texture_buffer) { glActiveTexture(TextureUnits::ProcTexDiffLUT.Enum()); - glBindTexture(GL_TEXTURE_1D, proctex_diff_lut.texture_1d); + glBindTexture(GL_TEXTURE_BUFFER, proctex_diff_lut.texture_buffer); } // Framebuffer @@ -261,6 +263,17 @@ void OpenGLState::Apply() const { glUseProgram(draw.shader_program); } + // Clip distance + for (size_t i = 0; i < clip_distance.size(); ++i) { + if (clip_distance[i] != cur_state.clip_distance[i]) { + if (clip_distance[i]) { + glEnable(GL_CLIP_DISTANCE0 + i); + } else { + glDisable(GL_CLIP_DISTANCE0 + i); + } + } + } + cur_state = *this; } @@ -274,16 +287,16 @@ void OpenGLState::ResetTexture(GLuint handle) { cur_state.lighting_lut.texture_buffer = 0; if (cur_state.fog_lut.texture_buffer == handle) cur_state.fog_lut.texture_buffer = 0; - if (cur_state.proctex_noise_lut.texture_1d == handle) - cur_state.proctex_noise_lut.texture_1d = 0; - if (cur_state.proctex_color_map.texture_1d == handle) - cur_state.proctex_color_map.texture_1d = 0; - if (cur_state.proctex_alpha_map.texture_1d == handle) - cur_state.proctex_alpha_map.texture_1d = 0; - if (cur_state.proctex_lut.texture_1d == handle) - cur_state.proctex_lut.texture_1d = 0; - if (cur_state.proctex_diff_lut.texture_1d == handle) - cur_state.proctex_diff_lut.texture_1d = 0; + if (cur_state.proctex_noise_lut.texture_buffer == handle) + cur_state.proctex_noise_lut.texture_buffer = 0; + if (cur_state.proctex_color_map.texture_buffer == handle) + cur_state.proctex_color_map.texture_buffer = 0; + if (cur_state.proctex_alpha_map.texture_buffer == handle) + cur_state.proctex_alpha_map.texture_buffer = 0; + if (cur_state.proctex_lut.texture_buffer == handle) + cur_state.proctex_lut.texture_buffer = 0; + if (cur_state.proctex_diff_lut.texture_buffer == handle) + cur_state.proctex_diff_lut.texture_buffer = 0; } void OpenGLState::ResetSampler(GLuint handle) { diff --git a/src/video_core/renderer_opengl/gl_state.h b/src/video_core/renderer_opengl/gl_state.h index 1efcf0811..437fe34c4 100644 --- a/src/video_core/renderer_opengl/gl_state.h +++ b/src/video_core/renderer_opengl/gl_state.h @@ -4,6 +4,7 @@ #pragma once +#include <array> #include <glad/glad.h> namespace TextureUnits { @@ -95,23 +96,23 @@ public: } fog_lut; struct { - GLuint texture_1d; // GL_TEXTURE_BINDING_1D + GLuint texture_buffer; // GL_TEXTURE_BINDING_BUFFER } proctex_noise_lut; struct { - GLuint texture_1d; // GL_TEXTURE_BINDING_1D + GLuint texture_buffer; // GL_TEXTURE_BINDING_BUFFER } proctex_color_map; struct { - GLuint texture_1d; // GL_TEXTURE_BINDING_1D + GLuint texture_buffer; // GL_TEXTURE_BINDING_BUFFER } proctex_alpha_map; struct { - GLuint texture_1d; // GL_TEXTURE_BINDING_1D + GLuint texture_buffer; // GL_TEXTURE_BINDING_BUFFER } proctex_lut; struct { - GLuint texture_1d; // GL_TEXTURE_BINDING_1D + GLuint texture_buffer; // GL_TEXTURE_BINDING_BUFFER } proctex_diff_lut; struct { @@ -123,6 +124,8 @@ public: GLuint shader_program; // GL_CURRENT_PROGRAM } draw; + std::array<bool, 2> clip_distance; // GL_CLIP_DISTANCE + OpenGLState(); /// Get the currently active OpenGL state diff --git a/src/video_core/renderer_opengl/pica_to_gl.h b/src/video_core/renderer_opengl/pica_to_gl.h index 70298e211..c7fa1f873 100644 --- a/src/video_core/renderer_opengl/pica_to_gl.h +++ b/src/video_core/renderer_opengl/pica_to_gl.h @@ -12,6 +12,7 @@ #include "common/common_funcs.h" #include "common/common_types.h" #include "common/logging/log.h" +#include "core/core.h" #include "video_core/regs_framebuffer.h" #include "video_core/regs_lighting.h" #include "video_core/regs_texturing.h" @@ -72,9 +73,9 @@ inline GLenum WrapMode(Pica::TexturingRegs::TextureConfig::WrapMode mode) { } if (static_cast<u32>(mode) > 3) { - // It is still unclear whether mode 4-7 are valid, so log it if a game uses them. - // TODO(wwylele): telemetry should be added here so we can collect more info about which - // game uses this. + Core::Telemetry().AddField(Telemetry::FieldType::Session, + "VideoCore_Pica_UnsupportedTextureWrapMode", + static_cast<u32>(mode)); LOG_WARNING(Render_OpenGL, "Using texture wrap mode %u", static_cast<u32>(mode)); } diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index d90c776f9..65c18aecc 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp @@ -481,9 +481,18 @@ bool RendererOpenGL::Init() { glDebugMessageCallback(DebugHandler, nullptr); } - LOG_INFO(Render_OpenGL, "GL_VERSION: %s", glGetString(GL_VERSION)); - LOG_INFO(Render_OpenGL, "GL_VENDOR: %s", glGetString(GL_VENDOR)); - LOG_INFO(Render_OpenGL, "GL_RENDERER: %s", glGetString(GL_RENDERER)); + const char* gl_version{reinterpret_cast<char const*>(glGetString(GL_VERSION))}; + const char* gpu_vendor{reinterpret_cast<char const*>(glGetString(GL_VENDOR))}; + const char* gpu_model{reinterpret_cast<char const*>(glGetString(GL_RENDERER))}; + + LOG_INFO(Render_OpenGL, "GL_VERSION: %s", gl_version); + LOG_INFO(Render_OpenGL, "GL_VENDOR: %s", gpu_vendor); + LOG_INFO(Render_OpenGL, "GL_RENDERER: %s", gpu_model); + + Core::Telemetry().AddField(Telemetry::FieldType::UserSystem, "GPU_Vendor", gpu_vendor); + Core::Telemetry().AddField(Telemetry::FieldType::UserSystem, "GPU_Model", gpu_model); + Core::Telemetry().AddField(Telemetry::FieldType::UserSystem, "GPU_OpenGL_Version", gl_version); + if (!GLAD_GL_VERSION_3_3) { return false; } diff --git a/src/video_core/shader/shader_interpreter.cpp b/src/video_core/shader/shader_interpreter.cpp index aa1cec81f..206c0978a 100644 --- a/src/video_core/shader/shader_interpreter.cpp +++ b/src/video_core/shader/shader_interpreter.cpp @@ -631,7 +631,7 @@ static void RunInterpreter(const ShaderSetup& setup, UnitState& state, DebugData state.address_registers[2] = loop_param.y; Record<DebugDataRecord::LOOP_INT_IN>(debug_data, iteration, loop_param); - call(program_counter + 1, instr.flow_control.dest_offset - program_counter + 1, + call(program_counter + 1, instr.flow_control.dest_offset - program_counter, instr.flow_control.dest_offset + 1, loop_param.x, loop_param.z); break; } diff --git a/src/video_core/swrasterizer/clipper.cpp b/src/video_core/swrasterizer/clipper.cpp index 6fb923756..cdbc71502 100644 --- a/src/video_core/swrasterizer/clipper.cpp +++ b/src/video_core/swrasterizer/clipper.cpp @@ -95,6 +95,17 @@ void ProcessTriangle(const OutputVertex& v0, const OutputVertex& v1, const Outpu static const size_t MAX_VERTICES = 9; static_vector<Vertex, MAX_VERTICES> buffer_a = {v0, v1, v2}; static_vector<Vertex, MAX_VERTICES> buffer_b; + + auto FlipQuaternionIfOpposite = [](auto& a, const auto& b) { + if (Math::Dot(a, b) < float24::Zero()) + a = -a; + }; + + // Flip the quaternions if they are opposite to prevent interpolating them over the wrong + // direction. + FlipQuaternionIfOpposite(buffer_a[1].quat, buffer_a[0].quat); + FlipQuaternionIfOpposite(buffer_a[2].quat, buffer_a[0].quat); + auto* output_list = &buffer_a; auto* input_list = &buffer_b; @@ -114,10 +125,6 @@ void ProcessTriangle(const OutputVertex& v0, const OutputVertex& v1, const Outpu {Math::MakeVec(f0, f0, f0, -f1), Math::Vec4<float24>(f0, f0, f0, EPSILON)}, // w = EPSILON }}; - // TODO: If one vertex lies outside one of the depth clipping planes, some platforms (e.g. Wii) - // drop the whole primitive instead of clipping the primitive properly. We should test if - // this happens on the 3DS, too. - // Simple implementation of the Sutherland-Hodgman clipping algorithm. // TODO: Make this less inefficient (currently lots of useless buffering overhead happens here) for (auto edge : clipping_edges) { diff --git a/src/video_core/swrasterizer/framebuffer.cpp b/src/video_core/swrasterizer/framebuffer.cpp index 7de3aac75..f34eab6cf 100644 --- a/src/video_core/swrasterizer/framebuffer.cpp +++ b/src/video_core/swrasterizer/framebuffer.cpp @@ -352,6 +352,8 @@ u8 LogicOp(u8 src, u8 dest, FramebufferRegs::LogicOp op) { case FramebufferRegs::LogicOp::OrInverted: return ~src | dest; } + + UNREACHABLE(); }; } // namespace Rasterizer diff --git a/src/video_core/swrasterizer/lighting.cpp b/src/video_core/swrasterizer/lighting.cpp new file mode 100644 index 000000000..b38964530 --- /dev/null +++ b/src/video_core/swrasterizer/lighting.cpp @@ -0,0 +1,307 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/math_util.h" +#include "video_core/swrasterizer/lighting.h" + +namespace Pica { + +static float LookupLightingLut(const Pica::State::Lighting& lighting, size_t lut_index, u8 index, + float delta) { + ASSERT_MSG(lut_index < lighting.luts.size(), "Out of range lut"); + ASSERT_MSG(index < lighting.luts[lut_index].size(), "Out of range index"); + + const auto& lut = lighting.luts[lut_index][index]; + + float lut_value = lut.ToFloat(); + float lut_diff = lut.DiffToFloat(); + + return lut_value + lut_diff * delta; +} + +std::tuple<Math::Vec4<u8>, Math::Vec4<u8>> ComputeFragmentsColors( + const Pica::LightingRegs& lighting, const Pica::State::Lighting& lighting_state, + const Math::Quaternion<float>& normquat, const Math::Vec3<float>& view, + const Math::Vec4<u8> (&texture_color)[4]) { + + Math::Vec3<float> surface_normal; + Math::Vec3<float> surface_tangent; + + if (lighting.config0.bump_mode != LightingRegs::LightingBumpMode::None) { + Math::Vec3<float> perturbation = + texture_color[lighting.config0.bump_selector].xyz().Cast<float>() / 127.5f - + Math::MakeVec(1.0f, 1.0f, 1.0f); + if (lighting.config0.bump_mode == LightingRegs::LightingBumpMode::NormalMap) { + if (!lighting.config0.disable_bump_renorm) { + const float z_square = 1 - perturbation.xy().Length2(); + perturbation.z = std::sqrt(std::max(z_square, 0.0f)); + } + surface_normal = perturbation; + surface_tangent = Math::MakeVec(1.0f, 0.0f, 0.0f); + } else if (lighting.config0.bump_mode == LightingRegs::LightingBumpMode::TangentMap) { + surface_normal = Math::MakeVec(0.0f, 0.0f, 1.0f); + surface_tangent = perturbation; + } else { + LOG_ERROR(HW_GPU, "Unknown bump mode %u", lighting.config0.bump_mode.Value()); + } + } else { + surface_normal = Math::MakeVec(0.0f, 0.0f, 1.0f); + surface_tangent = Math::MakeVec(1.0f, 0.0f, 0.0f); + } + + // Use the normalized the quaternion when performing the rotation + auto normal = Math::QuaternionRotate(normquat, surface_normal); + auto tangent = Math::QuaternionRotate(normquat, surface_tangent); + + Math::Vec4<float> diffuse_sum = {0.0f, 0.0f, 0.0f, 1.0f}; + Math::Vec4<float> specular_sum = {0.0f, 0.0f, 0.0f, 1.0f}; + + for (unsigned light_index = 0; light_index <= lighting.max_light_index; ++light_index) { + unsigned num = lighting.light_enable.GetNum(light_index); + const auto& light_config = lighting.light[num]; + + Math::Vec3<float> refl_value = {}; + Math::Vec3<float> position = {float16::FromRaw(light_config.x).ToFloat32(), + float16::FromRaw(light_config.y).ToFloat32(), + float16::FromRaw(light_config.z).ToFloat32()}; + Math::Vec3<float> light_vector; + + if (light_config.config.directional) + light_vector = position; + else + light_vector = position + view; + + light_vector.Normalize(); + + Math::Vec3<float> norm_view = view.Normalized(); + Math::Vec3<float> half_vector = norm_view + light_vector; + + float dist_atten = 1.0f; + if (!lighting.IsDistAttenDisabled(num)) { + auto distance = (-view - position).Length(); + float scale = Pica::float20::FromRaw(light_config.dist_atten_scale).ToFloat32(); + float bias = Pica::float20::FromRaw(light_config.dist_atten_bias).ToFloat32(); + size_t lut = + static_cast<size_t>(LightingRegs::LightingSampler::DistanceAttenuation) + num; + + float sample_loc = MathUtil::Clamp(scale * distance + bias, 0.0f, 1.0f); + + u8 lutindex = + static_cast<u8>(MathUtil::Clamp(std::floor(sample_loc * 256.0f), 0.0f, 255.0f)); + float delta = sample_loc * 256 - lutindex; + dist_atten = LookupLightingLut(lighting_state, lut, lutindex, delta); + } + + auto GetLutValue = [&](LightingRegs::LightingLutInput input, bool abs, + LightingRegs::LightingScale scale_enum, + LightingRegs::LightingSampler sampler) { + float result = 0.0f; + + switch (input) { + case LightingRegs::LightingLutInput::NH: + result = Math::Dot(normal, half_vector.Normalized()); + break; + + case LightingRegs::LightingLutInput::VH: + result = Math::Dot(norm_view, half_vector.Normalized()); + break; + + case LightingRegs::LightingLutInput::NV: + result = Math::Dot(normal, norm_view); + break; + + case LightingRegs::LightingLutInput::LN: + result = Math::Dot(light_vector, normal); + break; + + case LightingRegs::LightingLutInput::SP: { + Math::Vec3<s32> spot_dir{light_config.spot_x.Value(), light_config.spot_y.Value(), + light_config.spot_z.Value()}; + result = Math::Dot(light_vector, spot_dir.Cast<float>() / 2047.0f); + break; + } + case LightingRegs::LightingLutInput::CP: + if (lighting.config0.config == LightingRegs::LightingConfig::Config7) { + const Math::Vec3<float> norm_half_vector = half_vector.Normalized(); + const Math::Vec3<float> half_vector_proj = + norm_half_vector - normal * Math::Dot(normal, norm_half_vector); + result = Math::Dot(half_vector_proj, tangent); + } else { + result = 0.0f; + } + break; + default: + LOG_CRITICAL(HW_GPU, "Unknown lighting LUT input %u\n", static_cast<u32>(input)); + UNIMPLEMENTED(); + result = 0.0f; + } + + u8 index; + float delta; + + if (abs) { + if (light_config.config.two_sided_diffuse) + result = std::abs(result); + else + result = std::max(result, 0.0f); + + float flr = std::floor(result * 256.0f); + index = static_cast<u8>(MathUtil::Clamp(flr, 0.0f, 255.0f)); + delta = result * 256 - index; + } else { + float flr = std::floor(result * 128.0f); + s8 signed_index = static_cast<s8>(MathUtil::Clamp(flr, -128.0f, 127.0f)); + delta = result * 128.0f - signed_index; + index = static_cast<u8>(signed_index); + } + + float scale = lighting.lut_scale.GetScale(scale_enum); + return scale * + LookupLightingLut(lighting_state, static_cast<size_t>(sampler), index, delta); + }; + + // If enabled, compute spot light attenuation value + float spot_atten = 1.0f; + if (!lighting.IsSpotAttenDisabled(num) && + LightingRegs::IsLightingSamplerSupported( + lighting.config0.config, LightingRegs::LightingSampler::SpotlightAttenuation)) { + auto lut = LightingRegs::SpotlightAttenuationSampler(num); + spot_atten = GetLutValue(lighting.lut_input.sp, lighting.abs_lut_input.disable_sp == 0, + lighting.lut_scale.sp, lut); + } + + // Specular 0 component + float d0_lut_value = 1.0f; + if (lighting.config1.disable_lut_d0 == 0 && + LightingRegs::IsLightingSamplerSupported( + lighting.config0.config, LightingRegs::LightingSampler::Distribution0)) { + d0_lut_value = + GetLutValue(lighting.lut_input.d0, lighting.abs_lut_input.disable_d0 == 0, + lighting.lut_scale.d0, LightingRegs::LightingSampler::Distribution0); + } + + Math::Vec3<float> specular_0 = d0_lut_value * light_config.specular_0.ToVec3f(); + + // If enabled, lookup ReflectRed value, otherwise, 1.0 is used + if (lighting.config1.disable_lut_rr == 0 && + LightingRegs::IsLightingSamplerSupported(lighting.config0.config, + LightingRegs::LightingSampler::ReflectRed)) { + refl_value.x = + GetLutValue(lighting.lut_input.rr, lighting.abs_lut_input.disable_rr == 0, + lighting.lut_scale.rr, LightingRegs::LightingSampler::ReflectRed); + } else { + refl_value.x = 1.0f; + } + + // If enabled, lookup ReflectGreen value, otherwise, ReflectRed value is used + if (lighting.config1.disable_lut_rg == 0 && + LightingRegs::IsLightingSamplerSupported(lighting.config0.config, + LightingRegs::LightingSampler::ReflectGreen)) { + refl_value.y = + GetLutValue(lighting.lut_input.rg, lighting.abs_lut_input.disable_rg == 0, + lighting.lut_scale.rg, LightingRegs::LightingSampler::ReflectGreen); + } else { + refl_value.y = refl_value.x; + } + + // If enabled, lookup ReflectBlue value, otherwise, ReflectRed value is used + if (lighting.config1.disable_lut_rb == 0 && + LightingRegs::IsLightingSamplerSupported(lighting.config0.config, + LightingRegs::LightingSampler::ReflectBlue)) { + refl_value.z = + GetLutValue(lighting.lut_input.rb, lighting.abs_lut_input.disable_rb == 0, + lighting.lut_scale.rb, LightingRegs::LightingSampler::ReflectBlue); + } else { + refl_value.z = refl_value.x; + } + + // Specular 1 component + float d1_lut_value = 1.0f; + if (lighting.config1.disable_lut_d1 == 0 && + LightingRegs::IsLightingSamplerSupported( + lighting.config0.config, LightingRegs::LightingSampler::Distribution1)) { + d1_lut_value = + GetLutValue(lighting.lut_input.d1, lighting.abs_lut_input.disable_d1 == 0, + lighting.lut_scale.d1, LightingRegs::LightingSampler::Distribution1); + } + + Math::Vec3<float> specular_1 = + d1_lut_value * refl_value * light_config.specular_1.ToVec3f(); + + // Fresnel + if (lighting.config1.disable_lut_fr == 0 && + LightingRegs::IsLightingSamplerSupported(lighting.config0.config, + LightingRegs::LightingSampler::Fresnel)) { + + float lut_value = + GetLutValue(lighting.lut_input.fr, lighting.abs_lut_input.disable_fr == 0, + lighting.lut_scale.fr, LightingRegs::LightingSampler::Fresnel); + + // Enabled for diffuse lighting alpha component + if (lighting.config0.fresnel_selector == + LightingRegs::LightingFresnelSelector::PrimaryAlpha || + lighting.config0.fresnel_selector == LightingRegs::LightingFresnelSelector::Both) { + diffuse_sum.a() *= lut_value; + } + + // Enabled for the specular lighting alpha component + if (lighting.config0.fresnel_selector == + LightingRegs::LightingFresnelSelector::SecondaryAlpha || + lighting.config0.fresnel_selector == LightingRegs::LightingFresnelSelector::Both) { + specular_sum.a() *= lut_value; + } + } + + auto dot_product = Math::Dot(light_vector, normal); + + // Calculate clamp highlights before applying the two-sided diffuse configuration to the dot + // product. + float clamp_highlights = 1.0f; + if (lighting.config0.clamp_highlights) { + if (dot_product <= 0.0f) + clamp_highlights = 0.0f; + else + clamp_highlights = 1.0f; + } + + if (light_config.config.two_sided_diffuse) + dot_product = std::abs(dot_product); + else + dot_product = std::max(dot_product, 0.0f); + + if (light_config.config.geometric_factor_0 || light_config.config.geometric_factor_1) { + float geo_factor = half_vector.Length2(); + geo_factor = geo_factor == 0.0f ? 0.0f : std::min(dot_product / geo_factor, 1.0f); + if (light_config.config.geometric_factor_0) { + specular_0 *= geo_factor; + } + if (light_config.config.geometric_factor_1) { + specular_1 *= geo_factor; + } + } + + auto diffuse = + light_config.diffuse.ToVec3f() * dot_product + light_config.ambient.ToVec3f(); + diffuse_sum += Math::MakeVec(diffuse * dist_atten * spot_atten, 0.0f); + + specular_sum += Math::MakeVec( + (specular_0 + specular_1) * clamp_highlights * dist_atten * spot_atten, 0.0f); + } + + diffuse_sum += Math::MakeVec(lighting.global_ambient.ToVec3f(), 0.0f); + + auto diffuse = Math::MakeVec<float>(MathUtil::Clamp(diffuse_sum.x, 0.0f, 1.0f) * 255, + MathUtil::Clamp(diffuse_sum.y, 0.0f, 1.0f) * 255, + MathUtil::Clamp(diffuse_sum.z, 0.0f, 1.0f) * 255, + MathUtil::Clamp(diffuse_sum.w, 0.0f, 1.0f) * 255) + .Cast<u8>(); + auto specular = Math::MakeVec<float>(MathUtil::Clamp(specular_sum.x, 0.0f, 1.0f) * 255, + MathUtil::Clamp(specular_sum.y, 0.0f, 1.0f) * 255, + MathUtil::Clamp(specular_sum.z, 0.0f, 1.0f) * 255, + MathUtil::Clamp(specular_sum.w, 0.0f, 1.0f) * 255) + .Cast<u8>(); + return std::make_tuple(diffuse, specular); +} + +} // namespace Pica diff --git a/src/video_core/swrasterizer/lighting.h b/src/video_core/swrasterizer/lighting.h new file mode 100644 index 000000000..d807a3d94 --- /dev/null +++ b/src/video_core/swrasterizer/lighting.h @@ -0,0 +1,19 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <tuple> +#include "common/quaternion.h" +#include "common/vector_math.h" +#include "video_core/pica_state.h" + +namespace Pica { + +std::tuple<Math::Vec4<u8>, Math::Vec4<u8>> ComputeFragmentsColors( + const Pica::LightingRegs& lighting, const Pica::State::Lighting& lighting_state, + const Math::Quaternion<float>& normquat, const Math::Vec3<float>& view, + const Math::Vec4<u8> (&texture_color)[4]); + +} // namespace Pica diff --git a/src/video_core/swrasterizer/rasterizer.cpp b/src/video_core/swrasterizer/rasterizer.cpp index 512e81c08..862135614 100644 --- a/src/video_core/swrasterizer/rasterizer.cpp +++ b/src/video_core/swrasterizer/rasterizer.cpp @@ -13,6 +13,7 @@ #include "common/logging/log.h" #include "common/math_util.h" #include "common/microprofile.h" +#include "common/quaternion.h" #include "common/vector_math.h" #include "core/hw/gpu.h" #include "core/memory.h" @@ -24,6 +25,7 @@ #include "video_core/regs_texturing.h" #include "video_core/shader/shader.h" #include "video_core/swrasterizer/framebuffer.h" +#include "video_core/swrasterizer/lighting.h" #include "video_core/swrasterizer/proctex.h" #include "video_core/swrasterizer/rasterizer.h" #include "video_core/swrasterizer/texturing.h" @@ -419,6 +421,26 @@ static void ProcessTriangleInternal(const Vertex& v0, const Vertex& v1, const Ve regs.texturing.tev_combiner_buffer_color.a, }; + Math::Vec4<u8> primary_fragment_color = {0, 0, 0, 0}; + Math::Vec4<u8> secondary_fragment_color = {0, 0, 0, 0}; + + if (!g_state.regs.lighting.disable) { + Math::Quaternion<float> normquat = Math::Quaternion<float>{ + {GetInterpolatedAttribute(v0.quat.x, v1.quat.x, v2.quat.x).ToFloat32(), + GetInterpolatedAttribute(v0.quat.y, v1.quat.y, v2.quat.y).ToFloat32(), + GetInterpolatedAttribute(v0.quat.z, v1.quat.z, v2.quat.z).ToFloat32()}, + GetInterpolatedAttribute(v0.quat.w, v1.quat.w, v2.quat.w).ToFloat32(), + }.Normalized(); + + Math::Vec3<float> view{ + GetInterpolatedAttribute(v0.view.x, v1.view.x, v2.view.x).ToFloat32(), + GetInterpolatedAttribute(v0.view.y, v1.view.y, v2.view.y).ToFloat32(), + GetInterpolatedAttribute(v0.view.z, v1.view.z, v2.view.z).ToFloat32(), + }; + std::tie(primary_fragment_color, secondary_fragment_color) = ComputeFragmentsColors( + g_state.regs.lighting, g_state.lighting, normquat, view, texture_color); + } + for (unsigned tev_stage_index = 0; tev_stage_index < tev_stages.size(); ++tev_stage_index) { const auto& tev_stage = tev_stages[tev_stage_index]; @@ -427,14 +449,13 @@ static void ProcessTriangleInternal(const Vertex& v0, const Vertex& v1, const Ve auto GetSource = [&](Source source) -> Math::Vec4<u8> { switch (source) { case Source::PrimaryColor: + return primary_color; - // HACK: Until we implement fragment lighting, use primary_color case Source::PrimaryFragmentColor: - return primary_color; + return primary_fragment_color; - // HACK: Until we implement fragment lighting, use zero case Source::SecondaryFragmentColor: - return {0, 0, 0, 0}; + return secondary_fragment_color; case Source::Texture0: return texture_color[0]; diff --git a/src/video_core/swrasterizer/rasterizer.h b/src/video_core/swrasterizer/rasterizer.h index 2f0877581..66cd6cfd4 100644 --- a/src/video_core/swrasterizer/rasterizer.h +++ b/src/video_core/swrasterizer/rasterizer.h @@ -19,10 +19,9 @@ struct Vertex : Shader::OutputVertex { // Linear interpolation // factor: 0=this, 1=vtx + // Note: This function cannot be called after perspective divide void Lerp(float24 factor, const Vertex& vtx) { pos = pos * factor + vtx.pos * (float24::FromFloat32(1) - factor); - - // TODO: Should perform perspective correct interpolation here... quat = quat * factor + vtx.quat * (float24::FromFloat32(1) - factor); color = color * factor + vtx.color * (float24::FromFloat32(1) - factor); tc0 = tc0 * factor + vtx.tc0 * (float24::FromFloat32(1) - factor); @@ -30,12 +29,11 @@ struct Vertex : Shader::OutputVertex { tc0_w = tc0_w * factor + vtx.tc0_w * (float24::FromFloat32(1) - factor); view = view * factor + vtx.view * (float24::FromFloat32(1) - factor); tc2 = tc2 * factor + vtx.tc2 * (float24::FromFloat32(1) - factor); - - screenpos = screenpos * factor + vtx.screenpos * (float24::FromFloat32(1) - factor); } // Linear interpolation // factor: 0=v0, 1=v1 + // Note: This function cannot be called after perspective divide static Vertex Lerp(float24 factor, const Vertex& v0, const Vertex& v1) { Vertex ret = v0; ret.Lerp(factor, v1); diff --git a/src/video_core/swrasterizer/texturing.cpp b/src/video_core/swrasterizer/texturing.cpp index 4f02b93f2..79b1ce841 100644 --- a/src/video_core/swrasterizer/texturing.cpp +++ b/src/video_core/swrasterizer/texturing.cpp @@ -89,6 +89,8 @@ Math::Vec3<u8> GetColorModifier(TevStageConfig::ColorModifier factor, case ColorModifier::OneMinusSourceBlue: return (Math::Vec3<u8>(255, 255, 255) - values.bbb()).Cast<u8>(); } + + UNREACHABLE(); }; u8 GetAlphaModifier(TevStageConfig::AlphaModifier factor, const Math::Vec4<u8>& values) { @@ -119,6 +121,8 @@ u8 GetAlphaModifier(TevStageConfig::AlphaModifier factor, const Math::Vec4<u8>& case AlphaModifier::OneMinusSourceBlue: return 255 - values.b(); } + + UNREACHABLE(); }; Math::Vec3<u8> ColorCombine(TevStageConfig::Operation op, const Math::Vec3<u8> input[3]) { diff --git a/src/web_service/CMakeLists.txt b/src/web_service/CMakeLists.txt new file mode 100644 index 000000000..334d82a8a --- /dev/null +++ b/src/web_service/CMakeLists.txt @@ -0,0 +1,14 @@ +set(SRCS + telemetry_json.cpp + web_backend.cpp + ) + +set(HEADERS + telemetry_json.h + web_backend.h + ) + +create_directory_groups(${SRCS} ${HEADERS}) + +add_library(web_service STATIC ${SRCS} ${HEADERS}) +target_link_libraries(web_service PUBLIC common cpr json-headers) diff --git a/src/web_service/telemetry_json.cpp b/src/web_service/telemetry_json.cpp new file mode 100644 index 000000000..6ad2ffcd4 --- /dev/null +++ b/src/web_service/telemetry_json.cpp @@ -0,0 +1,86 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/assert.h" +#include "web_service/telemetry_json.h" +#include "web_service/web_backend.h" + +namespace WebService { + +template <class T> +void TelemetryJson::Serialize(Telemetry::FieldType type, const std::string& name, T value) { + sections[static_cast<u8>(type)][name] = value; +} + +void TelemetryJson::SerializeSection(Telemetry::FieldType type, const std::string& name) { + TopSection()[name] = sections[static_cast<unsigned>(type)]; +} + +void TelemetryJson::Visit(const Telemetry::Field<bool>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<double>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<float>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<u8>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<u16>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<u32>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<u64>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<s8>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<s16>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<s32>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<s64>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<std::string>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue()); +} + +void TelemetryJson::Visit(const Telemetry::Field<const char*>& field) { + Serialize(field.GetType(), field.GetName(), std::string(field.GetValue())); +} + +void TelemetryJson::Visit(const Telemetry::Field<std::chrono::microseconds>& field) { + Serialize(field.GetType(), field.GetName(), field.GetValue().count()); +} + +void TelemetryJson::Complete() { + SerializeSection(Telemetry::FieldType::App, "App"); + SerializeSection(Telemetry::FieldType::Session, "Session"); + SerializeSection(Telemetry::FieldType::Performance, "Performance"); + SerializeSection(Telemetry::FieldType::UserFeedback, "UserFeedback"); + SerializeSection(Telemetry::FieldType::UserConfig, "UserConfig"); + SerializeSection(Telemetry::FieldType::UserSystem, "UserSystem"); + PostJson(endpoint_url, TopSection().dump(), true, username, token); +} + +} // namespace WebService diff --git a/src/web_service/telemetry_json.h b/src/web_service/telemetry_json.h new file mode 100644 index 000000000..9e78c6803 --- /dev/null +++ b/src/web_service/telemetry_json.h @@ -0,0 +1,59 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <array> +#include <string> +#include <json.hpp> +#include "common/telemetry.h" + +namespace WebService { + +/** + * Implementation of VisitorInterface that serialized telemetry into JSON, and submits it to the + * Citra web service + */ +class TelemetryJson : public Telemetry::VisitorInterface { +public: + TelemetryJson(const std::string& endpoint_url, const std::string& username, + const std::string& token) + : endpoint_url(endpoint_url), username(username), token(token) {} + ~TelemetryJson() = default; + + void Visit(const Telemetry::Field<bool>& field) override; + void Visit(const Telemetry::Field<double>& field) override; + void Visit(const Telemetry::Field<float>& field) override; + void Visit(const Telemetry::Field<u8>& field) override; + void Visit(const Telemetry::Field<u16>& field) override; + void Visit(const Telemetry::Field<u32>& field) override; + void Visit(const Telemetry::Field<u64>& field) override; + void Visit(const Telemetry::Field<s8>& field) override; + void Visit(const Telemetry::Field<s16>& field) override; + void Visit(const Telemetry::Field<s32>& field) override; + void Visit(const Telemetry::Field<s64>& field) override; + void Visit(const Telemetry::Field<std::string>& field) override; + void Visit(const Telemetry::Field<const char*>& field) override; + void Visit(const Telemetry::Field<std::chrono::microseconds>& field) override; + + void Complete() override; + +private: + nlohmann::json& TopSection() { + return sections[static_cast<u8>(Telemetry::FieldType::None)]; + } + + template <class T> + void Serialize(Telemetry::FieldType type, const std::string& name, T value); + + void SerializeSection(Telemetry::FieldType type, const std::string& name); + + nlohmann::json output; + std::array<nlohmann::json, 7> sections; + std::string endpoint_url; + std::string username; + std::string token; +}; + +} // namespace WebService diff --git a/src/web_service/web_backend.cpp b/src/web_service/web_backend.cpp new file mode 100644 index 000000000..d28a3f757 --- /dev/null +++ b/src/web_service/web_backend.cpp @@ -0,0 +1,63 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#ifdef _WIN32 +#include <winsock.h> +#endif + +#include <cstdlib> +#include <thread> +#include <cpr/cpr.h> +#include "common/logging/log.h" +#include "web_service/web_backend.h" + +namespace WebService { + +static constexpr char API_VERSION[]{"1"}; + +static std::unique_ptr<cpr::Session> g_session; + +void PostJson(const std::string& url, const std::string& data, bool allow_anonymous, + const std::string& username, const std::string& token) { + if (url.empty()) { + LOG_ERROR(WebService, "URL is invalid"); + return; + } + + const bool are_credentials_provided{!token.empty() && !username.empty()}; + if (!allow_anonymous && !are_credentials_provided) { + LOG_ERROR(WebService, "Credentials must be provided for authenticated requests"); + return; + } + +#ifdef _WIN32 + // On Windows, CPR/libcurl does not properly initialize Winsock. The below code is used to + // initialize Winsock globally, which fixes this problem. Without this, only the first CPR + // session will properly be created, and subsequent ones will fail. + WSADATA wsa_data; + const int wsa_result{WSAStartup(MAKEWORD(2, 2), &wsa_data)}; + if (wsa_result) { + LOG_CRITICAL(WebService, "WSAStartup failed: %d", wsa_result); + } +#endif + + // Built request header + cpr::Header header; + if (are_credentials_provided) { + // Authenticated request if credentials are provided + header = {{"Content-Type", "application/json"}, + {"x-username", username.c_str()}, + {"x-token", token.c_str()}, + {"api-version", API_VERSION}}; + } else { + // Otherwise, anonymous request + header = cpr::Header{{"Content-Type", "application/json"}, {"api-version", API_VERSION}}; + } + + // Post JSON asynchronously + static cpr::AsyncResponse future; + future = cpr::PostAsync(cpr::Url{url.c_str()}, cpr::Body{data.c_str()}, header); +} + +} // namespace WebService diff --git a/src/web_service/web_backend.h b/src/web_service/web_backend.h new file mode 100644 index 000000000..d17100398 --- /dev/null +++ b/src/web_service/web_backend.h @@ -0,0 +1,23 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <string> +#include "common/common_types.h" + +namespace WebService { + +/** + * Posts JSON to services.citra-emu.org. + * @param url URL of the services.citra-emu.org endpoint to post data to. + * @param data String of JSON data to use for the body of the POST request. + * @param allow_anonymous If true, allow anonymous unauthenticated requests. + * @param username Citra username to use for authentication. + * @param token Citra token to use for authentication. + */ +void PostJson(const std::string& url, const std::string& data, bool allow_anonymous, + const std::string& username = {}, const std::string& token = {}); + +} // namespace WebService |